One test/showcase page per strategy. Everything below runs off
serve-assets.mjs (:8123) against var/assets/models — no credits spent.
| option | cost / variant | status | page | what it proves |
|---|---|---|---|---|
| palette + accessory reskin procedural walker, cosmetic palettes, profession accessories |
0 cr | live today — default render path | reskin-procedural.html | 5 faction palettes × ~24 professions × state tints × player colours, zero assets. |
| masked texture reskin cloth-only repaint via WEIGHTS-derived UV mask |
0 cr | the fix for tint-hits-skin — mask from bone weights | reskin-mask.html | Same mesh+rig+clips, repainted cloth region only; face/hands/hair keep their texels. |
| GLB material tint clone mesh, multiply/emissive recipe on fused material |
0 cr | possible today — same trick as kitbash tintPart |
reskin-tint.html | How far a whole-model tint gets you — and where it breaks (fused material tints skin too). |
| parametric garments GarmentSpec → loft → skinned layer re-bound to body skeleton |
≈0 cr (JSON spec) | SW-1..3 built + verified; SW-4 runtime mount is this page | reskin-garments.html | One spec dresses every body. Live proof of the SW-4 bone-name rebind + clip drive. |
| canon bake canon job image → optical-flow registration → baked atlas TA2 |
0 cr (1 png / variant) | proof passed — butcher on hums-male base | reskin-canon.html · reskin-regions.html | R render → DIS flow → gated plate → TA2. Ship 1 GLB + N atlas PNGs. regions page = interactive per-zone tint tool (cap/shirt/sleeves/tunic/ trousers/belt/pouch/boots separately) + atlas PNG export. |
| dressed-mesh rebind i2d outfit (no rig) → blender-bind → shared 10-clip library |
~20 cr (i2d only) | deployed ×8 (builder/forester/miner/farmer × m/f) | reskin-outfits.html | Same skeleton, different mesh — and the raw→bound→final pipeline per job. |
| per-variant mesh+rig+anims full Meshy stack per variant |
~55 cr + QA wall | rejected — batch-5 all-reroll (non-T-pose), 402-blocked | rig-own.html · opt-wall.html | The expensive path this hub exists to avoid. |
| approach | evidence | verdict |
|---|---|---|
| donor-rig auto-skin on unrigged i2d meshes | rig-test.html | distance-based skinning can't guess articulation |
| Meshy WEIGHTS_0 transfer to sibling meshes | rig-ab.html (pane D) | different topology/bind pose — stretched legs, frozen torsos |
| cross-rig clip reuse | rig-wall.html | ~70% deform — same joint names ≠ same rig |
| blender-cleanup on skinned GLBs | BUG_LOG 2026-10-12 | join/apply/decimate destroys bind space — use glb-opt.mjs |