← back to Quadrille Showroom
Hamburger dock: stow all panels on load + launch each as movable modal; hide first-person avatar in framed views
3b94ca1555500e6a56936ed76225042acffda697 · 2026-06-29 15:30:40 -0700 · steve@designerwallcoverings.com
Files touched
A 5x/sweep-1.mdM public/js/dock.jsM public/js/viewmodes.jsM public/showroom.html
Diff
commit 3b94ca1555500e6a56936ed76225042acffda697
Author: steve@designerwallcoverings.com <steve@designerwallcoverings.com>
Date: Mon Jun 29 15:30:40 2026 -0700
Hamburger dock: stow all panels on load + launch each as movable modal; hide first-person avatar in framed views
---
5x/sweep-1.md | 14 ++++++++++++++
public/js/dock.js | 10 +++++++---
public/js/viewmodes.js | 4 ++++
public/showroom.html | 3 +++
4 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/5x/sweep-1.md b/5x/sweep-1.md
new file mode 100644
index 0000000..1fe0a0a
--- /dev/null
+++ b/5x/sweep-1.md
@@ -0,0 +1,14 @@
+# /5x sweep 1 — http://127.0.0.1:7690/
+
+## Six-way
+- M1 HTTP contract: PASS (note: no-creds→200, localhost auth-exempt — not a defect)
+- M2 headless render: PASS (17KB screenshot)
+- M3 automation E2E: **FAIL** — `#guided-bar` resolved HIDDEN 21× (waitForSelector visible timeout 8s)
+- B4 Chrome / B5 Safari / B6 Firefox: PASS (visual open)
+
+## Clickthrough
+- sort-select selectOption('natural'|'newest'|'title'|'sku'|'book'): **FAIL** — 30s timeout each
+
+## To diagnose before fixing (real fix only)
+1. Is `#guided-bar` *supposed* to be visible on load, or hidden until guided focus? (app bug vs wrong ready-selector)
+2. Is the sort `<select>` hidden, or do its real option values differ from the clickthrough's guesses?
diff --git a/public/js/dock.js b/public/js/dock.js
index e0d861f..f0fe1a9 100644
--- a/public/js/dock.js
+++ b/public/js/dock.js
@@ -46,10 +46,14 @@
{ sel: '#btn-fullscreen', label: 'Fullscreen' }
];
- // --- STOW-ONLY: passive overlays/clusters hidden for a clean screen --------
+ // --- STOW-ONLY: passive chrome hidden for a clean "just a hamburger" screen --
var STOW_ONLY = [
- '.top-center', '.top-right', // top-toolbar clusters (folded into menu)
- '#guided-instruction', '#guided-title', '#bottom-bar' // bottom chatter
+ '#top-bar', // whole top toolbar (tools folded into menu)
+ '#guided-instruction', '#guided-title', // guided-mode overlays
+ '#bottom-bar', '#wing-caption', '#now-viewing',// bottom caption / navigator chatter
+ '#minimap', // spatial minimap (explore aid)
+ '#welcome-tip', // "how to browse" tip card
+ '#chosen-tray', '#sample-tray' // side trays (re-appear via their own features)
];
var Z_BASE = 5000, zTop = Z_BASE; // modal stacking
diff --git a/public/js/viewmodes.js b/public/js/viewmodes.js
index 49bd8b7..d243836 100644
--- a/public/js/viewmodes.js
+++ b/public/js/viewmodes.js
@@ -381,6 +381,10 @@ function boot() {
const modeFrame = m.frame || null;
QH.frameHook = (dt) => { if (modeFrame) { try { modeFrame(dt); } catch (e) {} } perfTick(dt); };
try { m.enter(); } catch (e) { console.warn('view-mode enter failed', key, e); }
+ // First-person body shows ONLY in Walk-Through. Every framed view (Hero/Angled/Orbit/
+ // Gallery/Top-Down/…) frames the wing bank from a spot that would otherwise look
+ // straight through the avatar standing at room centre — so hide it for those.
+ if (QH.setAvatarVisible) QH.setAvatarVisible(key === 'walk');
if (QH.requestShadowUpdate) QH.requestShadowUpdate(20); // mode changed geometry/visibility → rebake shadows
// Update panel UI
document.querySelectorAll('#vm-view .vm-chip').forEach(c => c.classList.toggle('active', c.dataset.mode === key));
diff --git a/public/showroom.html b/public/showroom.html
index 6fb9c5b..c3e700c 100644
--- a/public/showroom.html
+++ b/public/showroom.html
@@ -399,5 +399,8 @@
<script src="/js/viewmodes.js"></script>
<script src="/js/versions.js"></script>
<script src="/js/ageview.js"></script>
+ <!-- Hamburger dock: stows every panel on load, re-launches each as a movable modal -->
+ <script src="/js/modal-rig.js"></script>
+ <script src="/js/dock.js"></script>
</body>
</html>
← a785d8a Center book starts open at 20 degrees (was 65)
·
back to Quadrille Showroom
·
Next/Previous step one pattern across all 883 + keep pager v d598030 →