← back to Wild Wallcoverings
auto-save: 2026-07-22T17:45:47 (103 files) — data/designs.json public/index.html output/designs/arcade-memory-v1-nano.png output/designs/arcade-memory-v4-nano.png output/designs/arcade-memory-v5-nano.png
3fe0b3f1e74227b33029b94b2909d038ef974fe2 · 2026-07-22 17:45:51 -0700 · Steve Abrams
Files touched
M data/designs.jsonA output/designs/arcade-memory-v1-nano.pngA output/designs/arcade-memory-v4-nano.pngA output/designs/arcade-memory-v5-nano.pngA output/designs/arcade-memory-v6-nano.pngA output/designs/astral-tiger-v1-nano.pngA output/designs/astral-tiger-v4-nano.pngA output/designs/astral-tiger-v5-nano.pngA output/designs/astral-tiger-v6-nano.pngA output/designs/bodega-cats-v1-nano.pngA output/designs/bodega-cats-v4-nano.pngA output/designs/bodega-cats-v5-nano.pngA output/designs/bodega-cats-v6-nano.pngA output/designs/campfire-toile-v1-nano.pngA output/designs/campfire-toile-v4-nano.pngA output/designs/campfire-toile-v5-nano.pngA output/designs/campfire-toile-v6-nano.pngA output/designs/circle-fields-v1-nano.pngA output/designs/circle-fields-v4-nano.pngA output/designs/circle-fields-v5-nano.pngA output/designs/circle-fields-v6-nano.pngA output/designs/daily-dose-v1-nano.pngA output/designs/daily-dose-v4-nano.pngA output/designs/daily-dose-v5-nano.pngA output/designs/daily-dose-v6-nano.pngA output/designs/desert-choir-v1-nano.pngA output/designs/desert-choir-v4-nano.pngA output/designs/desert-choir-v5-nano.pngA output/designs/desert-choir-v6-nano.pngA output/designs/dream-clouds-v1-nano.pngA output/designs/dream-clouds-v4-nano.pngA output/designs/dream-clouds-v5-nano.pngA output/designs/dream-clouds-v6-nano.pngA output/designs/fungi-skyline-v1-nano.pngA output/designs/fungi-skyline-v4-nano.pngA output/designs/fungi-skyline-v5-nano.pngA output/designs/fungi-skyline-v6-nano.pngA output/designs/galaxy-bots-v1-nano.pngA output/designs/galaxy-bots-v4-nano.pngA output/designs/galaxy-bots-v5-nano.pngA output/designs/galaxy-bots-v6-nano.pngA output/designs/golden-pineapple-v1-nano.pngA output/designs/golden-pineapple-v4-nano.pngA output/designs/golden-pineapple-v5-nano.pngA output/designs/golden-pineapple-v6-nano.pngA output/designs/herbarium-press-v1-nano.pngA output/designs/herbarium-press-v4-nano.pngA output/designs/herbarium-press-v5-nano.pngA output/designs/herbarium-press-v6-nano.pngA output/designs/lagoon-legends-v1-nano.pngA output/designs/lagoon-legends-v4-nano.pngA output/designs/lagoon-legends-v5-nano.pngA output/designs/lagoon-legends-v6-nano.pngA output/designs/lost-continent-v1-nano.pngA output/designs/lost-continent-v4-nano.pngA output/designs/lost-continent-v5-nano.pngA output/designs/lost-continent-v6-nano.pngA output/designs/midnight-frequency-v1-nano.pngA output/designs/midnight-frequency-v4-nano.pngA output/designs/midnight-frequency-v5-nano.pngA output/designs/midnight-frequency-v6-nano.pngA output/designs/mod-orbit-v1-nano.pngA output/designs/mod-orbit-v4-nano.pngA output/designs/mod-orbit-v5-nano.pngA output/designs/mod-orbit-v6-nano.pngA output/designs/monstera-bungalow-v1-nano.pngA output/designs/monstera-bungalow-v4-nano.pngA output/designs/monstera-bungalow-v5-nano.pngA output/designs/monstera-bungalow-v6-nano.pngA output/designs/moonrise-ikat-v1-nano.pngA output/designs/moonrise-ikat-v4-nano.pngA output/designs/moonrise-ikat-v5-nano.pngA output/designs/moonrise-ikat-v6-nano.pngA output/designs/night-jungle-v1-nano.pngA output/designs/night-jungle-v4-nano.pngA output/designs/night-jungle-v5-nano.pngA output/designs/night-jungle-v6-nano.pngA output/designs/painted-feathers-v1-nano.pngA output/designs/painted-feathers-v4-nano.pngA output/designs/painted-feathers-v5-nano.pngA output/designs/painted-feathers-v6-nano.pngA output/designs/plumbline-v1-nano.pngA output/designs/plumbline-v4-nano.pngA output/designs/plumbline-v5-nano.pngA output/designs/plumbline-v6-nano.pngA output/designs/ray-shadow-v1-nano.pngA output/designs/ray-shadow-v4-nano.pngA output/designs/ray-shadow-v5-nano.pngA output/designs/ray-shadow-v6-nano.pngA output/designs/regatta-day-v1-nano.pngA output/designs/regatta-day-v4-nano.pngA output/designs/regatta-day-v5-nano.pngA output/designs/regatta-day-v6-nano.pngA output/designs/robot-parade-v1-nano.pngA output/designs/robot-parade-v4-nano.pngA output/designs/robot-parade-v5-nano.pngA output/designs/robot-parade-v6-nano.pngA output/designs/tidepool-bloom-v1-nano.pngA output/designs/tidepool-bloom-v4-nano.pngA output/designs/tidepool-bloom-v5-nano.pngA output/designs/tidepool-bloom-v6-nano.pngM public/index.htmlA scripts/contact_sheet.py
Diff
commit 3fe0b3f1e74227b33029b94b2909d038ef974fe2
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jul 22 17:45:51 2026 -0700
auto-save: 2026-07-22T17:45:47 (103 files) — data/designs.json public/index.html output/designs/arcade-memory-v1-nano.png output/designs/arcade-memory-v4-nano.png output/designs/arcade-memory-v5-nano.png
---
data/designs.json | 695 +++++++++++++++++++++++---
output/designs/arcade-memory-v1-nano.png | Bin 0 -> 150844 bytes
output/designs/arcade-memory-v4-nano.png | Bin 0 -> 106932 bytes
output/designs/arcade-memory-v5-nano.png | Bin 0 -> 103314 bytes
output/designs/arcade-memory-v6-nano.png | Bin 0 -> 146408 bytes
output/designs/astral-tiger-v1-nano.png | Bin 0 -> 161018 bytes
output/designs/astral-tiger-v4-nano.png | Bin 0 -> 227970 bytes
output/designs/astral-tiger-v5-nano.png | Bin 0 -> 301316 bytes
output/designs/astral-tiger-v6-nano.png | Bin 0 -> 69631 bytes
output/designs/bodega-cats-v1-nano.png | Bin 0 -> 82520 bytes
output/designs/bodega-cats-v4-nano.png | Bin 0 -> 81726 bytes
output/designs/bodega-cats-v5-nano.png | Bin 0 -> 88325 bytes
output/designs/bodega-cats-v6-nano.png | Bin 0 -> 73539 bytes
output/designs/campfire-toile-v1-nano.png | Bin 0 -> 227908 bytes
output/designs/campfire-toile-v4-nano.png | Bin 0 -> 364999 bytes
output/designs/campfire-toile-v5-nano.png | Bin 0 -> 402570 bytes
output/designs/campfire-toile-v6-nano.png | Bin 0 -> 317184 bytes
output/designs/circle-fields-v1-nano.png | Bin 0 -> 247125 bytes
output/designs/circle-fields-v4-nano.png | Bin 0 -> 50387 bytes
output/designs/circle-fields-v5-nano.png | Bin 0 -> 307225 bytes
output/designs/circle-fields-v6-nano.png | Bin 0 -> 300741 bytes
output/designs/daily-dose-v1-nano.png | Bin 0 -> 42056 bytes
output/designs/daily-dose-v4-nano.png | Bin 0 -> 28004 bytes
output/designs/daily-dose-v5-nano.png | Bin 0 -> 27841 bytes
output/designs/daily-dose-v6-nano.png | Bin 0 -> 16406 bytes
output/designs/desert-choir-v1-nano.png | Bin 0 -> 5339 bytes
output/designs/desert-choir-v4-nano.png | Bin 0 -> 68406 bytes
output/designs/desert-choir-v5-nano.png | Bin 0 -> 5408 bytes
output/designs/desert-choir-v6-nano.png | Bin 0 -> 6604 bytes
output/designs/dream-clouds-v1-nano.png | Bin 0 -> 164780 bytes
output/designs/dream-clouds-v4-nano.png | Bin 0 -> 28903 bytes
output/designs/dream-clouds-v5-nano.png | Bin 0 -> 48197 bytes
output/designs/dream-clouds-v6-nano.png | Bin 0 -> 25101 bytes
output/designs/fungi-skyline-v1-nano.png | Bin 0 -> 164855 bytes
output/designs/fungi-skyline-v4-nano.png | Bin 0 -> 137268 bytes
output/designs/fungi-skyline-v5-nano.png | Bin 0 -> 140761 bytes
output/designs/fungi-skyline-v6-nano.png | Bin 0 -> 119175 bytes
output/designs/galaxy-bots-v1-nano.png | Bin 0 -> 64938 bytes
output/designs/galaxy-bots-v4-nano.png | Bin 0 -> 79017 bytes
output/designs/galaxy-bots-v5-nano.png | Bin 0 -> 80375 bytes
output/designs/galaxy-bots-v6-nano.png | Bin 0 -> 29351 bytes
output/designs/golden-pineapple-v1-nano.png | Bin 0 -> 66213 bytes
output/designs/golden-pineapple-v4-nano.png | Bin 0 -> 111247 bytes
output/designs/golden-pineapple-v5-nano.png | Bin 0 -> 74915 bytes
output/designs/golden-pineapple-v6-nano.png | Bin 0 -> 88426 bytes
output/designs/herbarium-press-v1-nano.png | Bin 0 -> 169244 bytes
output/designs/herbarium-press-v4-nano.png | Bin 0 -> 267197 bytes
output/designs/herbarium-press-v5-nano.png | Bin 0 -> 305741 bytes
output/designs/herbarium-press-v6-nano.png | Bin 0 -> 224638 bytes
output/designs/lagoon-legends-v1-nano.png | Bin 0 -> 142582 bytes
output/designs/lagoon-legends-v4-nano.png | Bin 0 -> 47454 bytes
output/designs/lagoon-legends-v5-nano.png | Bin 0 -> 41358 bytes
output/designs/lagoon-legends-v6-nano.png | Bin 0 -> 45057 bytes
output/designs/lost-continent-v1-nano.png | Bin 0 -> 162540 bytes
output/designs/lost-continent-v4-nano.png | Bin 0 -> 99893 bytes
output/designs/lost-continent-v5-nano.png | Bin 0 -> 78276 bytes
output/designs/lost-continent-v6-nano.png | Bin 0 -> 59814 bytes
output/designs/midnight-frequency-v1-nano.png | Bin 0 -> 157758 bytes
output/designs/midnight-frequency-v4-nano.png | Bin 0 -> 81054 bytes
output/designs/midnight-frequency-v5-nano.png | Bin 0 -> 104754 bytes
output/designs/midnight-frequency-v6-nano.png | Bin 0 -> 189564 bytes
output/designs/mod-orbit-v1-nano.png | Bin 0 -> 35265 bytes
output/designs/mod-orbit-v4-nano.png | Bin 0 -> 80982 bytes
output/designs/mod-orbit-v5-nano.png | Bin 0 -> 65889 bytes
output/designs/mod-orbit-v6-nano.png | Bin 0 -> 39372 bytes
output/designs/monstera-bungalow-v1-nano.png | Bin 0 -> 152652 bytes
output/designs/monstera-bungalow-v4-nano.png | Bin 0 -> 219515 bytes
output/designs/monstera-bungalow-v5-nano.png | Bin 0 -> 149578 bytes
output/designs/monstera-bungalow-v6-nano.png | Bin 0 -> 115085 bytes
output/designs/moonrise-ikat-v1-nano.png | Bin 0 -> 56793 bytes
output/designs/moonrise-ikat-v4-nano.png | Bin 0 -> 22015 bytes
output/designs/moonrise-ikat-v5-nano.png | Bin 0 -> 80550 bytes
output/designs/moonrise-ikat-v6-nano.png | Bin 0 -> 38150 bytes
output/designs/night-jungle-v1-nano.png | Bin 0 -> 326147 bytes
output/designs/night-jungle-v4-nano.png | Bin 0 -> 340691 bytes
output/designs/night-jungle-v5-nano.png | Bin 0 -> 306722 bytes
output/designs/night-jungle-v6-nano.png | Bin 0 -> 186875 bytes
output/designs/painted-feathers-v1-nano.png | Bin 0 -> 117122 bytes
output/designs/painted-feathers-v4-nano.png | Bin 0 -> 54812 bytes
output/designs/painted-feathers-v5-nano.png | Bin 0 -> 66483 bytes
output/designs/painted-feathers-v6-nano.png | Bin 0 -> 29786 bytes
output/designs/plumbline-v1-nano.png | Bin 0 -> 18353 bytes
output/designs/plumbline-v4-nano.png | Bin 0 -> 31538 bytes
output/designs/plumbline-v5-nano.png | Bin 0 -> 58657 bytes
output/designs/plumbline-v6-nano.png | Bin 0 -> 71652 bytes
output/designs/ray-shadow-v1-nano.png | Bin 0 -> 48821 bytes
output/designs/ray-shadow-v4-nano.png | Bin 0 -> 116562 bytes
output/designs/ray-shadow-v5-nano.png | Bin 0 -> 136766 bytes
output/designs/ray-shadow-v6-nano.png | Bin 0 -> 81883 bytes
output/designs/regatta-day-v1-nano.png | Bin 0 -> 71999 bytes
output/designs/regatta-day-v4-nano.png | Bin 0 -> 148361 bytes
output/designs/regatta-day-v5-nano.png | Bin 0 -> 81785 bytes
output/designs/regatta-day-v6-nano.png | Bin 0 -> 17914 bytes
output/designs/robot-parade-v1-nano.png | Bin 0 -> 68442 bytes
output/designs/robot-parade-v4-nano.png | Bin 0 -> 34492 bytes
output/designs/robot-parade-v5-nano.png | Bin 0 -> 43641 bytes
output/designs/robot-parade-v6-nano.png | Bin 0 -> 46281 bytes
output/designs/tidepool-bloom-v1-nano.png | Bin 0 -> 221762 bytes
output/designs/tidepool-bloom-v4-nano.png | Bin 0 -> 137005 bytes
output/designs/tidepool-bloom-v5-nano.png | Bin 0 -> 241395 bytes
output/designs/tidepool-bloom-v6-nano.png | Bin 0 -> 163848 bytes
public/index.html | 1 +
scripts/contact_sheet.py | 43 ++
103 files changed, 680 insertions(+), 59 deletions(-)
diff --git a/data/designs.json b/data/designs.json
index 9cf0aa4..ff716c8 100644
--- a/data/designs.json
+++ b/data/designs.json
@@ -23,7 +23,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "astral-tiger-v3-sdxl.png",
@@ -41,7 +42,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "astral-tiger-v7-nano.png",
@@ -58,7 +60,32 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "astral-tiger-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:29:43.146157+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "astral-tiger-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:29:51.008254+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "astral-tiger-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:30:00.110825+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "astral-tiger-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:30:07.821667+00:00",
+ "copycheck": "CLEAN"
}
],
"reference": {
@@ -91,7 +118,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "midnight-frequency-v3-sdxl.png",
@@ -109,7 +137,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "midnight-frequency-v7-nano.png",
@@ -126,7 +155,33 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": false
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "midnight-frequency-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:30:16.515588+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "midnight-frequency-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:30:25.036177+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "midnight-frequency-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:30:33.183385+00:00",
+ "copycheck": "FLAGGED",
+ "copycheck_what": "The stylized representations of the cassette tape and the keyboard motifs in Image 2 are near-identical imitations of those found in Image 1. Specifically, the spool design and overall shape of the cassette tape, and the key layout and proportions of the keyboard, are too similar to be considered original."
+ },
+ {
+ "file": "midnight-frequency-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:30:42.283547+00:00",
+ "copycheck": "CLEAN"
}
],
"reference": {
@@ -159,7 +214,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "robot-parade-v3-sdxl.png",
@@ -177,7 +233,32 @@
"tile": {
"verdict": "WARN",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "robot-parade-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:30:50.553296+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "robot-parade-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:31:01.535593+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "robot-parade-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:31:10.978163+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "robot-parade-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:31:18.930358+00:00",
+ "copycheck": "CLEAN"
}
],
"reference": {
@@ -210,7 +291,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "galaxy-bots-v3-sdxl.png",
@@ -228,7 +310,32 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "FLAGGED",
+ "copycheck_what": "Many of the small scattered five-pointed stars in the background of image 2 are near-identical in shape, style, and rendering to the stars in image 1."
+ },
+ {
+ "file": "galaxy-bots-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:31:28.544384+00:00",
+ "copycheck": "FLAGGED",
+ "copycheck_what": "The rocket motif, including its specific shape, the arrangement of its three portholes, the design of its fins, and its textured appearance, is a near-identical imitation of the rocket motif found in Image 1."
+ },
+ {
+ "file": "galaxy-bots-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:31:36.425007+00:00",
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "galaxy-bots-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:04.322446+00:00"
+ },
+ {
+ "file": "galaxy-bots-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.329941+00:00"
}
],
"reference": {
@@ -261,7 +368,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "herbarium-press-v3-sdxl.png",
@@ -279,7 +387,28 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "herbarium-press-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.332778+00:00"
+ },
+ {
+ "file": "herbarium-press-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.335342+00:00"
+ },
+ {
+ "file": "herbarium-press-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.338619+00:00"
+ },
+ {
+ "file": "herbarium-press-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.341477+00:00"
}
],
"reference": {
@@ -312,7 +441,8 @@
"tile": {
"verdict": "WARN",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "desert-choir-v3-sdxl.png",
@@ -330,7 +460,28 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "desert-choir-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.344407+00:00"
+ },
+ {
+ "file": "desert-choir-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.347037+00:00"
+ },
+ {
+ "file": "desert-choir-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.349626+00:00"
+ },
+ {
+ "file": "desert-choir-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.352173+00:00"
}
],
"reference": {
@@ -363,7 +514,8 @@
"tile": {
"verdict": "WARN",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "ray-shadow-v3-sdxl.png",
@@ -381,7 +533,28 @@
"tile": {
"verdict": "WARN",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "ray-shadow-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.355203+00:00"
+ },
+ {
+ "file": "ray-shadow-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.357754+00:00"
+ },
+ {
+ "file": "ray-shadow-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.360428+00:00"
+ },
+ {
+ "file": "ray-shadow-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.362931+00:00"
}
],
"reference": {
@@ -414,7 +587,8 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "moonrise-ikat-v3-sdxl.png",
@@ -432,7 +606,28 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "moonrise-ikat-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:06.364500+00:00"
+ },
+ {
+ "file": "moonrise-ikat-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:13.055873+00:00"
+ },
+ {
+ "file": "moonrise-ikat-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.063185+00:00"
+ },
+ {
+ "file": "moonrise-ikat-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.066512+00:00"
}
],
"reference": {
@@ -465,7 +660,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "night-jungle-v3-sdxl.png",
@@ -483,7 +679,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "night-jungle-v7-nano.png",
@@ -500,7 +697,28 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "night-jungle-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.070059+00:00"
+ },
+ {
+ "file": "night-jungle-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.072639+00:00"
+ },
+ {
+ "file": "night-jungle-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.075009+00:00"
+ },
+ {
+ "file": "night-jungle-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.077255+00:00"
}
],
"reference": {
@@ -533,7 +751,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "golden-pineapple-v3-sdxl.png",
@@ -551,7 +770,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "golden-pineapple-v7-nano.png",
@@ -568,7 +788,28 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "golden-pineapple-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.079001+00:00"
+ },
+ {
+ "file": "golden-pineapple-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.080167+00:00"
+ },
+ {
+ "file": "golden-pineapple-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.081466+00:00"
+ },
+ {
+ "file": "golden-pineapple-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.082503+00:00"
}
],
"reference": {
@@ -601,7 +842,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "monstera-bungalow-v3-sdxl.png",
@@ -620,7 +862,8 @@
"verdict": "FAIL",
"max": null
},
- "borderline": true
+ "borderline": true,
+ "copycheck": "CLEAN"
},
{
"file": "monstera-bungalow-v7-nano.png",
@@ -637,7 +880,28 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "monstera-bungalow-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.083701+00:00"
+ },
+ {
+ "file": "monstera-bungalow-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.084955+00:00"
+ },
+ {
+ "file": "monstera-bungalow-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.086470+00:00"
+ },
+ {
+ "file": "monstera-bungalow-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.087608+00:00"
}
],
"reference": {
@@ -670,7 +934,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "painted-feathers-v2-sdxl.png",
@@ -688,7 +953,9 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "FLAGGED",
+ "copycheck_what": "Several stylized feather motifs in Image 2 directly imitate the design and rendering (central quill with distinct parallel diagonal lines for barbs) of the smaller, naturalistic feather elements found in Image 1."
},
{
"file": "painted-feathers-v7-nano.png",
@@ -705,7 +972,28 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "painted-feathers-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.088804+00:00"
+ },
+ {
+ "file": "painted-feathers-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.089969+00:00"
+ },
+ {
+ "file": "painted-feathers-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.091136+00:00"
+ },
+ {
+ "file": "painted-feathers-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.092309+00:00"
}
],
"reference": {
@@ -738,7 +1026,8 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "tidepool-bloom-v3-sdxl.png",
@@ -756,7 +1045,28 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "tidepool-bloom-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.093465+00:00"
+ },
+ {
+ "file": "tidepool-bloom-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.094636+00:00"
+ },
+ {
+ "file": "tidepool-bloom-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.095811+00:00"
+ },
+ {
+ "file": "tidepool-bloom-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.097016+00:00"
}
],
"reference": {
@@ -789,7 +1099,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "mod-orbit-v3-sdxl.png",
@@ -807,7 +1118,28 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "mod-orbit-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.098128+00:00"
+ },
+ {
+ "file": "mod-orbit-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.099284+00:00"
+ },
+ {
+ "file": "mod-orbit-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.100452+00:00"
+ },
+ {
+ "file": "mod-orbit-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.101644+00:00"
}
],
"reference": {
@@ -840,7 +1172,8 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "lost-continent-v3-sdxl.png",
@@ -858,7 +1191,28 @@
"tile": {
"verdict": "WARN",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "lost-continent-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.102820+00:00"
+ },
+ {
+ "file": "lost-continent-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.104017+00:00"
+ },
+ {
+ "file": "lost-continent-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.105228+00:00"
+ },
+ {
+ "file": "lost-continent-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:15.106457+00:00"
}
],
"reference": {
@@ -891,7 +1245,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "plumbline-v3-sdxl.png",
@@ -909,7 +1264,28 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "plumbline-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:22.498989+00:00"
+ },
+ {
+ "file": "plumbline-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.503021+00:00"
+ },
+ {
+ "file": "plumbline-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.507976+00:00"
+ },
+ {
+ "file": "plumbline-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.512325+00:00"
}
],
"reference": {
@@ -942,7 +1318,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "lagoon-legends-v3-sdxl.png",
@@ -960,7 +1337,28 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "lagoon-legends-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.516622+00:00"
+ },
+ {
+ "file": "lagoon-legends-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.519627+00:00"
+ },
+ {
+ "file": "lagoon-legends-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.522838+00:00"
+ },
+ {
+ "file": "lagoon-legends-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.525492+00:00"
}
],
"reference": {
@@ -993,7 +1391,8 @@
"tile": {
"verdict": "WARN",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "fungi-skyline-v3-sdxl.png",
@@ -1011,7 +1410,28 @@
"tile": {
"verdict": "WARN",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "fungi-skyline-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.527936+00:00"
+ },
+ {
+ "file": "fungi-skyline-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.530270+00:00"
+ },
+ {
+ "file": "fungi-skyline-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.532165+00:00"
+ },
+ {
+ "file": "fungi-skyline-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:24.533459+00:00"
}
],
"reference": {
@@ -1044,7 +1464,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "regatta-day-v3-sdxl.png",
@@ -1062,7 +1483,28 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "regatta-day-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:39:54.593046+00:00"
+ },
+ {
+ "file": "regatta-day-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:40:02.925844+00:00"
+ },
+ {
+ "file": "regatta-day-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:40:12.061956+00:00"
+ },
+ {
+ "file": "regatta-day-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:40:20.186112+00:00"
}
],
"reference": {
@@ -1095,7 +1537,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "arcade-memory-v3-sdxl.png",
@@ -1113,7 +1556,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "arcade-memory-v7-nano.png",
@@ -1130,7 +1574,28 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": false
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "arcade-memory-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:40:28.943273+00:00"
+ },
+ {
+ "file": "arcade-memory-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:40:36.838372+00:00"
+ },
+ {
+ "file": "arcade-memory-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:40:45.134741+00:00"
+ },
+ {
+ "file": "arcade-memory-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:40:53.235903+00:00"
}
],
"reference": {
@@ -1163,7 +1628,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "daily-dose-v3-sdxl.png",
@@ -1181,7 +1647,28 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "daily-dose-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:41:00.788803+00:00"
+ },
+ {
+ "file": "daily-dose-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:41:08.908334+00:00"
+ },
+ {
+ "file": "daily-dose-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:41:18.577394+00:00"
+ },
+ {
+ "file": "daily-dose-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:41:26.472059+00:00"
}
],
"reference": {
@@ -1214,7 +1701,8 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "circle-fields-v3-sdxl.png",
@@ -1232,7 +1720,28 @@
"tile": {
"verdict": "PASS",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "circle-fields-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:41:35.063451+00:00"
+ },
+ {
+ "file": "circle-fields-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:41:44.969568+00:00"
+ },
+ {
+ "file": "circle-fields-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:41:53.369360+00:00"
+ },
+ {
+ "file": "circle-fields-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:44:30.317177+00:00"
}
],
"reference": {
@@ -1265,7 +1774,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "campfire-toile-v3-sdxl.png",
@@ -1283,7 +1793,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "campfire-toile-v7-nano.png",
@@ -1300,7 +1811,28 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "campfire-toile-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:42:08.652729+00:00"
+ },
+ {
+ "file": "campfire-toile-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:42:18.266756+00:00"
+ },
+ {
+ "file": "campfire-toile-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:42:28.136666+00:00"
+ },
+ {
+ "file": "campfire-toile-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:42:37.927677+00:00"
}
],
"reference": {
@@ -1333,7 +1865,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "dream-clouds-v3-sdxl.png",
@@ -1351,7 +1884,28 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "dream-clouds-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:42:45.661916+00:00"
+ },
+ {
+ "file": "dream-clouds-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:42:54.263951+00:00"
+ },
+ {
+ "file": "dream-clouds-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:43:01.942511+00:00"
+ },
+ {
+ "file": "dream-clouds-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:43:09.742863+00:00"
}
],
"reference": {
@@ -1384,7 +1938,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "bodega-cats-v3-sdxl.png",
@@ -1402,7 +1957,8 @@
"tile": {
"verdict": "FAIL",
"max": null
- }
+ },
+ "copycheck": "CLEAN"
},
{
"file": "bodega-cats-v7-nano.png",
@@ -1419,7 +1975,28 @@
"b_prohibited": false,
"b_matched": "",
"acceptable": true
- }
+ },
+ "copycheck": "CLEAN"
+ },
+ {
+ "file": "bodega-cats-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:43:18.120237+00:00"
+ },
+ {
+ "file": "bodega-cats-v4-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:43:26.038763+00:00"
+ },
+ {
+ "file": "bodega-cats-v5-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:43:37.426647+00:00"
+ },
+ {
+ "file": "bodega-cats-v6-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-23T00:43:45.066392+00:00"
}
],
"reference": {
diff --git a/output/designs/arcade-memory-v1-nano.png b/output/designs/arcade-memory-v1-nano.png
new file mode 100644
index 0000000..f3b00ff
Binary files /dev/null and b/output/designs/arcade-memory-v1-nano.png differ
diff --git a/output/designs/arcade-memory-v4-nano.png b/output/designs/arcade-memory-v4-nano.png
new file mode 100644
index 0000000..a8d8d2f
Binary files /dev/null and b/output/designs/arcade-memory-v4-nano.png differ
diff --git a/output/designs/arcade-memory-v5-nano.png b/output/designs/arcade-memory-v5-nano.png
new file mode 100644
index 0000000..e37cdd1
Binary files /dev/null and b/output/designs/arcade-memory-v5-nano.png differ
diff --git a/output/designs/arcade-memory-v6-nano.png b/output/designs/arcade-memory-v6-nano.png
new file mode 100644
index 0000000..bebd1f6
Binary files /dev/null and b/output/designs/arcade-memory-v6-nano.png differ
diff --git a/output/designs/astral-tiger-v1-nano.png b/output/designs/astral-tiger-v1-nano.png
new file mode 100644
index 0000000..1ed298e
Binary files /dev/null and b/output/designs/astral-tiger-v1-nano.png differ
diff --git a/output/designs/astral-tiger-v4-nano.png b/output/designs/astral-tiger-v4-nano.png
new file mode 100644
index 0000000..3a8fc55
Binary files /dev/null and b/output/designs/astral-tiger-v4-nano.png differ
diff --git a/output/designs/astral-tiger-v5-nano.png b/output/designs/astral-tiger-v5-nano.png
new file mode 100644
index 0000000..24f7bfc
Binary files /dev/null and b/output/designs/astral-tiger-v5-nano.png differ
diff --git a/output/designs/astral-tiger-v6-nano.png b/output/designs/astral-tiger-v6-nano.png
new file mode 100644
index 0000000..a0e14da
Binary files /dev/null and b/output/designs/astral-tiger-v6-nano.png differ
diff --git a/output/designs/bodega-cats-v1-nano.png b/output/designs/bodega-cats-v1-nano.png
new file mode 100644
index 0000000..cfcca34
Binary files /dev/null and b/output/designs/bodega-cats-v1-nano.png differ
diff --git a/output/designs/bodega-cats-v4-nano.png b/output/designs/bodega-cats-v4-nano.png
new file mode 100644
index 0000000..12aa572
Binary files /dev/null and b/output/designs/bodega-cats-v4-nano.png differ
diff --git a/output/designs/bodega-cats-v5-nano.png b/output/designs/bodega-cats-v5-nano.png
new file mode 100644
index 0000000..39cf0cf
Binary files /dev/null and b/output/designs/bodega-cats-v5-nano.png differ
diff --git a/output/designs/bodega-cats-v6-nano.png b/output/designs/bodega-cats-v6-nano.png
new file mode 100644
index 0000000..5e1221d
Binary files /dev/null and b/output/designs/bodega-cats-v6-nano.png differ
diff --git a/output/designs/campfire-toile-v1-nano.png b/output/designs/campfire-toile-v1-nano.png
new file mode 100644
index 0000000..817c5bc
Binary files /dev/null and b/output/designs/campfire-toile-v1-nano.png differ
diff --git a/output/designs/campfire-toile-v4-nano.png b/output/designs/campfire-toile-v4-nano.png
new file mode 100644
index 0000000..773a156
Binary files /dev/null and b/output/designs/campfire-toile-v4-nano.png differ
diff --git a/output/designs/campfire-toile-v5-nano.png b/output/designs/campfire-toile-v5-nano.png
new file mode 100644
index 0000000..d559de3
Binary files /dev/null and b/output/designs/campfire-toile-v5-nano.png differ
diff --git a/output/designs/campfire-toile-v6-nano.png b/output/designs/campfire-toile-v6-nano.png
new file mode 100644
index 0000000..1689c9a
Binary files /dev/null and b/output/designs/campfire-toile-v6-nano.png differ
diff --git a/output/designs/circle-fields-v1-nano.png b/output/designs/circle-fields-v1-nano.png
new file mode 100644
index 0000000..40379e2
Binary files /dev/null and b/output/designs/circle-fields-v1-nano.png differ
diff --git a/output/designs/circle-fields-v4-nano.png b/output/designs/circle-fields-v4-nano.png
new file mode 100644
index 0000000..29482d9
Binary files /dev/null and b/output/designs/circle-fields-v4-nano.png differ
diff --git a/output/designs/circle-fields-v5-nano.png b/output/designs/circle-fields-v5-nano.png
new file mode 100644
index 0000000..ecfa528
Binary files /dev/null and b/output/designs/circle-fields-v5-nano.png differ
diff --git a/output/designs/circle-fields-v6-nano.png b/output/designs/circle-fields-v6-nano.png
new file mode 100644
index 0000000..ff02440
Binary files /dev/null and b/output/designs/circle-fields-v6-nano.png differ
diff --git a/output/designs/daily-dose-v1-nano.png b/output/designs/daily-dose-v1-nano.png
new file mode 100644
index 0000000..7a111a2
Binary files /dev/null and b/output/designs/daily-dose-v1-nano.png differ
diff --git a/output/designs/daily-dose-v4-nano.png b/output/designs/daily-dose-v4-nano.png
new file mode 100644
index 0000000..b7258c9
Binary files /dev/null and b/output/designs/daily-dose-v4-nano.png differ
diff --git a/output/designs/daily-dose-v5-nano.png b/output/designs/daily-dose-v5-nano.png
new file mode 100644
index 0000000..e300426
Binary files /dev/null and b/output/designs/daily-dose-v5-nano.png differ
diff --git a/output/designs/daily-dose-v6-nano.png b/output/designs/daily-dose-v6-nano.png
new file mode 100644
index 0000000..17831eb
Binary files /dev/null and b/output/designs/daily-dose-v6-nano.png differ
diff --git a/output/designs/desert-choir-v1-nano.png b/output/designs/desert-choir-v1-nano.png
new file mode 100644
index 0000000..0f1cfd6
Binary files /dev/null and b/output/designs/desert-choir-v1-nano.png differ
diff --git a/output/designs/desert-choir-v4-nano.png b/output/designs/desert-choir-v4-nano.png
new file mode 100644
index 0000000..43bdd2b
Binary files /dev/null and b/output/designs/desert-choir-v4-nano.png differ
diff --git a/output/designs/desert-choir-v5-nano.png b/output/designs/desert-choir-v5-nano.png
new file mode 100644
index 0000000..0e45d0c
Binary files /dev/null and b/output/designs/desert-choir-v5-nano.png differ
diff --git a/output/designs/desert-choir-v6-nano.png b/output/designs/desert-choir-v6-nano.png
new file mode 100644
index 0000000..8a731c0
Binary files /dev/null and b/output/designs/desert-choir-v6-nano.png differ
diff --git a/output/designs/dream-clouds-v1-nano.png b/output/designs/dream-clouds-v1-nano.png
new file mode 100644
index 0000000..d2a388f
Binary files /dev/null and b/output/designs/dream-clouds-v1-nano.png differ
diff --git a/output/designs/dream-clouds-v4-nano.png b/output/designs/dream-clouds-v4-nano.png
new file mode 100644
index 0000000..f7bdd52
Binary files /dev/null and b/output/designs/dream-clouds-v4-nano.png differ
diff --git a/output/designs/dream-clouds-v5-nano.png b/output/designs/dream-clouds-v5-nano.png
new file mode 100644
index 0000000..be78791
Binary files /dev/null and b/output/designs/dream-clouds-v5-nano.png differ
diff --git a/output/designs/dream-clouds-v6-nano.png b/output/designs/dream-clouds-v6-nano.png
new file mode 100644
index 0000000..68e4db9
Binary files /dev/null and b/output/designs/dream-clouds-v6-nano.png differ
diff --git a/output/designs/fungi-skyline-v1-nano.png b/output/designs/fungi-skyline-v1-nano.png
new file mode 100644
index 0000000..0f51026
Binary files /dev/null and b/output/designs/fungi-skyline-v1-nano.png differ
diff --git a/output/designs/fungi-skyline-v4-nano.png b/output/designs/fungi-skyline-v4-nano.png
new file mode 100644
index 0000000..50a4dc3
Binary files /dev/null and b/output/designs/fungi-skyline-v4-nano.png differ
diff --git a/output/designs/fungi-skyline-v5-nano.png b/output/designs/fungi-skyline-v5-nano.png
new file mode 100644
index 0000000..a59c2f2
Binary files /dev/null and b/output/designs/fungi-skyline-v5-nano.png differ
diff --git a/output/designs/fungi-skyline-v6-nano.png b/output/designs/fungi-skyline-v6-nano.png
new file mode 100644
index 0000000..6683518
Binary files /dev/null and b/output/designs/fungi-skyline-v6-nano.png differ
diff --git a/output/designs/galaxy-bots-v1-nano.png b/output/designs/galaxy-bots-v1-nano.png
new file mode 100644
index 0000000..22596c8
Binary files /dev/null and b/output/designs/galaxy-bots-v1-nano.png differ
diff --git a/output/designs/galaxy-bots-v4-nano.png b/output/designs/galaxy-bots-v4-nano.png
new file mode 100644
index 0000000..95ea80c
Binary files /dev/null and b/output/designs/galaxy-bots-v4-nano.png differ
diff --git a/output/designs/galaxy-bots-v5-nano.png b/output/designs/galaxy-bots-v5-nano.png
new file mode 100644
index 0000000..4653290
Binary files /dev/null and b/output/designs/galaxy-bots-v5-nano.png differ
diff --git a/output/designs/galaxy-bots-v6-nano.png b/output/designs/galaxy-bots-v6-nano.png
new file mode 100644
index 0000000..a87b6a5
Binary files /dev/null and b/output/designs/galaxy-bots-v6-nano.png differ
diff --git a/output/designs/golden-pineapple-v1-nano.png b/output/designs/golden-pineapple-v1-nano.png
new file mode 100644
index 0000000..525fa87
Binary files /dev/null and b/output/designs/golden-pineapple-v1-nano.png differ
diff --git a/output/designs/golden-pineapple-v4-nano.png b/output/designs/golden-pineapple-v4-nano.png
new file mode 100644
index 0000000..8dc0cd0
Binary files /dev/null and b/output/designs/golden-pineapple-v4-nano.png differ
diff --git a/output/designs/golden-pineapple-v5-nano.png b/output/designs/golden-pineapple-v5-nano.png
new file mode 100644
index 0000000..63fae2a
Binary files /dev/null and b/output/designs/golden-pineapple-v5-nano.png differ
diff --git a/output/designs/golden-pineapple-v6-nano.png b/output/designs/golden-pineapple-v6-nano.png
new file mode 100644
index 0000000..d46fd90
Binary files /dev/null and b/output/designs/golden-pineapple-v6-nano.png differ
diff --git a/output/designs/herbarium-press-v1-nano.png b/output/designs/herbarium-press-v1-nano.png
new file mode 100644
index 0000000..68191ff
Binary files /dev/null and b/output/designs/herbarium-press-v1-nano.png differ
diff --git a/output/designs/herbarium-press-v4-nano.png b/output/designs/herbarium-press-v4-nano.png
new file mode 100644
index 0000000..94bca9d
Binary files /dev/null and b/output/designs/herbarium-press-v4-nano.png differ
diff --git a/output/designs/herbarium-press-v5-nano.png b/output/designs/herbarium-press-v5-nano.png
new file mode 100644
index 0000000..695915b
Binary files /dev/null and b/output/designs/herbarium-press-v5-nano.png differ
diff --git a/output/designs/herbarium-press-v6-nano.png b/output/designs/herbarium-press-v6-nano.png
new file mode 100644
index 0000000..710b612
Binary files /dev/null and b/output/designs/herbarium-press-v6-nano.png differ
diff --git a/output/designs/lagoon-legends-v1-nano.png b/output/designs/lagoon-legends-v1-nano.png
new file mode 100644
index 0000000..120dce1
Binary files /dev/null and b/output/designs/lagoon-legends-v1-nano.png differ
diff --git a/output/designs/lagoon-legends-v4-nano.png b/output/designs/lagoon-legends-v4-nano.png
new file mode 100644
index 0000000..369c723
Binary files /dev/null and b/output/designs/lagoon-legends-v4-nano.png differ
diff --git a/output/designs/lagoon-legends-v5-nano.png b/output/designs/lagoon-legends-v5-nano.png
new file mode 100644
index 0000000..06bf50f
Binary files /dev/null and b/output/designs/lagoon-legends-v5-nano.png differ
diff --git a/output/designs/lagoon-legends-v6-nano.png b/output/designs/lagoon-legends-v6-nano.png
new file mode 100644
index 0000000..5e46f91
Binary files /dev/null and b/output/designs/lagoon-legends-v6-nano.png differ
diff --git a/output/designs/lost-continent-v1-nano.png b/output/designs/lost-continent-v1-nano.png
new file mode 100644
index 0000000..187a22a
Binary files /dev/null and b/output/designs/lost-continent-v1-nano.png differ
diff --git a/output/designs/lost-continent-v4-nano.png b/output/designs/lost-continent-v4-nano.png
new file mode 100644
index 0000000..9557b6f
Binary files /dev/null and b/output/designs/lost-continent-v4-nano.png differ
diff --git a/output/designs/lost-continent-v5-nano.png b/output/designs/lost-continent-v5-nano.png
new file mode 100644
index 0000000..288d017
Binary files /dev/null and b/output/designs/lost-continent-v5-nano.png differ
diff --git a/output/designs/lost-continent-v6-nano.png b/output/designs/lost-continent-v6-nano.png
new file mode 100644
index 0000000..390972f
Binary files /dev/null and b/output/designs/lost-continent-v6-nano.png differ
diff --git a/output/designs/midnight-frequency-v1-nano.png b/output/designs/midnight-frequency-v1-nano.png
new file mode 100644
index 0000000..4ecd0c9
Binary files /dev/null and b/output/designs/midnight-frequency-v1-nano.png differ
diff --git a/output/designs/midnight-frequency-v4-nano.png b/output/designs/midnight-frequency-v4-nano.png
new file mode 100644
index 0000000..ecaa6f7
Binary files /dev/null and b/output/designs/midnight-frequency-v4-nano.png differ
diff --git a/output/designs/midnight-frequency-v5-nano.png b/output/designs/midnight-frequency-v5-nano.png
new file mode 100644
index 0000000..a8855ca
Binary files /dev/null and b/output/designs/midnight-frequency-v5-nano.png differ
diff --git a/output/designs/midnight-frequency-v6-nano.png b/output/designs/midnight-frequency-v6-nano.png
new file mode 100644
index 0000000..4db07c0
Binary files /dev/null and b/output/designs/midnight-frequency-v6-nano.png differ
diff --git a/output/designs/mod-orbit-v1-nano.png b/output/designs/mod-orbit-v1-nano.png
new file mode 100644
index 0000000..3b1cde3
Binary files /dev/null and b/output/designs/mod-orbit-v1-nano.png differ
diff --git a/output/designs/mod-orbit-v4-nano.png b/output/designs/mod-orbit-v4-nano.png
new file mode 100644
index 0000000..cad26c7
Binary files /dev/null and b/output/designs/mod-orbit-v4-nano.png differ
diff --git a/output/designs/mod-orbit-v5-nano.png b/output/designs/mod-orbit-v5-nano.png
new file mode 100644
index 0000000..d72a2eb
Binary files /dev/null and b/output/designs/mod-orbit-v5-nano.png differ
diff --git a/output/designs/mod-orbit-v6-nano.png b/output/designs/mod-orbit-v6-nano.png
new file mode 100644
index 0000000..a1edcb1
Binary files /dev/null and b/output/designs/mod-orbit-v6-nano.png differ
diff --git a/output/designs/monstera-bungalow-v1-nano.png b/output/designs/monstera-bungalow-v1-nano.png
new file mode 100644
index 0000000..d1415dd
Binary files /dev/null and b/output/designs/monstera-bungalow-v1-nano.png differ
diff --git a/output/designs/monstera-bungalow-v4-nano.png b/output/designs/monstera-bungalow-v4-nano.png
new file mode 100644
index 0000000..cbf589a
Binary files /dev/null and b/output/designs/monstera-bungalow-v4-nano.png differ
diff --git a/output/designs/monstera-bungalow-v5-nano.png b/output/designs/monstera-bungalow-v5-nano.png
new file mode 100644
index 0000000..bed0f52
Binary files /dev/null and b/output/designs/monstera-bungalow-v5-nano.png differ
diff --git a/output/designs/monstera-bungalow-v6-nano.png b/output/designs/monstera-bungalow-v6-nano.png
new file mode 100644
index 0000000..3f1ea2a
Binary files /dev/null and b/output/designs/monstera-bungalow-v6-nano.png differ
diff --git a/output/designs/moonrise-ikat-v1-nano.png b/output/designs/moonrise-ikat-v1-nano.png
new file mode 100644
index 0000000..8234898
Binary files /dev/null and b/output/designs/moonrise-ikat-v1-nano.png differ
diff --git a/output/designs/moonrise-ikat-v4-nano.png b/output/designs/moonrise-ikat-v4-nano.png
new file mode 100644
index 0000000..8fa5b3d
Binary files /dev/null and b/output/designs/moonrise-ikat-v4-nano.png differ
diff --git a/output/designs/moonrise-ikat-v5-nano.png b/output/designs/moonrise-ikat-v5-nano.png
new file mode 100644
index 0000000..46c49a6
Binary files /dev/null and b/output/designs/moonrise-ikat-v5-nano.png differ
diff --git a/output/designs/moonrise-ikat-v6-nano.png b/output/designs/moonrise-ikat-v6-nano.png
new file mode 100644
index 0000000..c71ab80
Binary files /dev/null and b/output/designs/moonrise-ikat-v6-nano.png differ
diff --git a/output/designs/night-jungle-v1-nano.png b/output/designs/night-jungle-v1-nano.png
new file mode 100644
index 0000000..811761e
Binary files /dev/null and b/output/designs/night-jungle-v1-nano.png differ
diff --git a/output/designs/night-jungle-v4-nano.png b/output/designs/night-jungle-v4-nano.png
new file mode 100644
index 0000000..5fec5af
Binary files /dev/null and b/output/designs/night-jungle-v4-nano.png differ
diff --git a/output/designs/night-jungle-v5-nano.png b/output/designs/night-jungle-v5-nano.png
new file mode 100644
index 0000000..d016203
Binary files /dev/null and b/output/designs/night-jungle-v5-nano.png differ
diff --git a/output/designs/night-jungle-v6-nano.png b/output/designs/night-jungle-v6-nano.png
new file mode 100644
index 0000000..f05cdfb
Binary files /dev/null and b/output/designs/night-jungle-v6-nano.png differ
diff --git a/output/designs/painted-feathers-v1-nano.png b/output/designs/painted-feathers-v1-nano.png
new file mode 100644
index 0000000..aac8247
Binary files /dev/null and b/output/designs/painted-feathers-v1-nano.png differ
diff --git a/output/designs/painted-feathers-v4-nano.png b/output/designs/painted-feathers-v4-nano.png
new file mode 100644
index 0000000..0e9bc9d
Binary files /dev/null and b/output/designs/painted-feathers-v4-nano.png differ
diff --git a/output/designs/painted-feathers-v5-nano.png b/output/designs/painted-feathers-v5-nano.png
new file mode 100644
index 0000000..6953c51
Binary files /dev/null and b/output/designs/painted-feathers-v5-nano.png differ
diff --git a/output/designs/painted-feathers-v6-nano.png b/output/designs/painted-feathers-v6-nano.png
new file mode 100644
index 0000000..2ee71c3
Binary files /dev/null and b/output/designs/painted-feathers-v6-nano.png differ
diff --git a/output/designs/plumbline-v1-nano.png b/output/designs/plumbline-v1-nano.png
new file mode 100644
index 0000000..2242514
Binary files /dev/null and b/output/designs/plumbline-v1-nano.png differ
diff --git a/output/designs/plumbline-v4-nano.png b/output/designs/plumbline-v4-nano.png
new file mode 100644
index 0000000..23e3865
Binary files /dev/null and b/output/designs/plumbline-v4-nano.png differ
diff --git a/output/designs/plumbline-v5-nano.png b/output/designs/plumbline-v5-nano.png
new file mode 100644
index 0000000..e068b8d
Binary files /dev/null and b/output/designs/plumbline-v5-nano.png differ
diff --git a/output/designs/plumbline-v6-nano.png b/output/designs/plumbline-v6-nano.png
new file mode 100644
index 0000000..0592222
Binary files /dev/null and b/output/designs/plumbline-v6-nano.png differ
diff --git a/output/designs/ray-shadow-v1-nano.png b/output/designs/ray-shadow-v1-nano.png
new file mode 100644
index 0000000..9824e17
Binary files /dev/null and b/output/designs/ray-shadow-v1-nano.png differ
diff --git a/output/designs/ray-shadow-v4-nano.png b/output/designs/ray-shadow-v4-nano.png
new file mode 100644
index 0000000..6f8db18
Binary files /dev/null and b/output/designs/ray-shadow-v4-nano.png differ
diff --git a/output/designs/ray-shadow-v5-nano.png b/output/designs/ray-shadow-v5-nano.png
new file mode 100644
index 0000000..0477011
Binary files /dev/null and b/output/designs/ray-shadow-v5-nano.png differ
diff --git a/output/designs/ray-shadow-v6-nano.png b/output/designs/ray-shadow-v6-nano.png
new file mode 100644
index 0000000..a50c077
Binary files /dev/null and b/output/designs/ray-shadow-v6-nano.png differ
diff --git a/output/designs/regatta-day-v1-nano.png b/output/designs/regatta-day-v1-nano.png
new file mode 100644
index 0000000..d8a8021
Binary files /dev/null and b/output/designs/regatta-day-v1-nano.png differ
diff --git a/output/designs/regatta-day-v4-nano.png b/output/designs/regatta-day-v4-nano.png
new file mode 100644
index 0000000..cebc2be
Binary files /dev/null and b/output/designs/regatta-day-v4-nano.png differ
diff --git a/output/designs/regatta-day-v5-nano.png b/output/designs/regatta-day-v5-nano.png
new file mode 100644
index 0000000..58971f0
Binary files /dev/null and b/output/designs/regatta-day-v5-nano.png differ
diff --git a/output/designs/regatta-day-v6-nano.png b/output/designs/regatta-day-v6-nano.png
new file mode 100644
index 0000000..acd6c23
Binary files /dev/null and b/output/designs/regatta-day-v6-nano.png differ
diff --git a/output/designs/robot-parade-v1-nano.png b/output/designs/robot-parade-v1-nano.png
new file mode 100644
index 0000000..2ad23fc
Binary files /dev/null and b/output/designs/robot-parade-v1-nano.png differ
diff --git a/output/designs/robot-parade-v4-nano.png b/output/designs/robot-parade-v4-nano.png
new file mode 100644
index 0000000..ccc2c8c
Binary files /dev/null and b/output/designs/robot-parade-v4-nano.png differ
diff --git a/output/designs/robot-parade-v5-nano.png b/output/designs/robot-parade-v5-nano.png
new file mode 100644
index 0000000..2bb1032
Binary files /dev/null and b/output/designs/robot-parade-v5-nano.png differ
diff --git a/output/designs/robot-parade-v6-nano.png b/output/designs/robot-parade-v6-nano.png
new file mode 100644
index 0000000..59bf1b6
Binary files /dev/null and b/output/designs/robot-parade-v6-nano.png differ
diff --git a/output/designs/tidepool-bloom-v1-nano.png b/output/designs/tidepool-bloom-v1-nano.png
new file mode 100644
index 0000000..7496823
Binary files /dev/null and b/output/designs/tidepool-bloom-v1-nano.png differ
diff --git a/output/designs/tidepool-bloom-v4-nano.png b/output/designs/tidepool-bloom-v4-nano.png
new file mode 100644
index 0000000..c9dbebe
Binary files /dev/null and b/output/designs/tidepool-bloom-v4-nano.png differ
diff --git a/output/designs/tidepool-bloom-v5-nano.png b/output/designs/tidepool-bloom-v5-nano.png
new file mode 100644
index 0000000..096735f
Binary files /dev/null and b/output/designs/tidepool-bloom-v5-nano.png differ
diff --git a/output/designs/tidepool-bloom-v6-nano.png b/output/designs/tidepool-bloom-v6-nano.png
new file mode 100644
index 0000000..ca3aa31
Binary files /dev/null and b/output/designs/tidepool-bloom-v6-nano.png differ
diff --git a/public/index.html b/public/index.html
index d88a33e..076a31c 100644
--- a/public/index.html
+++ b/public/index.html
@@ -132,6 +132,7 @@ function render() {
<span class="when" title="${v.created_at}">🕓 ${fmtDate(v.created_at)}</span>
${v.tile ? `<span class="badge" style="background:${v.tile.verdict==='PASS'?'#14301b;color:#6c6':v.tile.verdict==='WARN'?'#33290f;color:#e0b34d':'#331414;color:#e06c6c'}">tile: ${v.tile.verdict}</span>` : ''}
${v.borderline ? '<span class="badge" style="background:#3a2510;color:#f0a050">⚠ settlement REVIEW</span>' : ''}
+ ${v.copycheck === 'FLAGGED' ? `<span class="badge" style="background:#3a1010;color:#f05050" title="${v.copycheck_what||''}">✋ too close to original</span>` : v.copycheck === 'CLEAN' ? '<span class="badge" style="background:#102a10;color:#5cb85c">✓ original</span>' : ''}
<button class="choose" onclick="choose('${d.id}','${v.file}')">
${chosenFile === v.file ? '✓ CHOSEN — will go live' : 'Choose this version'}</button>
</div>
diff --git a/scripts/contact_sheet.py b/scripts/contact_sheet.py
new file mode 100644
index 0000000..eefa29d
--- /dev/null
+++ b/scripts/contact_sheet.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python3
+"""Build one contact-sheet strip per design: reference first (framed red),
+then every variant, 256px tiles. For human review. $0 local.
+Usage: contact_sheet.py -> output/review/<id>.png
+"""
+import json, os
+from PIL import Image, ImageDraw
+
+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+OUT = os.path.join(ROOT, "output", "review")
+T = 256
+
+def tile(path, frame=None):
+ im = Image.open(path).convert("RGB")
+ im.thumbnail((T, T))
+ canvas = Image.new("RGB", (T, T), "#111")
+ canvas.paste(im, ((T - im.width) // 2, (T - im.height) // 2))
+ if frame:
+ ImageDraw.Draw(canvas).rectangle([0, 0, T - 1, T - 1], outline=frame, width=4)
+ return canvas
+
+def main():
+ os.makedirs(OUT, exist_ok=True)
+ designs = json.load(open(os.path.join(ROOT, "data", "designs.json")))
+ for x in designs:
+ cells = []
+ ref = os.path.join(ROOT, "output", "refs", f"ref-{x['id']}.jpg")
+ if os.path.exists(ref):
+ cells.append(tile(ref, frame="#e05050"))
+ for v in sorted(x["variants"], key=lambda v: v["file"]):
+ p = os.path.join(ROOT, "output", "designs", v["file"])
+ if os.path.exists(p):
+ cells.append(tile(p))
+ if not cells:
+ continue
+ sheet = Image.new("RGB", (T * len(cells), T), "#111")
+ for i, c in enumerate(cells):
+ sheet.paste(c, (i * T, 0))
+ sheet.save(os.path.join(OUT, f"{x['id']}.png"))
+ print(f"sheets in {OUT}")
+
+if __name__ == "__main__":
+ main()
← 0947758 POLICY: generator never sees reference images; copy-check ga
·
back to Wild Wallcoverings
·
all 159 clean: copy-check, settlement, tile scans complete; 33fa61f →