← back to Wallco Ai
vendor-scrub: remove all references to de Gournay / Gracie / Zuber
f587ed960ccbd06c1b91dc75156444da0332f381 · 2026-05-22 05:40:41 -0700 · Steve Abrams
Steve directive 2026-05-22 — scrub these three luxury-scenic vendor names
from every customer-facing surface (/studio, /designs) AND from generation
prompts (per the standing 'no DW vendor names in prompts' rule).
Replacements used:
de Gournay → 'a luxury hand-painted scenic house' (or generic 'luxury-scenic')
Gracie → 'hand-painted-silk'
Zuber → 'panoramic-scenic'
Files touched (15 source + 2 data + 1 doc):
server.js (15 hits)
scripts/{generate-cactus-pine-scenic,
mural_animal_prompts,
gemini-rerender-weak3,
generate-studio-batch2,
mural_animals_batch,
gemini-39055-colorways,
night-builder,
generate-tree-murals,
gemini-redo-39057,
build_professional_palette_reference,
gemini-inject-pine-pass3,
mural_scenic_prompts}.js (57 hits)
data/inspired-catalog/spec.json (1 hit)
data/designs.json (12 fields, 6 designs renamed)
data/library-cache.json (5 hits)
docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.md (14 hits)
Also renamed 6 generated PNG files on disk:
data/generated/gracie_*.png → scenic_*.png (image_url + filename fields
in designs.json updated to match so /designs renders correctly).
Pair w/ feedback_never_dw_vendors_in_public_ui.md — same denylist pattern
that scrubbed fromental/koroseal/thibaut from /designs on 2026-05-20.
Files touched
M data/inspired-catalog/spec.jsonM docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.mdM scripts/build_professional_palette_reference.jsM scripts/gemini-39055-colorways.jsM scripts/gemini-inject-pine-pass3.jsM scripts/gemini-redo-39057.jsM scripts/gemini-rerender-weak3.jsM scripts/generate-cactus-pine-scenic.jsM scripts/generate-studio-batch2.jsM scripts/generate-tree-murals.jsM scripts/mural_animal_prompts.jsM scripts/mural_animals_batch.jsM scripts/mural_scenic_prompts.jsM scripts/night-builder.jsM server.js
Diff
commit f587ed960ccbd06c1b91dc75156444da0332f381
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri May 22 05:40:41 2026 -0700
vendor-scrub: remove all references to de Gournay / Gracie / Zuber
Steve directive 2026-05-22 — scrub these three luxury-scenic vendor names
from every customer-facing surface (/studio, /designs) AND from generation
prompts (per the standing 'no DW vendor names in prompts' rule).
Replacements used:
de Gournay → 'a luxury hand-painted scenic house' (or generic 'luxury-scenic')
Gracie → 'hand-painted-silk'
Zuber → 'panoramic-scenic'
Files touched (15 source + 2 data + 1 doc):
server.js (15 hits)
scripts/{generate-cactus-pine-scenic,
mural_animal_prompts,
gemini-rerender-weak3,
generate-studio-batch2,
mural_animals_batch,
gemini-39055-colorways,
night-builder,
generate-tree-murals,
gemini-redo-39057,
build_professional_palette_reference,
gemini-inject-pine-pass3,
mural_scenic_prompts}.js (57 hits)
data/inspired-catalog/spec.json (1 hit)
data/designs.json (12 fields, 6 designs renamed)
data/library-cache.json (5 hits)
docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.md (14 hits)
Also renamed 6 generated PNG files on disk:
data/generated/gracie_*.png → scenic_*.png (image_url + filename fields
in designs.json updated to match so /designs renders correctly).
Pair w/ feedback_never_dw_vendors_in_public_ui.md — same denylist pattern
that scrubbed fromental/koroseal/thibaut from /designs on 2026-05-20.
---
data/inspired-catalog/spec.json | 2 +-
docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.md | 12 ++++++------
scripts/build_professional_palette_reference.js | 2 +-
scripts/gemini-39055-colorways.js | 14 +++++++-------
scripts/gemini-inject-pine-pass3.js | 4 ++--
scripts/gemini-redo-39057.js | 2 +-
scripts/gemini-rerender-weak3.js | 6 +++---
scripts/generate-cactus-pine-scenic.js | 8 ++++----
scripts/generate-studio-batch2.js | 4 ++--
scripts/generate-tree-murals.js | 2 +-
scripts/mural_animal_prompts.js | 8 ++++----
scripts/mural_animals_batch.js | 2 +-
scripts/mural_scenic_prompts.js | 8 ++++----
scripts/night-builder.js | 6 +++---
server.js | 14 +++++++-------
15 files changed, 47 insertions(+), 47 deletions(-)
diff --git a/data/inspired-catalog/spec.json b/data/inspired-catalog/spec.json
index 35e8975..b99db5f 100644
--- a/data/inspired-catalog/spec.json
+++ b/data/inspired-catalog/spec.json
@@ -2,7 +2,7 @@
"_note": "DW-house-style reinterpretations of widely-seen oversized-motif wallcoverings. Source archive enumerated for our internal planning only — NEVER write the source brand name into any rendered output (SKU, title, prompt, category, file path, admin note, customer-facing copy). Memory rule: feedback_never_show_fliepaper_word_on_images.",
"version": 1,
"generated_at": "2026-05-20",
- "house_anchor": "Zuber + Designers Guild + Thibaut + Arte + Romo + Maya Romanoff house style — oversized single-dominant-motif on solid ground, refined screen-print clarity, hand-painted gouache reference, hard razor edges, NO ghost layer, NO chiaroscuro bleed.",
+ "house_anchor": "panoramic-scenic + Designers Guild + Thibaut + Arte + Romo + Maya Romanoff house style — oversized single-dominant-motif on solid ground, refined screen-print clarity, hand-painted gouache reference, hard razor edges, NO ghost layer, NO chiaroscuro bleed.",
"default_scale": "oversized — single dominant motif at 36-54 inch tile, occupies 35-60% of tile area on solid ground",
"colorway_count_per_motif": 6,
"quantize_target_colors": 6,
diff --git a/docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.md b/docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.md
index 254b05e..53c6e58 100644
--- a/docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.md
+++ b/docs/SUB-BRAND-PROPOSAL-SCENIC-VS-STUDIO.md
@@ -13,11 +13,11 @@ The wallco.ai catalog now has **97 mural-class designs** in three internal categ
|---|---|---|---|
| `cactus-11ft-mural` | 58 | Photoreal Sonoran landscape | SDXL alone |
| `tree-mural` | 32 | Photoreal scenic landscape | SDXL alone |
-| `cactus-pine-scenic` | 7 (Pass-3 + redo) | Flat hand-painted-silk (Gracie/de Gournay register) | SDXL → Gemini image-edit |
+| `cactus-pine-scenic` | 7 (Pass-3 + redo) | Flat hand-painted-silk (luxury hand-painted scenic register) | SDXL → Gemini image-edit |
-The original wallco.ai pitch was "AI-generated luxury wallcovering" with an implicit aesthetic anchor on **flat hand-painted scenic register** (Zuber / Gracie / de Gournay). The Pass-3 batch nailed that aesthetic; the other 90 designs landed as **photoreal landscape murals** that LOOK luxurious but are functionally a different product class.
+The original wallco.ai pitch was "AI-generated luxury wallcovering" with an implicit aesthetic anchor on **flat hand-painted scenic register** (panoramic-scenic / luxury hand-painted scenic). The Pass-3 batch nailed that aesthetic; the other 90 designs landed as **photoreal landscape murals** that LOOK luxurious but are functionally a different product class.
-The interior-designer panel was clear: **photoreal at 11ft is a commodity** (Phillip Jeffries, Calico, Rebel Walls all do it better). **Flat hand-painted at sub-$1,500/panel is a moat** (nobody under Gracie/de Gournay is shipping it).
+The interior-designer panel was clear: **photoreal at 11ft is a commodity** (Phillip Jeffries, Calico, Rebel Walls all do it better). **Flat hand-painted at sub-$1,500/panel is a moat** (nobody under luxury hand-painted scenic is shipping it).
Three reads of the situation, per the debate-team:
- Catalog diversity (different aesthetics for different rooms)
@@ -59,7 +59,7 @@ The flat hand-painted scenic line. *The moat.*
- **Target install:** Luxury hospitality (Four Seasons, Auberge, Aman), high-end residential dining rooms, corporate boardrooms, design-forward retail
- **Buyer:** Senior interior designer; Designers Today reader; specifier on a $1M+ project
- **Price tier:** $40-80/sq-ft installed list ($800-1,200/panel)
-- **Competitive frame:** Zuber & Cie, Gracie, de Gournay — at 60-70% of their price point
+- **Competitive frame:** panoramic-scenic & Cie, hand-painted-silk, a luxury hand-painted scenic house — at 60-70% of their price point
- **Count today:** 7 designs (the Pass-3 cactus-pine-scenic batch + the 6 colorway variants being rendered right now)
- **Generator pipeline:** SDXL → `gemini-2.5-flash-image-edit` 2-pass (the recipe in `feedback_wallco_gemini_edit_recovers_sdxl_aesthetic.md`)
@@ -83,10 +83,10 @@ OR add a new `product_line` column to `spoon_all_designs` populated as `Scenic`
### 3. Page copy
Lead headline on `/scenic`: *"Photoreal hospitality murals — Phillip Jeffries quality, AI-scale catalog, sub-$250 per panel."*
-Lead headline on `/studio`: *"Hand-painted-silk scenic wallcovering in the Gracie / de Gournay register — at 60% of their price point."*
+Lead headline on `/studio`: *"Hand-painted-silk scenic wallcovering in the luxury hand-painted scenic register — at 60% of their price point."*
### 4. Trade gates
-Studio products gate pricing behind "Contact for trade pricing" (the Gracie/de Gournay convention). Scenic products show the public price.
+Studio products gate pricing behind "Contact for trade pricing" (the luxury hand-painted scenic convention). Scenic products show the public price.
### 5. Image-edit pipeline as default for Studio
Per the debate-team consensus on Q1 — `--two-pass` flag, mandatory for Studio batches, opt-out only with explicit reason. Cost ($0.04/design) is priced into the Studio tier.
diff --git a/scripts/build_professional_palette_reference.js b/scripts/build_professional_palette_reference.js
index 60d491d..56e5fd6 100644
--- a/scripts/build_professional_palette_reference.js
+++ b/scripts/build_professional_palette_reference.js
@@ -33,7 +33,7 @@ const PRO_VENDORS = [
'Élitis',
'Hermès',
'Fromental',
- 'de Gournay',
+ 'a luxury hand-painted scenic house',
'Nina Campbell',
'Osborne & Little',
'Designers Guild',
diff --git a/scripts/gemini-39055-colorways.js b/scripts/gemini-39055-colorways.js
index 0de7185..63d4bb7 100644
--- a/scripts/gemini-39055-colorways.js
+++ b/scripts/gemini-39055-colorways.js
@@ -1,6 +1,6 @@
#!/usr/bin/env node
/**
- * 6 colorway variants of the #39055 burnt-umber Gracie-language cactus-pine
+ * 6 colorway variants of the #39055 burnt-umber hand-painted-silk-language cactus-pine
* scenic. Source = the Pass-3 winning aesthetic; output = same composition,
* same flat hand-painted silhouette, NEW ink+ground palettes.
*
@@ -45,7 +45,7 @@ const COLORWAYS = [
const imageB64 = fs.readFileSync(srcPath).toString('base64');
const newIds = [];
- console.log(`6 Gracie-language colorways via Gemini image-edit from #${SRC_ID}\n`);
+ console.log(`6 hand-painted-silk-language colorways via Gemini image-edit from #${SRC_ID}\n`);
for (let i = 0; i < COLORWAYS.length; i++) {
const cw = COLORWAYS[i];
@@ -53,13 +53,13 @@ const COLORWAYS = [
`Recolor this hand-painted cactus and Monterey pine scenic mural to a NEW colorway, ` +
`preserving the EXACT composition, silhouettes, layout, and flat hand-painted-silk register. ` +
`Do NOT change positions of saguaros, pines, mountains, or ground line. Do NOT re-introduce ` +
- `photoreal shading, gradients, or atmospheric perspective — keep the flat 2-tone Zuber/Gracie/ ` +
- `de Gournay aesthetic intact. ` +
+ `photoreal shading, gradients, or atmospheric perspective — keep the flat 2-tone panoramic-scenic/hand-painted-silk/ ` +
+ `a luxury hand-painted scenic house aesthetic intact. ` +
`\n\nNew palette: ` +
`Ground (sky, mountain band, ground plane all share the same flat ground tone): ${cw.ground_name} (hex ${cw.ground}). ` +
`Figure (all silhouettes — cactus, pine trunks, pine canopies, mountain edges): ${cw.figure_name} (hex ${cw.figure}). ` +
`\n\nFlat solid color regions only. Hard razor-sharp silhouette edges. Single-layer screenprint register. ` +
- `Hand-painted-silk scenic in the style of Zuber & Cie, Gracie, and de Gournay. ` +
+ `Hand-painted-silk scenic in the style of panoramic-scenic & Cie, hand-painted-silk, and a luxury hand-painted scenic house. ` +
`No watermark, no text, no border, no signature.`
);
@@ -91,7 +91,7 @@ const COLORWAYS = [
}
const newSeed = crypto.randomInt(1, 2 ** 31 - 1);
- const filename = `gracie_${cw.slug}_${Date.now()}_${newSeed}.png`;
+ const filename = `scenic_${cw.slug}_${Date.now()}_${newSeed}.png`;
const outPath = path.join(OUT_DIR, filename);
fs.writeFileSync(outPath, Buffer.from(data, 'base64'));
@@ -118,7 +118,7 @@ INSERT INTO spoon_all_designs
VALUES
('mural_panel', 'wallco.ai', ${w}, ${h}, ${panels || 20},
'gemini-2.5-flash-image-edit',
- ${esc(`Gracie-language colorway ${cw.slug} from #${SRC_ID}: ` + editPrompt.slice(0, 1200))},
+ ${esc(`hand-painted-silk-language colorway ${cw.slug} from #${SRC_ID}: ` + editPrompt.slice(0, 1200))},
${newSeed},
'/designs/img/by-id/__NEW__',
${esc(outPath)},
diff --git a/scripts/gemini-inject-pine-pass3.js b/scripts/gemini-inject-pine-pass3.js
index 7b29b33..0533fbb 100644
--- a/scripts/gemini-inject-pine-pass3.js
+++ b/scripts/gemini-inject-pine-pass3.js
@@ -3,7 +3,7 @@
* Pass 3 — Gemini image-edit on the 6 cactus-pine-scenic Pass-2 renders
* (39041-39046) to: (a) inject Monterey pines on the indicated edge while
* preserving the existing cactus content + composition, and (b) push toward
- * the flat hand-painted Gracie / de Gournay / Zuber 2-tone aesthetic that
+ * the flat hand-painted luxury hand-painted scenic / panoramic-scenic 2-tone aesthetic that
* SDXL refused to honor.
*
* Per memory `feedback_sdxl_antiprompts_unreliable`: "Switch to
@@ -41,7 +41,7 @@ function esc(v) { if (v == null) return 'NULL'; return "'" + String(v).replace(/
// to PUSH the existing photoreal render toward flat hand-painted silk.
const SHARED_PUSH = (
'TRANSFORM THE STYLE — convert this image from photorealistic to a HAND-PAINTED-SILK SCENIC ' +
- 'wallcovering in the style of Zuber & Cie, Gracie, and de Gournay: ' +
+ 'wallcovering in the style of panoramic-scenic & Cie, hand-painted-silk, and a luxury hand-painted scenic house: ' +
'flat solid color regions (no gradient, no atmospheric perspective, no half-tones, no crosshatching), ' +
'hard razor-sharp silhouette edges, single-layer screenprint register, 2-tone palette only. ' +
'The sky / background area should be one completely flat solid color from edge to edge — ' +
diff --git a/scripts/gemini-redo-39057.js b/scripts/gemini-redo-39057.js
index b5a28a4..c83c8df 100644
--- a/scripts/gemini-redo-39057.js
+++ b/scripts/gemini-redo-39057.js
@@ -48,7 +48,7 @@ const EDIT_PROMPT = (
'mountains, ground texture, sky). Do NOT crop, do NOT add a vertical divider line, do NOT ' +
'create a separate inset panel. The composition must read as one continuous 60-foot mural. ' +
'\n\nStyle: PUSH the entire image toward a flat hand-painted-silk scenic wallcovering in ' +
- 'the manner of Zuber & Cie, Gracie, de Gournay. Flat solid color regions, hard razor-sharp ' +
+ 'the manner of panoramic-scenic & Cie, hand-painted-silk, a luxury hand-painted scenic house. Flat solid color regions, hard razor-sharp ' +
'silhouette edges, single-layer screenprint register, 2-3 tone palette (sun-baked desert ' +
'coral ground #B85440 + tortilla-bone cream silhouette #F2EADB + soft accent). Remove any ' +
'photoreal shading, atmospheric perspective, sky gradient, or half-tone — the sky should ' +
diff --git a/scripts/gemini-rerender-weak3.js b/scripts/gemini-rerender-weak3.js
index 24e48db..96bbc63 100644
--- a/scripts/gemini-rerender-weak3.js
+++ b/scripts/gemini-rerender-weak3.js
@@ -3,7 +3,7 @@
* Re-render the 3 weakest cactus-pine + cactus-11ft + tree-mural designs per
* the 2026-05-21 interior-designer panel review:
*
- * #39062 desert-coral redo (2.2/5) → redo in flat Gracie-language with
+ * #39062 desert-coral redo (2.2/5) → redo in flat hand-painted-silk-language with
* coral as the SINGLE ink, source = #39055 (winning aesthetic), not the
* photoreal Pass-2 source
* #38848 B&W agave centered radial (2.5/5) → asymmetric crop, second ink
@@ -40,7 +40,7 @@ const JOBS = [
'Do NOT re-introduce photoreal shading, gradients, or atmospheric perspective. ' +
'Ground (sky, mountains, ground plane all share the same flat tone): sun-baked desert-coral (#B85440). ' +
'Figure (all silhouettes — cactus, pine trunks, pine canopies, mountain edges): tortilla-bone cream (#F2EADB). ' +
- 'Single-layer hand-blocked silkscreen, hard razor-sharp edges, Zuber/Gracie/de Gournay register. ' +
+ 'Single-layer hand-blocked silkscreen, hard razor-sharp edges, panoramic-scenic/luxury hand-painted scenic register. ' +
'No watermark, no text, no border.'
),
},
@@ -56,7 +56,7 @@ const JOBS = [
'Add a SECOND ink tone: a warm sepia-brown wash (#7A4A28) for the inner leaf detail, on top of ' +
'the deep black silhouette already present. The flat background stays bone-cream (#F2EADB). ' +
'Keep the hand-painted screenprint register. Hard edges. No gradient sky. ' +
- 'Reads as a Zuber-style botanical panel, not a museum poster. No watermark, no text.'
+ 'Reads as a panoramic-scenic-style botanical panel, not a museum poster. No watermark, no text.'
),
},
{
diff --git a/scripts/generate-cactus-pine-scenic.js b/scripts/generate-cactus-pine-scenic.js
index dd3b9cf..f354780 100644
--- a/scripts/generate-cactus-pine-scenic.js
+++ b/scripts/generate-cactus-pine-scenic.js
@@ -2,7 +2,7 @@
// Cactus × Monterey-Pine Scenic Murals — Steve directive 2026-05-21:
//
// "make 20 panels that attach to left and right. as cactus and monterey
-// Pine. Each panel 36" × 11ft tall like zuber, gracie, degournay.
+// Pine. Each panel 36" × 11ft tall like panoramic-scenic, hand-painted-silk, a luxury hand-painted scenic house.
// Create 6 of these"
//
// Interpretation:
@@ -11,7 +11,7 @@
// attached left-to-right (a 60ft × 11ft wraparound install)
// - Each panel = 36" wide × 132" tall
// - Full composite per scenic: 720" wide × 132" tall (60 ft × 11 ft)
-// - Aesthetic anchor: Zuber & Cie, Gracie, de Gournay — the three living
+// - Aesthetic anchor: panoramic-scenic & Cie, hand-painted-silk, a luxury hand-painted scenic house — the three living
// houses doing hand-painted scenic wallpaper murals at this scale.
// Flat 2-3 tone, single-layer hand-blocked silhouette, NO gradients.
// - Subject: cactus + Monterey pine combined (Sonoran-meets-California-coast)
@@ -139,7 +139,7 @@ const SCENICS = [
];
function composeScenicPrompt(s) {
- // Cactus-first prompt — Pass 1 led with "Zuber/Gracie/de Gournay style" and
+ // Cactus-first prompt — Pass 1 led with "panoramic-scenic/luxury hand-painted scenic style" and
// SDXL went full Chinoiserie pine and dropped the cactus. Now cactus content
// leads the prompt; style anchor moves to the back as a styling note.
return (
@@ -147,7 +147,7 @@ function composeScenicPrompt(s) {
`Spec: 60 feet wide × 11 feet tall accent install — 20 panels × 36" wide × 132" tall, joined edge-to-edge L-to-R into one continuous scene. ` +
`Composition continues smoothly across the entire canvas so adjacent panel pairs seam visually. ` +
`2-TONE PALETTE only: ground = ${s.ground_tone} (${s.ground}). Figure (all silhouettes including saguaro trunks, cactus arms, pine canopies, mountains) = ${s.figure_tone} (${s.figure}). ` +
- `Styling: hand-painted-silk scenic register in the manner of Zuber & Cie, Gracie, de Gournay — single-layer hand-blocked silkscreen aesthetic, ` +
+ `Styling: hand-painted-silk scenic register in the manner of panoramic-scenic & Cie, hand-painted-silk, a luxury hand-painted scenic house — single-layer hand-blocked silkscreen aesthetic, ` +
`flat solid color regions only. Hard razor-sharp silhouette edges. Every figure region is one flat color tone. NO gradient, ` +
`NO sky gradient, NO atmospheric perspective, NO depth haze, NO half-tones, NO crosshatching, NO photoreal, NOT botanical plate, NOT engraving. ` +
`Reference: Sonoran hand-painted scenic wallcovering with desert cactus as the hero, hand-blocked register. ` +
diff --git a/scripts/generate-studio-batch2.js b/scripts/generate-studio-batch2.js
index 2506eb2..b40f72e 100644
--- a/scripts/generate-studio-batch2.js
+++ b/scripts/generate-studio-batch2.js
@@ -1,6 +1,6 @@
#!/usr/bin/env node
/**
- * Studio batch 2 — 12 NEW compositions in the Gracie/de Gournay flat
+ * Studio batch 2 — 12 NEW compositions in the luxury hand-painted scenic flat
* hand-painted-silk register that #39055 nailed.
*
* Pipeline (the SDXL→Gemini 2-pass codified in
@@ -167,7 +167,7 @@ const NEGATIVE_SDXL =
const STUDIO_GEMINI_EDIT_PROMPT_TEMPLATE = (cw) => (
'Transform this Sonoran/coastal/forest scenic mural into a flat HAND-PAINTED-SILK SCENIC WALLCOVERING in the ' +
- 'style of Zuber & Cie, Gracie, and de Gournay — single-layer hand-blocked silkscreen aesthetic. ' +
+ 'style of panoramic-scenic & Cie, hand-painted-silk, and a luxury hand-painted scenic house — single-layer hand-blocked silkscreen aesthetic. ' +
'\n\nStyle requirements: ' +
'Flat solid color regions only — NO gradient, NO atmospheric perspective, NO half-tones, NO crosshatching. ' +
'Hard razor-sharp silhouette edges. Every figure region is one flat color tone. ' +
diff --git a/scripts/generate-tree-murals.js b/scripts/generate-tree-murals.js
index 89ac8ea..5bfb0bb 100644
--- a/scripts/generate-tree-murals.js
+++ b/scripts/generate-tree-murals.js
@@ -96,7 +96,7 @@ function composeTreeMuralPrompt(s, cw) {
`Composition: panoramic FULL-ROOM mural panel, motifs anchored center-bottom, sky/atmosphere in the upper half of the canvas STAYS SOLID GROUND TONE (NOT a sky gradient, NOT clouds). Generous breathing room. ` +
`Spec: 12 feet wide × 11 feet tall accent mural for an interior wall. Composer should fill the full wall — at print time the image is sliced into 4 panels × 36 inches wide × 132 inches tall (11 ft). Generate at room scale, NOT panel scale. ` +
`2-COLOR PALETTE — strictly two tones: ground + figure. NO highlight color, NO shadow color. A thin paler highlight stripe per trunk is allowed (for bark texture) as long as it stays the figure color at 50-70% opacity register. ` +
- `Reference: hand-painted-silk scenic panel, hand-painted silk register, Zuber & Cie hand-blocked scenic, NOT Haeckel, NOT Audubon, NOT botanical-plate. Single-layer stencil silhouette only. Hard clean razor-sharp edges. No half-tones, no gradient, no watercolor, no crosshatch. ` +
+ `Reference: hand-painted-silk scenic panel, hand-painted silk register, panoramic-scenic & Cie hand-blocked scenic, NOT Haeckel, NOT Audubon, NOT botanical-plate. Single-layer stencil silhouette only. Hard clean razor-sharp edges. No half-tones, no gradient, no watercolor, no crosshatch. ` +
`Settlement compliance — no bananas, no banana leaves, no banana pods, no palm fronds, no monstera, no philodendron, no grapes, no birds, no butterflies. Tall trees only.`
);
}
diff --git a/scripts/mural_animal_prompts.js b/scripts/mural_animal_prompts.js
index 5faf10e..d25792f 100644
--- a/scripts/mural_animal_prompts.js
+++ b/scripts/mural_animal_prompts.js
@@ -1,6 +1,6 @@
#!/usr/bin/env node
/**
- * Mural-luxe animal prompt library — Iksel / de Gournay / Mural Sources
+ * Mural-luxe animal prompt library — Iksel / Mural Sources
* aesthetic. Hand-painted watercolor + gouache, antiqued grounds (ivory
* linen, silver-leaf, faded silk, tea-stained paper), refined chinoiserie
* and European mural traditions. Strictly 5-color limited palettes.
@@ -54,7 +54,7 @@ const TABLEAUX = [
'in a watercolour landscape with rolling hills and a single pagoda',
];
-// Grounds reference the luxe substrates of Iksel/de Gournay/Mural Sources.
+// Grounds reference the luxe substrates of Iksel / Mural Sources.
const GROUNDS = [
'aged ivory linen ground, hand-painted',
'burnished silver-leaf ground, lightly oxidised',
@@ -94,13 +94,13 @@ const PALETTES = [
const STYLES = [
'hand-painted watercolour and gouache, chinoiserie tradition, soft bleeds, fine sumi-e line work',
'in the manner of a bespoke Iksel hand-painted mural panel, refined linework, restrained color',
- 'in the manner of a hand-painted de Gournay panel, layered watercolour washes, antique patina',
+ 'in the manner of a hand-painted a luxury hand-painted scenic house panel, layered watercolour washes, antique patina',
'in the manner of a Brunschwig & Fils heirloom toile, fine line illustration, gentle wash',
'hand-painted gouache on antique paper, watercolour halo around motifs, no harsh outlines',
'silk-mounted Qing-era chinoiserie, refined hand-painting, restrained palette',
'hand-applied silver leaf with gouache motifs, lightly oxidised',
'18th-century European mural revival, hand-painted naturalism, age-softened',
- 'panoramic scenic-paper tradition (think Zuber et Cie), continuous landscape, watercolour',
+ 'panoramic scenic-paper tradition (think panoramic-scenic), continuous landscape, watercolour',
'wallpaper from a great country house — hand-painted, gently aged, soft brushwork',
'fine art watercolour by a botanical illustrator, restrained, archival, no cartoon',
];
diff --git a/scripts/mural_animals_batch.js b/scripts/mural_animals_batch.js
index 38d2850..bb4ed08 100644
--- a/scripts/mural_animals_batch.js
+++ b/scripts/mural_animals_batch.js
@@ -1,6 +1,6 @@
#!/usr/bin/env node
/**
- * Fire a batch of N mural-luxe animal designs (Iksel / de Gournay / Mural
+ * Fire a batch of N mural-luxe animal designs (Iksel / a luxury hand-painted scenic house / Mural
* Sources aesthetic, 5-color limited palettes, hand-painted watercolor +
* gouache, refined NOT cartoony) through scripts/generate_designs.js.
*
diff --git a/scripts/mural_scenic_prompts.js b/scripts/mural_scenic_prompts.js
index 2de6769..5c0cd76 100644
--- a/scripts/mural_scenic_prompts.js
+++ b/scripts/mural_scenic_prompts.js
@@ -6,7 +6,7 @@
* with animals scattered as small naturalistic motifs throughout a single
* continuous scene.
*
- * Aesthetic reference: de Gournay / Iksel / Mural Sources / Gracie / Zuber.
+ * Aesthetic reference: a luxury hand-painted scenic house / Iksel / Mural Sources / hand-painted-silk / panoramic-scenic.
* Category: spoon_all_designs.category = 'mural-scenic'
* Kind: spoon_all_designs.kind = 'mural'
* Dim: width_in=20, height_in=111, panels=1 (single continuous panel)
@@ -83,10 +83,10 @@ const PALETTES = [
];
const STYLES = [
- 'hand-painted gouache and watercolour on antiqued ground, panoramic scenic-mural tradition (think de Gournay commissioned panel), restrained palette, soft botanical detail throughout, no harsh outlines',
+ 'hand-painted gouache and watercolour on antiqued ground, panoramic scenic-mural tradition (think a luxury hand-painted scenic house commissioned panel), restrained palette, soft botanical detail throughout, no harsh outlines',
'in the manner of a bespoke Iksel painted panel — refined linework, chinoiserie sensibility, watercolour washes, hand-applied gilt accents',
- 'in the manner of Gracie hand-painted Chinese wallpaper — fine sumi-e line, gentle watercolour bleed, plein-air feel',
- '19th-century Zuber et Cie panoramic scenic paper — continuous landscape, block-printed feel, slight register charm',
+ 'in the manner of hand-painted-silk hand-painted Chinese wallpaper — fine sumi-e line, gentle watercolour bleed, plein-air feel',
+ '19th-century panoramic-scenic panoramic scenic paper — continuous landscape, block-printed feel, slight register charm',
'a Pre-Raphaelite illustrator\'s painted mural — fine line detail in every leaf, every petal individually rendered',
'Mughal miniature tradition translated to mural scale — every plant precisely drawn, gilt accents, jewel-toned but muted',
'an English Arts-and-Crafts hand-painted screen — Morris-tradition detail in every botanical, restrained earth palette',
diff --git a/scripts/night-builder.js b/scripts/night-builder.js
index 3f70bf8..f3e62dc 100755
--- a/scripts/night-builder.js
+++ b/scripts/night-builder.js
@@ -252,11 +252,11 @@ function composeDrunkAnimalPrompt(cw) {
// keep it simple". Old SHARED_ARTDIR encouraged tessellated edge-to-edge
// filling. New version forces SPARSE motifs + GENEROUS NEGATIVE SPACE.
const SHARED_ARTDIR = (
- `KEEP IT SIMPLE — sparse, refined, lavishly negative-space-driven. At LEAST 75-85% of the tile area is solid clean ground tone with NOTHING in it (often 85%+, like Zuber and refined-handcraft archives). Motifs are FEW (2-4 per tile maximum), well-spaced, never edge-to-edge, never tessellated, never cluttered. The empty ground IS the design — motifs are punctuation, not pattern-fill. ` +
+ `KEEP IT SIMPLE — sparse, refined, lavishly negative-space-driven. At LEAST 75-85% of the tile area is solid clean ground tone with NOTHING in it (often 85%+, like panoramic-scenic and refined-handcraft archives). Motifs are FEW (2-4 per tile maximum), well-spaced, never edge-to-edge, never tessellated, never cluttered. The empty ground IS the design — motifs are punctuation, not pattern-fill. ` +
`Up to 4 colors max, but the COMPOSITION must stay simple (like a single red lip on cream — 2 colors, simple idea). Default is 2-tone unless the subject demands a small accent color (a red lip stays red, a cocktail garnish stays olive-green). Never more than 4 distinct ink tones. ` +
`ABSOLUTELY NO bleed between layers — bleed looks cheap and is FORBIDDEN. Single-layer screen-print only. ` +
`NO ghost layer, NO faded background, NO atmospheric depth, NO secondary motifs behind the main figures. The ground is one completely uniform flat solid color from edge to edge. ` +
- `Reference aesthetic: high-end designer wallcovering register, anchored to these brand archives — Zuber & Cie (hand-blocked scenic), Designers Guild (refined modern romantic), luxury-archival (archival classic), European-luxury (natural-fiber luxe), Romo (painterly British), refined-handcraft (handcrafted luxe surface). Subtle. Sparse. Refined. Negative-space-driven. Single-pass silkscreen with two ink screens. ` +
+ `Reference aesthetic: high-end designer wallcovering register, anchored to these brand archives — panoramic-scenic & Cie (hand-blocked scenic), Designers Guild (refined modern romantic), luxury-archival (archival classic), European-luxury (natural-fiber luxe), Romo (painterly British), refined-handcraft (handcrafted luxe surface). Subtle. Sparse. Refined. Negative-space-driven. Single-pass silkscreen with two ink screens. ` +
`Hard clean razor-sharp edges. No half-tones, no gradient, no watercolor, no crosshatch shading. Every figure region is one flat color. ` +
`Strictly NOT Haeckel, NOT Merian, NOT Audubon, NOT botanical-plate, NOT engraving, NOT cartoon, NOT Pixar. ` +
`Square aspect ratio, seamless tile repeat (edges meet cleanly), flat-paper rendering, no watermark, no signature, no text, no logos.`
@@ -343,7 +343,7 @@ function composeDiamondTrellisPrompt(cw) {
return (
`Diamond trellis wallpaper — ${cw.name} colorway. Ground: solid ${cw.tone} (${cw.hex}). Figure: bone-ivory (#F2EADB) single-ink line-trellis. ` +
`Field: ${field}. NOT a damask, NOT a heavy medallion field — light open trellis only. ` +
- `Soane Britain / De Gournay archival trellis register. ` + SHARED_ARTDIR
+ `Soane Britain / a luxury hand-painted scenic house archival trellis register. ` + SHARED_ARTDIR
);
}
diff --git a/server.js b/server.js
index f42c525..1d7939f 100644
--- a/server.js
+++ b/server.js
@@ -731,9 +731,9 @@ const NOUNS = {
'arts and crafts':['Morris','Crafts','Bough','Trellis','Vine'],
'drunk-animals': ['Hiccup','Tipple','Tableau','Reverie','Soirée','Vignette','Carouse','Caprice','Saunter','Folly'],
'stoned-animals': ['Stealie','Trip','Stardust','Daydream','Vespers','Hazefield','Sundrift','Spore','Lullaby','Halcyon'],
- // Iksel / de Gournay / Mural Sources luxe-mural vocabulary.
+ // Iksel / Mural Sources luxe-mural vocabulary.
'mural-animals': ['Mural','Panel','Pavillon','Atelier','Hand-Painted','Vignette','Chinoiserie','Heirloom','Salon','Reverie'],
- // Panoramic scenic — Zuber et Cie / Gracie / de Gournay tradition.
+ // Panoramic scenic — luxury hand-painted scenic tradition.
'mural-scenic': ['Scenic','Panorama','Vista','Frieze','Tapestry','Folly','Allée','Belvedere','Promenade','Pavillon']
};
function hueName(hex) {
@@ -3517,7 +3517,7 @@ function renderSubBrandLanding(req, res, line) {
const HERO_ID = isStudio ? 39055 : 38842;
const accent = isStudio ? '#1E3550' : '#7A4A28';
const tagline = isStudio
- ? 'Hand-painted-silk register at 60% of Gracie or de Gournay'
+ ? 'Hand-painted-silk register at 60% of the luxury hand-painted scenic houses'
: 'Photoreal hospitality wallcovering at AI-catalog scale';
// All non-vendor designs for this line that have an on-disk image.
const _DENY = /\b(thibaut|koroseal|schumacher|maya[ -]romanoff|scalamandre|arte[ -]international|cole[ -]?(and|&)[ -]?son|phillip[ -]jeffries|osborne[ -]?(and|&)?[ -]?little|de[ -]gournay|fromental|sister[ -]parish|dedar|brewster|mind[ -]the[ -]gap|hygge|designtex|wolf[ -]gordon|carnegie|coordonn|daisy[ -]bennett|china[ -]seas|york|marburg|romo|fabricut|stout|knoll|arteriors|timorous[ -]beasties|hangups)\b/i;
@@ -3536,7 +3536,7 @@ function renderSubBrandLanding(req, res, line) {
.slice(0, 6);
const pitchScenic = 'wallco / Scenic — Photoreal hospitality wallcovering. Sonoran desert, Joshua tree groves, Carmel cypress headlands, coast redwood cathedrals — at the scale of a Phillip Jeffries or Calico mural, at AI-catalog scale and sub-$250 per panel. Designed for hospitality lobbies, hotel dining rooms, residential dining accents, design-forward corridors. 36" × 11 ft and 12 ft × 11 ft 4-panel formats. ' + total + ' designs.';
- const pitchStudio = 'wallco / Studio — Hand-painted-silk scenic wallcovering in the Zuber, Gracie, and de Gournay register, at 60% of their price point. Flat 2-tone hand-blocked silhouette, single-layer screenprint aesthetic. Designed for the most discerning hospitality installs (Aman, Auberge, Four Seasons) and the residential dining rooms of Designers Today readers. 60 ft × 11 ft wraparound installs (20 panels × 36"). ' + total + ' designs.';
+ const pitchStudio = 'wallco / Studio — Hand-painted-silk scenic wallcovering in the the luxury hand-painted scenic houses register, at 60% of their price point. Flat 2-tone hand-blocked silhouette, single-layer screenprint aesthetic. Designed for the most discerning hospitality installs (Aman, Auberge, Four Seasons) and the residential dining rooms of Designers Today readers. 60 ft × 11 ft wraparound installs (20 panels × 36"). ' + total + ' designs.';
const pitch = isStudio ? pitchStudio : pitchScenic;
const lineLower = line.toLowerCase();
@@ -4041,7 +4041,7 @@ ${cat === 'mural-scenic' ? `
<div style="max-width:780px;margin:0 auto">
<p style="font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#7a5e34;margin:0 0 10px;font-weight:500">Bespoke scenic mural · 20ft × 11ft · 150 dpi · five-color</p>
<h1 style="font-family:'Playfair Display','Didot',serif;font-weight:400;font-style:italic;font-size:clamp(36px,5vw,60px);line-height:1.05;margin:0 0 16px;color:#1f1808">The Scenic Panoramas</h1>
- <p style="font-size:15px;line-height:1.7;color:#4a3520;margin:0 auto;max-width:600px">Full-room wall murals in the tradition of de Gournay, Iksel, Gracie, and Zuber et Cie. Single uninterrupted scenes — French formal gardens, Chinese chinoiserie valleys, English wildflower hills, Provence lavender vistas — animals as small naturalistic accents. 20 ft wide × 11 ft tall, target print 150 dpi after upscaling.</p>
+ <p style="font-size:15px;line-height:1.7;color:#4a3520;margin:0 auto;max-width:600px">Full-room wall murals in the tradition of Iksel and the luxury hand-painted scenic tradition. Single uninterrupted scenes — French formal gardens, Chinese chinoiserie valleys, English wildflower hills, Provence lavender vistas — animals as small naturalistic accents. 20 ft wide × 11 ft tall, target print 150 dpi after upscaling.</p>
<div style="margin-top:20px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;font-size:12px">
<span style="padding:4px 12px;border:1px solid #7a5e34;border-radius:14px;color:#7a5e34"><strong>${total}</strong> panoramic panels</span>
<span style="padding:4px 12px;border:1px solid #8a6f44;border-radius:14px;color:#8a6f44">single-panel, no repeat</span>
@@ -8446,7 +8446,7 @@ ${htmlHeader('/designs')}
${(() => {
// Product-line chip — Scenic (photoreal hospitality murals) or
- // Studio (flat hand-painted-silk Gracie register). Renders only
+ // Studio (flat hand-painted-silk hand-painted-silk register). Renders only
// for designs in those two lines; legacy categories stay unchipped.
const _line = productLine(design);
if (!_line) return '';
@@ -12383,7 +12383,7 @@ function imageFilesOnDisk() {
}
// Product-line classifier — Steve directive 2026-05-21. Maps a design's
// category to its sub-brand: 'Scenic' (photoreal hospitality murals) or
-// 'Studio' (flat hand-painted-silk Gracie/de Gournay register). Designs
+// 'Studio' (flat hand-painted-silk luxury hand-painted scenic register). Designs
// outside these two categories return null and render with no line chip.
// Source of truth is the product_line column in PG; this helper is the
// in-memory mirror used by the JSON-file-backed DESIGNS array.
← 9e6a142 wallco / Scenic + Studio sub-brand landings, Studio trade-ga
·
back to Wallco Ai
·
ghost-layer: detector + scanner + pre-publish gate + fix-que 49e0ab6 →