Archive compact-triangle-storage; sync its specs - #188
Conversation
Measure 8.4 on the payloads in ~/Workspace/samples/, against 616c53b: DPEL teapot level 2 kernel 212.95 -> 110.14 MiB (peak 1021.7 -> 744.4 MiB); ALab frame 1004 level 1 kernel 19.64 -> 10.47 GiB, lanes 83.2 %, peak 49.01 -> 36.86 GiB. The UV tables' share is not separable from RSS (importer -25.6 B per refined triangle); <= 20 B by construction. Correct the deltas to what shipped before syncing: no pre-sized build arena, commit transient 285 against 524 MiB, indexed 1-8 % slower in cache and 30 % out of it, six-triangle leaf scenario; keep the subdivided-UV scenario in textures' known gaps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Summary by QodoArchive compact-triangle-storage and sync shipped specifications
AI Description
Diagram
High-Level Assessment
Files changed (12)
|
Code Review by Qodo
1.
|
…bound Address review: the shipped SubFace packs the cell into one u32 beside the face id `faces` already holds (the 8 B was the design's plan); the overlapping-triangles leaf is two packets, not two full ones; the chart scenario states its 16 B per-triangle tables beside the shared values instead of an RSS bound the values can exceed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closes out the
compact-triangle-storagechange: the last task (8.4) is measured, the delta specs are corrected to what shipped and synced intoopenspec/specs/, and the change is archived underopenspec/changes/archive/2026-10-01-compact-triangle-storage/. Spec and design-record changes only — no code.8.4: production-scene acceptance
Earlier marked "not run" because the payloads aren't in the checkout; they live in
~/Workspace/samples/. Measured with--statsat the change's head against616c53b(the commit before it, rebuilt; it reproduces the recorded 212.95 MiB exactly):The UV-table target (≤ 20 B/triangle) is met by construction (24 + 16 + 4 → 12 + 4) but not isolated by measurement: the
Traverse primsRSS delta also counts refined positions, normals and indices. It shows the importer holding 25.6 B less per refined triangle, consistent with but not proof of the target.Delta corrections before sync
Also updated
openspec/specs/usd-scene-import/design.md: after-change rows for the teapot and ALab tables; ALab level 1 now leaves ~24 GiB free on a 61 GiB machine (was ~12).The user docs (
site/) already describeCRUST_TRI_PACKETSandCRUST_BVH_PACKET_SAH, and list no instanced-tangent limitation, so they need no change.Verification
openspec validate --all: 22 passed, 0 failed.🤖 Generated with Claude Code