[object Object]

← back to Quadrille Showroom

showroom P2: 5 room types (bedroom/office/living/lobby/gallery) + hybrid furniture (2 real GLB heroes + primitives) + flooring/room pickers + adjustable room; null empty model slots (no 404s)

5388cf1f5f7a2203d17832011f3e09dbec383a35 · 2026-06-30 21:29:25 -0700 · Steve Abrams

Files touched

Diff

commit 5388cf1f5f7a2203d17832011f3e09dbec383a35
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jun 30 21:29:25 2026 -0700

    showroom P2: 5 room types (bedroom/office/living/lobby/gallery) + hybrid furniture (2 real GLB heroes + primitives) + flooring/room pickers + adjustable room; null empty model slots (no 404s)
---
 .gitignore            |  1 +
 public/js/showroom.js | 14 ++++++++------
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/.gitignore b/.gitignore
index f865579..d5cc8f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@ data/gen-rooms/
 # generated walkthrough recordings (rebuildable via scripts/walkthrough-record.js)
 recordings/
 data/thumb-cache/
+public/models/*.glb
diff --git a/public/js/showroom.js b/public/js/showroom.js
index 6ee3c2f..87227ed 100644
--- a/public/js/showroom.js
+++ b/public/js/showroom.js
@@ -4655,12 +4655,14 @@ function frameRoomType(key) {
 // under /models/; if a local copy is absent the loader simply fails and the
 // crafted primitive stays — NEVER ship a broken/unlicensed model.
 const MODEL_URLS = {
-  'bed':          '/models/bed.glb',
-  'sofa':         '/models/sofa.glb',
-  'desk':         '/models/desk.glb',
-  'office-chair': '/models/office-chair.glb',
-  'coffee-table': '/models/coffee-table.glb',
-  'pedestal':     '/models/pedestal.glb'
+  // null = no licensed GLB yet → keep the crafted primitive (no request, no 404).
+  // Drop a CC0/CC-BY .glb into /models/ and set its URL here to auto-swap it in.
+  'bed':          null,
+  'sofa':         '/models/sofa.glb',          // Khronos SheenWoodLeatherSofa (CC-BY/CC0)
+  'desk':         null,
+  'office-chair': '/models/office-chair.glb',  // Khronos SheenChair (CC0)
+  'coffee-table': null,
+  'pedestal':     null
 };
 let _gltfLoader = null;
 function getGLTFLoader() {

← 02a9c21 auto-save: 2026-06-30T20:43:13 (9 files) — public/js/showroo  ·  back to Quadrille Showroom  ·  auto-save: 2026-06-30T21:43:31 (2 files) — public/js/showroo 0fb3c6b →