[object Object]

← back to Wallco Ai

LA Toile: Option-B img2img recipe — luxe seed @0.72 + foliage concept gate (5/5 clean yield)

a8783539730e4afd7667eae486189c1860c23feb · 2026-06-02 13:24:07 -0700 · steve@designerwallcoverings.com

Files touched

Diff

commit a8783539730e4afd7667eae486189c1860c23feb
Author: steve@designerwallcoverings.com <steve@designerwallcoverings.com>
Date:   Tue Jun 2 13:24:07 2026 -0700

    LA Toile: Option-B img2img recipe — luxe seed @0.72 + foliage concept gate (5/5 clean yield)
---
 data/seeds/la-toile-seed-luxe.png       | Bin 0 -> 795975 bytes
 data/seeds/la-toile-seed-multicolor.png | Bin 0 -> 828299 bytes
 data/seeds/la-toile-seed.png            | Bin 0 -> 696445 bytes
 scripts/generate-la-toile-clean.js      |  23 ++++++++++++++++++++---
 4 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/data/seeds/la-toile-seed-luxe.png b/data/seeds/la-toile-seed-luxe.png
new file mode 100644
index 0000000..d0d6005
Binary files /dev/null and b/data/seeds/la-toile-seed-luxe.png differ
diff --git a/data/seeds/la-toile-seed-multicolor.png b/data/seeds/la-toile-seed-multicolor.png
new file mode 100644
index 0000000..9f85a42
Binary files /dev/null and b/data/seeds/la-toile-seed-multicolor.png differ
diff --git a/data/seeds/la-toile-seed.png b/data/seeds/la-toile-seed.png
new file mode 100644
index 0000000..879ceae
Binary files /dev/null and b/data/seeds/la-toile-seed.png differ
diff --git a/scripts/generate-la-toile-clean.js b/scripts/generate-la-toile-clean.js
index de24f4c..d42bdc6 100644
--- a/scripts/generate-la-toile-clean.js
+++ b/scripts/generate-la-toile-clean.js
@@ -15,7 +15,7 @@ const fs = require('fs');
 const path = require('path');
 const ROOT = path.join(__dirname, '..');
 const PY = path.join(ROOT, 'scripts/vectorize/.venv/bin/python3');
-const WINNERS = '/tmp/la-toile-winners.json';
+const WINNERS = process.env.WINNERS || '/tmp/la-toile-winners.json';
 
 const ROLLS = parseInt(process.env.ROLLS || '7', 10);
 const SEAM_MAX = parseFloat(process.env.SEAM_MAX || '6');
@@ -23,8 +23,19 @@ const COLOR_CAP = parseInt(process.env.COLOR_CAP || '9', 10); // up to 6 BH colo
 const COLOR_PCT = process.env.COLOR_PCT || '0.03';
 // Concept gate — multi-color BH scenic toile (NOT abstract). Calibrated loose so
 // it passes genuine scenic toiles and rejects abstract/geometric blobs.
+// 2026-06-02 (DTD Option B): SDXL-toile cannot render recognizable landmark BUILDINGS
+// and stay clean (palms/birds/bands return at the high denoise scenic content needs).
+// The reliable lane is a dense LA-GARDEN BOTANICAL toile (the prompt's own flora:
+// cypress/oak/olive/jacaranda/magnolia/eucalyptus). So the concept gate accepts lush
+// representational plant/garden scenery (buildings optional) and rejects ONLY abstract/
+// camouflage/blobby/geometric output.
+// Calibrated 2026-06-02: the gate's ONLY job is to reject formless abstract/camouflage
+// blobs (the over-locked low-denoise failure). It must ACCEPT any representational
+// botanical wallpaper — flowers, leaves, trees, foliage, vines, gardens, scenery — incl.
+// bold stylized florals (Gemini was false-rejecting beautiful floral toiles when the
+// question over-emphasized "toile scenery"). Keep it a simple recognizable-plants check.
 const CONCEPT_Q = process.env.CONCEPT_Q ||
-  "Is this a scenic toile-style wallpaper showing engraved pictorial scenes of buildings, villas, trees or gardens (a Beverly Hills / Los Angeles garden scenic) — and NOT an abstract or geometric shape pattern?";
+  "Does this wallpaper clearly show recognizable plant life — flowers, leaves, foliage, trees, branches, vines, or garden scenery? Answer yes if real botanical or scenic shapes are legible. Answer no ONLY if it is a formless abstract blob, camouflage mottle, or geometric shapes with no recognizable plants or scenery.";
 // MANDATORY settlement gate. Steve 2026-06-01: STAY AWAY FROM PALM TREES — no
 // palm fronds means Part A1 is false, so Part A is never fully satisfied and the
 // multi-color line is bulletproof. Reject any tile showing palms OR any Part-B
@@ -205,7 +216,13 @@ for (let i = 0; i < Math.min(SCENES.length, LIMIT); i++) {
       '--n', '1', '--kind', 'seamless_tile', '--category', 'la-toile', '--prompts', prompt],
       { cwd: ROOT, encoding: 'utf8', timeout: 360000,
         env: { ...process.env, WALLCO_SEAMLESS_GATE: '0', WALLCO_FRAME_GATE: '0', WALLCO_GHOST_GATE: '0',
-          WALLCO_NO_PALETTE_SUFFIX: '1', WALLCO_EXTRA_NEGATIVE: EXTRA_NEGATIVE } });
+          WALLCO_NO_PALETTE_SUFFIX: '1', WALLCO_EXTRA_NEGATIVE: EXTRA_NEGATIVE,
+          // 2026-06-02 (DTD Option B): img2img-seed every roll from the luxe cream-dominant
+          // BH-palette dense field at denoise 0.72 — this is what kills bands/palms and forces
+          // a dense, all-over, multi-color LA-garden FOLIAGE toile (the reliable lane; scenic
+          // landmarks are an SDXL wall). Overridable via env for experiments.
+          WALLCO_REF_IMG: process.env.WALLCO_REF_IMG || path.join(ROOT, 'data/seeds/la-toile-seed-luxe.png'),
+          WALLCO_REF_DENOISE: process.env.WALLCO_REF_DENOISE || '0.72' } });
     const m = (g.stdout || '').match(/#(\d+)\s*·/);
     if (!m) { console.log(`  ${slug} roll ${r}: GEN FAIL`); continue; }
     const id = parseInt(m[1], 10);

← 76a29ad yolo D5: /moodboard confirmed working (not a bug) + staged-c  ·  back to Wallco Ai  ·  LA Toile: staged recipe-B winners gallery builder 26deee2 →