← back to Wild Wallcoverings
POLICY: generator never sees reference images; copy-check gate added; reference-driven nano archived
0947758e7826ace232995895ba3e6c0b5fbca906 · 2026-07-22 17:29:24 -0700 · Steve Abrams
Files touched
M data/choices.jsonM data/designs.jsonR100 output/designs/arcade-memory-v1-nano.png output/archive-v3/arcade-memory-v1-nano.pngR100 output/designs/arcade-memory-v4-nano.png output/archive-v3/arcade-memory-v4-nano.pngR100 output/designs/arcade-memory-v5-nano.png output/archive-v3/arcade-memory-v5-nano.pngR100 output/designs/arcade-memory-v6-nano.png output/archive-v3/arcade-memory-v6-nano.pngR100 output/designs/astral-tiger-v1-nano.png output/archive-v3/astral-tiger-v1-nano.pngR100 output/designs/astral-tiger-v4-nano.png output/archive-v3/astral-tiger-v4-nano.pngR100 output/designs/astral-tiger-v5-nano.png output/archive-v3/astral-tiger-v5-nano.pngR100 output/designs/astral-tiger-v6-nano.png output/archive-v3/astral-tiger-v6-nano.pngR100 output/designs/bodega-cats-v1-nano.png output/archive-v3/bodega-cats-v1-nano.pngR100 output/designs/bodega-cats-v4-nano.png output/archive-v3/bodega-cats-v4-nano.pngR100 output/designs/bodega-cats-v5-nano.png output/archive-v3/bodega-cats-v5-nano.pngR100 output/designs/bodega-cats-v6-nano.png output/archive-v3/bodega-cats-v6-nano.pngR100 output/designs/campfire-toile-v1-nano.png output/archive-v3/campfire-toile-v1-nano.pngR100 output/designs/campfire-toile-v4-nano.png output/archive-v3/campfire-toile-v4-nano.pngR100 output/designs/campfire-toile-v5-nano.png output/archive-v3/campfire-toile-v5-nano.pngR100 output/designs/campfire-toile-v6-nano.png output/archive-v3/campfire-toile-v6-nano.pngR100 output/designs/circle-fields-v1-nano.png output/archive-v3/circle-fields-v1-nano.pngR100 output/designs/circle-fields-v4-nano.png output/archive-v3/circle-fields-v4-nano.pngR100 output/designs/circle-fields-v5-nano.png output/archive-v3/circle-fields-v5-nano.pngR100 output/designs/circle-fields-v6-nano.png output/archive-v3/circle-fields-v6-nano.pngR100 output/designs/daily-dose-v1-nano.png output/archive-v3/daily-dose-v1-nano.pngR100 output/designs/daily-dose-v4-nano.png output/archive-v3/daily-dose-v4-nano.pngR100 output/designs/daily-dose-v5-nano.png output/archive-v3/daily-dose-v5-nano.pngR100 output/designs/daily-dose-v6-nano.png output/archive-v3/daily-dose-v6-nano.pngR100 output/designs/desert-choir-v1-nano.png output/archive-v3/desert-choir-v1-nano.pngR100 output/designs/desert-choir-v4-nano.png output/archive-v3/desert-choir-v4-nano.pngR100 output/designs/desert-choir-v5-nano.png output/archive-v3/desert-choir-v5-nano.pngR100 output/designs/desert-choir-v6-nano.png output/archive-v3/desert-choir-v6-nano.pngR100 output/designs/dream-clouds-v1-nano.png output/archive-v3/dream-clouds-v1-nano.pngR100 output/designs/dream-clouds-v4-nano.png output/archive-v3/dream-clouds-v4-nano.pngR100 output/designs/dream-clouds-v5-nano.png output/archive-v3/dream-clouds-v5-nano.pngR100 output/designs/dream-clouds-v6-nano.png output/archive-v3/dream-clouds-v6-nano.pngR100 output/designs/fungi-skyline-v1-nano.png output/archive-v3/fungi-skyline-v1-nano.pngR100 output/designs/fungi-skyline-v4-nano.png output/archive-v3/fungi-skyline-v4-nano.pngR100 output/designs/fungi-skyline-v5-nano.png output/archive-v3/fungi-skyline-v5-nano.pngR100 output/designs/fungi-skyline-v6-nano.png output/archive-v3/fungi-skyline-v6-nano.pngR100 output/designs/galaxy-bots-v1-nano.png output/archive-v3/galaxy-bots-v1-nano.pngR100 output/designs/galaxy-bots-v4-nano.png output/archive-v3/galaxy-bots-v4-nano.pngR100 output/designs/galaxy-bots-v5-nano.png output/archive-v3/galaxy-bots-v5-nano.pngR100 output/designs/galaxy-bots-v6-nano.png output/archive-v3/galaxy-bots-v6-nano.pngR100 output/designs/golden-pineapple-v1-nano.png output/archive-v3/golden-pineapple-v1-nano.pngR100 output/designs/golden-pineapple-v4-nano.png output/archive-v3/golden-pineapple-v4-nano.pngR100 output/designs/golden-pineapple-v5-nano.png output/archive-v3/golden-pineapple-v5-nano.pngR100 output/designs/golden-pineapple-v6-nano.png output/archive-v3/golden-pineapple-v6-nano.pngR100 output/designs/herbarium-press-v1-nano.png output/archive-v3/herbarium-press-v1-nano.pngR100 output/designs/herbarium-press-v4-nano.png output/archive-v3/herbarium-press-v4-nano.pngR100 output/designs/herbarium-press-v5-nano.png output/archive-v3/herbarium-press-v5-nano.pngR100 output/designs/herbarium-press-v6-nano.png output/archive-v3/herbarium-press-v6-nano.pngR100 output/designs/lagoon-legends-v1-nano.png output/archive-v3/lagoon-legends-v1-nano.pngR100 output/designs/lagoon-legends-v4-nano.png output/archive-v3/lagoon-legends-v4-nano.pngR100 output/designs/lagoon-legends-v5-nano.png output/archive-v3/lagoon-legends-v5-nano.pngR100 output/designs/lagoon-legends-v6-nano.png output/archive-v3/lagoon-legends-v6-nano.pngR100 output/designs/lost-continent-v1-nano.png output/archive-v3/lost-continent-v1-nano.pngR100 output/designs/lost-continent-v4-nano.png output/archive-v3/lost-continent-v4-nano.pngR100 output/designs/lost-continent-v5-nano.png output/archive-v3/lost-continent-v5-nano.pngR100 output/designs/lost-continent-v6-nano.png output/archive-v3/lost-continent-v6-nano.pngR100 output/designs/midnight-frequency-v1-nano.png output/archive-v3/midnight-frequency-v1-nano.pngR100 output/designs/midnight-frequency-v4-nano.png output/archive-v3/midnight-frequency-v4-nano.pngR100 output/designs/midnight-frequency-v5-nano.png output/archive-v3/midnight-frequency-v5-nano.pngR100 output/designs/midnight-frequency-v6-nano.png output/archive-v3/midnight-frequency-v6-nano.pngR100 output/designs/mod-orbit-v1-nano.png output/archive-v3/mod-orbit-v1-nano.pngR100 output/designs/mod-orbit-v4-nano.png output/archive-v3/mod-orbit-v4-nano.pngR100 output/designs/mod-orbit-v5-nano.png output/archive-v3/mod-orbit-v5-nano.pngR100 output/designs/mod-orbit-v6-nano.png output/archive-v3/mod-orbit-v6-nano.pngR100 output/designs/monstera-bungalow-v1-nano.png output/archive-v3/monstera-bungalow-v1-nano.pngR100 output/designs/monstera-bungalow-v4-nano.png output/archive-v3/monstera-bungalow-v4-nano.pngR100 output/designs/monstera-bungalow-v5-nano.png output/archive-v3/monstera-bungalow-v5-nano.pngR100 output/designs/monstera-bungalow-v6-nano.png output/archive-v3/monstera-bungalow-v6-nano.pngR100 output/designs/moonrise-ikat-v1-nano.png output/archive-v3/moonrise-ikat-v1-nano.pngR100 output/designs/moonrise-ikat-v4-nano.png output/archive-v3/moonrise-ikat-v4-nano.pngR100 output/designs/moonrise-ikat-v5-nano.png output/archive-v3/moonrise-ikat-v5-nano.pngR100 output/designs/moonrise-ikat-v6-nano.png output/archive-v3/moonrise-ikat-v6-nano.pngR100 output/designs/night-jungle-v1-nano.png output/archive-v3/night-jungle-v1-nano.pngR100 output/designs/night-jungle-v4-nano.png output/archive-v3/night-jungle-v4-nano.pngR100 output/designs/night-jungle-v5-nano.png output/archive-v3/night-jungle-v5-nano.pngR100 output/designs/night-jungle-v6-nano.png output/archive-v3/night-jungle-v6-nano.pngR100 output/designs/painted-feathers-v1-nano.png output/archive-v3/painted-feathers-v1-nano.pngR100 output/designs/painted-feathers-v4-nano.png output/archive-v3/painted-feathers-v4-nano.pngR100 output/designs/painted-feathers-v5-nano.png output/archive-v3/painted-feathers-v5-nano.pngR100 output/designs/painted-feathers-v6-nano.png output/archive-v3/painted-feathers-v6-nano.pngR100 output/designs/plumbline-v1-nano.png output/archive-v3/plumbline-v1-nano.pngR100 output/designs/plumbline-v4-nano.png output/archive-v3/plumbline-v4-nano.pngR100 output/designs/plumbline-v5-nano.png output/archive-v3/plumbline-v5-nano.pngR100 output/designs/plumbline-v6-nano.png output/archive-v3/plumbline-v6-nano.pngR100 output/designs/ray-shadow-v1-nano.png output/archive-v3/ray-shadow-v1-nano.pngR100 output/designs/ray-shadow-v4-nano.png output/archive-v3/ray-shadow-v4-nano.pngR100 output/designs/ray-shadow-v5-nano.png output/archive-v3/ray-shadow-v5-nano.pngR100 output/designs/ray-shadow-v6-nano.png output/archive-v3/ray-shadow-v6-nano.pngR100 output/designs/regatta-day-v1-nano.png output/archive-v3/regatta-day-v1-nano.pngR100 output/designs/regatta-day-v4-nano.png output/archive-v3/regatta-day-v4-nano.pngR100 output/designs/regatta-day-v5-nano.png output/archive-v3/regatta-day-v5-nano.pngR100 output/designs/regatta-day-v6-nano.png output/archive-v3/regatta-day-v6-nano.pngR100 output/designs/robot-parade-v1-nano.png output/archive-v3/robot-parade-v1-nano.pngR100 output/designs/robot-parade-v4-nano.png output/archive-v3/robot-parade-v4-nano.pngR100 output/designs/robot-parade-v5-nano.png output/archive-v3/robot-parade-v5-nano.pngR100 output/designs/robot-parade-v6-nano.png output/archive-v3/robot-parade-v6-nano.pngR100 output/designs/tidepool-bloom-v1-nano.png output/archive-v3/tidepool-bloom-v1-nano.pngR100 output/designs/tidepool-bloom-v4-nano.png output/archive-v3/tidepool-bloom-v4-nano.pngR100 output/designs/tidepool-bloom-v5-nano.png output/archive-v3/tidepool-bloom-v5-nano.pngR100 output/designs/tidepool-bloom-v6-nano.png output/archive-v3/tidepool-bloom-v6-nano.pngM scripts/batch_gen.pyA scripts/copy_check.py
Diff
commit 0947758e7826ace232995895ba3e6c0b5fbca906
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jul 22 17:29:24 2026 -0700
POLICY: generator never sees reference images; copy-check gate added; reference-driven nano archived
---
data/choices.json | 7 +-
data/designs.json | 2657 ++++----------------
.../arcade-memory-v1-nano.png | Bin
.../arcade-memory-v4-nano.png | Bin
.../arcade-memory-v5-nano.png | Bin
.../arcade-memory-v6-nano.png | Bin
.../astral-tiger-v1-nano.png | Bin
.../astral-tiger-v4-nano.png | Bin
.../astral-tiger-v5-nano.png | Bin
.../astral-tiger-v6-nano.png | Bin
.../bodega-cats-v1-nano.png | Bin
.../bodega-cats-v4-nano.png | Bin
.../bodega-cats-v5-nano.png | Bin
.../bodega-cats-v6-nano.png | Bin
.../campfire-toile-v1-nano.png | Bin
.../campfire-toile-v4-nano.png | Bin
.../campfire-toile-v5-nano.png | Bin
.../campfire-toile-v6-nano.png | Bin
.../circle-fields-v1-nano.png | Bin
.../circle-fields-v4-nano.png | Bin
.../circle-fields-v5-nano.png | Bin
.../circle-fields-v6-nano.png | Bin
.../{designs => archive-v3}/daily-dose-v1-nano.png | Bin
.../{designs => archive-v3}/daily-dose-v4-nano.png | Bin
.../{designs => archive-v3}/daily-dose-v5-nano.png | Bin
.../{designs => archive-v3}/daily-dose-v6-nano.png | Bin
.../desert-choir-v1-nano.png | Bin
.../desert-choir-v4-nano.png | Bin
.../desert-choir-v5-nano.png | Bin
.../desert-choir-v6-nano.png | Bin
.../dream-clouds-v1-nano.png | Bin
.../dream-clouds-v4-nano.png | Bin
.../dream-clouds-v5-nano.png | Bin
.../dream-clouds-v6-nano.png | Bin
.../fungi-skyline-v1-nano.png | Bin
.../fungi-skyline-v4-nano.png | Bin
.../fungi-skyline-v5-nano.png | Bin
.../fungi-skyline-v6-nano.png | Bin
.../galaxy-bots-v1-nano.png | Bin
.../galaxy-bots-v4-nano.png | Bin
.../galaxy-bots-v5-nano.png | Bin
.../galaxy-bots-v6-nano.png | Bin
.../golden-pineapple-v1-nano.png | Bin
.../golden-pineapple-v4-nano.png | Bin
.../golden-pineapple-v5-nano.png | Bin
.../golden-pineapple-v6-nano.png | Bin
.../herbarium-press-v1-nano.png | Bin
.../herbarium-press-v4-nano.png | Bin
.../herbarium-press-v5-nano.png | Bin
.../herbarium-press-v6-nano.png | Bin
.../lagoon-legends-v1-nano.png | Bin
.../lagoon-legends-v4-nano.png | Bin
.../lagoon-legends-v5-nano.png | Bin
.../lagoon-legends-v6-nano.png | Bin
.../lost-continent-v1-nano.png | Bin
.../lost-continent-v4-nano.png | Bin
.../lost-continent-v5-nano.png | Bin
.../lost-continent-v6-nano.png | Bin
.../midnight-frequency-v1-nano.png | Bin
.../midnight-frequency-v4-nano.png | Bin
.../midnight-frequency-v5-nano.png | Bin
.../midnight-frequency-v6-nano.png | Bin
.../{designs => archive-v3}/mod-orbit-v1-nano.png | Bin
.../{designs => archive-v3}/mod-orbit-v4-nano.png | Bin
.../{designs => archive-v3}/mod-orbit-v5-nano.png | Bin
.../{designs => archive-v3}/mod-orbit-v6-nano.png | Bin
.../monstera-bungalow-v1-nano.png | Bin
.../monstera-bungalow-v4-nano.png | Bin
.../monstera-bungalow-v5-nano.png | Bin
.../monstera-bungalow-v6-nano.png | Bin
.../moonrise-ikat-v1-nano.png | Bin
.../moonrise-ikat-v4-nano.png | Bin
.../moonrise-ikat-v5-nano.png | Bin
.../moonrise-ikat-v6-nano.png | Bin
.../night-jungle-v1-nano.png | Bin
.../night-jungle-v4-nano.png | Bin
.../night-jungle-v5-nano.png | Bin
.../night-jungle-v6-nano.png | Bin
.../painted-feathers-v1-nano.png | Bin
.../painted-feathers-v4-nano.png | Bin
.../painted-feathers-v5-nano.png | Bin
.../painted-feathers-v6-nano.png | Bin
.../{designs => archive-v3}/plumbline-v1-nano.png | Bin
.../{designs => archive-v3}/plumbline-v4-nano.png | Bin
.../{designs => archive-v3}/plumbline-v5-nano.png | Bin
.../{designs => archive-v3}/plumbline-v6-nano.png | Bin
.../{designs => archive-v3}/ray-shadow-v1-nano.png | Bin
.../{designs => archive-v3}/ray-shadow-v4-nano.png | Bin
.../{designs => archive-v3}/ray-shadow-v5-nano.png | Bin
.../{designs => archive-v3}/ray-shadow-v6-nano.png | Bin
.../regatta-day-v1-nano.png | Bin
.../regatta-day-v4-nano.png | Bin
.../regatta-day-v5-nano.png | Bin
.../regatta-day-v6-nano.png | Bin
.../robot-parade-v1-nano.png | Bin
.../robot-parade-v4-nano.png | Bin
.../robot-parade-v5-nano.png | Bin
.../robot-parade-v6-nano.png | Bin
.../tidepool-bloom-v1-nano.png | Bin
.../tidepool-bloom-v4-nano.png | Bin
.../tidepool-bloom-v5-nano.png | Bin
.../tidepool-bloom-v6-nano.png | Bin
scripts/batch_gen.py | 23 +-
scripts/copy_check.py | 69 +
104 files changed, 510 insertions(+), 2246 deletions(-)
diff --git a/data/choices.json b/data/choices.json
index 9e26dfe..aa095ac 100644
--- a/data/choices.json
+++ b/data/choices.json
@@ -1 +1,6 @@
-{}
\ No newline at end of file
+{
+ "mod-orbit": {
+ "variant": "mod-orbit-v1-nano.png",
+ "chosen_at": "2026-07-23T00:24:38.492Z"
+ }
+}
\ No newline at end of file
diff --git a/data/designs.json b/data/designs.json
index c0c7a16..9cf0aa4 100644
--- a/data/designs.json
+++ b/data/designs.json
@@ -7,78 +7,6 @@
"size": "24\" x 25\"",
"created_at": "2026-07-22T19:18:28.830309+00:00",
"variants": [
- {
- "file": "astral-tiger-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:24:48.793714+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "astral-tiger-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:24:59.022881+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "astral-tiger-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:25:08.773518+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "astral-tiger-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:25:19.471841+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
{
"file": "astral-tiger-v2-sdxl.png",
"engine": "local-sdxl",
@@ -148,9 +76,9 @@
"created_at": "2026-07-22T19:18:36.892674+00:00",
"variants": [
{
- "file": "midnight-frequency-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:25:28.806923+00:00",
+ "file": "midnight-frequency-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:28:32.374520+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -166,9 +94,9 @@
}
},
{
- "file": "midnight-frequency-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:25:40.729202+00:00",
+ "file": "midnight-frequency-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:29:48.677482+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -184,9 +112,12 @@
}
},
{
- "file": "midnight-frequency-v5-nano.png",
+ "file": "midnight-frequency-v7-nano.png",
"engine": "nano-banana",
- "created_at": "2026-07-22T21:25:50.891788+00:00",
+ "created_at": "2026-07-23T00:07:29.653323+00:00",
+ "tile": {
+ "verdict": "PASS"
+ },
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -195,16 +126,27 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-midnight-frequency.jpg",
+ "title": "Analog Nights Thunder"
+ },
+ "colorway": "Gunmetal Fog"
+ },
+ {
+ "id": "robot-parade",
+ "title": "Automaton Waltz",
+ "theme": "classic toy robots",
+ "description": "Big Robots (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:18:44.703698+00:00",
+ "variants": [
{
- "file": "midnight-frequency-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:26:00.562620+00:00",
+ "file": "robot-parade-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:31:05.013620+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -212,17 +154,17 @@
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
+ "acceptable": true
},
"tile": {
- "verdict": "WARN",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "midnight-frequency-v2-sdxl.png",
+ "file": "robot-parade-v3-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T21:28:32.374520+00:00",
+ "created_at": "2026-07-22T21:32:17.498257+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -230,17 +172,32 @@
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
+ "acceptable": true
},
"tile": {
- "verdict": "FAIL",
+ "verdict": "WARN",
"max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-robot-parade.jpg",
+ "title": "Big Robots Tin"
+ },
+ "colorway": "Silver & Chalk"
+ },
+ {
+ "id": "galaxy-bots",
+ "title": "Cosmodrome Circus",
+ "theme": "robots in outer space",
+ "description": "Astrobots (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:18:53.231918+00:00",
+ "variants": [
{
- "file": "midnight-frequency-v3-sdxl.png",
+ "file": "galaxy-bots-v2-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T21:29:48.677482+00:00",
+ "created_at": "2026-07-22T21:33:33.810453+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -256,12 +213,9 @@
}
},
{
- "file": "midnight-frequency-v7-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-23T00:07:29.653323+00:00",
- "tile": {
- "verdict": "PASS"
- },
+ "file": "galaxy-bots-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:34:46.315492+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -270,85 +224,104 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": false
+ },
+ "tile": {
+ "verdict": "FAIL",
+ "max": null
}
}
],
"reference": {
- "file": "ref-midnight-frequency.jpg",
- "title": "Analog Nights Thunder"
+ "file": "ref-galaxy-bots.jpg",
+ "title": "Astrobots Thunder"
},
- "colorway": "Gunmetal Fog"
+ "colorway": "Graphite Static"
},
{
- "id": "robot-parade",
- "title": "Automaton Waltz",
- "theme": "classic toy robots",
- "description": "Big Robots (theme only)",
+ "id": "herbarium-press",
+ "title": "Gilded Meadow Archive",
+ "theme": "pressed botanical flowers",
+ "description": "Herbario family (theme only)",
"size": "24\" x 25\"",
- "created_at": "2026-07-22T19:18:44.703698+00:00",
+ "created_at": "2026-07-22T19:19:01.485722+00:00",
"variants": [
{
- "file": "robot-parade-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:26:12.130152+00:00",
+ "file": "herbarium-press-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:36:02.649622+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
+ "acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "robot-parade-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:26:23.679444+00:00",
+ "file": "herbarium-press-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:37:15.081937+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
"acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "FAIL",
"max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-herbarium-press.jpg",
+ "title": "Herbario Canary"
+ },
+ "colorway": "Saffron & Bone"
+ },
+ {
+ "id": "desert-choir",
+ "title": "Cactus Cathedral",
+ "theme": "oversized southwest cacti",
+ "description": "Cactus Spirit (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:19:08.811454+00:00",
+ "variants": [
{
- "file": "robot-parade-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:26:36.526022+00:00",
+ "file": "desert-choir-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:38:31.466642+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
"a3_multi_color_leaves": false,
"b_prohibited": false,
- "b_matched": "empty",
+ "b_matched": "",
"acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "WARN",
"max": null
}
},
{
- "file": "robot-parade-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:26:49.258393+00:00",
+ "file": "desert-choir-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:39:47.819647+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
@@ -358,11 +331,26 @@
"verdict": "PASS",
"max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-desert-choir.jpg",
+ "title": "Cactus Spirit Rosegold"
+ },
+ "colorway": "Blush & Alabaster"
+ },
+ {
+ "id": "ray-shadow",
+ "title": "Velvet Ray Ballet",
+ "theme": "spotted eagle ray skin",
+ "description": "Sea Ray (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:19:16.192537+00:00",
+ "variants": [
{
- "file": "robot-parade-v2-sdxl.png",
+ "file": "ray-shadow-v2-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T21:31:05.013620+00:00",
+ "created_at": "2026-07-22T21:41:04.188883+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -373,22 +361,22 @@
"acceptable": true
},
"tile": {
- "verdict": "FAIL",
+ "verdict": "WARN",
"max": null
}
},
{
- "file": "robot-parade-v3-sdxl.png",
+ "file": "ray-shadow-v3-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T21:32:17.498257+00:00",
+ "created_at": "2026-07-22T21:42:16.595011+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": true
+ "acceptable": false
},
"tile": {
"verdict": "WARN",
@@ -397,23 +385,23 @@
}
],
"reference": {
- "file": "ref-robot-parade.jpg",
- "title": "Big Robots Tin"
+ "file": "ref-ray-shadow.jpg",
+ "title": "Sea Ray Rosewood"
},
- "colorway": "Silver & Chalk"
+ "colorway": "Dusty Rose Wash"
},
{
- "id": "galaxy-bots",
- "title": "Cosmodrome Circus",
- "theme": "robots in outer space",
- "description": "Astrobots (theme only)",
+ "id": "moonrise-ikat",
+ "title": "Lunar Loom",
+ "theme": "moon phases as ikat",
+ "description": "Earthlight (theme only)",
"size": "24\" x 25\"",
- "created_at": "2026-07-22T19:18:53.231918+00:00",
+ "created_at": "2026-07-22T19:19:24.429045+00:00",
"variants": [
{
- "file": "galaxy-bots-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:26:59.629503+00:00",
+ "file": "moonrise-ikat-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:43:32.979165+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -421,7 +409,7 @@
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": true
+ "acceptable": false
},
"tile": {
"verdict": "PASS",
@@ -429,9 +417,9 @@
}
},
{
- "file": "galaxy-bots-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:27:09.194540+00:00",
+ "file": "moonrise-ikat-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -445,55 +433,52 @@
"verdict": "PASS",
"max": null
}
- },
- {
- "file": "galaxy-bots-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:27:19.201779+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-moonrise-ikat.jpg",
+ "title": "Earthlight Ashlar"
+ },
+ "colorway": "Alabaster Veil"
+ },
+ {
+ "id": "night-jungle",
+ "title": "Midnight Menagerie",
+ "theme": "nocturnal jungle flora and fauna",
+ "description": "Jungle Dream (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:19:32.563982+00:00",
+ "variants": [
{
- "file": "galaxy-bots-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:27:29.196604+00:00",
+ "file": "night-jungle-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
+ "a3_multi_color_leaves": true,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
+ "acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "galaxy-bots-v2-sdxl.png",
+ "file": "night-jungle-v3-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T21:33:33.810453+00:00",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
+ "a3_multi_color_leaves": true,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
+ "acceptable": true
},
"tile": {
"verdict": "FAIL",
@@ -501,60 +486,59 @@
}
},
{
- "file": "galaxy-bots-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:34:46.315492+00:00",
+ "file": "night-jungle-v7-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:07:29.653323+00:00",
+ "tile": {
+ "verdict": "FAIL"
+ },
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
+ "a3_multi_color_leaves": true,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
+ "acceptable": true
}
}
],
"reference": {
- "file": "ref-galaxy-bots.jpg",
- "title": "Astrobots Thunder"
+ "file": "ref-night-jungle.jpg",
+ "title": "Jungle Dream Charcoal"
},
- "colorway": "Graphite Static"
+ "colorway": "Ink Jungle"
},
{
- "id": "herbarium-press",
- "title": "Gilded Meadow Archive",
- "theme": "pressed botanical flowers",
- "description": "Herbario family (theme only)",
+ "id": "golden-pineapple",
+ "title": "Pineapple Palazzo",
+ "theme": "pineapple welcome",
+ "description": "Pi\u00f1a Sola (theme only)",
"size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:01.485722+00:00",
+ "created_at": "2026-07-22T19:19:39.573122+00:00",
"variants": [
{
- "file": "herbarium-press-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:27:40.874614+00:00",
+ "file": "golden-pineapple-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
"a2_open_space": true,
- "a3_multi_color_leaves": false,
+ "a3_multi_color_leaves": true,
"b_prohibited": false,
"b_matched": "",
"acceptable": true
},
"tile": {
- "verdict": "WARN",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "herbarium-press-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:27:51.901661+00:00",
+ "file": "golden-pineapple-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
@@ -570,27 +554,41 @@
}
},
{
- "file": "herbarium-press-v5-nano.png",
+ "file": "golden-pineapple-v7-nano.png",
"engine": "nano-banana",
- "created_at": "2026-07-22T21:28:01.431134+00:00",
+ "created_at": "2026-07-23T00:07:29.653323+00:00",
+ "tile": {
+ "verdict": "FAIL"
+ },
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
"a2_open_space": true,
- "a3_multi_color_leaves": true,
+ "a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-golden-pineapple.jpg",
+ "title": "Pi\u00f1a Sola Charcoal"
+ },
+ "colorway": "Noir & Silver"
+ },
+ {
+ "id": "monstera-bungalow",
+ "title": "Emerald Riviera",
+ "theme": "monstera leaves",
+ "description": "Deliciosa (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:19:47.415754+00:00",
+ "variants": [
{
- "file": "herbarium-press-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:28:13.163490+00:00",
+ "file": "monstera-bungalow-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
@@ -601,65 +599,65 @@
"acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "herbarium-press-v2-sdxl.png",
+ "file": "monstera-bungalow-v3-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T21:36:02.649622+00:00",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
"a2_open_space": true,
- "a3_multi_color_leaves": false,
+ "a3_multi_color_leaves": true,
"b_prohibited": false,
"b_matched": "",
- "acceptable": true
+ "acceptable": false
},
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "borderline": true
},
{
- "file": "herbarium-press-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:37:15.081937+00:00",
+ "file": "monstera-bungalow-v7-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:07:29.653323+00:00",
+ "tile": {
+ "verdict": "FAIL"
+ },
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
"a2_open_space": true,
- "a3_multi_color_leaves": false,
+ "a3_multi_color_leaves": true,
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
}
}
],
"reference": {
- "file": "ref-herbarium-press.jpg",
- "title": "Herbario Canary"
+ "file": "ref-monstera-bungalow.jpg",
+ "title": "Deliciosa Bungalow"
},
- "colorway": "Saffron & Bone"
+ "colorway": "Fern & Ivory"
},
{
- "id": "desert-choir",
- "title": "Cactus Cathedral",
- "theme": "oversized southwest cacti",
- "description": "Cactus Spirit (theme only)",
+ "id": "painted-feathers",
+ "title": "Feather Fandango",
+ "theme": "folk feather stripes",
+ "description": "Indian Summer (theme only)",
"size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:08.811454+00:00",
+ "created_at": "2026-07-22T19:19:56.756156+00:00",
"variants": [
{
- "file": "desert-choir-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:28:22.289256+00:00",
+ "file": "painted-feathers-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:54:44.979625+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
@@ -670,32 +668,35 @@
"acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "desert-choir-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:28:31.392012+00:00",
+ "file": "painted-feathers-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:27:26.559229+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
"a2_open_space": true,
"a3_multi_color_leaves": false,
"b_prohibited": false,
- "b_matched": "",
+ "b_matched": "empty",
"acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "desert-choir-v5-nano.png",
+ "file": "painted-feathers-v7-nano.png",
"engine": "nano-banana",
- "created_at": "2026-07-22T21:28:40.389465+00:00",
+ "created_at": "2026-07-23T00:07:29.653323+00:00",
+ "tile": {
+ "verdict": "PASS"
+ },
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": true,
@@ -704,139 +705,27 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-painted-feathers.jpg",
+ "title": "Indian Summer Sphinx"
+ },
+ "colorway": "Camel & Chalk"
+ },
+ {
+ "id": "tidepool-bloom",
+ "title": "Anemone Opera",
+ "theme": "sea anemone texture",
+ "description": "Anemone (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:20:04.111473+00:00",
+ "variants": [
{
- "file": "desert-choir-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:28:49.892493+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "desert-choir-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:38:31.466642+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "desert-choir-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:39:47.819647+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- }
- ],
- "reference": {
- "file": "ref-desert-choir.jpg",
- "title": "Cactus Spirit Rosegold"
- },
- "colorway": "Blush & Alabaster"
- },
- {
- "id": "ray-shadow",
- "title": "Velvet Ray Ballet",
- "theme": "spotted eagle ray skin",
- "description": "Sea Ray (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:16.192537+00:00",
- "variants": [
- {
- "file": "ray-shadow-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:28:59.247462+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "ray-shadow-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:29:08.612208+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "ray-shadow-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:29:17.991417+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "ray-shadow-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:29:27.110827+00:00",
+ "file": "tidepool-bloom-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T21:56:01.384726+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -852,159 +741,18 @@
}
},
{
- "file": "ray-shadow-v2-sdxl.png",
+ "file": "tidepool-bloom-v3-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T21:41:04.188883+00:00",
+ "created_at": "2026-07-22T21:57:13.956759+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "ray-shadow-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:42:16.595011+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
"a2_open_space": true,
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
"acceptable": false
},
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- }
- ],
- "reference": {
- "file": "ref-ray-shadow.jpg",
- "title": "Sea Ray Rosewood"
- },
- "colorway": "Dusty Rose Wash"
- },
- {
- "id": "moonrise-ikat",
- "title": "Lunar Loom",
- "theme": "moon phases as ikat",
- "description": "Earthlight (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:24.429045+00:00",
- "variants": [
- {
- "file": "moonrise-ikat-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:29:37.658750+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "moonrise-ikat-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:29:48.807895+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "moonrise-ikat-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:29:58.763454+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "moonrise-ikat-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:30:08.667258+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "moonrise-ikat-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:43:32.979165+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "moonrise-ikat-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
"tile": {
"verdict": "PASS",
"max": null
@@ -1012,1290 +760,41 @@
}
],
"reference": {
- "file": "ref-moonrise-ikat.jpg",
- "title": "Earthlight Ashlar"
+ "file": "ref-tidepool-bloom.jpg",
+ "title": "Anemone Zephyr"
},
- "colorway": "Alabaster Veil"
+ "colorway": "Powder Tide"
},
{
- "id": "night-jungle",
- "title": "Midnight Menagerie",
- "theme": "nocturnal jungle flora and fauna",
- "description": "Jungle Dream (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:32.563982+00:00",
- "variants": [
- {
- "file": "night-jungle-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:30:19.064013+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "night-jungle-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:30:29.303266+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "night-jungle-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:30:40.361786+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "night-jungle-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:30:51.520312+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "night-jungle-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "night-jungle-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "night-jungle-v7-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-23T00:07:29.653323+00:00",
- "tile": {
- "verdict": "FAIL"
- },
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- }
- }
- ],
- "reference": {
- "file": "ref-night-jungle.jpg",
- "title": "Jungle Dream Charcoal"
- },
- "colorway": "Ink Jungle"
- },
- {
- "id": "golden-pineapple",
- "title": "Pineapple Palazzo",
- "theme": "pineapple welcome",
- "description": "Pi\u00f1a Sola (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:39.573122+00:00",
- "variants": [
- {
- "file": "golden-pineapple-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:31:02.529078+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "golden-pineapple-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:31:13.347505+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "golden-pineapple-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:31:24.672913+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "golden-pineapple-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:31:35.463891+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "golden-pineapple-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "golden-pineapple-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "golden-pineapple-v7-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-23T00:07:29.653323+00:00",
- "tile": {
- "verdict": "FAIL"
- },
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- }
- }
- ],
- "reference": {
- "file": "ref-golden-pineapple.jpg",
- "title": "Pi\u00f1a Sola Charcoal"
- },
- "colorway": "Noir & Silver"
- },
- {
- "id": "monstera-bungalow",
- "title": "Emerald Riviera",
- "theme": "monstera leaves",
- "description": "Deliciosa (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:47.415754+00:00",
- "variants": [
- {
- "file": "monstera-bungalow-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:31:45.753860+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "monstera-bungalow-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:31:55.438881+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "monstera-bungalow-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:32:05.112498+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "monstera-bungalow-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:32:16.509716+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "monstera-bungalow-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "monstera-bungalow-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- },
- "borderline": true
- },
- {
- "file": "monstera-bungalow-v7-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-23T00:07:29.653323+00:00",
- "tile": {
- "verdict": "FAIL"
- },
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- }
- }
- ],
- "reference": {
- "file": "ref-monstera-bungalow.jpg",
- "title": "Deliciosa Bungalow"
- },
- "colorway": "Fern & Ivory"
- },
- {
- "id": "painted-feathers",
- "title": "Feather Fandango",
- "theme": "folk feather stripes",
- "description": "Indian Summer (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:19:56.756156+00:00",
- "variants": [
- {
- "file": "painted-feathers-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:32:26.682530+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "painted-feathers-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:32:37.703495+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "painted-feathers-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:32:48.560120+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "painted-feathers-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:33:00.539870+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- },
- "borderline": true
- },
- {
- "file": "painted-feathers-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:54:44.979625+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "painted-feathers-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:27:26.559229+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "painted-feathers-v7-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-23T00:07:29.653323+00:00",
- "tile": {
- "verdict": "PASS"
- },
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- }
- }
- ],
- "reference": {
- "file": "ref-painted-feathers.jpg",
- "title": "Indian Summer Sphinx"
- },
- "colorway": "Camel & Chalk"
- },
- {
- "id": "tidepool-bloom",
- "title": "Anemone Opera",
- "theme": "sea anemone texture",
- "description": "Anemone (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:04.111473+00:00",
- "variants": [
- {
- "file": "tidepool-bloom-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:33:09.969386+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "tidepool-bloom-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:33:19.110289+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "tidepool-bloom-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:33:28.450660+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "tidepool-bloom-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:33:37.820224+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "tidepool-bloom-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:56:01.384726+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "tidepool-bloom-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:57:13.956759+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- }
- ],
- "reference": {
- "file": "ref-tidepool-bloom.jpg",
- "title": "Anemone Zephyr"
- },
- "colorway": "Powder Tide"
- },
- {
- "id": "mod-orbit",
- "title": "Orbit Deluxe",
- "theme": "mod geometric",
- "description": "Baby geometric (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:11.215237+00:00",
- "variants": [
- {
- "file": "mod-orbit-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:33:50.812991+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "mod-orbit-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:34:08.401167+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "mod-orbit-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:42:40.554134+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "mod-orbit-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:42:50.918374+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "mod-orbit-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:58:30.389768+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "mod-orbit-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T21:59:42.965320+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- }
- ],
- "reference": {
- "file": "ref-mod-orbit.jpg",
- "title": "Baby Azzurro"
- },
- "colorway": "Cerulean & Chalk"
- },
- {
- "id": "lost-continent",
- "title": "Saurian Empire",
- "theme": "jurassic dinosaurs",
- "description": "Pangaea (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:19.084639+00:00",
- "variants": [
- {
- "file": "lost-continent-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:34:28.321275+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lost-continent-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:34:39.309300+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "lost-continent-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:34:52.673870+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lost-continent-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:35:05.284879+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lost-continent-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:00:59.400841+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": true,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lost-continent-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:02:11.921873+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- }
- ],
- "reference": {
- "file": "ref-lost-continent.jpg",
- "title": "Pangaea Mineral"
- },
- "colorway": "Fog & Bone"
- },
- {
- "id": "plumbline",
- "title": "Pipeworks Symphony",
- "theme": "micro pipe geometric",
- "description": "Pipes (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:28.289896+00:00",
- "variants": [
- {
- "file": "plumbline-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:35:25.455859+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "plumbline-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:35:45.077579+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "plumbline-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:43:00.501590+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "plumbline-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:43:11.193178+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "plumbline-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:03:28.316667+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "plumbline-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:04:40.868628+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- }
- ],
- "reference": {
- "file": "ref-plumbline.jpg",
- "title": "Pipes Aqua"
- },
- "colorway": "Aqua Porcelain"
- },
- {
- "id": "lagoon-legends",
- "title": "Serpent Lagoon",
- "theme": "mythic lake monsters",
- "description": "Mystic Lagoon (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:36.563316+00:00",
- "variants": [
- {
- "file": "lagoon-legends-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:35:57.027301+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lagoon-legends-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:36:06.379009+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lagoon-legends-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:36:17.598722+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lagoon-legends-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:36:29.907955+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "lagoon-legends-v2-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:05:57.268041+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "lagoon-legends-v3-sdxl.png",
- "engine": "local-sdxl",
- "created_at": "2026-07-22T22:07:09.688820+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- }
- ],
- "reference": {
- "file": "ref-lagoon-legends.jpg",
- "title": "Mystic Lagoon Caribe"
- },
- "colorway": "Sea Glass"
- },
- {
- "id": "fungi-skyline",
- "title": "Mushroom Metropolis",
- "theme": "mushroom cityscape",
- "description": "Mushroom City (theme only)",
- "size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:44.807884+00:00",
- "variants": [
- {
- "file": "fungi-skyline-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:36:38.807988+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "fungi-skyline-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:36:48.838809+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "fungi-skyline-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:37:03.175349+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "fungi-skyline-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:37:14.770987+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
+ "id": "mod-orbit",
+ "title": "Orbit Deluxe",
+ "theme": "mod geometric",
+ "description": "Baby geometric (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:20:11.215237+00:00",
+ "variants": [
{
- "file": "fungi-skyline-v2-sdxl.png",
+ "file": "mod-orbit-v2-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T22:08:26.098085+00:00",
+ "created_at": "2026-07-22T21:58:30.389768+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
"a2_open_space": false,
"a3_multi_color_leaves": false,
"b_prohibited": false,
- "b_matched": "empty",
- "acceptable": true
+ "b_matched": "",
+ "acceptable": false
},
"tile": {
- "verdict": "WARN",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "fungi-skyline-v3-sdxl.png",
+ "file": "mod-orbit-v3-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T22:09:38.610671+00:00",
+ "created_at": "2026-07-22T21:59:42.965320+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2303,40 +802,40 @@
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": true
+ "acceptable": false
},
"tile": {
- "verdict": "WARN",
+ "verdict": "FAIL",
"max": null
}
}
],
"reference": {
- "file": "ref-fungi-skyline.jpg",
- "title": "Mushroom City Botanica"
+ "file": "ref-mod-orbit.jpg",
+ "title": "Baby Azzurro"
},
- "colorway": "Eucalyptus Mist"
+ "colorway": "Cerulean & Chalk"
},
{
- "id": "regatta-day",
- "title": "Regatta Royale",
- "theme": "vintage speedboats",
- "description": "Boating (theme only)",
+ "id": "lost-continent",
+ "title": "Saurian Empire",
+ "theme": "jurassic dinosaurs",
+ "description": "Pangaea (theme only)",
"size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:52.326402+00:00",
+ "created_at": "2026-07-22T19:20:19.084639+00:00",
"variants": [
{
- "file": "regatta-day-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:37:24.140099+00:00",
+ "file": "lost-continent-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:00:59.400841+00:00",
"settlement": "OK",
"settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
+ "a1_directional_foliage": true,
+ "a2_open_space": true,
+ "a3_multi_color_leaves": true,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
+ "acceptable": true
},
"tile": {
"verdict": "PASS",
@@ -2344,9 +843,9 @@
}
},
{
- "file": "regatta-day-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:37:34.624788+00:00",
+ "file": "lost-continent-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:02:11.921873+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2354,25 +853,40 @@
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": false
+ "acceptable": true
},
"tile": {
- "verdict": "PASS",
+ "verdict": "WARN",
"max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-lost-continent.jpg",
+ "title": "Pangaea Mineral"
+ },
+ "colorway": "Fog & Bone"
+ },
+ {
+ "id": "plumbline",
+ "title": "Pipeworks Symphony",
+ "theme": "micro pipe geometric",
+ "description": "Pipes (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:20:28.289896+00:00",
+ "variants": [
{
- "file": "regatta-day-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:37:44.401095+00:00",
+ "file": "plumbline-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:03:28.316667+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
"a2_open_space": false,
"a3_multi_color_leaves": false,
"b_prohibited": false,
- "b_matched": "",
- "acceptable": true
+ "b_matched": "empty",
+ "acceptable": false
},
"tile": {
"verdict": "FAIL",
@@ -2380,9 +894,9 @@
}
},
{
- "file": "regatta-day-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:37:56.786006+00:00",
+ "file": "plumbline-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:04:40.868628+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2396,11 +910,26 @@
"verdict": "FAIL",
"max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-plumbline.jpg",
+ "title": "Pipes Aqua"
+ },
+ "colorway": "Aqua Porcelain"
+ },
+ {
+ "id": "lagoon-legends",
+ "title": "Serpent Lagoon",
+ "theme": "mythic lake monsters",
+ "description": "Mystic Lagoon (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:20:36.563316+00:00",
+ "variants": [
{
- "file": "regatta-day-v2-sdxl.png",
+ "file": "lagoon-legends-v2-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T22:10:55.007558+00:00",
+ "created_at": "2026-07-22T22:05:57.268041+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2408,7 +937,7 @@
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": true
+ "acceptable": false
},
"tile": {
"verdict": "FAIL",
@@ -2416,9 +945,9 @@
}
},
{
- "file": "regatta-day-v3-sdxl.png",
+ "file": "lagoon-legends-v3-sdxl.png",
"engine": "local-sdxl",
- "created_at": "2026-07-22T22:12:07.627069+00:00",
+ "created_at": "2026-07-22T22:07:09.688820+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2435,41 +964,41 @@
}
],
"reference": {
- "file": "ref-regatta-day.jpg",
- "title": "Boating Hunter"
+ "file": "ref-lagoon-legends.jpg",
+ "title": "Mystic Lagoon Caribe"
},
- "colorway": "Hunter & Chalk"
+ "colorway": "Sea Glass"
},
{
- "id": "arcade-memory",
- "title": "Arcade Aristocrat",
- "theme": "retro handheld video games",
- "description": "Gameland (theme only)",
+ "id": "fungi-skyline",
+ "title": "Mushroom Metropolis",
+ "theme": "mushroom cityscape",
+ "description": "Mushroom City (theme only)",
"size": "24\" x 25\"",
- "created_at": "2026-07-22T19:20:59.875088+00:00",
+ "created_at": "2026-07-22T19:20:44.807884+00:00",
"variants": [
{
- "file": "arcade-memory-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:38:06.852109+00:00",
+ "file": "fungi-skyline-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:08:26.098085+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
"a2_open_space": false,
"a3_multi_color_leaves": false,
"b_prohibited": false,
- "b_matched": "",
+ "b_matched": "empty",
"acceptable": true
},
"tile": {
- "verdict": "FAIL",
+ "verdict": "WARN",
"max": null
}
},
{
- "file": "arcade-memory-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:38:16.956620+00:00",
+ "file": "fungi-skyline-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:09:38.610671+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2480,14 +1009,29 @@
"acceptable": true
},
"tile": {
- "verdict": "FAIL",
+ "verdict": "WARN",
"max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-fungi-skyline.jpg",
+ "title": "Mushroom City Botanica"
+ },
+ "colorway": "Eucalyptus Mist"
+ },
+ {
+ "id": "regatta-day",
+ "title": "Regatta Royale",
+ "theme": "vintage speedboats",
+ "description": "Boating (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:20:52.326402+00:00",
+ "variants": [
{
- "file": "arcade-memory-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:38:26.877377+00:00",
+ "file": "regatta-day-v2-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:10:55.007558+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2498,14 +1042,14 @@
"acceptable": true
},
"tile": {
- "verdict": "WARN",
+ "verdict": "FAIL",
"max": null
}
},
{
- "file": "arcade-memory-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:38:36.842661+00:00",
+ "file": "regatta-day-v3-sdxl.png",
+ "engine": "local-sdxl",
+ "created_at": "2026-07-22T22:12:07.627069+00:00",
"settlement": "OK",
"settlement_detail": {
"a1_directional_foliage": false,
@@ -2513,13 +1057,28 @@
"a3_multi_color_leaves": false,
"b_prohibited": false,
"b_matched": "",
- "acceptable": true
+ "acceptable": false
},
"tile": {
"verdict": "FAIL",
"max": null
}
- },
+ }
+ ],
+ "reference": {
+ "file": "ref-regatta-day.jpg",
+ "title": "Boating Hunter"
+ },
+ "colorway": "Hunter & Chalk"
+ },
+ {
+ "id": "arcade-memory",
+ "title": "Arcade Aristocrat",
+ "theme": "retro handheld video games",
+ "description": "Gameland (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:20:59.875088+00:00",
+ "variants": [
{
"file": "arcade-memory-v2-sdxl.png",
"engine": "local-sdxl",
@@ -2588,78 +1147,6 @@
"size": "24\" x 25\"",
"created_at": "2026-07-22T19:21:07.384091+00:00",
"variants": [
- {
- "file": "daily-dose-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:38:47.416499+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "daily-dose-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:38:58.868724+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "daily-dose-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:39:08.651005+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "daily-dose-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:39:18.193456+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
{
"file": "daily-dose-v2-sdxl.png",
"engine": "local-sdxl",
@@ -2711,78 +1198,6 @@
"size": "24\" x 25\"",
"created_at": "2026-07-22T19:21:14.668432+00:00",
"variants": [
- {
- "file": "circle-fields-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:39:28.491554+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "circle-fields-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:39:38.273260+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "circle-fields-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:39:47.625327+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "circle-fields-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:39:57.508393+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
{
"file": "circle-fields-v2-sdxl.png",
"engine": "local-sdxl",
@@ -2834,78 +1249,6 @@
"size": "24\" x 25\"",
"created_at": "2026-07-22T19:21:22.389758+00:00",
"variants": [
- {
- "file": "campfire-toile-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:40:06.636878+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "campfire-toile-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:40:19.659114+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "campfire-toile-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:40:31.248940+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "campfire-toile-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:40:47.325628+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
{
"file": "campfire-toile-v2-sdxl.png",
"engine": "local-sdxl",
@@ -2974,78 +1317,6 @@
"size": "24\" x 25\"",
"created_at": "2026-07-22T19:21:29.970997+00:00",
"variants": [
- {
- "file": "dream-clouds-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:40:57.275652+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "PASS",
- "max": null
- }
- },
- {
- "file": "dream-clouds-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:41:09.217692+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "dream-clouds-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:41:19.380793+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "dream-clouds-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:41:29.258080+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "empty",
- "acceptable": false
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
{
"file": "dream-clouds-v2-sdxl.png",
"engine": "local-sdxl",
@@ -3097,78 +1368,6 @@
"size": "24\" x 25\"",
"created_at": "2026-07-22T19:21:38.380312+00:00",
"variants": [
- {
- "file": "bodega-cats-v1-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:41:40.783529+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "bodega-cats-v4-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:41:51.145542+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
- {
- "file": "bodega-cats-v5-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:42:03.697409+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": false,
- "a2_open_space": false,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "FAIL",
- "max": null
- }
- },
- {
- "file": "bodega-cats-v6-nano.png",
- "engine": "nano-banana",
- "created_at": "2026-07-22T21:42:14.777930+00:00",
- "settlement": "OK",
- "settlement_detail": {
- "a1_directional_foliage": true,
- "a2_open_space": true,
- "a3_multi_color_leaves": false,
- "b_prohibited": false,
- "b_matched": "",
- "acceptable": true
- },
- "tile": {
- "verdict": "WARN",
- "max": null
- }
- },
{
"file": "bodega-cats-v2-sdxl.png",
"engine": "local-sdxl",
diff --git a/output/designs/arcade-memory-v1-nano.png b/output/archive-v3/arcade-memory-v1-nano.png
similarity index 100%
rename from output/designs/arcade-memory-v1-nano.png
rename to output/archive-v3/arcade-memory-v1-nano.png
diff --git a/output/designs/arcade-memory-v4-nano.png b/output/archive-v3/arcade-memory-v4-nano.png
similarity index 100%
rename from output/designs/arcade-memory-v4-nano.png
rename to output/archive-v3/arcade-memory-v4-nano.png
diff --git a/output/designs/arcade-memory-v5-nano.png b/output/archive-v3/arcade-memory-v5-nano.png
similarity index 100%
rename from output/designs/arcade-memory-v5-nano.png
rename to output/archive-v3/arcade-memory-v5-nano.png
diff --git a/output/designs/arcade-memory-v6-nano.png b/output/archive-v3/arcade-memory-v6-nano.png
similarity index 100%
rename from output/designs/arcade-memory-v6-nano.png
rename to output/archive-v3/arcade-memory-v6-nano.png
diff --git a/output/designs/astral-tiger-v1-nano.png b/output/archive-v3/astral-tiger-v1-nano.png
similarity index 100%
rename from output/designs/astral-tiger-v1-nano.png
rename to output/archive-v3/astral-tiger-v1-nano.png
diff --git a/output/designs/astral-tiger-v4-nano.png b/output/archive-v3/astral-tiger-v4-nano.png
similarity index 100%
rename from output/designs/astral-tiger-v4-nano.png
rename to output/archive-v3/astral-tiger-v4-nano.png
diff --git a/output/designs/astral-tiger-v5-nano.png b/output/archive-v3/astral-tiger-v5-nano.png
similarity index 100%
rename from output/designs/astral-tiger-v5-nano.png
rename to output/archive-v3/astral-tiger-v5-nano.png
diff --git a/output/designs/astral-tiger-v6-nano.png b/output/archive-v3/astral-tiger-v6-nano.png
similarity index 100%
rename from output/designs/astral-tiger-v6-nano.png
rename to output/archive-v3/astral-tiger-v6-nano.png
diff --git a/output/designs/bodega-cats-v1-nano.png b/output/archive-v3/bodega-cats-v1-nano.png
similarity index 100%
rename from output/designs/bodega-cats-v1-nano.png
rename to output/archive-v3/bodega-cats-v1-nano.png
diff --git a/output/designs/bodega-cats-v4-nano.png b/output/archive-v3/bodega-cats-v4-nano.png
similarity index 100%
rename from output/designs/bodega-cats-v4-nano.png
rename to output/archive-v3/bodega-cats-v4-nano.png
diff --git a/output/designs/bodega-cats-v5-nano.png b/output/archive-v3/bodega-cats-v5-nano.png
similarity index 100%
rename from output/designs/bodega-cats-v5-nano.png
rename to output/archive-v3/bodega-cats-v5-nano.png
diff --git a/output/designs/bodega-cats-v6-nano.png b/output/archive-v3/bodega-cats-v6-nano.png
similarity index 100%
rename from output/designs/bodega-cats-v6-nano.png
rename to output/archive-v3/bodega-cats-v6-nano.png
diff --git a/output/designs/campfire-toile-v1-nano.png b/output/archive-v3/campfire-toile-v1-nano.png
similarity index 100%
rename from output/designs/campfire-toile-v1-nano.png
rename to output/archive-v3/campfire-toile-v1-nano.png
diff --git a/output/designs/campfire-toile-v4-nano.png b/output/archive-v3/campfire-toile-v4-nano.png
similarity index 100%
rename from output/designs/campfire-toile-v4-nano.png
rename to output/archive-v3/campfire-toile-v4-nano.png
diff --git a/output/designs/campfire-toile-v5-nano.png b/output/archive-v3/campfire-toile-v5-nano.png
similarity index 100%
rename from output/designs/campfire-toile-v5-nano.png
rename to output/archive-v3/campfire-toile-v5-nano.png
diff --git a/output/designs/campfire-toile-v6-nano.png b/output/archive-v3/campfire-toile-v6-nano.png
similarity index 100%
rename from output/designs/campfire-toile-v6-nano.png
rename to output/archive-v3/campfire-toile-v6-nano.png
diff --git a/output/designs/circle-fields-v1-nano.png b/output/archive-v3/circle-fields-v1-nano.png
similarity index 100%
rename from output/designs/circle-fields-v1-nano.png
rename to output/archive-v3/circle-fields-v1-nano.png
diff --git a/output/designs/circle-fields-v4-nano.png b/output/archive-v3/circle-fields-v4-nano.png
similarity index 100%
rename from output/designs/circle-fields-v4-nano.png
rename to output/archive-v3/circle-fields-v4-nano.png
diff --git a/output/designs/circle-fields-v5-nano.png b/output/archive-v3/circle-fields-v5-nano.png
similarity index 100%
rename from output/designs/circle-fields-v5-nano.png
rename to output/archive-v3/circle-fields-v5-nano.png
diff --git a/output/designs/circle-fields-v6-nano.png b/output/archive-v3/circle-fields-v6-nano.png
similarity index 100%
rename from output/designs/circle-fields-v6-nano.png
rename to output/archive-v3/circle-fields-v6-nano.png
diff --git a/output/designs/daily-dose-v1-nano.png b/output/archive-v3/daily-dose-v1-nano.png
similarity index 100%
rename from output/designs/daily-dose-v1-nano.png
rename to output/archive-v3/daily-dose-v1-nano.png
diff --git a/output/designs/daily-dose-v4-nano.png b/output/archive-v3/daily-dose-v4-nano.png
similarity index 100%
rename from output/designs/daily-dose-v4-nano.png
rename to output/archive-v3/daily-dose-v4-nano.png
diff --git a/output/designs/daily-dose-v5-nano.png b/output/archive-v3/daily-dose-v5-nano.png
similarity index 100%
rename from output/designs/daily-dose-v5-nano.png
rename to output/archive-v3/daily-dose-v5-nano.png
diff --git a/output/designs/daily-dose-v6-nano.png b/output/archive-v3/daily-dose-v6-nano.png
similarity index 100%
rename from output/designs/daily-dose-v6-nano.png
rename to output/archive-v3/daily-dose-v6-nano.png
diff --git a/output/designs/desert-choir-v1-nano.png b/output/archive-v3/desert-choir-v1-nano.png
similarity index 100%
rename from output/designs/desert-choir-v1-nano.png
rename to output/archive-v3/desert-choir-v1-nano.png
diff --git a/output/designs/desert-choir-v4-nano.png b/output/archive-v3/desert-choir-v4-nano.png
similarity index 100%
rename from output/designs/desert-choir-v4-nano.png
rename to output/archive-v3/desert-choir-v4-nano.png
diff --git a/output/designs/desert-choir-v5-nano.png b/output/archive-v3/desert-choir-v5-nano.png
similarity index 100%
rename from output/designs/desert-choir-v5-nano.png
rename to output/archive-v3/desert-choir-v5-nano.png
diff --git a/output/designs/desert-choir-v6-nano.png b/output/archive-v3/desert-choir-v6-nano.png
similarity index 100%
rename from output/designs/desert-choir-v6-nano.png
rename to output/archive-v3/desert-choir-v6-nano.png
diff --git a/output/designs/dream-clouds-v1-nano.png b/output/archive-v3/dream-clouds-v1-nano.png
similarity index 100%
rename from output/designs/dream-clouds-v1-nano.png
rename to output/archive-v3/dream-clouds-v1-nano.png
diff --git a/output/designs/dream-clouds-v4-nano.png b/output/archive-v3/dream-clouds-v4-nano.png
similarity index 100%
rename from output/designs/dream-clouds-v4-nano.png
rename to output/archive-v3/dream-clouds-v4-nano.png
diff --git a/output/designs/dream-clouds-v5-nano.png b/output/archive-v3/dream-clouds-v5-nano.png
similarity index 100%
rename from output/designs/dream-clouds-v5-nano.png
rename to output/archive-v3/dream-clouds-v5-nano.png
diff --git a/output/designs/dream-clouds-v6-nano.png b/output/archive-v3/dream-clouds-v6-nano.png
similarity index 100%
rename from output/designs/dream-clouds-v6-nano.png
rename to output/archive-v3/dream-clouds-v6-nano.png
diff --git a/output/designs/fungi-skyline-v1-nano.png b/output/archive-v3/fungi-skyline-v1-nano.png
similarity index 100%
rename from output/designs/fungi-skyline-v1-nano.png
rename to output/archive-v3/fungi-skyline-v1-nano.png
diff --git a/output/designs/fungi-skyline-v4-nano.png b/output/archive-v3/fungi-skyline-v4-nano.png
similarity index 100%
rename from output/designs/fungi-skyline-v4-nano.png
rename to output/archive-v3/fungi-skyline-v4-nano.png
diff --git a/output/designs/fungi-skyline-v5-nano.png b/output/archive-v3/fungi-skyline-v5-nano.png
similarity index 100%
rename from output/designs/fungi-skyline-v5-nano.png
rename to output/archive-v3/fungi-skyline-v5-nano.png
diff --git a/output/designs/fungi-skyline-v6-nano.png b/output/archive-v3/fungi-skyline-v6-nano.png
similarity index 100%
rename from output/designs/fungi-skyline-v6-nano.png
rename to output/archive-v3/fungi-skyline-v6-nano.png
diff --git a/output/designs/galaxy-bots-v1-nano.png b/output/archive-v3/galaxy-bots-v1-nano.png
similarity index 100%
rename from output/designs/galaxy-bots-v1-nano.png
rename to output/archive-v3/galaxy-bots-v1-nano.png
diff --git a/output/designs/galaxy-bots-v4-nano.png b/output/archive-v3/galaxy-bots-v4-nano.png
similarity index 100%
rename from output/designs/galaxy-bots-v4-nano.png
rename to output/archive-v3/galaxy-bots-v4-nano.png
diff --git a/output/designs/galaxy-bots-v5-nano.png b/output/archive-v3/galaxy-bots-v5-nano.png
similarity index 100%
rename from output/designs/galaxy-bots-v5-nano.png
rename to output/archive-v3/galaxy-bots-v5-nano.png
diff --git a/output/designs/galaxy-bots-v6-nano.png b/output/archive-v3/galaxy-bots-v6-nano.png
similarity index 100%
rename from output/designs/galaxy-bots-v6-nano.png
rename to output/archive-v3/galaxy-bots-v6-nano.png
diff --git a/output/designs/golden-pineapple-v1-nano.png b/output/archive-v3/golden-pineapple-v1-nano.png
similarity index 100%
rename from output/designs/golden-pineapple-v1-nano.png
rename to output/archive-v3/golden-pineapple-v1-nano.png
diff --git a/output/designs/golden-pineapple-v4-nano.png b/output/archive-v3/golden-pineapple-v4-nano.png
similarity index 100%
rename from output/designs/golden-pineapple-v4-nano.png
rename to output/archive-v3/golden-pineapple-v4-nano.png
diff --git a/output/designs/golden-pineapple-v5-nano.png b/output/archive-v3/golden-pineapple-v5-nano.png
similarity index 100%
rename from output/designs/golden-pineapple-v5-nano.png
rename to output/archive-v3/golden-pineapple-v5-nano.png
diff --git a/output/designs/golden-pineapple-v6-nano.png b/output/archive-v3/golden-pineapple-v6-nano.png
similarity index 100%
rename from output/designs/golden-pineapple-v6-nano.png
rename to output/archive-v3/golden-pineapple-v6-nano.png
diff --git a/output/designs/herbarium-press-v1-nano.png b/output/archive-v3/herbarium-press-v1-nano.png
similarity index 100%
rename from output/designs/herbarium-press-v1-nano.png
rename to output/archive-v3/herbarium-press-v1-nano.png
diff --git a/output/designs/herbarium-press-v4-nano.png b/output/archive-v3/herbarium-press-v4-nano.png
similarity index 100%
rename from output/designs/herbarium-press-v4-nano.png
rename to output/archive-v3/herbarium-press-v4-nano.png
diff --git a/output/designs/herbarium-press-v5-nano.png b/output/archive-v3/herbarium-press-v5-nano.png
similarity index 100%
rename from output/designs/herbarium-press-v5-nano.png
rename to output/archive-v3/herbarium-press-v5-nano.png
diff --git a/output/designs/herbarium-press-v6-nano.png b/output/archive-v3/herbarium-press-v6-nano.png
similarity index 100%
rename from output/designs/herbarium-press-v6-nano.png
rename to output/archive-v3/herbarium-press-v6-nano.png
diff --git a/output/designs/lagoon-legends-v1-nano.png b/output/archive-v3/lagoon-legends-v1-nano.png
similarity index 100%
rename from output/designs/lagoon-legends-v1-nano.png
rename to output/archive-v3/lagoon-legends-v1-nano.png
diff --git a/output/designs/lagoon-legends-v4-nano.png b/output/archive-v3/lagoon-legends-v4-nano.png
similarity index 100%
rename from output/designs/lagoon-legends-v4-nano.png
rename to output/archive-v3/lagoon-legends-v4-nano.png
diff --git a/output/designs/lagoon-legends-v5-nano.png b/output/archive-v3/lagoon-legends-v5-nano.png
similarity index 100%
rename from output/designs/lagoon-legends-v5-nano.png
rename to output/archive-v3/lagoon-legends-v5-nano.png
diff --git a/output/designs/lagoon-legends-v6-nano.png b/output/archive-v3/lagoon-legends-v6-nano.png
similarity index 100%
rename from output/designs/lagoon-legends-v6-nano.png
rename to output/archive-v3/lagoon-legends-v6-nano.png
diff --git a/output/designs/lost-continent-v1-nano.png b/output/archive-v3/lost-continent-v1-nano.png
similarity index 100%
rename from output/designs/lost-continent-v1-nano.png
rename to output/archive-v3/lost-continent-v1-nano.png
diff --git a/output/designs/lost-continent-v4-nano.png b/output/archive-v3/lost-continent-v4-nano.png
similarity index 100%
rename from output/designs/lost-continent-v4-nano.png
rename to output/archive-v3/lost-continent-v4-nano.png
diff --git a/output/designs/lost-continent-v5-nano.png b/output/archive-v3/lost-continent-v5-nano.png
similarity index 100%
rename from output/designs/lost-continent-v5-nano.png
rename to output/archive-v3/lost-continent-v5-nano.png
diff --git a/output/designs/lost-continent-v6-nano.png b/output/archive-v3/lost-continent-v6-nano.png
similarity index 100%
rename from output/designs/lost-continent-v6-nano.png
rename to output/archive-v3/lost-continent-v6-nano.png
diff --git a/output/designs/midnight-frequency-v1-nano.png b/output/archive-v3/midnight-frequency-v1-nano.png
similarity index 100%
rename from output/designs/midnight-frequency-v1-nano.png
rename to output/archive-v3/midnight-frequency-v1-nano.png
diff --git a/output/designs/midnight-frequency-v4-nano.png b/output/archive-v3/midnight-frequency-v4-nano.png
similarity index 100%
rename from output/designs/midnight-frequency-v4-nano.png
rename to output/archive-v3/midnight-frequency-v4-nano.png
diff --git a/output/designs/midnight-frequency-v5-nano.png b/output/archive-v3/midnight-frequency-v5-nano.png
similarity index 100%
rename from output/designs/midnight-frequency-v5-nano.png
rename to output/archive-v3/midnight-frequency-v5-nano.png
diff --git a/output/designs/midnight-frequency-v6-nano.png b/output/archive-v3/midnight-frequency-v6-nano.png
similarity index 100%
rename from output/designs/midnight-frequency-v6-nano.png
rename to output/archive-v3/midnight-frequency-v6-nano.png
diff --git a/output/designs/mod-orbit-v1-nano.png b/output/archive-v3/mod-orbit-v1-nano.png
similarity index 100%
rename from output/designs/mod-orbit-v1-nano.png
rename to output/archive-v3/mod-orbit-v1-nano.png
diff --git a/output/designs/mod-orbit-v4-nano.png b/output/archive-v3/mod-orbit-v4-nano.png
similarity index 100%
rename from output/designs/mod-orbit-v4-nano.png
rename to output/archive-v3/mod-orbit-v4-nano.png
diff --git a/output/designs/mod-orbit-v5-nano.png b/output/archive-v3/mod-orbit-v5-nano.png
similarity index 100%
rename from output/designs/mod-orbit-v5-nano.png
rename to output/archive-v3/mod-orbit-v5-nano.png
diff --git a/output/designs/mod-orbit-v6-nano.png b/output/archive-v3/mod-orbit-v6-nano.png
similarity index 100%
rename from output/designs/mod-orbit-v6-nano.png
rename to output/archive-v3/mod-orbit-v6-nano.png
diff --git a/output/designs/monstera-bungalow-v1-nano.png b/output/archive-v3/monstera-bungalow-v1-nano.png
similarity index 100%
rename from output/designs/monstera-bungalow-v1-nano.png
rename to output/archive-v3/monstera-bungalow-v1-nano.png
diff --git a/output/designs/monstera-bungalow-v4-nano.png b/output/archive-v3/monstera-bungalow-v4-nano.png
similarity index 100%
rename from output/designs/monstera-bungalow-v4-nano.png
rename to output/archive-v3/monstera-bungalow-v4-nano.png
diff --git a/output/designs/monstera-bungalow-v5-nano.png b/output/archive-v3/monstera-bungalow-v5-nano.png
similarity index 100%
rename from output/designs/monstera-bungalow-v5-nano.png
rename to output/archive-v3/monstera-bungalow-v5-nano.png
diff --git a/output/designs/monstera-bungalow-v6-nano.png b/output/archive-v3/monstera-bungalow-v6-nano.png
similarity index 100%
rename from output/designs/monstera-bungalow-v6-nano.png
rename to output/archive-v3/monstera-bungalow-v6-nano.png
diff --git a/output/designs/moonrise-ikat-v1-nano.png b/output/archive-v3/moonrise-ikat-v1-nano.png
similarity index 100%
rename from output/designs/moonrise-ikat-v1-nano.png
rename to output/archive-v3/moonrise-ikat-v1-nano.png
diff --git a/output/designs/moonrise-ikat-v4-nano.png b/output/archive-v3/moonrise-ikat-v4-nano.png
similarity index 100%
rename from output/designs/moonrise-ikat-v4-nano.png
rename to output/archive-v3/moonrise-ikat-v4-nano.png
diff --git a/output/designs/moonrise-ikat-v5-nano.png b/output/archive-v3/moonrise-ikat-v5-nano.png
similarity index 100%
rename from output/designs/moonrise-ikat-v5-nano.png
rename to output/archive-v3/moonrise-ikat-v5-nano.png
diff --git a/output/designs/moonrise-ikat-v6-nano.png b/output/archive-v3/moonrise-ikat-v6-nano.png
similarity index 100%
rename from output/designs/moonrise-ikat-v6-nano.png
rename to output/archive-v3/moonrise-ikat-v6-nano.png
diff --git a/output/designs/night-jungle-v1-nano.png b/output/archive-v3/night-jungle-v1-nano.png
similarity index 100%
rename from output/designs/night-jungle-v1-nano.png
rename to output/archive-v3/night-jungle-v1-nano.png
diff --git a/output/designs/night-jungle-v4-nano.png b/output/archive-v3/night-jungle-v4-nano.png
similarity index 100%
rename from output/designs/night-jungle-v4-nano.png
rename to output/archive-v3/night-jungle-v4-nano.png
diff --git a/output/designs/night-jungle-v5-nano.png b/output/archive-v3/night-jungle-v5-nano.png
similarity index 100%
rename from output/designs/night-jungle-v5-nano.png
rename to output/archive-v3/night-jungle-v5-nano.png
diff --git a/output/designs/night-jungle-v6-nano.png b/output/archive-v3/night-jungle-v6-nano.png
similarity index 100%
rename from output/designs/night-jungle-v6-nano.png
rename to output/archive-v3/night-jungle-v6-nano.png
diff --git a/output/designs/painted-feathers-v1-nano.png b/output/archive-v3/painted-feathers-v1-nano.png
similarity index 100%
rename from output/designs/painted-feathers-v1-nano.png
rename to output/archive-v3/painted-feathers-v1-nano.png
diff --git a/output/designs/painted-feathers-v4-nano.png b/output/archive-v3/painted-feathers-v4-nano.png
similarity index 100%
rename from output/designs/painted-feathers-v4-nano.png
rename to output/archive-v3/painted-feathers-v4-nano.png
diff --git a/output/designs/painted-feathers-v5-nano.png b/output/archive-v3/painted-feathers-v5-nano.png
similarity index 100%
rename from output/designs/painted-feathers-v5-nano.png
rename to output/archive-v3/painted-feathers-v5-nano.png
diff --git a/output/designs/painted-feathers-v6-nano.png b/output/archive-v3/painted-feathers-v6-nano.png
similarity index 100%
rename from output/designs/painted-feathers-v6-nano.png
rename to output/archive-v3/painted-feathers-v6-nano.png
diff --git a/output/designs/plumbline-v1-nano.png b/output/archive-v3/plumbline-v1-nano.png
similarity index 100%
rename from output/designs/plumbline-v1-nano.png
rename to output/archive-v3/plumbline-v1-nano.png
diff --git a/output/designs/plumbline-v4-nano.png b/output/archive-v3/plumbline-v4-nano.png
similarity index 100%
rename from output/designs/plumbline-v4-nano.png
rename to output/archive-v3/plumbline-v4-nano.png
diff --git a/output/designs/plumbline-v5-nano.png b/output/archive-v3/plumbline-v5-nano.png
similarity index 100%
rename from output/designs/plumbline-v5-nano.png
rename to output/archive-v3/plumbline-v5-nano.png
diff --git a/output/designs/plumbline-v6-nano.png b/output/archive-v3/plumbline-v6-nano.png
similarity index 100%
rename from output/designs/plumbline-v6-nano.png
rename to output/archive-v3/plumbline-v6-nano.png
diff --git a/output/designs/ray-shadow-v1-nano.png b/output/archive-v3/ray-shadow-v1-nano.png
similarity index 100%
rename from output/designs/ray-shadow-v1-nano.png
rename to output/archive-v3/ray-shadow-v1-nano.png
diff --git a/output/designs/ray-shadow-v4-nano.png b/output/archive-v3/ray-shadow-v4-nano.png
similarity index 100%
rename from output/designs/ray-shadow-v4-nano.png
rename to output/archive-v3/ray-shadow-v4-nano.png
diff --git a/output/designs/ray-shadow-v5-nano.png b/output/archive-v3/ray-shadow-v5-nano.png
similarity index 100%
rename from output/designs/ray-shadow-v5-nano.png
rename to output/archive-v3/ray-shadow-v5-nano.png
diff --git a/output/designs/ray-shadow-v6-nano.png b/output/archive-v3/ray-shadow-v6-nano.png
similarity index 100%
rename from output/designs/ray-shadow-v6-nano.png
rename to output/archive-v3/ray-shadow-v6-nano.png
diff --git a/output/designs/regatta-day-v1-nano.png b/output/archive-v3/regatta-day-v1-nano.png
similarity index 100%
rename from output/designs/regatta-day-v1-nano.png
rename to output/archive-v3/regatta-day-v1-nano.png
diff --git a/output/designs/regatta-day-v4-nano.png b/output/archive-v3/regatta-day-v4-nano.png
similarity index 100%
rename from output/designs/regatta-day-v4-nano.png
rename to output/archive-v3/regatta-day-v4-nano.png
diff --git a/output/designs/regatta-day-v5-nano.png b/output/archive-v3/regatta-day-v5-nano.png
similarity index 100%
rename from output/designs/regatta-day-v5-nano.png
rename to output/archive-v3/regatta-day-v5-nano.png
diff --git a/output/designs/regatta-day-v6-nano.png b/output/archive-v3/regatta-day-v6-nano.png
similarity index 100%
rename from output/designs/regatta-day-v6-nano.png
rename to output/archive-v3/regatta-day-v6-nano.png
diff --git a/output/designs/robot-parade-v1-nano.png b/output/archive-v3/robot-parade-v1-nano.png
similarity index 100%
rename from output/designs/robot-parade-v1-nano.png
rename to output/archive-v3/robot-parade-v1-nano.png
diff --git a/output/designs/robot-parade-v4-nano.png b/output/archive-v3/robot-parade-v4-nano.png
similarity index 100%
rename from output/designs/robot-parade-v4-nano.png
rename to output/archive-v3/robot-parade-v4-nano.png
diff --git a/output/designs/robot-parade-v5-nano.png b/output/archive-v3/robot-parade-v5-nano.png
similarity index 100%
rename from output/designs/robot-parade-v5-nano.png
rename to output/archive-v3/robot-parade-v5-nano.png
diff --git a/output/designs/robot-parade-v6-nano.png b/output/archive-v3/robot-parade-v6-nano.png
similarity index 100%
rename from output/designs/robot-parade-v6-nano.png
rename to output/archive-v3/robot-parade-v6-nano.png
diff --git a/output/designs/tidepool-bloom-v1-nano.png b/output/archive-v3/tidepool-bloom-v1-nano.png
similarity index 100%
rename from output/designs/tidepool-bloom-v1-nano.png
rename to output/archive-v3/tidepool-bloom-v1-nano.png
diff --git a/output/designs/tidepool-bloom-v4-nano.png b/output/archive-v3/tidepool-bloom-v4-nano.png
similarity index 100%
rename from output/designs/tidepool-bloom-v4-nano.png
rename to output/archive-v3/tidepool-bloom-v4-nano.png
diff --git a/output/designs/tidepool-bloom-v5-nano.png b/output/archive-v3/tidepool-bloom-v5-nano.png
similarity index 100%
rename from output/designs/tidepool-bloom-v5-nano.png
rename to output/archive-v3/tidepool-bloom-v5-nano.png
diff --git a/output/designs/tidepool-bloom-v6-nano.png b/output/archive-v3/tidepool-bloom-v6-nano.png
similarity index 100%
rename from output/designs/tidepool-bloom-v6-nano.png
rename to output/archive-v3/tidepool-bloom-v6-nano.png
diff --git a/scripts/batch_gen.py b/scripts/batch_gen.py
index 2f5c2d3..0da8274 100644
--- a/scripts/batch_gen.py
+++ b/scripts/batch_gen.py
@@ -50,19 +50,13 @@ def scale_clause(brief):
def full_prompt(brief, engine, variation=""):
pal = brief.get("palette", [])
if engine == "nano":
- # reference-image mode: the attached original drives scale/density/colors
- p = (f"The attached image is a reference wallpaper pattern. Use it ONLY to match "
- f"motif SCALE, packing DENSITY, and flat print style, and use EXACTLY and ONLY "
- f"its colors ({', '.join(pal)} — no other colors, no gradients, flat screen-print "
- f"inks only). CRITICAL ORIGINALITY RULE: do NOT copy, trace, or closely imitate "
- f"ANY motif, object, or shape from the reference. Every element must be a brand-new "
- f"drawing in our own hand with a DIFFERENT silhouette, different edges and outlines, "
- f"different proportions, different pose, and different placement on the repeat grid — "
- f"if the reference and this design were overlaid, NOTHING should line up or match. "
- f"If the reference shows a specific object (a boat, a robot, a flower), design a "
- f"visibly different one of our own. Motif scale: {scale_clause(brief)}. "
- f"Subject to draw: {brief['prompt']}. "
- f"{HARD_NEG}")
+ # TEXT-ONLY by policy (2026-07-22, Steve): the generator NEVER sees the
+ # reference image — element copying is impossible by construction. The
+ # original contributes only extracted data: palette hexes + measured scale.
+ p = (f"Create a completely original seamless repeating wallpaper pattern in our own "
+ f"hand, flat screen-print style. Use EXACTLY and ONLY these colors ({', '.join(pal)} "
+ f"— no other colors, no gradients, flat inks only). Motif scale: {scale_clause(brief)}. "
+ f"Subject: {brief['prompt']}. {HARD_NEG}")
if variation:
p += " Variation: " + variation
return p
@@ -124,11 +118,8 @@ def main():
if os.path.exists(path):
save_variant(b, "nano-banana", fname); continue
print(f"[nano {ver}] {b['id']}")
- ref = os.path.join(ROOT, "output", "refs", f"ref-{b['id']}.jpg")
cmd = [sys.executable, os.path.join(SCRIPTS, "nano_gen.py"),
full_prompt(b, "nano", variation), path]
- if os.path.exists(ref):
- cmd.append(ref)
if run(cmd, 200):
subprocess.run([sys.executable, os.path.join(SCRIPTS, "snap_palette.py"),
path, b["id"]], capture_output=True)
diff --git a/scripts/copy_check.py b/scripts/copy_check.py
new file mode 100644
index 0000000..268b471
--- /dev/null
+++ b/scripts/copy_check.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python3
+"""Copy-check gate: compare each render against its Aimee Wilder reference and
+flag any element that reads as a copy or near-identical imitation.
+
+Writes verdict into data/designs.json per variant: copycheck = CLEAN | FLAGGED.
+Skips variants already checked. Cost ~$0.002/image (two images per call).
+
+Usage: GEMINI_API_KEY=... copy_check.py
+"""
+import base64, json, os, time, urllib.request
+
+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+KEY = os.environ["GEMINI_API_KEY"]
+URL = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key={KEY}"
+
+PROMPT = """Image 1 is an existing commercial wallpaper design. Image 2 is a new design that
+must be ORIGINAL — same general theme is allowed, but no motif may be a copy or
+near-identical imitation of any motif in image 1. Judge strictly like an IP reviewer.
+Answer ONLY JSON:
+{"copied_elements": bool, // true if ANY motif in image 2 is a copy/near-identical imitation of a motif in image 1
+ "what": "short description of the copied element(s), or empty",
+ "similarity": "high|medium|low"} // overall motif-level similarity (style/theme similarity alone = low)"""
+
+def check(ref, img):
+ parts = [{"text": PROMPT}]
+ for p, mime in ((ref, "image/jpeg"), (img, "image/png")):
+ parts.append({"inline_data": {"mime_type": mime,
+ "data": base64.b64encode(open(p, "rb").read()).decode()}})
+ body = {"contents": [{"parts": parts}],
+ "generationConfig": {"responseMimeType": "application/json"}}
+ req = urllib.request.Request(URL, data=json.dumps(body).encode(),
+ headers={"Content-Type": "application/json"})
+ with urllib.request.urlopen(req, timeout=90) as r:
+ resp = json.load(r)
+ return json.loads(resp["candidates"][0]["content"]["parts"][0]["text"])
+
+def main():
+ d = json.load(open(os.path.join(ROOT, "data", "designs.json")))
+ n = 0
+ for x in d:
+ ref = os.path.join(ROOT, "output", "refs", f"ref-{x['id']}.jpg")
+ if not os.path.exists(ref):
+ continue
+ for v in x["variants"]:
+ if v.get("copycheck"):
+ continue
+ img = os.path.join(ROOT, "output", "designs", v["file"])
+ if not os.path.exists(img):
+ continue
+ for attempt in range(3):
+ try:
+ res = check(ref, img)
+ break
+ except Exception:
+ res = None
+ time.sleep(5)
+ if res is None:
+ v["copycheck"] = "ERROR"
+ else:
+ v["copycheck"] = "FLAGGED" if res.get("copied_elements") else "CLEAN"
+ if res.get("copied_elements"):
+ v["copycheck_what"] = res.get("what", "")
+ print(f"{v['file']:<40} {v['copycheck']} {v.get('copycheck_what','')}", flush=True)
+ n += 1
+ json.dump(d, open(os.path.join(ROOT, "data", "designs.json"), "w"), indent=1)
+ print(f"checked {n}, est cost ${n*0.002:.2f}")
+
+if __name__ == "__main__":
+ main()
← 1242dfa seamless-focused v7 round: 19/25 designs now have a tile-PAS
·
back to Wild Wallcoverings
·
auto-save: 2026-07-22T17:45:47 (103 files) — data/designs.js 3fe0b3f →