Aggiornamento 2.185
30/06/2026
v2.185.0.0BETAMINOR
Seymour27 giu 2026
Overdrive: tag "LAB" rimosso + selettore target per-step
- Rimosso "LAB" da tutte le stringhe blocco Overdrive visibili all'utente. Ogni step della sequenza finisher ora ha il suo ComboBox target (Random frontline / Lowest HP). (letterale tecnico: user-visible)
AddOverdriveFinisherSequenceha perso i parametritemplateefallbackTarget— ogni comando porta il suo target. Classe VMOverdriveFinisherStep. Build 0 errori. Gate RT0 330/330 PASS
v2.184.1.0
v2.185.1.0BETAPATCH
Wakka26 giu 2026
Arena+ cross-map restore differito: non corrompere i bin encounter random
- Aggiunge
ArenaPlus_ArmDeferredFileRestore+ArenaPlus_TickDeferredFileRestorein dllmain.cpp. Dopo che il launch cross-map 781D60 riesce, arma un timer ~30s (1800 frame). Alla scadenza, ripristina.spiraforge.baksopra il bin composto. Causa principale: il deploy cross-map (es. Macalania Forest) scriveva Dark Aeon in (letterale tecnico: e.g)mcfr00_00.bin, che è anche una formation encounter random — le encounter random spawnavano Dark Aeon invece dei fiend normali. DLL buildata + deployata
v2.185.0.0
v2.185.4.0BETAPATCH
Sin27 giu 2026
Sin Flagello Lab v2: AiQueryProperty rimosso, SinScaleInject v2 CLI, docs
- Hook AiQueryProperty (RVA 0x3B2DD0) rimosso — era FFX_Battle_AggregateActorProperty, il detour crasheva il menu. Submenu F7 Zone ripristinato. g_sinPreset[93] VAR tenuto. CLI SinScaleInject v2: --area, --seed, --intensity, --save-clean, --restore, --dry-run, RNG XorShift32, scaling HP/stat. Iniezione ATEL disabilitata (pending rewrite AiInstruction). Doc: SIN_CURSE_LAB_SESSION_2026-06-27.md (13 sezioni), SIN_CURSE_V2_BIN_FIRST_PLAN_2026-06-27.md (piano .bin-first)
v2.185.3.0
v2.185.5.0BETAPATCH
Sin27 giu 2026
Sin Flagello Lab v2: SinScaleInject funzionante + hook semplificato
- SinCurseHook.cpp: MonsterLoad, SetScaleAxis, AiQueryProperty, LaunchRestore rimossi. Filtro btlmap. CREATE_NO_WINDOW. SinScaleInject v2 usa Monster_StatSheet.ReadSingle/WriteSingle. Bin puliti rigenerati dal repo. 62 DLL gestite deployate
v2.185.4.0
v2.185.6.0BETAPATCH
Sin27 giu 2026
Sin Lab v2.1: code review + bugfix + sync threat
- SinScaleInject: i nomi kernel ora si ripristinano dal clean prima di ogni
--area(ProcessArea, SaveClean, RestoreAll). SaveClean e RestoreAll ora coprono kernel/monster*.bin. RNG allineato col C++:seed = seed ^ (seed << 16). g_sinPreset[93] rimosso (dead code). time(nullptr) rimosso dal seed (RNG deterministico). kAreaTable (C++) e AREA_T (C#) sincronizzati con i cap threat CSV: 14 valori corretti, tMin=0 sempre, regioni aggiunte (zanarkand, postgame, thunder_plains_cross, macalania_bosses)
v2.185.5.0
v2.185.7.0BETAPATCH
Rikku28 giu 2026
Polish UI: palette più morbida + selezione visibile
- Accent StudioTokens.axaml
#5DD0B4→#2A9D8F, fill/bordi più calmi, selezione StudioTheme.axaml ListBox#15323B→#1A3040con bordo visibile 1px. Token selezione/tab/expander/status aggiornati. Build Release 0 errori
v2.185.6.0
v2.185.8.0BETAPATCH
Sin28 giu 2026
Follow-up review patch SIN: hardening CLI + gate sanity hook-build
SinScaleInject:--restore-areaora richiede un id;--seed,--te--intensityinvalidi falliscono subito con messaggi chiari;--tnegativo rifiutato;--intensitylimitato a0..100;MonsterStatSheetStruct.StatSheetora ha un init di default per rimuovere il warning di nullabilità.build_hooks.ps1: tieneversion.resembedded viacl.exee ora rifiuta le build PolyHook quando laffx-hooks.dllfinale esce sospettosamente piccola, prevenendo regressioni silenziose degli artefatti. Review/follow-up documentati in (letterale tecnico: follow-up)docs/ai/SIN_PATCH_REVIEW_2026-06-28.md
v2.185.7.0
v2.185.9.0BETAPATCH
Sin28 giu 2026
SinScaleInject deploy pulito in `modules\\tools`
- Nuovo
RuntimeTools/SinScaleInject/deploy-sinscaleinject.ps1pubblicaSinScaleInjectin una cartella pulita e sostituiscemodules\\tools\\SinScaleInject\\con un payload standalone minimale (SinScaleInject*,SinCoreLib.dll,Xe.BinaryMapper.dll), rimuovendo il drag accidentaleFFXProjectEditor.exe/Avalonia dalla cartella di gioco.Program.csora derivaGameRootdaAppContext.BaseDirectoryquando gira damodules\\tools\\SinScaleInject, così non dipende più dalSteamLibrary\\...hardcoded per i path dati in-game. Validato localmente: build Release0 errors / 0 warnings, publish pulito, deploy reale al path di gioco. Status:Needs Testingin-game; i path repo (clean-base/roster-dir) restano machine-local by design
v2.185.8.0
v2.185.10.0BETAPATCH
Lulu28 giu 2026
Monster AI Phase Rotation: id variabile stabili + opener battle-start immediato
- Il
Phase Rotation Managernon deriva piùvar[N]da un parse testuale diIndexLabel:AiPhaseVariableAuditRowora porta unVariableIndexnumerico stabile, e la UI mostraID###direttamente così alias/testo non possono essere scambiati per l'id variabile reale. Le fasiAs soon as the battle startsora emettonoforcePerformCommand (0x705A)invece diperformCommand (0x700B), così l'opener non dipende dalla coda azioni regolare durante lo startup.RuntimeTools/AiScriptLab --phase-rotation-rt0ora include un caso opener battle-start e PASSA319/319; la build Release dell'editor chiusa con 0 errori. Status:Needs Testingin-game, specialmente ordine/animazione opener e il caso realem020
v2.185.9.0
v2.185.11.0BETAPATCH
Lulu28 giu 2026
Monster AI Phase Rotation: id authoring portabili + materializzazione var non distruttiva. (letterale tecnico: non-destructive)
- Il
Phase Rotation Managerora separa l'real IDreale di ogni variabile dal suoauthoring/template ID: la UI mostra entrambi, salva l'ID preferito nei metadata locali, e lascia che le ricette richiedano unvar[N]più alto senza confondere gli alias con l'operando reale. All'apply, l'editor materializza descrittori extra quando serve appending alias per lo stesso storage/slot, senza sovrascrivere le var esistenti; se l'IDrichiesto è già occupato da un'altra variabile, la ricetta passa al prossimo indice libero. Anche i guard di fase vengono rimappati all'indice materializzato.RuntimeTools/AiScriptLab --var-growresta PASS185/185e--phase-rotation-rt0resta PASS319/319; la build Release dell'editor chiusa con 0 errori. Status:Needs Testingin-game, specialmente import/export ricette tra mostri con tabelle var diverse
v2.185.10.0
v2.185.12.0BETAPATCH
Lulu28 giu 2026
Monster AI Phase Rotation: top-insert battle-start reale + round-trip + `forcePerformCommand`
- Il
Phase Rotation Managerora gestisce gli stepAs soon as the battle startscome una inserzione fisica in cima all’entrypoint invece di concatenare solo un nuovo blocco alla fine del codice. Così l'apertura sta letteralmente sopra il corpo handler più vecchio e riduce il modalità di errorem020in cui un'azione immediata poteva consumare il pass prima degli apertura rimanenti. Il lettore della bozza ora riconosce ancheforcePerformCommand (0x705A)quindi riaprire/riapplicare le ricette apertura non ignora più quei blocchi.RuntimeTools/AiScriptLab --phase-rotation-rt0resta PASS319/319e la build Release dell'editor chiusa con 0 errori. Status:Needs Testingin-gioco (letterale tecnico: in-game), specialmente l'ordine di apertura delm020 - Teste Não Funcional 2.binreale. \
v2.185.11.0
v2.185.13.0BETAPATCH
Lulu28 giu 2026
Monster AI Phase Rotation: battle-start AI disabilitato; trigger onesto spostato al lavoro pending runtime/edge CTB
- Il
Phase Rotation Managernon finge più cheAs soon as the battle startssia un trigger gameplay sicuro dentro l'AiFile. Il writer ora rifiuta i tentativi di applyBattleStart, la UI rietichetta quel percorso comeCombatHandler init (disabled LAB), e i warning puntano alla rotta corretta: un hook runtime sull'edge CTB per il comportamento desiderato "dopo che ogni turno valido è passato".RuntimeTools/AiScriptLab --phase-rotation-rt0è stato riportato a una ricetta completamenteonTurne passa ancora; il file di test localem020.binripristinato alla baseline pulita fuori dal repo
v2.185.12.0
v2.185.14.0BETAPATCH
Lulu29 giu 2026
Monster AI Phase Rotation: dispatch reale `AfterAnyValidTurn` sull'edge CTB
PhaseTurnEdgeHooknon è più solo probe: la callback runtime ora risolve l'actor edge, deriva il (letterale tecnico: probe-only)m###live, scansiona ogni voce sidecar che combacia per quel mostro, e accoda i comandi authorati attraverso il bridge strutturale (resolveTargetMask -> queue script command) nello stesso contesto edge-CTB. Il runtime tiene stato (letterale tecnico: CTB-edge)onlyOnceperentry x actorSlot, azzera quello stato quando la firma battaglia cambia, e ora logga successo/fallimento dispatch reali invece di solo righe probe. Nell'editor, i sidecarAfterAnyValidTurnora vengono esportati nelmodules\\configdi gioco quando il progetto può risolvereGameInstallRoot, e UI/warning sono stati induriti per riflettere lo scope vero: runtime v1 = dispatch comando immediato, meglio usato one-shot;guardVarresta metadata, non un percorso di mutazione var fuori-turno. (letterale tecnico: out-of-turn)RuntimeTools/PhaseTurnEdgeLabsincronizzato col formato logn6/a2reale. Status:Needs Testingin-game — build offline verdi, RT2 ancora pending
v2.185.13.0
v2.185.15.0BETAPATCH
Seymour29 giu 2026
Vault Obsidian + frontmatter docs + infra tooling
- Vault Obsidian configurato alla root del repo: graph.json con 11 gruppi colore per cartella/tag, snippet CSS (colorful-graph, colorful-folders) con glow del grafo e colori vibranti. docs/obsidian-vault/ con 30+ note interconnesse (hub, note RE, Battle AI, Spira Reforge, sessioni, reference) + 4 diagrammi Mermaid (architettura SinScaleInject, flusso Phase Rotation, VM ATEL, struttura Monster Portiere Albhed). L'organizzatore DeepSeek ha processato ~1900 file .md aggiungendo frontmatter (tags, aliases, date) per arricchire la vista grafo. 5 skill specialistiche FFX create (monster-ai-specialist, runtime-hooks-engineer, wpf-module-architect, re-ida-analyst, data-diff-patch-engineer) con auto-routing in AGENTS.md. GitHub MCP configurato con token env var + update .bashrc. .gitignore aggiornato (.mcp.json incluso). Frontmatter standardizzato aggiunto ad AGENTS.md
v2.185.14.0
v2.185.16.0BETAPATCH
Seymour29 giu 2026
Rebalance stat/Soldi/AP mostri: Macalania, Bikanel, Calm Lands + 7 design OD
- Shumelke (m026) e Mafut (m004) buffati per i pattern famiglia. Kyactus (m208) buffato (HP 800→1500, AGI 24→40, MDEF 255 tenuto). Calm Lands: AGI e stat secondarie buffate per 10 mostri. Soldi/AP aumentati in 3 aree (Macalania, Bikanel, Calm Lands) con bonus OD. APovk standardizzato a 2×. 7 OD progettati: MushuHushu (Sand Breath), Zuu (Sonic Storm), Kyactus (10,000 Needles), Iaguaro (Blaster Cannon), Chimera Brain (Difesa totale + Psychic Storm), Hoga (Hoga Smash×2). Sync a 4 target (repo/steam/extract/clean-bins) documentata come regola di progetto
v2.185.15.0
v2.185.17.0BETAPATCH
Seymour30 giu 2026
Monster AI Phase Rotation P1+P2 + Seymour RE secondo layer + proposta editabilità IDU
- Reader branch-sensitive P1+P2: (letterale tecnico: Branch-sensitive)
AiDetectedBranchActionora portaTargetProvenance/CommandProvenancecon provenienza path-local preservata dal walker (PUSHV/POPV, findMatchingChr). La UIMonster AI Editormostra blocchi read-only multilinea con origini cmd/target/label. 0 errori build, RT0 PASS. Seymour m124: RE secondo layer completa — opcode 0x6051 (SetupWaitTimer) identificato via countdown CTB, 0x604D (MenuAnimationKind) mappato, 0x604B (BattleEventString) strutturato come tabella stringhe con machine code interno. Flusso setup CTB indagato: event battle-start 0x01→0x704A (layer script QtMG/engine), non ATEL puro. Unità dispatch indiretta: ricerca completa — 57 tabelle indirette, 147 operazioni dispatch, proposta editor visivo. Home (Gundappo): formation azit03 committate. Knowledge Base + FastEntrypoints + Session Handoff sincronizzati
v2.185.16.0
v2.185.18.0BETAPATCH
Seymour30 giu 2026
Proof opener Seymour promossa in Bible/Atlas + guardrail in-app
- L'apertura
Shell/Protect before the party actsora è chiusa senza hook esterni:mcyt06_00 ?StartEndHooks2::HookStartimpostaAllMonsters.FirstStrike = true,AllMonsters.CurrentTurnDelay = 0,Monster#01.CurrentTurnDelay = 1, e spinge party/riserve di+2; con la formation realeslot0=m141,slot1=m124,slot2=m141,slot3=m125, questo prova che l'opener è setup nativo encounter-driven, non un truccoperformCommandlocale di Seymour. Il finding è stato promosso nelle doc durevoli (ATEL Bible,Monster AI Corpus Atlas) e nellaBIBLE OF SPIRAin-app viaAiBibleCatalog, con un confine prodotto onesto:Battle Corpus Crosswalk/Aurorapossono esporlo read-only, ma l'authoring diHookStart/ seed CTB iniziale non è ancora una superficie writer pubblica. Le doc consolidate di proof nativa Seymour versionate col pacchetto
v2.185.17.0