Atualização 2.17
06/06/2026
v2.17.0BETA
Seymour
Magic Viewer FINALIZED (workflow de 3 lanes parallel): viewer web ligado no editor + menus polidos + root+88 RE fechados:
- Lane A — viewer web ligado no editor:
FFXMagicViewerWeb(construído pelo Codex — Spell Index, Package Graph, Texture Stack, Runtime Evidence, Effect Stage, Crosswalk + 6 índices/catálogo) estava órfão (sem botão no editor). Novo botão de navegação "Magic Viewer (Web) 🪄" (grupo Extras, ao lado de "PS3 Magic (HD)") +MagicViewerLauncher.csque serveRuntimeTools/FFXMagicViewerWebviapython -m http.server(porta 8766, diferente da Aurora 8765) e abre o navegador — mesma receita usada para Aurora/MapViewer (HTTP é obrigatório: app.js usafetch()para seu catálogo →file://causaria travamento de CORS). Não usei o caminhofile://do SpiraForgeHub. - Lane B — 2 menus de magia polidos (read-only, sem writer): PS2
Magic Effectsganhou busca (package/lane + kernel/lane) e um empty-state honesto (mensagem acionável vs painel em branco); o card "Counts" não ecoa mais "Summary". PS3Magic (HD): o decode de thumbnail saiu da thread UI (pastas pesadas não congelam mais — linhas mostram "pending" e chegam viaDispatcher, com token de geração contra passes obsoletos), busca texture-name, e os botões Open Folder/Open File agora ligamIsEnabled(sem mais dead-click). (Nomes de spell por id stay BLOCKED — não existe tabela de nomes; o joinmagic.bin→magic_####é uma ponte causal bloqueada; não fabricado.) - Lane C — root+88 RE (Pass12, doc-only, aplicado no db REAL
FFX_recon.i64): fechou os dois itens abertos do Pass11. (1) Quem popula o root de runtime:sub_7FD9A0instalaFFX_Magic_RuntimeRootTable[0x12A4080]ONCE no bootstrap (bin-load) e zeraroot+88; fases não trocam a tabela — reutilizam o mesmo root e mutam in-place. (2) Writer final de root+88:sub_817200= handler de opcode 0x21 emFFX_Magic_OpcodeHandlerTable(0xC48EC8); na família0x1000ele escreveroot+84=root+88=mesmo cursor no work-copy, escrito de volta no root no fim da fase. 5 renames + comentários[pass12]aplicados/salvos no db real. Docdocs/reverse/FFX_MAGIC_ROOT88_WRITER_PASS12_2026-06-06.md. (Honesto: spell→opcode concreto, timing com precisão de engine e cobertura completa de writer permanecem BLOCKED.) - bump de csproj (UI real: launch + polimento). (Lane C é RE/doc-only mas aterrissa na mesma entrada.)