アップデート 2.14
2026/6/6
v2.14.0BETA
Seymour
JP text decoder は 2-byte KANJI を読み取る(本日の解析の成果):
FfxEncodinglossless codec は現在、2-byte font-bank lead(0x06/0x26-0x2F、docs/reverse/FFX_EVENT_TEXT_ENCODING_CRACKED_2026-06-06.mdで実証済み)を認識し、readable glyph ref を表示する —<FTCX:n>(この event の漢字)、<K:n>(base.ftcの漢字)、<F2/F3/F5:n>(その他の bank) — 旧来の文字化けした<C..>+<MISS>の代わりに. Fully symmetric encoder(token↔bytes exact). event corpus(367 files、18,935 JP scripts、2-byte glyphs は 15,467)に新しい--jptext-rt0PROVES gate: glyph drift = 0 + codec idempotent(pre-existing single-byte の char alias は一度だけ canonicalize され、その後固定される = safe; no-edit はすでに元の bytes を返す).BattleTextExplorer(lossless codec を使用)に直接効果がある.offline_ci= 23 gates PASS. csproj bump(user-visible capability)
v2.14.1BETA
Seymour
MonMagic Save は現在 byte-safe(最後に残っていた drifting writer を停止):
Ability_Command.WriteListは preserve-only path を得た: read 時に元の text-pool offset を取得し、save WITHOUT の text edit では、re-emits 元の pool をそのまま保持する(各 script を元の offset に配置するため、shared string — e.g. monmagic の多くの空フィールドはすべて offset 0 にあり — SHARED のまま維持され、複製されない). Read-back verification: length/content-changing text edit はすべて通常の append にフォールバックする. これにより、command/item を壊した dedup なしで monmagic の drift を解消する without the dedup that broke command/item(以前に反証済み).AbilityCommandLabgate: command/item RT0 4/4 + monmagic RT0 4/4(以前は 0/4 drift)+ すべてで 1-flag edit を局所化; monmagic PROMOTED から CERTIFIED(drift は現在 FAILS gate の対象).offline_ciPASS. csproj bump(kernel editor の monmagic Save が現在 byte-faithful)
v2.14.2BETA
Seymour
BattleTextExplorer が JP source を取得(実際の漢字で、もう `<MISS>` なし)+ 新しい gate 2 件:
BattleTextExplorer_DataModel.ReloadSourcesは現在、jppc/battle/kernel/btl_txt.binをJpDecoder経由で読み込む — 2-byte 解析の目に見える成果(v2.14.0). 新しい--btltext-jp-decodegate(Tools/BtlTextJpDecodeRt0)により headless で実証済み: JPbtl_txt.bin= 128 entries / 451 words → 44 kanji が<K:n>(base.ftcbank)として表示され、<MISS>0 件、さらに lossless round-trip 451/451(decode→encode==bytes)を達成する. 実際の結果により推測が精緻化された: battle text は共通の<K:n>bank だけを使用する(<FTCX>/F2/F3/F5は使用しない — それらは per-event). Phantom-flag bug fixed:--btltexttable-rt0flag はBtlTextTableRt0.csの header で告知されていたが、Program.csに接続されていなかった — background で実行すると GUI(WinExe、0 stdout)へフォールスルーし、"died with no output" になった. 現在は接続済み(JP default、language fallback): JP PASS(3982/3982)+ US PASS(1910/1910).--wave1-rt0は引き続き 12/12 PASS;--btltext-jp-decodeはoffline_ci.ps1に接続され、25 gates PASS になった(以前は 24). (2 つの gate は doc-only のはずだった; csproj bump は JP source が explorer UI にあるため.)
v2.14.3BETA
Seymour
Monster Commands(monmagic)open-crash KILLED + workspace persistence + Aurora names:
- Crash: "Monster Commands 1/2" を開くと editor が終了した(NPE が
Ability_Command.WriteList→WriteBytesIntoTextFile内で発生し、ctor のBuildFile()で起動). Root cause: model がUnusedText1/2*→JapaneseOnlyText1/2*に rename され、Original*Offset(v2.14.1 preserve-only)を得たが、UI wrappers(KernelCommands_Wrapper、MonsterStatSheet_Wrapper)は OLD の名前を維持し、offset がなかった →PropertyUtil.CopyPropertiesはWrap/Unwrap時にそれらの field を dropped → null → preserve-only が失敗し、append rebuild にフォールスルーし、monmagic の空 field で NPE し、JP-only field に当たった. Fix: 両 wrapper で完全な round-trip(rename +Original*Offset)+ null-safeFfxEncoding.WriteBytesIntoTextFile. 新しい gate--kernelcmd-roundtrip(Tools/KernelCommandRoundtripRt0)は EXACT GUI path(ReadList→Wrap→Unwrap→WriteList)の byte-identical 4/4(command/item/monmagic1/2)を実証する —AbilityCommandLab(direct path)では構造的に見えなかったものだ.offline_ciに接続され、26 gates PASS になった. - Workspace persistence: 読み込んだ
masterfolder は%LocalAppData%\FFXProjectEditor\last-project.txtに保存され、startup 時に auto-restored される(優先順位: CLI arg → last loaded → defaults). 一度 load すれば永続的に記憶され、今後は Steam-mod folder がデフォルトになることはない. - Global crash logger(
%LocalAppData%\FFXProjectEditor\crash.log、Utils/CrashLog経由)+KernelCommandsで defensive load(app を終了させる代わりに説明付きの赤い error を表示). - Aurora Chamber: monster anchor は現在、"monster (live)" ではなく NAME(
🔴 <name>)を表示する. - Doc-only ride-along:
docs/governance/FFX_EDITOR_UI_CONVENTIONS.md(panel standard は Shop Explorer、50-column の DataGrid ではない)+ DINPUT8 rule を撤回(probe は無料)+ checklist の multi-language/MagicViewer note. csproj bump(UI features).