rrt/docs/rehost-queue.md

5.9 KiB

Rehost Queue

This file is the short active queue for the current runtime and reverse-engineering frontier.

Working Rule

  • Continue after each commit unless the queue is empty, a real blocker remains, or approval is needed.
  • Keep detailed branch notes, long evidence dumps, and retired queue state in docs/rehost-queue/.
  • Prefer linking to preserved notes instead of growing this file into another worklog.

Current Active Items

  • The active static parser head is now the engine_types semantics frontier. The repo now has structural inspectors for .car, .lco, .cgo, and .cct, but the binary side is still only partially semantic: the checked 1.05 corpus grounds .car fixed strings at 0x0c / 0x48 / 0x84 plus a second fixed stem slot at 0xa2 and a side-view resource name at 0xc0, while .lco carries a stable primary stem at 0x04 and only conditional companion/body slots at 0x0c and 0x12 when the leading stem slot is padded. The checked 1.05 corpus now also splits .car auxiliary stems into 126 direct matches, 14 role-neutral roots, and only 5 truly distinct cases, with those five exact internal-to-auxiliary pairs now preserved directly in the report surface, while .cgo collapses into five stable scalar ladders instead of arbitrary floats. The early .lco lane block is now partially partitioned too: only offsets 0x20, 0x34, 0x38, 0x3c, 0x44, 0x48, and 0x54 behave like low-cardinality buckets, while the other early lanes still look high-variance. The side-view resource path is now grounded into Data/2D/rt3_2IMB.PK4, and the .imb parser now decodes shipped comment-suffixed numeric rows plus _NE profile fields such as HorizontalScaleModifier and ImageWHScaled. The checked PK4 linkage split is now explicit too: 132 / 145 side-view resource names resolve directly, but the remaining 13 are the missing CarSideView_3.imb cohort and that hole exists in both checked installs, while 43 / 145 derived {internal_stem}_NE.imb names resolve and all of those hits belong to matched locomotive pairs. The packaged profile metadata is stable enough to summarize: CarSideView_1 is 512x512 at 0.04 VRAM, CarSideView_2 is 512x256 at 0.02, and every packaged _NE profile is 512x128 with HorizontalScaleModifier = 0.75 and MaxPercentOfInterfaceVRAM = 0.09. The _NE split is now aligned with the locomotive display census too: all 43 packaged _NE hits live inside the grounded display prefix, and all 5 unmatched display-tail families are still missing packaged _NE profiles. The next honest static work is to keep promoting those fixed lanes into stable parser fields, explain the five remaining distinct auxiliary-stem cases, and decide how far the .cgo ladders plus the low-cardinality .lco lanes can be grounded without overclaiming semantics. Preserved checked parser detail now lives in EngineTypes parser semantics. Preserved checked format inventory detail now lives in RT3 format inventory.

Preserved External And Dynamic Blockers

  • The locomotives-page tail remains preserved as an external-corpus blocker. Static repo-local work on this head is now exhausted: the local 29-save .gms + .gmx census proves the stable prefix through 58, proves the same two scenario-dependent 59+ tail families, and still finds no Class QJ placement plus no descriptor carriers in 452 or 457..502. The next honest non-hook step requires a broader save corpus; the next non-static step requires dynamic tracing. Preserved checked blocker detail now lives in Locomotive descriptor tails.
  • The periodic-company control-lane head remains preserved as a dynamic blocker around the ordinary loaded runtime-effect strip 0x00444d92 -> 0x00432f40(kind 8) -> 0x004323a0 -> 0x00431b20. Static progress on this head now appears genuinely blocked: the whole-binary [...+0x7ef] reference census still collapses to the grounded writer set plus the already-known compare and copy helpers, so the next honest step likely requires hook-side or runtime tracing between reload 0x00433130 and the world-entry kind-8 sweep at 0x00444d92. Preserved checked control-lane detail now lives in Periodic company control lane.
  • The Tier-2 building head remains preserved as a dynamic blocker around the seed/projection seam into 0x00412d70. The stock decode chain, the bare-name remap callback, the rebank-or-clone owner, and the earlier suspected mid-range replay strip are all now grounded, so the next honest step likely requires runtime tracing of which source rows actually enter the live bank-qualified seed set. Preserved checked row-family detail now lives in Tier2 candidate row families. Preserved checked stock selector-byte detail now lives in Tier2 selector-byte sources. Preserved checked rebuild sequencing detail now lives in Tier2 rebuild sequencing.

Preserved Detail