# Combined city sky-shell deduplication (r448)

## Geometry-aware region audit

The old `audit_nfsu2_region_overlap.py` grouped meshes by authored name and node matrix. STREAM exports bake placement into vertex positions and often leave an identity node matrix, so the old report conflated different chunks that shared a name. The audit now includes each primitive's POSITION bytes and triangle indices in its placement signature, then compares the remaining render payload separately.

The revised all-region scan compares all 28 pairs among the eight regional GLBs. L4RA and L4RD share 96,008 exact geometry placements: 96,006 have identical render payloads; the two exceptions are `SKYDOME_0_0` and `SKYDOME_0_1`. They share the same geometry and position in every region, but L4RA has explicit `LOC4DYNTEX` material bindings while the other streams retain fallback material names. L4RB and L4RG share another 1,215 exact, identical placements. The remaining coincident geometry entries are the repeated two global sky meshes.

## Combined-scene correction

The merger now keeps the L4RA sky pair once and skips its seven identical region copies. The merged scene changes from 135,356 to 135,354 nodes; it retains 22,651 unique meshes and the same city geometry and route graph. The merged GLB is 158,038,896 bytes; its 13 gzip chunks total 91,424,106 bytes.

## Host render check

Chrome 150 on the host Quadro P2000 loaded `?world=combined&region=L4RA&radius=240` as WebGL 2. It reached `City scene ready` with 108,111 nearby triangles, 257 textures, 1,088 routes, 12 ambient body models and no console or page errors. The before/after spawn view has no obvious broad visual change. This removes repeated transparent sky draws; it does not verify citywide building placement, fix the player's flat silver appearance, or establish a retail visual match.

- [r448 combined-city host capture](../webgl-city/review/images/601-r448-combined-city-single-skydome.png)
- [Scrollable review feed](../webgl-city/review/#r448-single-source-skydome)
