アップデート 2.17
2026/6/6
v2.17.0BETA
Seymour
Magic Viewer FINALIZED(3-lane parallel workflow): web viewer を editor に接続 + menu を polished + root+88 RE をクローズ:
- Lane A — web viewer を editor に接続:
FFXMagicViewerWeb(Codex-built — Spell Index、Package Graph、Texture Stack、Runtime Evidence、Effect Stage、Crosswalk + 6 indices/catalog)は orphaned(editor button なし)だった. 新しい "Magic Viewer (Web) 🪄" nav button(Extras group、「PS3 Magic(HD)」の隣)+MagicViewerLauncher.csが、RuntimeTools/FFXMagicViewerWebをpython -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 つの magic menu を polished(read-only、writer なし): PS2
Magic Effectsに search と honest empty-state(blank pane ではなく actionable message)が追加された; "Counts" card はもう "Summary" を反復しない. PS3Magic (HD): thumbnail decode を UI thread の外へ移動(重い folder でも freeze しなくなり、row は "pending" を表示し、stale pass 対策の generation token とともにDispatcher経由で stream される)、texture-name search、さらに Open Folder/Open File button はIsEnabledに bind される(もう dead-click はない). (Spell name は id stay BLOCKED で表示 — name table は存在せず、magic.bin→magic_####join は block された causal bridge であり、捏造ではない.) - レーン C — root+88 RE (Pass12, doc-only、REAL db
FFX_recon.i64に適用): Pass11 の未解決項目 2 件を解消。 (1) ランタイム root を設定するのは誰か:sub_7FD9A0は bootstrap (bin-load) でFFX_Magic_RuntimeRootTable[0x12A4080]ONCE をインストールし、root+88をゼロクリアする; phases は table を入れ替えず、同じ root を再利用して in-place を変更する. (2) 最終的な root+88 writer:sub_817200= opcode handler 0x21 をFFX_Magic_OpcodeHandlerTableで担当 (0xC48EC8); family0x1000ではroot+84=root+88を work-copy 内の同一 cursor に書き込み、phase 終了時に root へ書き戻す. 5 件の rename +[pass12]の comments を実 db に適用・保存. Docdocs/reverse/FFX_MAGIC_ROOT88_WRITER_PASS12_2026-06-06.md. (正直なところ: 具体的な spell→opcode、engine-accurate の timing、完全な writer coverage は BLOCKED のまま.) - csproj bump (実際の UI: launch + polish). (レーン C は RE/doc-only だが、同じ entry に入る.)