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>