← 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
M .gitignoreM public/js/showroom.js
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 →