RECORDGOD/webstore/assets/wowplatter/webp
type-two 8c25b65d7e feat(virtual): finish the 3D store port — per-room scoping, decals, portals
Scene was dumping all 3 rooms' racks/crates/lights into one room, and the
served decals + portals were never rendered (trapped in booth-room).

- /virtual/scene scopes to ONE room (?space=, default = is_default space);
  filters racks/crates/lights/cameras/portals/decals/covers by space_id
- render decals (image + canvas-text planes) and portal doorways; walk into
  a portal -> loads the linked room
- portal links_to_id is the PAIRED portal's id, not a space — resolve through
  it to the destination room (to_space)
- copy the 29 referenced decal webp/svg into webstore/assets (self-contained,
  served /store/assets); rewrite WP /wp-content/uploads/ paths in the scene API
- skip the 17MB logo .glb mesh decal (flat logo-blue.webp covers branding)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 21:00:02 +10:00
..
banksia.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
boothsticker.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
curtains.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
euc.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
foam.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
gallaxx.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
godzillaa.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
kangpaww.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
logo-blue.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
logo-mrp.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
mecha.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
mons-stat.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
purple.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
purplestrip.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
redd.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
robo-stat.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
rugg.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
sparky-3.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
tents.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
tyle.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00
walkbot.webp feat(virtual): finish the 3D store port — per-room scoping, decals, portals 2026-06-21 21:00:02 +10:00