RECORDGOD/webstore/assets/wowplatter/aircon.svg
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

40 lines
1.5 KiB
XML
Executable File

<svg xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1140 350"
width="1140" height="350"
stroke="#222" fill="none" stroke-linecap="round" stroke-linejoin="round">
<!-- OUTER BODY -->
<rect x="0" y="0" width="1140" height="350" stroke-width="6" rx="20" ry="20"/>
<!-- VENT LINES (bottom area) -->
<g stroke-width="4">
<line x1="40" y1="260" x2="1100" y2="260"/>
<line x1="40" y1="280" x2="1100" y2="280"/>
<line x1="40" y1="300" x2="1100" y2="300"/>
<line x1="40" y1="320" x2="1100" y2="320"/>
</g>
<!-- DISPLAY PANEL -->
<rect x="940" y="40" width="160" height="100" stroke-width="4" rx="10" ry="10"/>
<!-- LED 7-segment "24" -->
<g stroke-width="5" stroke="#0ff">
<!-- Digit 2 -->
<!-- segments: top, upper-right, middle, lower-left, bottom -->
<line x1="960" y1="60" x2="1000" y2="60"/> <!-- top -->
<line x1="1000" y1="60" x2="1000" y2="95"/> <!-- upper right -->
<line x1="960" y1="95" x2="1000" y2="95"/> <!-- middle -->
<line x1="960" y1="95" x2="960" y2="130"/> <!-- lower left -->
<line x1="960" y1="130" x2="1000" y2="130"/> <!-- bottom -->
<!-- Digit 4 -->
<!-- segments: upper-left, upper-right, middle, lower-right -->
<line x1="1020" y1="60" x2="1020" y2="95"/> <!-- upper left -->
<line x1="1060" y1="60" x2="1060" y2="95"/> <!-- upper right -->
<line x1="1020" y1="95" x2="1060" y2="95"/> <!-- middle -->
<line x1="1060" y1="95" x2="1060" y2="130"/> <!-- lower right -->
</g>
</svg>