Update 2.222
2.8.2026
v2.222.0.0BETAMINOR
Seymour2. Aug. 2026
VIEWERHUB F3.5 TEIL 1: Bearbeitungsmodus in Aurora via SIDECAR (Monster in der Szene bewegen)
- \
- Edit-Sidecar in noclip (
src/FinalFantasyX/scenes.ts): die battle-preview liest jetztdata/FinalFantasyX/edits/<encId>.json(Deltas pro Slot:{ "actors": { "<slot>": { "position": [dx,dy,dz], "heading": rad, "scale": mult } } }) und wendet sie insetUpMonstersan — Position additiv, heading/scale multiplikativ, auf den Vanilla-Encounter-Positionen (fetch mit try/catch: kein Sidecar = Vanilla). SidecarEditsWriter(Modules/Common/ViewerHub/): idempotenter Merge pro Slot (invariante Kultur, optionale Felder, erhält andere Slots).- ViewerShell — „Bearbeitungsmodus (Sidecar)"-Panel (
battle-preview-Desc hat daseditor-Tool erhalten): Slot 0–7 + ΔX/ΔY/ΔZ + ΔHeading (rad) + ×Scale + „Bearbeitung auf den Kampf anwenden" → schreibt die JSON in die noclip-Wurzel (NoclipLocator+TryResolveEncounteraus Aurora3DLauncher); das erneute Öffnen des Battle wendet die Deltas an. - Gate: Build 0 Fehler; Tests 4/4 PASS (
SidecarEditsWriterTests: create/merge/overwrite/null); noclip-Typecheck ohne neue Fehler (nur die 2 vorbestehenden node_modules iobuffer/tiff);rsbuild build-Bundle OK + zum Hub serve-dir deployed (%TEMP%\ffx-studio-serve\noclip, data/-Junction erhalten). - F3.5 ausstehend (als Nächstes): Canvas-Drag-Gizmo (Klick-Auswahl → Drag → Sidecar schreiben), Reset pro Slot, Lesen der aktuellen btl-Positionen ins Panel. ### MINOR
v2.221.0.0
v2.222.1.0BETAMINOR
Seymour2. Aug. 2026
i18n: JA/KO/ZH via DeepL-API übersetzt (96-97%) + Sprachauswahl mit 9 Optionen
- Lane IFRT-2
- DeepL-API (
work/_i18n_deepl_asia.py): 2,206 Keys × 3 Sprachen mit Token-Schutz via XML-Tags (<ptkN/>+tag_handling=xml) übersetzt — Pfade/Dateinamen/Akronyme byte-für-byte erhalten (verifiziert: 0 fehlend in allen 3). Keys ausffx-mod-website/.env.local(DEEPL_API_KEY_2/3-Fallback); freies Rate-Limit ~1 req/s. - Finale Coverage: JA 96.4% (2146), KO 96.8% (2154), ZH 95.3% (2122) — vorher 0% (nur Staging). Beispiele: セッション制御 / 세션 제어 / 会话控件, 保存 / 저장 / 保存.
- 9-Optionen-Auswahl:
Strings.cs(NormalizeLanguage/CurrentLanguage/ApplyCulture+ ja-JP/ko-KR/zh-CN) +Main_Window.axaml/.cs(3 MenuItems + Ja/Ko/Zh-Handler) + selbst-lokalisierteLangJapanese/Korean/Chinese-Keys (日本語/한êµì–´/䏿–‡) in allen 9 resx. - Waisen-Key-Fix:
U_grupo_estrutura/U_grupo_reexistierten nur im Neutralen — auf alle 8 Satelliten mit korrekter Übersetzung propagiert (構造/구조/结构). - 17 rohe ViewerShell_Control.axaml-Literale migriert (ViewerHub-Datei einer anderen Lane): Aurora-Panel (Spira Reforge Studio, Ferramentas (Aurora), Battle:, Actors, Override 0e/, Cenas FFX:, Modo edição, Deltas por slot, Slot:/ΔX/ΔY/ΔZ/ΔHeading/×Scale + 3 Buttons) →
U_*-Keys in 9 resx + Props. - Gate: Build 0 Fehler; Suite 400/400 PASS; 9/9 ausgerichtet (2212 Keys). In-Game-Font-Bank noch ausstehend (RT2) — das ist nur Editor-UI; das Spiel braucht die Probe.
v2.222.0.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 gelöst (BuildNodeChain NxM) + 28 Payload-Felder in 6 U2/U3-Familien (Subagenten re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 benannte Felder in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (echte Dekompilate). ABI: gemeinsamer Runtime-Record +144 resource, +160/+164/+168 transform, +12 keyframe; Basis via **(arg+12).
- 191 Opcode→Handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n ### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n ### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n### REVISION
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2. Aug. 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 pppKeThRes*-Familien mit handler_addr=0x0 gelöst: PppMem_BuildNodeChain_NxM-Wrapper (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generisch=0x764CA0). Header-Anzahl u8+size u8+stride u16; stride=48*(size-1)+128.
- 28 named fields in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (real decompiles). ABI: shared runtime record +144 resource, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 opcode->handler-Kommentare auf die kanonische DB angewendet (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.2BETAPATCH
Seymour2. Aug. 2026
i18n: ES/FR/DE/IT via DeepL abgeschlossen (95-97%) — Wiederverwendung der asiatischen DeepL-Pipeline
- Lane IFRT-2
work/_i18n_deepl_latins.py: übersetzte NUR noch mit EN identische Keys (ES 388, FR 407, DE 504, IT 395) via DeepL mit Token-Schutz (XML-Tags<ptkN/>+tag_handling=xml) — die 441 manuellen ES-Übersetzungen und bereits angewendete wurden erhalten.- Endabdeckung: ES 96.9%, FR 96.5%, DE 95.9%, IT 96.6% (war 82.7/82.0/77.6/82.3). Zusammen mit JA 96.4% / KO 96.8% / ZH 95.3%: 7 Sprachen bei 95%+.
- Gate: Build 0 Fehler; Suite 400/400 PASS; 9/9 ausgerichtet (2212 Keys); 0 korrupte Dateien (die 8 ES „missing" sind legitime Manuals, die keine Dateinamen zitieren).
v2.222.1.1
v2.222.2.0BETAPATCH
Lulu2. Aug. 2026
GOAL 24H: Magic-DLL-Editor — 432 semantische Felder, vollständiger Analyse 583/583, 500-Edit-Fuzz-RT0, WRITER-Pill + Feldnamen-Filter
- F1: 83 Familien mit semantischen Feldern (432 Felder) — 4 Subagenten decompilierten U1/Rand/Draw/KeTh-Matrix; Auto-Extractor + HEAD-Name-Merge; 139 Familien eingebettet.
- F2: 0117 löst 255/302 Tombola mit strukturierten Feldern (84%); RT0 (pppScale.scale_x_x) Byte-Identität; 500-Edit-Multi-Family-Fuzz (242 Ziele/25 Familien) unter Beachtung des R6äfix-Guards und No-Window-Familien.
- F5: VOLLER SCAN 583/583 DLLs (0 Fehler), 434,502 benannte Tombola, 0 Opcodes außerhalb field_map (221 Familien); 453 RAW (0.1%); T4 mit benannten Feldern (vel_x, scale_x, flag_frame).
- F4 UI: WRITER-Pill in der Toolbar (read/write-Trennung) + Feldnamen-Filter (z. B e.g.
vel_x). - Gates: Debug-Build 0 Fehler; MagicDll-Suite 74/74 PASS. Release-Build durch offenen Editor blockiert (PID 65912) — nach dem Schließen neu bauen.
v2.222.1.2