← back to Quadrille Showroom
walls-on-next: add Age-View-ON regression pass (paging under senior band still clads all 4 walls)
796c25f5e5f6ebb15ee79da79373e6b7e5d48818 · 2026-06-29 16:31:00 -0700 · Steve
Files touched
M 5x/loop-ledger.mdM scripts/verify-walls-on-next.mjs
Diff
commit 796c25f5e5f6ebb15ee79da79373e6b7e5d48818
Author: Steve <steve@designerwallcoverings.com>
Date: Mon Jun 29 16:31:00 2026 -0700
walls-on-next: add Age-View-ON regression pass (paging under senior band still clads all 4 walls)
---
5x/loop-ledger.md | 1 +
scripts/verify-walls-on-next.mjs | 23 ++++++++++++++++++++++-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/5x/loop-ledger.md b/5x/loop-ledger.md
index 33f5f8f..09ecfd4 100644
--- a/5x/loop-ledger.md
+++ b/5x/loop-ledger.md
@@ -2,3 +2,4 @@
- iter1 (2026-06-29): FPS gate FAIL root-caused — phase5 sampler caught the morph-rebuild transient window (band 65 min=54). Fixed sampler to discard the band-change-straddling counter window + dedup per distinct window + 1200ms settle; floor unchanged at 55. All bands now steady-state 67-74 min. All 4 verifiers GREEN.
- iter2 (2026-06-29): Backlog (a) DONE — new scripts/verify-ageview-envmorph.mjs MEASURES real rendered wall-luminance for the setEnvForAge morph (was only asserted by intensity scalars). Drives age 35 vs 85 on real GPU, samples pure-plaster wall regions: senior is +6.56 luminance brighter (morph proven to change the render), lower-glare hot-pixel frac non-increasing, OFF restores exact baseline (Δ0.00, avatarAge 28). PASS.
+- iter3 (2026-06-29): Backlog (c) DONE — extended verify-walls-on-next.mjs with an Age-View-ON pass (senior band 75). Paging Next under Age View still clads all 4 walls, 0 console errors; locks the env+avatar-morph × wall-clad interaction as a regression guard. All 5 verifiers GREEN.
diff --git a/scripts/verify-walls-on-next.mjs b/scripts/verify-walls-on-next.mjs
index 657d51e..67cf19c 100644
--- a/scripts/verify-walls-on-next.mjs
+++ b/scripts/verify-walls-on-next.mjs
@@ -30,8 +30,29 @@ await p.screenshot({path:'recordings/phase5/walls-after.png'});
// Prev once → still all 4 clad
await p.evaluate(()=>window._qh.pageCenterBook(-1)); await p.waitForTimeout(1400);
const pv=await snap(); rows.push(['prev 1',pv.idx,pv.sku,JSON.stringify(pv.clad),allClad(pv.clad)]); if(!allClad(pv.clad))pass=false;
+
+// ---- Age-View-ON pass: paging the book under Age View must STILL clad all 4 walls.
+// A demo user can be in Age View (senior band) when they hit Next/Prev; the env+
+// avatar morph must not break the wall-clad path. (Backlog (c) regression guard.)
+const ageviewPresent = await p.evaluate(()=>!!(window._ageview && window._ageview.apply));
+if (ageviewPresent) {
+ await p.evaluate(()=>{ window._ageview.setOn(true); window._ageview.apply(75); });
+ await p.waitForTimeout(1500);
+ for (let i=1;i<=2;i++){
+ await p.evaluate(()=>window._qh.pageCenterBook(1));
+ await p.waitForTimeout(1400);
+ const s=await snap();
+ const ok=allClad(s.clad);
+ rows.push([`AV next ${i}`,s.idx,s.sku,JSON.stringify(s.clad),ok]);
+ if(!ok) pass=false;
+ }
+ await p.evaluate(()=>window._ageview.setOn(false)); await p.waitForTimeout(800);
+} else {
+ rows.push(['AV skip','-','no _ageview','[]',false]); pass=false;
+}
+
console.log('step | idx | sku | cladSides | all4?');
rows.forEach(r=>console.log(r[0].padEnd(9),'|',String(r[1]).padEnd(3),'|',String(r[2]||'-').padEnd(14),'|',r[3].padEnd(34),'|',r[4]?'YES':'NO'));
console.log('console errors:',errs.length, errs.slice(0,5).join(' | '));
-console.log('OVERALL:', pass&&errs.length===0?'✅ PASS — Next clads all 4 walls':'❌ FAIL');
+console.log('OVERALL:', pass&&errs.length===0?'✅ PASS — Next clads all 4 walls (Age View OFF + ON)':'❌ FAIL');
await b.close(); process.exit(pass&&errs.length===0?0:1);
← 71784da Add measured env-morph verifier: asserts real rendered wall-
·
back to Quadrille Showroom
·
Age View bar legibility: fix invisible readout text on light 67caf4d →