REGISTRY rewritten around the central rule: a character folder is born only when a body ships to ariki-game (<character>_base_v<NN> = ship ordinal). lena_nude dissolves accordingly: - characters/female/lena_base_v01/ — SHIPPED 2026-08-10: AccuRig GLB carrier, T-pose/rig FBX + JSON, previews, frozen README - characters/work/lena/ — the live lane: recipes 01-47 (incl. new 36-47: refill/sheets/clay/despeckle/musculature/spin/AccuRig export/graft/pose QC), masters (athletic_v04 blend + textures, accurig blend), lane-history README - hires_claude/hires_work intermediates (blends, logs, probes) pruned Supporting docs: AGENTS.md, working-files rule, rig-graft plan addendum, originals README, prune_lane.py. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4.7 KiB
Handoff: lena_nude_decimated_glb_v03.glb — v04 geometry, re-atlased, double-sided
HISTORICAL — paths in this file are dead. Written 2026-08-06, before the 2026-08-11 restructure. The
characters/female/lena_nude/tree it references no longer exists and thedecimated_glb_vNNchain it describes was pruned; that body went on to ship ascharacters/female/lena_base_v01/. Kept because the double-sided finding below is still load-bearing for the shipped asset. Regenerate any file named here with the recipes in this lane.
2026-08-06. Supersedes decimated_glb_v01 (decimated from the v03 sculpt) and
decimated_glb_v02 (v01 re-atlased). Both are stale: the bust-matched v04 sculpt landed after
them.
The file
characters/female/lena_nude/lena_nude_decimated_glb_v03.glb
| sha256 | 730f8baee15ab9c20b538654373e3dbe1ec4ccaa353e51e1164fe6d94615d126 |
| parent | lena_nude_sculpt_glb_v04.glb (master hires_claude/34_v04.blend) |
| recipe | 30_decimate.py → 24_seams.py → 31_reatlas.py |
| mesh | 31,964 v / 64,957 tris in Blender; 39,416 v as exported |
| maps | basecolor + normal + rm embedded, 4096², JPEG q95, correct colorspaces |
| material | doubleSided = true |
| rig | none — unrigged, transforms applied |
Rebuild from the lane root:
blender --background --python 30_decimate.py -- 34_v04.blend atlas_v03/dec_raw.glb 31670
blender --background --python 24_seams.py -- atlas_v03/dec_raw.glb atlas_v03
blender --background --python 31_reatlas.py -- atlas_v03/seamed.blend atlas_v03 \
../lena_nude_decimated_glb_v03.glb
Roughly four minutes end to end, nearly all of it the decimation bisect.
The grey tears are fixed, and they were never holes
Every review render of v01/v02 showed ragged grey tears across her face and the underbust band. The v01 handoff attributed them to 835 boundary edges / dangling flaps and called fills impossible.
They were backface culling. The glTF material arrived single-sided, so Blender culls backfaces; the mesh has regions wound inward, and culled they show the background straight through. Rendering the same file with culling off makes them vanish entirely.
Note the trap: those regions are wound consistently within themselves, so their vertex normals
flip too. Any test that compares a face against its own neighbourhood — including
normals_make_consistent, which is why 30b_fix_winding.py oscillated 61 → 260 → 39 → 25 → 25 —
declares them fine. A per-face check against its own vertex normals finds only 25 stray triangles
covering 0.8 cm², which cannot account for a 15 cm band. Only a viewer with culling sees it.
The fix here is doubleSided = true, which costs a character body essentially nothing. If you ever
need true single-sided culling, the real repair is a ray-parity test per connected patch (count
surface crossings along ±normal to decide which way is out), not another make_consistent pass.
What changed vs v02
| v02 | v03 | |
|---|---|---|
| geometry | v03 sculpt | v04, bust matched to the approved turnaround |
| grey tears | present | gone (doubleSided) |
| coverage | 68.6% | 67.0% |
| area-scale p95 / p99 | 1.77 / 2.27 | 1.78 / 2.32 |
| sub-texel triangles | 569 (123 cm²) | 424 (30 cm², 0.14%) |
The atlas transfer was re-verified on identical geometry — input rendered with culling off so the comparison isolates the UV change: mean pixel |Δ| 0.0011, p99 0.0118, 0.13% of body pixels over 0.05. It is still a faithful rehousing of her texture, not a new look.
Still open
- Speckle. Small dark flecks remain over the shoulders, arms and belly — scan noise carried in the texture, not an atlas artifact.
- She reads glossy. The
rmmap is still the neutralised median from the garment-removal pass. - The head is untouched original Tripo output — the smearing at the nose and lips is source.
- Extremity tone. Her feet measure 0.11 luma darker and 50% redder than her belly, and the rosy
chest V is still there. Kept deliberately: Jeremy asked to preserve her original texture and
replace only the breast/underwear region. Note this disagrees with the approved turnaround
(
exchange/INBOX/lena-base-turnaround/), which has uniform skin. - The breast/underwear re-authoring has not been done. That is the next stage, and the turnaround specifies it: featureless, no nipples, soft volume, smooth crotch.
Lane hygiene
Two agents worked this folder on 2026-08-06 and the numbering collided twice: 20/21 and then
32/33/34 (32_ref_measure/33_bust_variants/34_apply_bust from the sculpt pass vs
32_skipprobe/33_ab/34_target_tone from this one). Nothing was overwritten. Pick a fresh
number rather than assuming the next one is free.