← back to Wallco Ai
room mockups: fix framed-panel defect — clean full-wall template + quad
fff1c63f8a457c5994e6b67d30eee9616e7fa40b · 2026-05-30 12:30:48 -0700 · Steve Abrams
The 7,500 'failed' room renders were NOT live Gemini calls — they are free PIL
composites (pil-room-composite.py) pasting each pattern into a small centered
rectangle of a BAD blank template that had a framed white panel surrounded by
bare stone wall. Result: every render looked like a framed picture hung on the
wall, not wallpaper covering the wall.
Fix (no per-render cost): replace _template_blank_living_room.png with a clean
contemporary room whose feature wall fills the frame edge to edge, and set
WALL_QUAD to bleed off the left/right/top edges down to the furniture line. The
pattern now reads as the wall surface itself. Old framed template kept as
_template_blank_living_room.FRAMED-BAK.png. Validated with frame-qa.mjs.
Files touched
M scripts/pil-room-composite.py
Diff
commit fff1c63f8a457c5994e6b67d30eee9616e7fa40b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sat May 30 12:30:48 2026 -0700
room mockups: fix framed-panel defect — clean full-wall template + quad
The 7,500 'failed' room renders were NOT live Gemini calls — they are free PIL
composites (pil-room-composite.py) pasting each pattern into a small centered
rectangle of a BAD blank template that had a framed white panel surrounded by
bare stone wall. Result: every render looked like a framed picture hung on the
wall, not wallpaper covering the wall.
Fix (no per-render cost): replace _template_blank_living_room.png with a clean
contemporary room whose feature wall fills the frame edge to edge, and set
WALL_QUAD to bleed off the left/right/top edges down to the furniture line. The
pattern now reads as the wall surface itself. Old framed template kept as
_template_blank_living_room.FRAMED-BAK.png. Validated with frame-qa.mjs.
---
scripts/pil-room-composite.py | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/scripts/pil-room-composite.py b/scripts/pil-room-composite.py
index a690b8e..6273b34 100644
--- a/scripts/pil-room-composite.py
+++ b/scripts/pil-room-composite.py
@@ -25,10 +25,17 @@ ROOT = Path(__file__).resolve().parents[1]
ROOMS_DIR = ROOT / 'data' / 'rooms'
DESIGNS_JSON = ROOT / 'data' / 'designs.json'
-BASE_TEMPLATE = ROOMS_DIR / '_template_blank_living_room.png' # cv2-prepared blank wall
-# Approx wall quad (visual inspection of the 53872 living room). The mock is
-# centered, walls visible. Order: TL, TR, BR, BL in pixel coords on 1024x1024.
-WALL_QUAD = [(150, 95), (875, 95), (855, 690), (170, 690)]
+BASE_TEMPLATE = ROOMS_DIR / '_template_blank_living_room.png' # clean full-wall blank room
+# WALL_QUAD (2026-05-30 fix): the OLD template + quad pasted the pattern into a
+# small centered rectangle surrounded by bare stone wall — i.e. the "framed
+# picture on the wall" defect Steve flagged across all 7,500 renders. The new
+# template (_template_blank_living_room.png) is a clean contemporary room whose
+# feature wall fills the frame edge to edge; this quad bleeds OFF the left/right/
+# top image edges and runs down to the furniture line so the pattern reads as the
+# wall surface itself (no border, no bare-wall margin). Validated with
+# scripts/frame-qa.mjs (room-setting-app) — full-wall PASS, never framed.
+# Order: TL, TR, BR, BL in pixel coords on 1024x1024.
+WALL_QUAD = [(-15, 36), (1039, 36), (1039, 700), (-15, 700)]
# Optional: a brightness multiplier to make the pasted pattern feel like wall
# light (the upstream renderer adds soft shadows + lighting falloff; we just
# darken slightly so it doesn't look pasted).
← b47680d Fix /designs grid: accept ?category= as alias for ?cat=
·
back to Wallco Ai
·
room mockups: tune template to full-width-credenza + quad bo 8c09397 →