RECORDGOD/webstore
type-two 205967d506 feat(3d): crate-type + rack logo decals on object faces; verified bin slope
Backend (virtual.py) now also returns object_decals: crate_type decals (apply to every crate of that
type) + rack/crate decals for this space (was space-only). Frontend: makeDecalMesh() shared by wall/
crate/rack decals; snapToFace() ports WowPlatter snapToCrate/RackFaceAndOrient (preferred_face + face_offset
→ front/back/left/right/top/bottom, eps proud of the face, yaw outward, right-face mirror, rack east/west
readability flip). buildCrate(t,front,typeDecals) stamps crate_type logos on the front; rack loop stamps
rack decals using the rack yaw. Booth now shows 5 crate-type + 4 rack logos. SLOPE CONFIRMED CORRECT: the
custom column is front_height (back=height, front=front_height); slopedSide already builds the trapezoid
right (top edge slopes back→front). Space-decal loop refactored onto makeDecalMesh (DRY).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 12:33:30 +10:00
..
assets feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
dig.js feat(virtual): spring-physics crate digging — riffle, hinge-flip, pull-to-inspect 2026-06-19 18:35:56 +10:00
index.html feat(3d): crate-type + rack logo decals on object faces; verified bin slope 2026-06-27 12:33:30 +10:00