← back to Quadrille Showroom
auto-save: 2026-06-28T08:43:43 (1 files) — public/js/versions.js
e142ff772164eff43647f5dfc0f5cea5f96ae7a9 · 2026-06-28 08:43:45 -0700 · Steve Abrams
Files touched
Diff
commit e142ff772164eff43647f5dfc0f5cea5f96ae7a9
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sun Jun 28 08:43:45 2026 -0700
auto-save: 2026-06-28T08:43:43 (1 files) — public/js/versions.js
---
public/js/versions.js | 55 +++++++++++++++++++++++++++++----------------------
1 file changed, 31 insertions(+), 24 deletions(-)
diff --git a/public/js/versions.js b/public/js/versions.js
index a2169e3..1de894c 100644
--- a/public/js/versions.js
+++ b/public/js/versions.js
@@ -215,12 +215,18 @@ function boot() {
]
},
+ // ── V3–V5 are CAMERA/THEME PREVIEWS of the V1 arc-rack scene, not yet their own
+ // mechanic (contrarian 2026-06-28: don't label a top-down rack "Fan-on-Table"
+ // when there's no fan — the chip name + legend must describe what the scene
+ // ACTUALLY shows). Each carries a "(preview)" marker + an "intended" note so
+ // nothing promises a mechanic the scene doesn't deliver. Real-mechanic build
+ // is the next pass; the framework makes it a per-preset swap like V6–V10.
V3: {
- name: 'Sample-Card Wall on Hooks', tag: 'cards', scaffold: true,
+ name: 'Card-Wall — gallery preview', tag: 'cards', scaffold: true,
build() {
- // Scaffold: a flat, even-lit gallery survey reads closest to the swatch-
- // card grid until the instanced card wall is built. Gallery mode pulls
- // back to show every board on the rail at once.
+ // PREVIEW: a flat, even-lit gallery survey of the whole rail — the closest
+ // read to the intended dense swatch-card grid until the instanced card wall
+ // is built. Pulls back to show every board at once.
setTheme('bright');
setBoards(12);
setReveal(80);
@@ -228,46 +234,47 @@ function boot() {
setMode('gallery');
},
elements: [
- { n: 1, label: 'Grid of small swatch cards', anchor: { named: 'railCenter' } },
- { n: 2, label: 'Hung on hooks / pegs', anchor: { board: 0 } },
- { n: 3, label: 'Label header per card', anchor: { board: 4 } },
- { n: 4, label: 'Every collection item (instanced)', anchor: { named: 'rightWall' } },
- { n: 5, label: 'Tap card → enlarge + spec', anchor: { board: -1 } }
+ { n: 1, label: 'Flat gallery survey of the whole rail', anchor: { named: 'railCenter' } },
+ { n: 2, label: 'Every board shown at once (dense grid)', anchor: { board: 0 } },
+ { n: 3, label: 'Even white-box gallery light', anchor: { board: 4 } },
+ { n: 4, label: 'Intended: small swatch cards on hooks', anchor: { named: 'rightWall' } },
+ { n: 5, label: 'Intended: tap card → enlarge + spec', anchor: { board: -1 } }
]
},
V4: {
- name: 'Fan-on-Table', tag: 'fan', scaffold: true,
+ name: 'Table — top-down preview', tag: 'fan', scaffold: true,
build() {
- // Scaffold: a top-down plan over the consultation table reads closest to
- // a radial fan of swatches laid on the table.
+ // PREVIEW: a top-down plan over the consultation table — the closest read to
+ // the intended radial fan of swatches laid on the table (the fan mesh is the
+ // next-pass build; this is the camera, not the pinwheel yet).
setTheme('warm');
setMode('topdown');
},
elements: [
- { n: 1, label: 'Radial pinwheel of swatches', anchor: { named: 'nook' } },
- { n: 2, label: 'Laid on the consultation table', anchor: { named: 'nook' } },
- { n: 3, label: 'Label tabs radiating from centre', anchor: { named: 'floor' } },
- { n: 4, label: 'Spin / drag to browse', anchor: { ui: '#g-next' } }
+ { n: 1, label: 'Top-down plan over the consultation table', anchor: { named: 'nook' } },
+ { n: 2, label: 'Warm overhead gallery light', anchor: { named: 'nook' } },
+ { n: 3, label: 'Intended: radial fan of swatches on table', anchor: { named: 'floor' } },
+ { n: 4, label: 'Intended: spin / drag the fan to browse', anchor: { ui: '#g-next' } }
]
},
V5: {
- name: 'Closet Carousel', tag: 'closet', scaffold: true,
+ name: 'Closet — orbit preview', tag: 'closet', scaffold: true,
build() {
- // Scaffold: an orbit around a single board in warm boutique light reads
- // closest to a rotating closet carousel in the right corner.
+ // PREVIEW: an orbit around a single board in warm boutique light — the closest
+ // read to the intended right-corner rotating closet carousel.
setTheme('boutique');
setWingDeg(20);
focusMiddle();
setMode('orbit');
},
elements: [
- { n: 1, label: 'Rotating circular two-tier rack', anchor: { board: -1 } },
- { n: 2, label: 'In the RIGHT-CORNER closet', anchor: { named: 'rightWall' } },
- { n: 3, label: 'Fabric samples from the collection', anchor: { board: 0 } },
- { n: 4, label: 'Spin to browse', anchor: { ui: '#g-next' } },
- { n: 5, label: 'Warm closet millwork', anchor: { named: 'rightWall' } }
+ { n: 1, label: 'Orbit around the hero board', anchor: { board: -1 } },
+ { n: 2, label: 'Warm boutique millwork light', anchor: { named: 'rightWall' } },
+ { n: 3, label: 'Intended: rotating two-tier closet rack', anchor: { board: 0 } },
+ { n: 4, label: 'Intended: right-corner closet', anchor: { named: 'rightWall' } },
+ { n: 5, label: 'Intended: spin to browse', anchor: { ui: '#g-next' } }
]
},
← 1223514 Docs: VERSIONS.md — close the V6-V10 fork; document the inte
·
back to Quadrille Showroom
·
V6 Color River: ground hue on enrichment.json; bridge the ne b271af4 →