Consume schema-3 export_set maps for body + compatible equipment. Nearest
valid depth wins with DEPTH_EPSILON_U16=1 and lower-index tie-break; diffuse,
normal and specular stay bound to that same layer. Documented single-depth
alpha-edge policy. Linear ambient/diffuse/Blinn-Phong relighting uses a
view-space light matching exported normals. Pixel fixtures cover occlusion,
ties, transparency and lighting. Preview2d GUI remains not built.
Bump production render.json/complete.json to schema 3 with project
identity, body/equipment SHA-256 fingerprints, resolved camera/pivot
contract, clip inventory and per-PNG checksums. Add export_set reader
that opens only completed runs with matching identity, rejects
traversal/symlinks/stale schemas/corrupt maps, and decodes real RGBA8
and gray-alpha16 depth under production caps. Keep atomic no-clobber
hardlink publication; incomplete runs never get complete.json.
Separate CameraFraming.pivot_y_milli (schema v3) from center_y_milli.
Auto-detect unique neck joints, allow manual override/clear, share
camera::resolve/matrices across live fixed frame, equipment and
production; record pivot_source in render.json v2.
Recover the verified cloud preview checkpoint and salvage the interrupted icon and navigation edits. Add native project/model pickers, safe unsaved-change handling, body/equipment navigation and configuration, Open With integration, and a two-pass color still renderer. Record all requested production-render stages in the design without claiming unimplemented maps.
The import matrix now says the glTF body is drawn in the viewport.
FBX stays an import inventory. Appendix A and B are unchanged.
Co-authored-by: tim <tim@timfalken.com>