# 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 the `decimated_glb_vNN` chain it describes was pruned; that body > went on to ship as `characters/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 `rm` map 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.