← back to Wallco Ai
curator: fix bgswap matcher (gen name is 'gemini-…-bg-swap', includes('bgswap') missed it) — bgswap now wins character-sort + shows blue badge
fd807528d5a7c876c08ef71d1504c92337b30510 · 2026-05-28 06:36:47 -0700 · Steve Abrams
Files touched
M public/admin/drunk-curator.html
Diff
commit fd807528d5a7c876c08ef71d1504c92337b30510
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu May 28 06:36:47 2026 -0700
curator: fix bgswap matcher (gen name is 'gemini-…-bg-swap', includes('bgswap') missed it) — bgswap now wins character-sort + shows blue badge
---
public/admin/drunk-curator.html | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/public/admin/drunk-curator.html b/public/admin/drunk-curator.html
index 8975cc6..fef5d12 100644
--- a/public/admin/drunk-curator.html
+++ b/public/admin/drunk-curator.html
@@ -173,7 +173,7 @@ function characterScore(d){
const g = String(d.generator||'').toLowerCase();
const c = String(d.category||'').toLowerCase();
let s = 0;
- if (g.includes('bgswap')) s += 100; // raffia/textile-bg family wins
+ if ((g.includes('bgswap') || g.includes('bg-swap'))) s += 100; // raffia/textile-bg family wins
if (g.includes('gemini')) s += 70; // gemini edits (high-aesthetic)
if (g.includes('comfy')) s += 40; // fresh comfy dense
if (g.includes('replicate-fast')) s += 30;
@@ -186,7 +186,13 @@ function characterScore(d){
function rebuildQueue(){
let items = RAW_ITEMS.slice();
if (FILTER_GEN){
- items = items.filter(d => String(d.generator||'').toLowerCase().includes(FILTER_GEN));
+ items = items.filter(d => {
+ const g = String(d.generator||'').toLowerCase();
+ if (FILTER_GEN === 'bgswap') return g.includes('bgswap') || g.includes('bg-swap');
+ if (FILTER_GEN === 'comfy') return g.includes('comfy');
+ if (FILTER_GEN === 'gemini') return g.includes('gemini') && !g.includes('bg-swap'); // bgswap has its own bucket
+ return g.includes(FILTER_GEN);
+ });
}
if (SORT_MODE === 'density'){
items.sort((a,b)=>(b.auto_hot_n??-1)-(a.auto_hot_n??-1) || b.id-a.id);
@@ -456,22 +462,27 @@ function splitCategory(cat){
}
function genClass(gen){
const g = String(gen||'').toLowerCase();
+ // Check bgswap BEFORE gemini — the bgswap generator name (gemini-2.5-flash-image-bg-swap)
+ // also contains "gemini", and bgswap is the more specific signal Steve cares about.
+ if((g.includes('bgswap') || g.includes('bg-swap'))) return 'gen-bgswap';
if(g.includes('comfy')) return 'gen-comfy';
if(g.includes('replicate')) return 'gen-replicate';
- if(g.includes('bgswap')) return 'gen-bgswap';
if(g.includes('smartfix')||g.includes('midheal')||g.includes('edgeheal')) return 'gen-smartfix';
+ if(g.includes('luxe')) return 'gen-gemini';
if(g.includes('gemini')) return 'gen-gemini';
return 'gen-other';
}
function genLabel(gen){
const g = String(gen||'').toLowerCase();
+ // bgswap first — same precedence trap as genClass
+ if((g.includes('bgswap') || g.includes('bg-swap'))) return 'bgswap';
if(g.includes('comfy')) return 'comfy';
if(g.includes('replicate-fast')) return 'repl·fast';
if(g.includes('replicate')) return 'repl';
- if(g.includes('bgswap')) return 'bgswap';
if(g.includes('smartfix')) return 'smartfix';
if(g.includes('midheal')) return 'mid-heal';
if(g.includes('edgeheal')) return 'edge-heal';
+ if(g.includes('luxe')) return 'luxe';
if(g.includes('gemini')) return 'gemini';
return (gen||'?').slice(0,12);
}
← 581d6a2 etsy export: scripts/export-etsy-digital.js writes per-desig
·
back to Wallco Ai
·
seam-debug: click boxes to select + 'Heal selected' button ( c9af59b →