[object Object]

← back to Wallco Ai

drunk-curator scale: drop slider, only 24/36/52in presets (snap saved values)

b0965acc79c5d3190c8088694f4def5443754833 · 2026-05-27 16:13:34 -0700 · Steve Abrams

Files touched

Diff

commit b0965acc79c5d3190c8088694f4def5443754833
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed May 27 16:13:34 2026 -0700

    drunk-curator scale: drop slider, only 24/36/52in presets (snap saved values)
---
 data/auto-decide-ledger.jsonl    | 51 +++++++++++++++++++++++++++++++
 data/rescreen-voids-ledger.jsonl | 66 ++++++++++++++++++++++++++++++++++++++++
 public/admin/drunk-curator.html  |  8 ++---
 3 files changed, 121 insertions(+), 4 deletions(-)

diff --git a/data/auto-decide-ledger.jsonl b/data/auto-decide-ledger.jsonl
index bb2f6cf..cb67cde 100644
--- a/data/auto-decide-ledger.jsonl
+++ b/data/auto-decide-ledger.jsonl
@@ -2898,3 +2898,54 @@
 {"t":"2026-05-27T23:10:49.379Z","id":42441,"verdict":"hot_candidate","n":5,"see":"A wallpaper tile with a repeating floral motif."}
 {"t":"2026-05-27T23:10:52.514Z","id":42443,"verdict":"hot_candidate","n":8,"see":"A repeating floral pattern on a blue background."}
 {"t":"2026-05-27T23:10:55.266Z","id":42444,"verdict":"hot_candidate","n":12,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:10:58.140Z","id":42445,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:01.067Z","id":42446,"verdict":"hot_candidate","n":7,"see":"A wallpaper tile with a repeating floral motif set within a diamond grid."}
