アップデート 2.64
2026/6/10
v2.64.0BETA
Seymour
Aeon の成長/カスタマイズを Spira Data Atlas に追加(read-only、`proved-candidate`、Aeon-only、コンパイル済み)
sum_grow.bin(FFX の Aeon カスタマイズテーブル)をプロバイダーに read-only 詳細種別として組み込む: 新しいSpiraDataAtlasDetailKind.AeonGrowthRecipeと value-guarded アクセサーSpiraDataAtlasCatalog.TryGetAeonGrowthRecipe(entryIndex, currentResultRaw, currentItemRaw)。Aeon-ONLY:sum_grow.binは636バイト(0x14ヘッダー + 77 × 8B エントリ、Targetは常に0x007F=Aeon、jppc==inpcbyte-identical)→ アビリティレシピ67件(Result cat 3 → コマンド)+ ステータスレシピ10件(Result cat 0 → StatOptions、Secondary=1)。PC 行も Sphere-Grid 行もない(PcAeonFineStatは別コーパスで、グリッドのトポロジーはsphere.bin/panel.binに存在する)。work/由来ではないソース: 77行は byte-grounded コンパイル済みテーブル(FfxLib/SpiraDataAtlas/SumGrowAeonRecipeData.cs、build_sum_grow_aeon_fine_index.ps1 -EmitCSharpがsum_grow.binから生成)に由来するため、ANY のビルドにはwork/なしで存在する(調合/Sphere/Shop とは異なる)。名前/ラベルは実行時にエディター独自のAeonCustomizationEntry+辞書(単一の正本、RT0-proved が--customization-rt0により解決)で解決し、re-invented は決して使わない。Stat-recipe のコスト =partial(エディターが表示するのはPrimary× item。in-game のコストは1アイテム/適用で、Primaryが増分)— 説明文だけでなくevidence列(;cost-semantics-partial)に表示する。ゲート--spiraatlas-rt0は21219 → 21296の詳細(+77 Aeon、すべて一意)と 新規アサーション13件(件数77/67/10、Aeon-only、PC なし、Sphereなし、アビリティ検索66→アルテマ/至高の魔石、ステータス検索67→HP+100/パワースフィア/cost-partial、value-guard0x9999は非表示、 out-of-range のインデックス不在、ドメイン検索、BIBLE のドメイン aeon-growth)。Read-only: writer/UI/runtime/SINはなし。RIKKU/WAKKA/JECHT/BAHAMUT/AURORA には変更を加えず、ANIMA のCommonバッジエンジンやWriteAeon/save パスにも触れない。YUNA のバックログ Q1 のブロックを解除(以前はblocked)。Scout での4視点の敵対的ワークフローにより検証済み。ビルドはエラー0件 / 警告361件;--customization-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS。ドキュメント:docs/ai/ATLAS_BRASKA_SUM_GROW_FINE_SCOUT_RESULT_2026-06-10.md+ scoutdocs/ai/HANDOFF_BRASKA_SUM_GROW_FINE_INDEXER_NEXT_2026-06-10.md
v2.63.0
v2.64.1BETAPATCH
Seymour
調合 Table Editor の Atlas 根拠バッジ(read-only、value-guarded、hide-on-edit)
- Read-only UI を、
SpiraDataAtlasCatalog.TryGetMixCombinationアクセサー(v2.63.0で提供)からMixTableEditorに接続する: 詳細パネルの 「Combination Editor」 カードに、選択中の組み合わせの<common:AtlasEvidenceBadgeStrip>を表示するようになった—組み合わせごとに1本のストリップ(行ごとではないため、6,328回の検索と混雑を回避)、Treasure/Shop の完全なミラーである。MixTableEditor_DataModelに[ObservableProperty] AtlasEvidenceInfo? SelectedMixEvidence+RefreshSelectedMixEvidence()(TryGetMixCombination(origin.Index, result.PartnerIndex, result.RawResult) → AtlasEvidenceInfo.ForDetail)を追加し、OnSelectedResultChangedで呼び出す(カスケード経由の組み合わせ AND 起点切り替えをカバー)ほか、ResultChangedでもRawResultが変わったときに呼び出す(ResultRef→SyncBack→NotifyComputedChangedと「Set Empty」による結果編集をカバー)。Hide-on-edit: re-pointing 結果を別のアイテムに変更した場合、「Set Empty」(raw 0)にした場合、空の/upper-triangle ミラーセルにした場合、またはコーパス外のペアにした場合 → アクセサーfalse/null→ ストリップ self-hides(IsVisible=false)。(origin,partner)の順序は無関係(アクセサー内でmax/minを正規化)。REUSEv2.63.0機能と、ANIMA のCommon基盤(消費のみ)→ (前例: Shop のバッジUIv2.61.2/v2.61.5は PATCH だった)。新しいwriterはない:--mixtable-rt0は byte-identical のまま(25108/25108)。ANIMA のCommonエンジン、プロバイダー、Treasure/Shop(RIKKU)、BRASKA/WAKKA/AURORA/BAHAMUT/SIN には触れない。5視点の敵対的ワークフロー(hide-on-edit、writer/read-only、ANIMA-boundary、XAML-binding、正直さ)+ 統合によりレビューし、ship、欠陥0件。ビルドはエラー0件 / 警告361件;--spiraatlas-rt0(調合 6328)+--mixtable-rt0(byte-identical)+--aicmdmeta-rt0PASS。ドキュメント:docs/ai/ATLAS_JECHT_MIX_BADGE_UI_RESULT_2026-06-10.md
v2.64.0
v2.64.2BETA
Seymour
Blitzball のセーブ書き込み LAB + 賞品オフセット SAVE-PROVED を実在セーブで検証(トーナメントなし)
- Blitzball の賞品オフセットは RE から save-proved になった: I が実在セーブ(
Documents\SQUARE ENIX\...\FINAL FANTASY X\ffx_000..006、0x6900の7スロット =0x40 header + 0x68C0 SaveData)を特定し、ffx_000を正しくデコードした(リーグ = ラストエリクサー/Mega-Potion/スピードスフィア、トーナメント = エリクサー/Super Goalie/ポーション など)— セーブは 平文で、暗号化/圧縮なし(gil/story/battle_count は妥当)で、--base 0x40を確認した。0x40ヘッダーには"cxs"シグネチャ + play-time/location があるが、SaveData チェックサムに一致するフィールドはない(ブロッキング用チェックサムはなさそうだが、in-game のロードはまだ1回必要)。新しい LAB writerTools/BlitzballSaveWrite.cs(--blitz-save-write <in> <field> <value> <out>)は、NEW ファイルへ prize-index u16 を1つ書き込む(NEVER はソースを上書きし、in-place の上書きは拒否)。変更前後の値は Atlas カタログで解決する。COPY のffx_006で検証:tournament0 25 (Elixir) -> 50 (Saturn Crest)、差分は正確に2バイトで、残りは byte-identical。BlitzballSaveRead.Resolveはinternal ResolvePrizeになった(writerが再利用)。save(ffx_NNN)≠ game file: セーブの編集は THIS のプレイスルーを変え、プール(takara.bin220..320)の変更は Treasure/RIKKU である。Atlas の UI/Shop/Treasure/調合/Common/Aurora/Bahamut/SIN には変更なし。ビルドはエラー0件 / 警告361件。ドキュメント:docs/ai/BLITZBALL_SAVE_RUNTIME_WRITER_SCOUT_2026-06-09.md
v2.64.1
v2.64.3BETA
Seymour
Aeon の成長根拠バッジを Customization Editor に追加(read-only、value-guarded、hide-on-edit)
<common:AtlasEvidenceBadgeStrip>をCustomizationEditorの 「Aeon Grow / Teach」 タブ(「Recipe Editor」カード)に組み込み、already-built アクセサーSpiraDataAtlasCatalog.TryGetAeonGrowthRecipe(entryIndex, currentResultRaw, currentItemRaw)(v2.64.0)を利用する。AtlasEvidenceInfo? SelectedAeonEvidenceをCustomizationEditor_DataModelに追加し、選択変更時および選択行がRawResult(AeonRecipeChanged)を引き上げたときに再計算 → hide-on-edit: 教えるアビリティ/ステータス OR、コストアイテム(raw不一致)、または out-of-range インデックスを編集すると、アクセサーはnullを返してストリップを非表示にする(古いバッジは残らない)。これは 調合(v2.64.1)の完全なミラーである。10件のステータスレシピにはpartialバッジを表示する(cost-semantics: エディターが表示するのはPrimary× itemだが、in-game のコストは1アイテム/適用)。writerも cost-display の修正もない(対象外)。ANIMA のCommonエンジンを再利用する(消費のみ)。PC はblockedのまま(PC 行なし)、Sphereもmetadata-only(結合なし)なので、表示するものはない。プロバイダー/ゲートの変更はない(--spiraatlas-rt0は維持、21296の詳細 / Aeon 77件)。ビルドはエラー0件 / 警告361件;--customization-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS。JECHT/調合、TIDUS/PC、AURON/Sphere、RIKKU/WAKKA/VALEFOR/AURORA/SIN には触れない。ドキュメント:docs/ai/ATLAS_BRASKA_AEON_GROWTH_BADGE_UI_RESULT_2026-06-10.md
v2.64.2