← back to Wallco Ai
Force TILE_CATEGORIES to comfy seamless path regardless of GEN_BACKEND
43ccc810991ebe001d104123d8b49fdb4ff7b4fe · 2026-05-26 09:59:26 -0700 · Steve Abrams
The cron (generator_tick.js) defaults to replicate, which uses padding=zeros
convolution and produces guaranteed top-bottom edge-wrap FAILs for tileable
categories. Comfy is the only backend with the SeamlessTile+MakeCircularVAE
circular-padding fix. Route damask/chinoiserie/scenic/etc. through it
unconditionally so the cron can't silently regenerate broken tile inventory.
Validated: replicate damask tb=15-65 dE FAIL vs comfy damask tb=2.14 PASS.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Files touched
M scripts/generate_designs.js
Diff
commit 43ccc810991ebe001d104123d8b49fdb4ff7b4fe
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue May 26 09:59:26 2026 -0700
Force TILE_CATEGORIES to comfy seamless path regardless of GEN_BACKEND
The cron (generator_tick.js) defaults to replicate, which uses padding=zeros
convolution and produces guaranteed top-bottom edge-wrap FAILs for tileable
categories. Comfy is the only backend with the SeamlessTile+MakeCircularVAE
circular-padding fix. Route damask/chinoiserie/scenic/etc. through it
unconditionally so the cron can't silently regenerate broken tile inventory.
Validated: replicate damask tb=15-65 dE FAIL vs comfy damask tb=2.14 PASS.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
scripts/generate_designs.js | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/scripts/generate_designs.js b/scripts/generate_designs.js
index 6e4f115..ff7d624 100644
--- a/scripts/generate_designs.js
+++ b/scripts/generate_designs.js
@@ -448,7 +448,18 @@ function genReplicateFlux(prompt, seed, outPath) {
}
function generate(prompt, seed, outPath, meta) {
- switch (BACKEND) {
+ // 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.
+ // 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.
+ let backend = BACKEND;
+ if (meta && TILE_CATEGORIES.has(meta.category) && backend !== 'comfy') {
+ backend = 'comfy';
+ }
+ switch (backend) {
case 'replicate': genReplicate(prompt, seed, outPath, meta); break;
case 'flux': genReplicateFlux(prompt, seed, outPath, meta); break;
case 'comfy': genComfy(prompt, seed, outPath, meta); break;
← 2c4735e add CLAUDE.md project guidance
·
back to Wallco Ai
·
Broaden seamless-comfy guard to kind==='seamless_tile' (cove 66addf6 →