← back to Wallco Ai
refiner_compare: skip already-rendered images so a crash+restart resumes instead of restarting from pair 0
252f1797c8c21bc054e6394007f6adeadf0f2e53 · 2026-05-19 12:08:21 -0700 · SteveStudio2
Files touched
M scripts/refiner_compare.js
Diff
commit 252f1797c8c21bc054e6394007f6adeadf0f2e53
Author: SteveStudio2 <steve@designerwallcoverings.com>
Date: Tue May 19 12:08:21 2026 -0700
refiner_compare: skip already-rendered images so a crash+restart resumes instead of restarting from pair 0
---
scripts/refiner_compare.js | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/scripts/refiner_compare.js b/scripts/refiner_compare.js
index 435746f..75620da 100644
--- a/scripts/refiner_compare.js
+++ b/scripts/refiner_compare.js
@@ -107,11 +107,21 @@ function render(workflow, outPath) {
const save = done => fs.writeFileSync(path.join(OUT, 'progress.json'),
JSON.stringify({ done, total: STYLES.length, rows }, null, 1));
save(i);
- try { row.base = render(baseWorkflow(seed, POS), path.join(OUT, baseFile)) ? baseFile : false; }
- catch (e) { row.base = false; console.log(` ${i} base ERR ${e.message}`); }
+ // resume-safe: a render that already produced a real file is skipped, so a
+ // crash + restart picks up where it left off instead of re-rendering pair 0.
+ const basePath = path.join(OUT, baseFile), refPath = path.join(OUT, refFile);
+ const haveImg = p => { try { return fs.statSync(p).size > 1000; } catch { return false; } };
+ if (haveImg(basePath)) { row.base = baseFile; console.log(` ${i} base — skip (already rendered)`); }
+ else {
+ try { row.base = render(baseWorkflow(seed, POS), basePath) ? baseFile : false; }
+ catch (e) { row.base = false; console.log(` ${i} base ERR ${e.message}`); }
+ }
save(i);
- try { row.refiner = render(refinerWorkflow(seed, POS), path.join(OUT, refFile)) ? refFile : false; }
- catch (e) { row.refiner = false; console.log(` ${i} refiner ERR ${e.message}`); }
+ if (haveImg(refPath)) { row.refiner = refFile; console.log(` ${i} refiner — skip (already rendered)`); }
+ else {
+ try { row.refiner = render(refinerWorkflow(seed, POS), refPath) ? refFile : false; }
+ catch (e) { row.refiner = false; console.log(` ${i} refiner ERR ${e.message}`); }
+ }
save(i + 1);
console.log(`[${i + 1}/25] ${style} · ${pal.brand} — base:${row.base ? 'ok' : 'FAIL'} refiner:${row.refiner ? 'ok' : 'FAIL'} · ${((Date.now() - t0) / 1000 / 60).toFixed(1)}min`);
}
← 498edd4 fix: designs had empty image_url -> blank cards on /designs.
·
back to Wallco Ai
·
add refiner_compare watchdog — auto-restart on crash, exit o 838379d →