Aggiornamento 2.17
06/06/2026
v2.17.0BETA
Seymour
Magic Viewer FINALIZZATO (workflow parallelo a 3 lane): viewer web cablato nell'editor + menu rifiniti + RE root+88 chiusa: (letterale tecnico: FINALIZED)
- Lane A — viewer web cablato nell'editor:
FFXMagicViewerWeb(costruito da Codex — Spell Index, Package Graph, Texture Stack, Runtime Evidence, Effect Stage, Crosswalk + 6 indici/catalogo) era (letterale tecnico: Codex-built)orfano (nessun bottone editor). Nuovo bottone nav "Magic Viewer (Web) 🪄" (gruppo Extras, accanto a "PS3 Magic (HD)") +MagicViewerLauncher.csche serveRuntimeTools/FFXMagicViewerWebviapython -m http.server(port 8766, distinct from Aurora's 8765) and opens the browser — identical recipe to Aurora/MapViewer (HTTP is mandatory: app.jsfetch()es its catalog →file://would CORS-hang). Did NOT use SpiraForgeHub'sfile://path. - Lane B — 2 menu magic rifiniti (read-only, nessun writer): PS2
Magic Effectsha ricevuto search (package/lane + kernel/lane) e un empty-state onesto (messaggio azionabile vs un pannello vuoto); la card "Counts" non ripete più "Summary". PS3Magic (HD): il decode delle miniature spostato fuori dal thread UI (le cartelle pesanti non congelano più — le row mostrano "pending" e arrivano in streaming viaDispatcher, con un token di generazione contro i pass stantii), ricerca per nome texture (letterale tecnico: texture-name), e i bottoni Open Folder/Open File ora leganoIsEnabled(niente più dead-click). (I nomi spell per id restano BLOCCATI — non esiste una name table; il join (letterale tecnico: stay) (letterale tecnico: BLOCKED)magic.bin→magic_####è un ponte causale bloccato; non fabbricato.) - Lane C — RE root+88 (Pass12, doc-only, applicata al db REALE
FFX_recon.i64): chiusi i due item aperti di Pass11. (1) Chi popola la runtime root:sub_7FD9A0installaFFX_Magic_RuntimeRootTable[0x12A4080]UNA volta al bootstrap (bin-load) e azzera (letterale tecnico: ONCE)root+88; le fasi non scambiano la table — riusano la stessa root e mutano in-place. (2) Writer finale di root+88:sub_817200= opcode handler 0x21 inFFX_Magic_OpcodeHandlerTable(0xC48EC8); sulla famiglia0x1000scriveroot+84=root+88=stesso cursore nella work-copy, riscritto alla root a fine fase. 5 rename + commenti[pass12]applicati/salvati nel db reale. Docdocs/reverse/FFX_MAGIC_ROOT88_WRITER_PASS12_2026-06-06.md. (Onestà: spell→opcode concreto, timing engine-accurato e copertura completa del writer restano BLOCCATI.) (letterale tecnico: engine-accurate) (letterale tecnico: BLOCKED) - csproj bump (UI reale: launch + polish). (La Lane C è RE/doc-only ma atterra nella stessa entry.)