← ClaudeAtlas

decomp-tu-buildlisted

Execute the sm64ds-decomp translation-unit rebuild/verify loop - reconstruct a merged TU in src_tu/, compile it with the pinned mwccarm, byte-verify every member, run the relocation audits, and take it up the shadow -> text-verified -> link-verified ladder. Use when merging one-function files into a real .cpp, when tubuild.py reports MISSING/DIFF/unlicensed, when a TU compiles but will not link, when generating a TU-granular config_tu/ delinks root, or when asked to convert a module to the ph shape. For deciding WHICH functions share a TU, use decomp-tu-slicing first.
tangosdev/sm64ds-decomp · ★ 154 · Data & Documents · score 80
Install: claude install-skill tangosdev/sm64ds-decomp
# The TU rebuild / verify loop `src/` holds ~11k one-function files, a shape the original build never had. `tools/tu_map.py` recovers the real `.cpp` boundaries; **this skill is about executing the merge and proving it**. For deciding *which* functions belong together, read `decomp-tu-slicing` first — a class is not a file. ## 0. Prerequisites, in this exact order ```sh python tools/rtti_extract.py # -> build/rtti.json python tools/rtti_vtables.py # -> build/rtti_vtables.json python tools/tu_map.py # -> build/tu_map.json ``` `build/` is gitignored, so a fresh worktree has none of this — always regenerate. **Nothing enforces that order.** `tu_map.py` reads `build/rtti_vtables.json` if it is present and silently falls back to an empty label table if it is not, so a missing prerequisite produces a complete, self-consistent, **wrong** map — 516 TUs instead of 532 — with every gate passing and **exit 0**. Verify the prerequisites yourself; no exit code will do it for you, and `--check` will not either (it exits 0 on failure too). The full damage table is in `decomp-tu-slicing` §0. `tubuild.py` regenerates the map only when it is *entirely absent*; a stale-but-present map is reported as a note and then used as-is. `--blind` is a negative control, not an opt-out: it drops the mangled-name signal and scores what the map retains on RTTI alone, which is the honest measure for the anonymous overlays. It is not something to reach for in a normal run. There is no