[object Object]

← 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

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 →