Update 2.214
2.8.2026
v2.214.0.0BETAMINOR
Seymour2. Aug. 2026
i18n-Pipeline basierend auf dem offiziellen Korpus des Spiels (8 Regionen) + 7-Sprach-Basen + offizielle Übersetzungen angewendet (ES/FR/DE/IT)
- Phase 1 — Editor-Extraktion:
work/_extract_editor_strings.py→Text\editor_strings.json(251 resx-Keys + 2,414 hartcodierte Literale über 96.axaml). - Phase 2 — Spiel-Korpus:
RuntimeTools/TextCorpusLab(nutzt Produktions-FfxLib-Parser) extrahiert 117 Dateien / 14,832 Zeilen aus 8 Regionen (new_uspc,new_sppc,new_frpc,new_depc,new_itpc,jppc/new_jppc,new_krpc,new_chpc) × 13 Tabellen (btl_txt, name/item/menu/status/summon/arms/mmain/save/config/build/btlend_txt, w_name) →Text\game_{region}\. - Phase 3 — Smart-Linking:
work/_linker.py(invertierter Wortindex → (file,index,slot) + exact/substring/rare-word matching) →Text\linkage.json(57 starke Links) +linkage_weak.json(523 Kandidaten). - Phase 4 — Anwendung:
work/_apply_translations.pywendet die OFFIZIELLEN Übersetzungen des Spiels aufStrings.{es,fr,de,it}.resxan (z. B. "Sphere Grid"→ES Desarrollo/FR Sphérier/DE Sphärobrett/IT Sviluppo; "Overdrive"→ES/IT Turbo/DE Ekstase) + generiertterms_latin.json(34 Begriffe). - 7-Sprach-Basen erstellt:
Strings.{es,fr,de,it,ja,ko,zh}.resx(volle Struktur, EN-Fallback). - Ehrliche Einschränkungen: JA/KO/ZH =
<K:n>-Tokens (Font-Bank noch offen, bestehendes Doc); Slot-Ausrichtung hat Lücken in manchen Regionen (z. B. IT "Niente"); 2,414 hardcoded Literale warten auf Key-Migration (Wörterbuch bereit). - Doc:
docs/ai/I18N_GAME_CORPUS_PIPELINE_2026-08-02.md. Build 0 Fehler (Lab + Editor). ### MINOR
v2.213.0.0
v2.214.0.1BETAREVISION
Seymour2. Aug. 2026
Event-Text-Code→Glyph-Link PROVEN in der EXE (entsperrt den JA/KO/ZH-Decoder)
FFX_EventText_AdvanceCharGlyph(0x8B92E0) dekompiliert — enthält das volle Code→Glyph-Mapping, das das 2026-06-06-Doc als offen markierte: 1-Byte (≥0x30→idx = byte-0x30auf dem aktuellen Slot) + 2-Byte-Paare (Leads0x2C-0x2F→Slot 0,0x2A-0x2B→Slot 1,0x28-0x29→Slot 2,0x26-0x27→Slot 3,0x06→Slot 5) mit linearen Formeln208*lead + next - K; Width =*(char*)(SlotGlyphMeta + idx) * 0.25.FFX_Font_GetSlotGlyphMeta(0x8AC380) = Pointer beibyte_183FA78[16*slot + 8940](6-Slot-Tabelle bei 0x183FA78).- GOLDEN RULE: Kommentare auf der kanonischen DB angewendet (0x8B92E0, 0x8AC380, 0x183FA78 — OK1/OK2/OK3 True). Doc:
docs/reverse/FFX_EVENTTEXT_GLYPH_ELO_PROVADO_2026-08-02.md. - Entsperrt: Auflösen der
<K:n>-Tokens des JA/KO/ZH-Korpus (i18n-Pipeline v2.214.0.0) — nur die RT2-Probe zum Erfassen der SlotGlyphMeta-Pointer zur Laufzeit fehlt noch. ### MINOR
v2.214.0.0
v2.214.0.2BETAPATCH
Seymour2. Aug. 2026
Remiem RT2 (2. Test): VANILLA-Positionen beibehalten + Kamera aus der realen Geometrie berechnet
- RT2-Lektion: kino00_00 (Mushroom Rock) hat eine Top-Down-Kamera — eine kamerabgeleitete Vorwärtsrichtung hat eine undefinierte horizontale Richtung (Auge oben → XZ-Komponente ist Rauschen) → Auto-Layout verteilt Party/Monster falsch (gepackt). Fix: für Szenarien mit NATIVEN Positionen im Bin (remiem) erhält der Compose die Vanilla-Positionen (Party rechts / Monster links — die Szenario-Wahrheit) und passt nur count/chunk2/camera an.
BuildVanillaMonsterPositions(neu): native monLive-Anker + Extras aus dem Gruppen-Zentroid für Counts über der Kapazität. - Remiem x4-Kamera aus Geometrie berechnet (
ApplyRemiemX4BehindPartyCamerarefaktoriert): h kommt jetzt aus dem Party→Monster-Forward von chunk3 (h 12.9→−83.9 auf kino00_00) — vorher war es das feste −104.6 + Elevation −25 (was die Kamera Top-Down machte). Elev −11.3 und dist 122.1 Vanilla erhalten. - Chirurgischer Diff: 73 Bytes (war 132) — nur chunk2-IDs + count + splice (+16) + re-stamped pointers + camera h; monLive-Positionen byte-identisch zu Vanilla (x4:
grew 4→4mit den 4 nativen Koordinaten). - Kamera-abgeleitetes Auto-Layout bleibt Inspektionswerkzeug (
--auto-layout-check); der Compose nutzt die Bin-Wahrheit (der Hook übergibt weiter--auto-layout— das Lab entscheidet). - RT2
Needs Testing: Custom Basteln → Mushroom Rock x4 → Launch → Battle sollte mit der Kamera hinter der Party öffnen (nicht Top-Down), Party/Monster an nativen Szenario-Positionen und die 4 Äonen in den Tombola. ### PATCH
v2.214.0.1
v2.214.1.0BETAPATCH
Seymour2. Aug. 2026
i18n-Welle 1: offizielle Spielbegriffe zu resx-Schlüsseln mit offiziellen ES/FR/DE/IT-Übersetzungen migriert (Spielkorpus)
- 25
Term*-Keys in allen 9 resx-Dateien (Strings.{,pt,es,fr,de,it,ja,ko,zh}.resx) mit den offiziellen Übersetzungen aus derText\terms_latin.json-Pipeline (Waffen→Armas/Armes/Waffe/Arma; Overdrive→Turbo/Overdrive/Ekstase/Turbo; Status→Condición/Etat/Status/Status; Analyse→Libra/Analyse/Analyse; Distill*/Shield/Boost/Doom usw.). IT-Slot-Lücken (Niente) fallen ehrlich auf EN zurück (dokumentierte Fehlausrichtung). PT/JA/KO/ZH = EN (kein offizielles PT-Korpus; JA/KO/ZH warten auf Font-Bank — Code→Glyph-Verknüpfung in v2.214.0.1 bewiesen, RT2-Probe ausstehend). - 41 hardcodierte Literale mit
{x:Static res:Strings.TermX}über 9 aktive Module ersetzt (KernelCommands 16, MonEditor 17, CustomBossCreator 1, InventoryTracker 2, LiveBattleLab 1, MonsterAiEditor 1, SaveEditorCharacter 1, SaveEditorItems 1, WeaponGear 1) +xmlns:reszu Headern hinzugefügt, denen es fehlt.MonsterAiEditor2unberührt (eingestellt, harte Regel). - Wiederverwendbares Skript:
work/_i18n_onda1_migrate.py(resx + axaml, exakte Attribut/Wert-Substitution — keine False-Positives wie „Cost Overdrive"). - Gate: Release-Build 0 Fehler; Suite 381/381 PASS (inkl.
StringsTestsder Lane). Wave 1 ausstehend: manueller Smoke im Editor (PT/EN wechseln und die 9 Module öffnen). ### PATCH
v2.214.0.2
v2.214.2.0BETAPATCH
Seymour2. Aug. 2026
i18n-Welle 2: 261 wiederholte Literale in 51 gemeinsamen EN/PT-Schlüsseln migriert (Durchlauf über 91 Module)
- 51
Common*-Keys in allen 9 resx erstellt (EN neutral + PT übersetzt; ES/FR/DE/IT/JA/KO/ZH = EN — kein offizielles Korpus für Editor-UI), die die 56 Werte mit ≥3 Vorkommen abdecken (herdado27x,Fechar20x,valor8x,Aplicar7x,Foco6x,Prévia humana5x,BIBLE OF SPIRA4x,Pesquisar habilidade por nome ou hex4x,+ fase comum/+ última fase/remover fase3x,Exigir HP <3x,Comando (0x####)3x, PosX/PosY, US Description...). - Wiederverwendung bestehender Keys:
Session Controls→SessionControls(20×),Salvar→ActionSave(6×) — null Duplikation. - 261 Ersetzungen über 91 .axaml-Dateien mit
{x:Static res:Strings.X}+xmlns:resgarantiert.MonsterAiEditor2*vom Sweep ausgeschlossen (eingestellte harte Regel — 0 Diffs verifiziert). - Skripte:
work/_i18n_onda2_migrate.py(zentralisiert COMMON/REUSE, rekursiver Walk mit Ausschluss) +_i18n_onda2_check.py(0 Residuen). - Gate: Release-Build 0 Fehler; Suite 381/381 PASS. Waves 1+2 kumulativ: 302 Literale migriert (2,414 → 2,112).
- Ausstehend: manueller PT/EN-Smoke im Editor; Wave 3 (unique per file) in Arbeit. ### PATCH
v2.214.1.0