← back to Wallco Ai
Broaden seamless-comfy guard to kind==='seamless_tile' (covers drunk-*)
66addf635e22d9b809c1dc375cceba40365319a7 · 2026-05-26 10:01:19 -0700 · Steve Abrams
The cron emits --kind seamless_tile for every recipe, so gating the comfy
override on kind (not just the curated TILE_CATEGORIES set) routes ALL tiles
through circular padding — drunk-animals silhouettes included, which were
still FAILing top-bottom (tb=15.70) on replicate. Decouples backend routing
(needs edge-wrap) from prompt selection (dense vs silhouette). Murals keep
GEN_BACKEND since they don't tile.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Files touched
M scripts/generate_designs.js
Diff
commit 66addf635e22d9b809c1dc375cceba40365319a7
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue May 26 10:01:19 2026 -0700
Broaden seamless-comfy guard to kind==='seamless_tile' (covers drunk-*)
The cron emits --kind seamless_tile for every recipe, so gating the comfy
override on kind (not just the curated TILE_CATEGORIES set) routes ALL tiles
through circular padding — drunk-animals silhouettes included, which were
still FAILing top-bottom (tb=15.70) on replicate. Decouples backend routing
(needs edge-wrap) from prompt selection (dense vs silhouette). Murals keep
GEN_BACKEND since they don't tile.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
scripts/generate_designs.js | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/scripts/generate_designs.js b/scripts/generate_designs.js
index ff7d624..9442ee0 100644
--- a/scripts/generate_designs.js
+++ b/scripts/generate_designs.js
@@ -448,15 +448,20 @@ function genReplicateFlux(prompt, seed, outPath) {
}
function generate(prompt, seed, outPath, meta) {
- // 2026-05-26 — TILE_CATEGORIES (damask/chinoiserie/scenic/etc.) only render
- // seamlessly on the comfy backend, which patches the UNet+VAE Conv2d to
- // circular padding (SeamlessTile + MakeCircularVAE). replicate/flux/stub ship
- // padding='zeros' → guaranteed top-bottom edge-wrap FAIL no prompt can fix.
+ // 2026-05-26 — Any seamless tile must wrap edge-to-edge, which only the comfy
+ // backend delivers: it patches the UNet+VAE Conv2d to circular padding
+ // (SeamlessTile + MakeCircularVAE). replicate/flux/stub ship padding='zeros'
+ // → guaranteed top-bottom edge-wrap FAIL that no prompt can fix.
// Validated: replicate damask tb=15-65 ΔE FAIL vs comfy damask tb=2.14 PASS.
- // Force comfy for these categories regardless of GEN_BACKEND so the cron
- // (which defaults to replicate) can't silently produce broken tile designs.
+ // Gate on kind==='seamless_tile' (every tile the cron emits) plus the
+ // TILE_CATEGORIES set as a belt-and-suspenders, so the cron (which defaults
+ // to replicate) can't silently produce broken tile inventory — drunk-*
+ // silhouettes included. Murals (kind==='mural') are single scenes that don't
+ // tile, so they keep whatever GEN_BACKEND is set.
let backend = BACKEND;
- if (meta && TILE_CATEGORIES.has(meta.category) && backend !== 'comfy') {
+ const needsCircularPadding = meta &&
+ (meta.kind === 'seamless_tile' || TILE_CATEGORIES.has(meta.category));
+ if (needsCircularPadding && backend !== 'comfy') {
backend = 'comfy';
}
switch (backend) {
← 43ccc81 Force TILE_CATEGORIES to comfy seamless path regardless of G
·
back to Wallco Ai
·
geometric pilot: bulk-verify ghost-detector (stable 3-vote) e0387ff →