Atualização 2.185
30/06/2026
v2.185.0.0BETAMINOR
Seymour27 de jun. de 2026
Overdrive: tag "LAB" removida + seletor de alvo per-step
- Removido "LAB" de todas as strings de bloco user-visible Overdrive. Cada passo da sequência de finisher agora tem seu próprio alvo ComboBox (Random frontline / HP mais baixo).
AddOverdriveFinisherSequenceperdeu paramstemplateefallbackTarget— cada comando carrega seu próprio alvo. ClasseOverdriveFinisherStepVM. Build 0 erros. Gate RT0 330/330 PASS
v2.184.1.0
v2.185.1.0BETAPATCH
Wakka26 de jun. de 2026
Arena+ cross-map restore adiado: não corromper bins de encontro aleatório
- Adiciona
ArenaPlus_ArmDeferredFileRestore+ArenaPlus_TickDeferredFileRestoreem dllmain.cpp. Após o launch cross-map 781D60 ter sucesso, arma um timer de ~30s (1800 frames). Quando expira, restaura.spiraforge.baksobre o bin composto. Causa raiz: deploy cross-map (e.g. Macalania Forest) escreveu Dark Aeons emmcfr00_00.bin, que também é uma formação de encontro aleatório — encontros aleatórios spawnavam Dark Aeons em vez de fiends normais. DLL build + deploy
v2.185.0.0
v2.185.4.0BETAPATCH
Sin27 de jun. de 2026
Sin Curse Lab v2: AiQueryProperty removido, SinScaleInject v2 CLI, docs
- Hook AiQueryProperty (RVA 0x3B2DD0) removido — era FFX_Battle_AggregateActorProperty, detour crashava o menu. Submenu de zona F7 revertido. g_sinPreset[93] VAR mantido. SinScaleInject v2 CLI: --area, --seed, --intensity, --save-clean, --restore, --dry-run, XorShift32 RNG, scaling HP/stats. Injeção ATEL desabilitada (pendente de reescrita AiInstruction). Docs: SIN_CURSE_LAB_SESSION_2026-06-27.md (13 seções), SIN_CURSE_V2_BIN_FIRST_PLAN_2026-06-27.md (plano .bin-first)
v2.185.3.0
v2.185.5.0BETAPATCH
Sin27 de jun. de 2026
Sin Curse Lab v2: SinScaleInject funcionando + hook simplificado
- SinCurseHook.cpp: MonsterLoad, SetScaleAxis, AiQueryProperty, LaunchRestore removidos. Filtro btlmap. CREATE_NO_WINDOW. SinScaleInject v2 usa Monster_StatSheet.ReadSingle/WriteSingle. Bins limpos regenerados do repo. 62 DLLs gerenciadas deployadas
v2.185.4.0
v2.185.6.0BETAPATCH
Sin27 de jun. de 2026
Sin Lab v2.1: code review + bug fixes + sync de threat
- SinScaleInject: nomes de kernel agora restauram do limpo antes de cada
--area(ProcessArea, SaveClean, RestoreAll). SaveClean e RestoreAll agora cobrem kernel/monster*.bin. RNG alinhado com C++:seed = seed ^ (seed << 16). g_sinPreset[93] removido (código morto). time(nullptr) removido do seed (RNG determinístico). kAreaTable (C++) e AREA_T (C#) sincronizados com os caps de threat CSV: 14 valores corrigidos, tMin=0 sempre, regiões adicionadas (zanarkand, postgame, thunder_plains_cross, macalania_bosses)
v2.185.5.0
v2.185.7.0BETAPATCH
Rikku28 de jun. de 2026
polimento UI: paleta mais suave + seleção visível
- Acento StudioTokens.axaml
#5DD0B4→#2A9D8F, fills/bordas mais calmos, seleção StudioTheme.axaml ListBox#15323B→#1A3040com borda visível de 1px. Tokens de seleção/tab/expander/status atualizados. Build de release 0 erros
v2.185.6.0
v2.185.8.0BETAPATCH
Sin28 de jun. de 2026
review de patch SIN follow-up: hardening CLI + gate de sanidade hook-build
SinScaleInject:--restore-areaagora exige um id;--seed,--te--intensityinválidos falham cedo com mensagens claras;--tnegativo é rejeitado;--intensitylimitado a0..100;MonsterStatSheetStruct.StatSheetagora tem init default para remover o aviso de nullability.build_hooks.ps1: mantémversion.resembutido viacl.exee agora rejeita builds PolyHook quando offx-hooks.dllfinal sai suspeitosamente pequeno, prevenindo regressões silenciosas de artefato. Review/follow-up documentado emdocs/ai/SIN_PATCH_REVIEW_2026-06-28.md
v2.185.7.0
v2.185.9.0BETAPATCH
Sin28 de jun. de 2026
SinScaleInject deploy limpo para `modules\\tools`
- Novo
RuntimeTools/SinScaleInject/deploy-sinscaleinject.ps1publicaSinScaleInjectnuma pasta limpa e substituimodules\\tools\\SinScaleInject\\por um payload standalone mínimo (SinScaleInject*,SinCoreLib.dll,Xe.BinaryMapper.dll), removendo o arrasto acidentalFFXProjectEditor.exe/Avalonia da pasta do jogo.Program.csagora derivaGameRootdeAppContext.BaseDirectoryquando roda demodules\\tools\\SinScaleInject, então não depende mais doSteamLibrary\\...hardcoded para caminhos de dados in-game. Validado localmente: build Release0 errors / 0 warnings, publish limpo e deploy real no caminho do jogo. Status:Needs Testingin-game; caminhos do repo (clean-base/roster-dir) permanecem machine-local por design
v2.185.8.0
v2.185.10.0BETAPATCH
Lulu28 de jun. de 2026
Monster AI Phase Rotation: IDs de variável estáveis + opener battle-start imediato
- O
Phase Rotation Managernão deriva maisvar[N]de um parse textual deIndexLabel:AiPhaseVariableAuditRowagora carrega umVariableIndexnumérico estável, e o UI mostraID###diretamente para que aliases/texto não possam ser confundidos com o id real da variável. Fases usandoAs soon as the battle startsagora emitemforcePerformCommand (0x705A)em vez deperformCommand (0x700B), então o opener não depende da fila de ação regular durante o startup.RuntimeTools/AiScriptLab --phase-rotation-rt0agora inclui um caso de opener battle-start e ainda PASSA319/319; o build Release do editor fechou com 0 erros. Status:Needs Testingin-game, especialmente ordem/animação do opener e o caso realm020
v2.185.9.0
v2.185.11.0BETAPATCH
Lulu28 de jun. de 2026
Monster AI Phase Rotation: IDs de autoria portáveis + materialização de var non-destructive
- O
Phase Rotation Manageragora separa oreal IDde cada variável do seuauthoring/template ID: o UI mostra ambos, armazena o ID preferido em em metadados locais, e deixa receitas pedirem umvar[N]maior sem confundir aliases com o operando real. Durante o apply, o editor materializa descritores extras quando necessário anexando aliases para o mesmo storage/slot, sem sobrescrever vars existentes; se oIDpedido já está ocupado por outra variável, a receita move para o próximo índice livre. Guards de fase também são remapeados para o índice materializado.RuntimeTools/AiScriptLab --var-growpermanece PASS185/185e--phase-rotation-rt0permanece PASS319/319; o build Release do editor fechou com 0 erros. Status:Needs Testingin-game, especialmente import/export de receitas entre monstros com tabelas de var diferentes
v2.185.10.0
v2.185.12.0BETAPATCH
Lulu28 de jun. de 2026
Monster AI Phase Rotation: top-insert real battle-start + `forcePerformCommand` round-trip
- O
Phase Rotation Manageragora trata passosAs soon as the battle startscomo uma inserção física no topo do entrypoint em vez de só encadear um novo bloco no fim do código. Isso mantém o opener literalmente acima do corpo do handler antigo e reduz o modo de falham020onde uma ação imediata poderia consumir o pass antes dos openers restantes. O leitor de rascunho agora reconheceforcePerformCommand (0x705A)também, então reabrir/replicar receitas de opener não ignora mais esses blocos.RuntimeTools/AiScriptLab --phase-rotation-rt0permanece PASS319/319e o build Release do editor fechou com 0 erros. Status:Needs Testingin-game, especialmente a ordem de aberturam020 - Teste Não Funcional 2.binreal
v2.185.11.0
v2.185.13.0BETAPATCH
Lulu28 de jun. de 2026
Monster AI Phase Rotation: AI battle-start desabilitado; trigger honesto movido para trabalho de borda runtime/CTB pendente
- O
Phase Rotation Managernão finge mais queAs soon as the battle startsé um trigger de gameplay seguro dentro doAiFile. O writer agora rejeita tentativas de applyBattleStart, o UI rotula esse caminho comoCombatHandler init (disabled LAB), e os avisos apontam para a rota correta: um hook de runtime na borda CTB para o comportamento desejado de "após qualquer turno válido passado".RuntimeTools/AiScriptLab --phase-rotation-rt0foi trazido de volta a uma receita totalmenteonTurne ainda PASSA; o arquivo de teste localm020.binfoi restaurado ao baseline limpo fora do repo
v2.185.12.0
v2.185.14.0BETAPATCH
Lulu29 de jun. de 2026
Monster AI Phase Rotation: dispatch `AfterAnyValidTurn` real na borda CTB
PhaseTurnEdgeHooknão é mais probe-only: o callback de runtime agora resolve o actor da borda, deriva om###ao vivo, varre cada entrada de sidecar correspondente para aquele monstro, e enfileira os comandos autorados através da ponte estrutural (resolveTargetMask -> queue script command) no mesmo contexto CTB-edge. O runtime mantém estadoonlyOnceporentry x actorSlot, reseta esse estado quando a assinatura da batalha muda, e agora loga sucesso/falha real de dispatch em vez de só linhas de probe. No editor, sidecarsAfterAnyValidTurnagora são exportados para omodules\\configdo jogo quando o projeto consegue resolverGameInstallRoot, e os UI/avisos foram endurecidos para refletir o escopo real: runtime v1 = dispatch imediato de comando, melhor usado como one-shot;guardVarainda é metadado, não um caminho de mutação de var out-of-turn.RuntimeTools/PhaseTurnEdgeLabfoi sincronizado ao formato de log realn6/a2. Status:Needs Testingin-game — builds offline verdes, RT2 ainda pendente
v2.185.13.0
v2.185.15.0BETAPATCH
Seymour29 de jun. de 2026
Obsidian vault + frontmatter de docs + infra de tooling
- Obsidian vault configurado na raiz do repo: graph.json com 11 grupos de cor por pasta/tag, snippets CSS (colorful-graph, colorful-folders) com glow de grafo e cores vibrantes. docs/obsidian-vault/ com 30+ notas interconectadas (hubs, notas RE, Battle AI, Spira Reforge, sessões, referências) + 4 diagramas Mermaid (arquitetura SinScaleInject, fluxo de Phase Rotation, ATEL VM, estrutura de Monster Worker). Organizador DeepSeek processou ~1900 arquivos .md adicionando frontmatter (tags, aliases, date) para enriquecer a view de grafo. 5 skills especialistas FFX criados (monster-ai-specialist, runtime-hooks-engineer, wpf-module-architect, re-ida-analyst, data-diff-patch-engineer) com auto-routing em AGENTS.md. GitHub MCP configurado com token de env var + update do .bashrc. .gitignore atualizado (.mcp.json incluído). Frontmatter padronizado adicionado a AGENTS.md
v2.185.14.0
v2.185.16.0BETAPATCH
Seymour29 de jun. de 2026
rebalance de stat/Gil/AP de monstro: Macalania, Bikanel, Calm Lands + 7 designs OD
- Iguion (m026) e Mafdet (m004) buffados conforme padrões de família. Cactuar (m208) buffado (HP 800→1500, AGI 24→40, MDEF 255 mantido). Calm Lands: AGI e stats secundários buffados para 10 monstros. Gil/AP aumentados em 3 áreas (Macalania, Bikanel, Calm Lands) com bônus OD. APovk padronizado para 2×. 7 ODs desenhados: Mushussu (Sand Breath), Zu (Sonic Storm), Cactuar (10,000 Needles), Coeurl (Blaster Cannon), Chimera Brain (Mighty Guard + Psychic Storm), Ogre (Ogre Smash×2). Sync de 4 alvos (repo/steam/extract/clean-bins) documentado como regra de projeto
v2.185.15.0
v2.185.17.0BETAPATCH
Seymour30 de jun. de 2026
Monster AI Phase Rotation P1+P2 + Seymour RE segunda camada + proposta de editabilidade IDU
- Leitor Branch-sensitive P1+P2:
AiDetectedBranchActionagora carregaTargetProvenance/CommandProvenancecom proveniência path-local preservada pelo walker (PUSHV/POPV, findMatchingChr).Monster AI EditorUI mostra blocos multi-line read-only com origens de cmd/target/label. 0 erros de build, RT0 PASS. Seymour m124: second-layer RE completo — opcode 0x6051 (SetupWaitTimer) identificado via countdown CTB, 0x604D (MenuAnimationKind) mapeado, 0x604B (BattleEventString) estruturado como tabela de strings com código de máquina interno. Fluxo de setup CTB investigado: evento battle-start 0x01→0x704A (camada de scripting QtMG/engine), não ATEL puro. Indirect Dispatch Unit: pesquisa completa — 57 tabelas indiretas, 147 operações de dispatch, proposta de editor visual. Home (Gundappo): formações azit03 commitadas. Knowledge Base + FastEntrypoints + Session Handoff sincronizados
v2.185.16.0
v2.185.18.0BETAPATCH
Seymour30 de jun. de 2026
prova de opener Seymour promovida para Bible/Atlas + guardrail in-app
- A abertura
Shell/Protect before the party actsagora está fechada sem hooks externos:mcyt06_00 ?StartEndHooks2::HookStartsetaAllMonsters.FirstStrike = true,AllMonsters.CurrentTurnDelay = 0,Monster#01.CurrentTurnDelay = 1, e empurra party/reserves por+2; com a formação realslot0=m141,slot1=m124,slot2=m141,slot3=m125, isso prova que o opener é setup nativo encounter-driven, não um truque de Seymour localperformCommand. O achado foi promovido para os docs duráveis (ATEL Bible,Monster AI Corpus Atlas) e para o in-appBIBLE OF SPIRAviaAiBibleCatalog, com uma fronteira de produto honesta:Battle Corpus Crosswalk/Aurorapodem expor esse read-only, masHookStart/ seed inicial de autoria CTB ainda não é superfície de writer público. Docs consolidados de prova nativa Seymour versionados com o pacote
v2.185.17.0