+{"t":"2026-05-27T23:11:04.514Z","id":42447,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:07.814Z","id":42448,"verdict":"hot_candidate","n":9,"see":"A repeating pattern of birds, butterflies, and flowers on a blue background."}
+{"t":"2026-05-27T23:11:10.785Z","id":42449,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating pattern of birds on flowering branches."}
+{"t":"2026-05-27T23:11:13.966Z","id":42450,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating pattern of birds and foliage."}
+{"t":"2026-05-27T23:11:17.247Z","id":42451,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:20.135Z","id":42452,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:23.240Z","id":42453,"verdict":"hot_candidate","n":5,"see":"A wallpaper tile with a repeating pattern of birds and foliage."}
+{"t":"2026-05-27T23:11:26.435Z","id":42454,"verdict":"hot_candidate","n":7,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:29.414Z","id":42455,"verdict":"hot_candidate","n":8,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:32.552Z","id":42456,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:35.418Z","id":42457,"verdict":"hot_candidate","n":10,"see":"A repeating wallpaper tile with floral vines, butterflies, and birds."}
+{"t":"2026-05-27T23:11:38.414Z","id":42458,"verdict":"hot_candidate","n":8,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:41.404Z","id":42459,"verdict":"hot_candidate","n":5,"see":"A wallpaper tile with a repeating pattern of birds and flowers."}
+{"t":"2026-05-27T23:11:44.414Z","id":42460,"verdict":"hot_candidate","n":7,"see":"The image shows a wallpaper tile with a repeating floral and bird motif on a brown background."}
+{"t":"2026-05-27T23:11:47.524Z","id":42461,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating pattern of birds on branches."}
+{"t":"2026-05-27T23:11:50.356Z","id":42462,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating bird and floral motif."}
+{"t":"2026-05-27T23:11:53.192Z","id":42463,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:56.168Z","id":42464,"verdict":"hot_candidate","n":14,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:11:59.097Z","id":42467,"verdict":"hot_candidate","n":6,"see":"I see a repeating floral and bird motif."}
+{"t":"2026-05-27T23:12:02.274Z","id":42468,"verdict":"hot_candidate","n":14,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:12:05.217Z","id":42469,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating bird and flower motif."}
+{"t":"2026-05-27T23:12:08.167Z","id":42470,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:12:11.534Z","id":42471,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating floral motif within a diamond grid."}
+{"t":"2026-05-27T23:12:14.542Z","id":42472,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral and butterfly motif."}
+{"t":"2026-05-27T23:12:17.502Z","id":42473,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating bird and flower motif."}
+{"t":"2026-05-27T23:12:20.703Z","id":42474,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating bird and flower motif."}
+{"t":"2026-05-27T23:12:23.850Z","id":42476,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:12:27.185Z","id":42479,"verdict":"hot_candidate","n":3,"see":"A wallpaper tile with a repeating bird and flower motif."}
+{"t":"2026-05-27T23:12:30.329Z","id":42480,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:12:33.920Z","id":42481,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating bird and floral motif."}
+{"t":"2026-05-27T23:12:36.903Z","id":42482,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:12:39.871Z","id":42483,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating bird and floral motif."}
+{"t":"2026-05-27T23:12:42.735Z","id":42484,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:12:45.906Z","id":42485,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating pattern of birds on branches."}
+{"t":"2026-05-27T23:12:49.143Z","id":42486,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:12:52.168Z","id":42487,"verdict":"hot_candidate","n":6,"see":"A repeating pattern of birds and flowers."}
+{"t":"2026-05-27T23:12:55.567Z","id":42488,"verdict":"hot_candidate","n":5,"see":"A repeating pattern of birds on flowering branches."}
+{"t":"2026-05-27T23:12:58.728Z","id":42489,"verdict":"hot_candidate","n":9,"see":"A wallpaper tile with a repeating floral motif on a green background."}
+{"t":"2026-05-27T23:13:01.866Z","id":42490,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating bird and floral motif."}
+{"t":"2026-05-27T23:13:04.861Z","id":42491,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:13:08.024Z","id":42492,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:13:10.863Z","id":42493,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating pattern of birds and flowers."}
+{"t":"2026-05-27T23:13:14.038Z","id":42494,"verdict":"hot_candidate","n":6,"see":"A repeating floral motif on a blue background."}
+{"t":"2026-05-27T23:13:17.133Z","id":42495,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating pattern of birds and flowers."}
+{"t":"2026-05-27T23:13:20.205Z","id":42496,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating floral and bird motif."}
+{"t":"2026-05-27T23:13:23.279Z","id":42497,"verdict":"hot_candidate","n":4,"see":"A wallpaper tile with a repeating pattern of birds and flowers."}
+{"t":"2026-05-27T23:13:26.237Z","id":42498,"verdict":"hot_candidate","n":15,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:13:29.254Z","id":42499,"verdict":"hot_candidate","n":6,"see":"A wallpaper tile with a repeating floral motif."}
+{"t":"2026-05-27T23:13:32.346Z","id":42500,"verdict":"hot_candidate","n":7,"see":"A wallpaper tile with a repeating floral motif."}
diff --git a/data/rescreen-voids-ledger.jsonl b/data/rescreen-voids-ledger.jsonl
index a195cba..d1e0a82 100644
--- a/data/rescreen-voids-ledger.jsonl
+++ b/data/rescreen-voids-ledger.jsonl
@@ -30,3 +30,69 @@
 {"t":"2026-05-27T23:10:51.689Z","id":10851,"verdict":"kept","n":4}
 {"t":"2026-05-27T23:10:53.988Z","id":10852,"verdict":"kept","n":4}
 {"t":"2026-05-27T23:10:56.344Z","id":10853,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:10:58.610Z","id":10855,"verdict":"kept","n":7}
+{"t":"2026-05-27T23:11:00.734Z","id":10856,"verdict":"kept","n":7}
+{"t":"2026-05-27T23:11:03.077Z","id":10895,"verdict":"kept","n":25}
+{"t":"2026-05-27T23:11:05.461Z","id":10897,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:11:07.909Z","id":10898,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:11:10.240Z","id":10899,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:11:12.594Z","id":10921,"verdict":"kept","n":7}
+{"t":"2026-05-27T23:11:14.854Z","id":10922,"verdict":"kept","n":7}
+{"t":"2026-05-27T23:11:17.173Z","id":10923,"verdict":"kept","n":7}
+{"t":"2026-05-27T23:11:19.596Z","id":10973,"verdict":"kept","n":5}
+{"t":"2026-05-27T23:11:22.260Z","id":10975,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:11:24.364Z","id":11001,"verdict":"kept","n":5}
+{"t":"2026-05-27T23:11:26.545Z","id":11027,"verdict":"kept","n":9}
+{"t":"2026-05-27T23:11:28.842Z","id":11028,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:11:31.031Z","id":11029,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:11:33.258Z","id":11174,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:11:35.418Z","id":11175,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:11:38.355Z","id":11222,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:11:40.721Z","id":11223,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:11:42.973Z","id":11224,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:11:45.421Z","id":11242,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:11:47.784Z","id":11266,"verdict":"kept","n":10}
+{"t":"2026-05-27T23:11:50.021Z","id":11268,"verdict":"kept","n":10}
+{"t":"2026-05-27T23:11:52.390Z","id":11269,"verdict":"kept","n":10}
+{"t":"2026-05-27T23:11:54.449Z","id":11391,"verdict":"kept","n":5}
+{"t":"2026-05-27T23:11:56.613Z","id":11392,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:11:58.686Z","id":11393,"verdict":"kept","n":7}
+{"t":"2026-05-27T23:12:00.956Z","id":11394,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:03.370Z","id":11440,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:05.811Z","id":11441,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:08.402Z","id":11442,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:11.081Z","id":11476,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:13.560Z","id":11477,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:16.030Z","id":11478,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:18.383Z","id":11479,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:20.722Z","id":11498,"verdict":"kept","n":8}
+{"t":"2026-05-27T23:12:23.609Z","id":11499,"verdict":"kept","n":10}
+{"t":"2026-05-27T23:12:25.970Z","id":11500,"verdict":"kept","n":10}
+{"t":"2026-05-27T23:12:28.390Z","id":11545,"verdict":"kept","n":8}
+{"t":"2026-05-27T23:12:30.827Z","id":11625,"verdict":"kept","n":25}
+{"t":"2026-05-27T23:12:33.572Z","id":11626,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:12:35.867Z","id":11627,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:12:38.046Z","id":11643,"verdict":"kept","n":7}
+{"t":"2026-05-27T23:12:40.402Z","id":11644,"verdict":"kept","n":5}
+{"t":"2026-05-27T23:12:42.514Z","id":11645,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:12:44.899Z","id":11646,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:12:47.184Z","id":11647,"verdict":"kept","n":6}
+{"t":"2026-05-27T23:12:49.566Z","id":11649,"verdict":"kept","n":5}
+{"t":"2026-05-27T23:12:52.115Z","id":11650,"verdict":"kept","n":5}
+{"t":"2026-05-27T23:12:54.449Z","id":11651,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:12:56.590Z","id":11681,"verdict":"kept","n":25}
+{"t":"2026-05-27T23:12:59.047Z","id":11682,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:13:01.403Z","id":11683,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:13:03.681Z","id":11722,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:13:06.067Z","id":11724,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:13:08.520Z","id":11725,"verdict":"kept","n":12}
+{"t":"2026-05-27T23:13:10.837Z","id":11726,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:13:13.756Z","id":11733,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:13:16.132Z","id":11737,"verdict":"kept","n":20}
+{"t":"2026-05-27T23:13:18.405Z","id":11738,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:13:20.756Z","id":11739,"verdict":"kept","n":15}
+{"t":"2026-05-27T23:13:23.023Z","id":11785,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:13:25.239Z","id":11786,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:13:27.703Z","id":11787,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:13:29.960Z","id":11788,"verdict":"kept","n":4}
+{"t":"2026-05-27T23:13:32.379Z","id":11825,"verdict":"kept","n":28}
diff --git a/public/admin/drunk-curator.html b/public/admin/drunk-curator.html
index ece0679..f22c8eb 100644
--- a/public/admin/drunk-curator.html
+++ b/public/admin/drunk-curator.html
@@ -100,10 +100,12 @@ const q=s=>ADMIN?(s+(s.includes('?')?'&':'?')+'admin='+encodeURIComponent(ADMIN)
 let QUEUE=[], i=0, hot=0, not=0, streak=0, decided={};
 // Repeat-scale preview: show the flat tile stretched to a real print width with an
 // inch ruler. 24/36/52″ are the standard wallpaper/panel widths. Persists.
-let scaleInches = Math.min(52, Math.max(24, parseInt(localStorage.getItem('drunk_scale_in'))||36));
+const SCALE_WIDTHS = [24, 36, 52];   // only these print widths — no slider
+const snapScale = n => SCALE_WIDTHS.reduce((a,b)=>Math.abs(b-n)<Math.abs(a-n)?b:a, 36);
+let scaleInches = snapScale(parseInt(localStorage.getItem('drunk_scale_in'))||36);
 const WALL_INCHES = 96;   // the room pane represents ~an 8ft wall, so the repeat shows at true relative size
 function setScale(n){
-  scaleInches = Math.min(52, Math.max(24, parseInt(n)||36));
+  scaleInches = snapScale(parseInt(n)||36);
   localStorage.setItem('drunk_scale_in', scaleInches);
   applyScale();
 }
@@ -111,7 +113,6 @@ function setScale(n){
 // smaller widths render proportionally narrower — it literally "stretches"), then
 // lay an inch ruler beneath it and scale the room wall's repeat to match.
 function applyScale(){
-  const slider=document.getElementById('scaleslider'); if(slider) slider.value=scaleInches;
   document.querySelectorAll('.scalebar .sb').forEach(b=>b.classList.toggle('on', +b.dataset.in===scaleInches));
   const num=document.getElementById('scalenum'); if(num) num.textContent=scaleInches;
   const sv=document.getElementById('scaleval'); if(sv) sv.textContent=scaleInches;
@@ -167,7 +168,6 @@ function render(){
       <button class="sb" data-in="24" onclick="setScale(24)">24″</button>
       <button class="sb" data-in="36" onclick="setScale(36)">36″</button>
       <button class="sb" data-in="52" onclick="setScale(52)">52″</button>
-      <input type="range" id="scaleslider" min="24" max="52" step="1" value="${scaleInches}" oninput="setScale(this.value)">
       <span><b id="scalenum">${scaleInches}</b>″ repeat · ruler in inches</span>
     </div>
     <div class="meta"><span>#${d.id} · ${d.category||''}</span><span>🕓 ${fmtDate(d.created_at)}</span></div>

← 9449d43 flag geometric-block-leaves as bad_batch in defect registry  ·  back to Wallco Ai  ·  drunk-curator: add dual rulers — pattern in inches (W×H), ro a68dbc6 →