Aggiornamento 2.222
02/08/2026
v2.222.0.0BETAMINOR
Seymour2 ago 2026
VIEWERHUB F3.5 PART 1: edit mode in Aurora via SIDECAR (moving monsters in the scene)
- Edit sidecar in noclip (
src/FinalFantasyX/scenes.ts): the battle-preview now readsdata/FinalFantasyX/edits/<encId>.json(per-slot deltas:{ "actors": { "<slot>": { "position": [dx,dy,dz], "heading": rad, "scale": mult } } }) and applies them insetUpMonsters— position added, heading/scale multiplicative, on top of the vanilla encounter positions (fetch with try/catch: no sidecar = vanilla). SidecarEditsWriter(Modules/Common/ViewerHub/): idempotent per-slot merge (invariant culture, optional fields, preserves other slots).- ViewerShell — "Modo edição (sidecar)" panel (
battle-previewdesc gained theeditortool): Slot 0–7 + ΔX/ΔY/ΔZ + ΔHeading (rad) + ×Scale + "Aplicar edição ao battle" → writes the JSON into the noclip root (NoclipLocator+TryResolveEncounterfrom Aurora3DLauncher); reopening the battle applies the deltas. - Gate: build 0 errors; tests 4/4 PASS (
SidecarEditsWriterTests: create/merge/overwrite/null); noclip typecheck with no new errors (only the 2 pre-existing node_modules iobuffer/tiff);rsbuild buildbundle OK + deployed to the hub serve-dir (%TEMP%\ffx-studio-serve\noclip, data/ junction preserved). - F3.5 pending (next): canvas drag gizmo (click-select → drag → write sidecar), per-slot reset, reading the current btl positions into the panel. ### MINOR
v2.221.0.0
v2.222.1.0BETAMINOR
Seymour2 ago 2026
i18n: JA/KO/ZH translated via DeepL API (96-97%) + language selector with 9 options
- Lane IFRT-2
- DeepL API (
work/_i18n_deepl_asia.py): 2,206 keys × 3 languages translated with token protection via XML tags (<ptkN/>+tag_handling=xml) — paths/filenames/acronyms preserved byte-for-byte (verified: 0 missing in all 3). Keys fromffx-mod-website/.env.local(DEEPL_API_KEY_2/3 fallback); free rate limit ~1 req/s. - Final coverage: JA 96.4% (2146), KO 96.8% (2154), ZH 95.3% (2122) — previously 0% (staging only). Examples: セッション制御 / 세션 제어 / 会话控件, 保存 / 저장 / 保存.
- 9-option selector:
Strings.cs(NormalizeLanguage/CurrentLanguage/ApplyCulture+ ja-JP/ko-KR/zh-CN) +Main_Window.axaml/.cs(3 MenuItems + Ja/Ko/Zh handlers) + self-localizedLangJapanese/Korean/Chinesekeys (日本語/한êµì–´/䏿–‡) in all 9 resx. - Orphan keys fix:
U_grupo_estrutura/U_grupo_reexisted only in the neutral — propagated to all 8 satellites with correct translation (構造/구조/结构). - Migrated 17 raw ViewerShell_Control.axaml literals (other lane's ViewerHub file): 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 errors; suite 400/400 PASS; 9/9 aligned (2212 keys). In-game font-bank still pending (RT2) — this is editor UI only; the game needs the probe.
v2.222.0.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py). `n ### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py). `n ### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 resolved (BuildNodeChain NxM) + 28 payload fields in 6 U2/U3 families (subagents re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione u8+stride u16; stride=48*(size-1)+128.
- 28 campi nominati in DrawMdl/DrawShape/KeMdlDtt/VertexAp/KeLnsClm/KeBornRnd3 (decompilazioni reali). ABI: record runtime condiviso +144 risorsa, +160/+164/+168 transform, +12 keyframe; base via **(arg+12).
- 191 commenti opcode->handler applicati al DB canonico (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py). `n### REVISION
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py). `n### PATCH
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.1BETAREVISION
Lulu2 ago 2026
KeThRes 37/37 risolti (BuildNodeChain NxM) + 28 campi payload in 6 famiglie U2/U3 (subagenti re-keth/re-schema + IDA MCP)
- 35 famiglie pppKeThRes* con handler_addr=0x0 risolte: wrapper PppMem_BuildNodeChain_NxM (KeThRes8=0x736D80 1x8; KeThRes255=0x7369C0; generic=0x764CA0). Conteggio header u8+dimensione 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 comments applied to the canonical DB (scripts/ppp_apply_pending_ida_marks.py).
v2.222.1.0
v2.222.1.2BETAPATCH
Seymour2 ago 2026
i18n: ES/FR/DE/IT completate via DeepL (95-97%) — riuso della pipeline asiatica DeepL
- Lane IFRT-2
work/_i18n_deepl_latins.py: tradotte SOLO le chiavi ancora uguali a EN (ES 388, FR 407, DE 504, IT 395) via DeepL con protezione token (tag XML (letterale tecnico: ONLY)<ptkN/>+tag_handling=xml) — preservate le 441 traduzioni ES manuali e quelle già applicate. (letterale tecnico: already-applied)- Copertura finale: ES 96.9%, FR 96.5%, DE 95.9%, IT 96.6% (erano 82.7/82.0/77.6/82.3). Combinata con JA 96.4% / KO 96.8% / ZH 95.3%: 7 lingue al 95%+.
- Gate: build 0 errori; suite 400/400 PASS; 9/9 allineati (2212 chiavi); 0 file corrotti (le 8 ES "mancanti" sono manuali legittimi che non citano nomi file).
v2.222.1.1
v2.222.2.0BETAPATCH
Lulu2 ago 2026
GOAL 24H: Magic DLL Editor — 432 campi semantici, scan completo 583/583, fuzz RT0 500-edit, pill WRITER + filtro nome campo. (letterale tecnico: field-name)
- F1: 83 famiglie con campi semantici (432 campi) — 4 subagenti hanno decompilato U1/Rand/Draw/KeTh-Matrix; auto-estrattore + merge nomi HEAD; 139 famiglie incorporate. (letterale tecnico: auto-extractor) (letterale tecnico: HEAD-name)
- F2: 0117 risolve 255/302 slot con campi strutturati (84%); gate edit RT0 (pppScale.scale_x) byte-identità; fuzz multi-famiglia 500-edit (242 target/25 famiglie) che onora la guardia prefisso R6 e le famiglie senza finestra. (letterale tecnico: byte-identity) (letterale tecnico: multi-family) (letterale tecnico: no-window)
- F5: FULL SCAN 583/583 DLL (0 fallimenti), 434.502 slot nominati, 0 opcode fuori field_map (221 famiglie); 453 RAW (0.1%); runbook T4 con campi nominati (vel_x, scale_x, flag_frame).
- F4 UI: pill WRITER nella toolbar (separazione read/write) + filtro nome campo (es. (letterale tecnico: field-name) (letterale tecnico: e.g)
vel_x). - Gates: build Debug 0 errori; suite MagicDll 74/74 PASS. Build Release bloccata dall'editor aperto (PID 65912) — ricompilare dopo la chiusura.
v2.222.1.2