{
  "version": 1,
  "status": "Four cleaner art candidates; gameplay integration handled separately",
  "logicalTile": 32,
  "phases": [
    "idle",
    "walkA",
    "walkB",
    "scrub",
    "startled",
    "return"
  ],
  "loop": {
    "walk": [
      0,
      1,
      0,
      2
    ],
    "clean": [
      1,
      3,
      2,
      3
    ],
    "frameMs": 160
  },
  "assets": [
    {
      "id": "mouse",
      "key": "mouse",
      "animal": "mouse",
      "name": "Mouse · sponge scrubber",
      "source": "art/incoming NEW/drench-cleaner-mouse-source.png",
      "sourceSha256": "6426139f1cf249c8be6d70267399ae157d79ee46f838147f89ad143bc96538be",
      "toolOutputPath": "C:/Users/daver/.codex/generated_images/01a0fe67-26e5-7ae3-aa42-d250133b7d4c/exec-502e6517-310e-47b8-b4b4-280691c894dd.png",
      "sourceDimensions": [
        1536,
        1024
      ],
      "sourceAlpha": {
        "min": 0,
        "max": 254,
        "transparent": 1210821
      },
      "sourceReview": "mouse-source.webp",
      "thumbnail": "mouse.webp",
      "commonScale64": 0.12857142857142856,
      "facing": "south-east",
      "frames": [
        {
          "index": 0,
          "name": "idle",
          "sourceRegion": [
            0,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            290,
            430
          ],
          "sourceBounds": {
            "left": 140,
            "top": 93,
            "right": 423,
            "bottom": 448,
            "pixels": 54340
          },
          "bounds128": {
            "left": 25,
            "top": 11,
            "right": 97,
            "bottom": 102,
            "pixels": 3621
          },
          "bounds64": {
            "left": 13,
            "top": 6,
            "right": 47,
            "bottom": 50,
            "pixels": 897
          }
        },
        {
          "index": 1,
          "name": "walkA",
          "sourceRegion": [
            512,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            770,
            430
          ],
          "sourceBounds": {
            "left": 126,
            "top": 97,
            "right": 412,
            "bottom": 452,
            "pixels": 54456
          },
          "bounds128": {
            "left": 30,
            "top": 12,
            "right": 103,
            "bottom": 103,
            "pixels": 3632
          },
          "bounds64": {
            "left": 15,
            "top": 6,
            "right": 50,
            "bottom": 51,
            "pixels": 907
          }
        },
        {
          "index": 2,
          "name": "walkB",
          "sourceRegion": [
            1024,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            1270,
            435
          ],
          "sourceBounds": {
            "left": 111,
            "top": 99,
            "right": 382,
            "bottom": 461,
            "pixels": 54176
          },
          "bounds128": {
            "left": 29,
            "top": 12,
            "right": 98,
            "bottom": 104,
            "pixels": 3607
          },
          "bounds64": {
            "left": 15,
            "top": 6,
            "right": 48,
            "bottom": 51,
            "pixels": 903
          }
        },
        {
          "index": 3,
          "name": "scrub",
          "sourceRegion": [
            0,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            265,
            870
          ],
          "sourceBounds": {
            "left": 111,
            "top": 121,
            "right": 463,
            "bottom": 416,
            "pixels": 58153
          },
          "bounds128": {
            "left": 24,
            "top": 37,
            "right": 114,
            "bottom": 112,
            "pixels": 3873
          },
          "bounds64": {
            "left": 12,
            "top": 19,
            "right": 56,
            "bottom": 56,
            "pixels": 970
          }
        },
        {
          "index": 4,
          "name": "startled",
          "sourceRegion": [
            512,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            780,
            895
          ],
          "sourceBounds": {
            "left": 127,
            "top": 33,
            "right": 400,
            "bottom": 405,
            "pixels": 54573
          },
          "bounds128": {
            "left": 28,
            "top": 8,
            "right": 96,
            "bottom": 103,
            "pixels": 3630
          },
          "bounds64": {
            "left": 14,
            "top": 4,
            "right": 48,
            "bottom": 51,
            "pixels": 908
          }
        },
        {
          "index": 5,
          "name": "return",
          "sourceRegion": [
            1024,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            1270,
            895
          ],
          "sourceBounds": {
            "left": 88,
            "top": 71,
            "right": 423,
            "bottom": 404,
            "pixels": 54874
          },
          "bounds128": {
            "left": 23,
            "top": 18,
            "right": 108,
            "bottom": 103,
            "pixels": 3665
          },
          "bounds64": {
            "left": 12,
            "top": 9,
            "right": 54,
            "bottom": 51,
            "pixels": 914
          }
        }
      ],
      "zones": [
        {
          "name": "fur",
          "label": "Fur",
          "map": 0,
          "channel": "R",
          "baseColor": "#c48f61",
          "sourcePixels": 131774
        },
        {
          "name": "apron",
          "label": "Apron",
          "map": 0,
          "channel": "G",
          "baseColor": "#63796d",
          "sourcePixels": 31038
        },
        {
          "name": "sponge",
          "label": "Sponge",
          "map": 0,
          "channel": "B",
          "baseColor": "#dea552",
          "sourcePixels": 39328
        }
      ],
      "files": {
        "64": {
          "art": "mouse-atlas-64.png",
          "map": "mouse-rgb-64.png",
          "cell": 64,
          "cols": 6,
          "rows": 1,
          "pivot": [
            32,
            49
          ]
        },
        "128": {
          "art": "mouse-atlas-128.png",
          "map": "mouse-rgb-128.png",
          "cell": 128,
          "cols": 6,
          "rows": 1,
          "pivot": [
            64,
            98
          ]
        }
      },
      "notes": "Six south-east views, not a full directional set. Scrub crouches and return leans forward. Explicit foot landmarks align each source pose with one common scale.",
      "prompt": "Hand-drawn 2D illustration in the tradition of hand-painted animation backgrounds: flat shapes of colour with soft gouache texture, thin slightly wobbly dark-brown ink outlines, simple readable forms, gentle natural light, cosy and whimsical, lots of nature (grass, clouds, leaves, water). Limited warm palette: cream, sage green, dusty teal, soft coral, mustard yellow, with deep plum and indigo for shadows and night. Flat colour, no gradients or glow effects beyond a soft painted haze. Not photorealistic, not a 3D render, not glossy digital painting, no lens flare. No text, letters or logos. No human faces.\n\nUse case: stylized-concept. Create ONE transparent 3-column by2-row character sprite sheet, landscape1536x1024 with exactly SIX equal square cells. First3 references define matte painted style, Bogs defines overhead readable proportions, last rivals contact defines matching sprite size and finish only. Do not copy reference backgrounds, text, props or layouts. Same compact character in all6 cells, camera fixed orthographic overhead3/4 facing diagonally down-right, no angle changes. Head visible from above, body above a fixed footpoint at exactly centre-x and82percent cell-height. Generous20percent transparent margins including tool and tail, no overhang across cell seams. Use one consistent character scale. Genuine transparent alpha throughout background; no fake checkerboard, cast shadows, ground, labels, grid lines or dividers. Read at64px/128px, hand-painted adventure charm not blocky pixel art. Brown ink and cream highlights, broad clearly separated material regions. Avoid intricate fur, metallic shine, glows and extra decorations.\n\nCharacter: one small friendly helpful mouse scrubber, warm taupe fur with cream muzzle and belly, two broad round ears, tiny dark eyes, plain dusty-teal sleeveless apron with no pockets/straps/buckles. It holds ONE large soft mustard-yellow rectangular washing sponge with rounded corners and only4 broad pores, easily distinguished from a paintbrush. No paint pot, backpack, hat, brush or weapon. One simple curved tail, no foam trail. Recolourable areas: taupe fur #ba9977, teal apron #6f9992, mustard sponge #d9b875; cream and brown lines protected. Tiny pink ear interiors may remain neutral.\n\nRow-major six actual action poses: 1 idle, sponge held in both forepaws at waist; 2 stepping with left foot forward sponge held close; 3 stepping with right foot forward; 4 scrub crouch, forepaws press sponge against floor immediately ahead, no drawn floor/suds; 5 harmless startled pose ears up with sponge lifted close to chest, no symbols or floating marks; 6 quick retreat crouch holding sponge tightly, one foot beginning a retreat step. Same facing and scale all six; retreat does not turn body backwards. Preserve two hindfeet and two forepaws, same simple face/clothing in every pose. This cleaner removes paint, it never paints.",
      "references": [
        "art/incoming NEW/style-sample.jpeg",
        "art/incoming NEW/braeve-meadow.jpeg",
        "art/incoming NEW/box-whist.jpeg",
        "public/art/quest/bogs/bogs-contact.png",
        "public/art/drench-arena/rivals/contact.png"
      ]
    },
    {
      "id": "frog",
      "key": "frog",
      "animal": "frog",
      "name": "Frog · squeegee helper",
      "source": "art/incoming NEW/drench-cleaner-frog-source.png",
      "sourceSha256": "5510d88a101cbb72972a0c5f6006d47ef10a2257b9868ca994067cb65e958dcd",
      "toolOutputPath": "C:/Users/daver/.codex/generated_images/01a0fe67-26e5-7ae3-aa42-d250133b7d4c/exec-bec2785f-cd19-4bc4-ab4d-dc7b3f49f51e.png",
      "sourceDimensions": [
        1536,
        1024
      ],
      "sourceAlpha": {
        "min": 0,
        "max": 254,
        "transparent": 1176780
      },
      "sourceReview": "frog-source.webp",
      "thumbnail": "frog.webp",
      "commonScale64": 0.10071942446043165,
      "facing": "south-east",
      "frames": [
        {
          "index": 0,
          "name": "idle",
          "sourceRegion": [
            0,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            260,
            417
          ],
          "sourceBounds": {
            "left": 163,
            "top": 112,
            "right": 450,
            "bottom": 491,
            "pixels": 61537
          },
          "bounds128": {
            "left": 44,
            "top": 36,
            "right": 101,
            "bottom": 112,
            "pixels": 2511
          },
          "bounds64": {
            "left": 22,
            "top": 18,
            "right": 50,
            "bottom": 56,
            "pixels": 634
          }
        },
        {
          "index": 1,
          "name": "walkA",
          "sourceRegion": [
            512,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            766,
            424
          ],
          "sourceBounds": {
            "left": 110,
            "top": 119,
            "right": 457,
            "bottom": 494,
            "pixels": 65221
          },
          "bounds128": {
            "left": 35,
            "top": 37,
            "right": 104,
            "bottom": 111,
            "pixels": 2661
          },
          "bounds64": {
            "left": 18,
            "top": 18,
            "right": 52,
            "bottom": 55,
            "pixels": 671
          }
        },
        {
          "index": 2,
          "name": "walkB",
          "sourceRegion": [
            1024,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            1280,
            424
          ],
          "sourceBounds": {
            "left": 107,
            "top": 127,
            "right": 443,
            "bottom": 495,
            "pixels": 62869
          },
          "bounds128": {
            "left": 34,
            "top": 38,
            "right": 101,
            "bottom": 111,
            "pixels": 2575
          },
          "bounds64": {
            "left": 17,
            "top": 19,
            "right": 50,
            "bottom": 55,
            "pixels": 647
          }
        },
        {
          "index": 3,
          "name": "scrub",
          "sourceRegion": [
            0,
            512,
            566,
            512
          ],
          "sourceAnchor": [
            260,
            855
          ],
          "sourceBounds": {
            "left": 76,
            "top": 118,
            "right": 538,
            "bottom": 440,
            "pixels": 65011
          },
          "bounds128": {
            "left": 27,
            "top": 53,
            "right": 119,
            "bottom": 117,
            "pixels": 2667
          },
          "bounds64": {
            "left": 13,
            "top": 26,
            "right": 59,
            "bottom": 58,
            "pixels": 666
          }
        },
        {
          "index": 4,
          "name": "startled",
          "sourceRegion": [
            566,
            512,
            458,
            512
          ],
          "sourceAnchor": [
            790,
            888
          ],
          "sourceBounds": {
            "left": 91,
            "top": 56,
            "right": 351,
            "bottom": 392,
            "pixels": 57139
          },
          "bounds128": {
            "left": 37,
            "top": 33,
            "right": 89,
            "bottom": 101,
            "pixels": 2326
          },
          "bounds64": {
            "left": 19,
            "top": 17,
            "right": 44,
            "bottom": 50,
            "pixels": 581
          }
        },
        {
          "index": 5,
          "name": "return",
          "sourceRegion": [
            1024,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            1280,
            893
          ],
          "sourceBounds": {
            "left": 133,
            "top": 101,
            "right": 412,
            "bottom": 433,
            "pixels": 57706
          },
          "bounds128": {
            "left": 39,
            "top": 42,
            "right": 95,
            "bottom": 108,
            "pixels": 2353
          },
          "bounds64": {
            "left": 20,
            "top": 21,
            "right": 47,
            "bottom": 53,
            "pixels": 592
          }
        }
      ],
      "zones": [
        {
          "name": "skin",
          "label": "Skin",
          "map": 0,
          "channel": "R",
          "baseColor": "#a6a766",
          "sourcePixels": 158711
        },
        {
          "name": "apron",
          "label": "Apron",
          "map": 0,
          "channel": "G",
          "baseColor": "#62756f",
          "sourcePixels": 35703
        },
        {
          "name": "blade",
          "label": "Blade",
          "map": 0,
          "channel": "B",
          "baseColor": "#cb7961",
          "sourcePixels": 30012
        }
      ],
      "files": {
        "64": {
          "art": "frog-atlas-64.png",
          "map": "frog-rgb-64.png",
          "cell": 64,
          "cols": 6,
          "rows": 1,
          "pivot": [
            32,
            49
          ]
        },
        "128": {
          "art": "frog-atlas-128.png",
          "map": "frog-rgb-128.png",
          "cell": 128,
          "cols": 6,
          "rows": 1,
          "pivot": [
            64,
            98
          ]
        }
      },
      "notes": "Scrub blade extends beyond the nominal first512px cell; a nonoverlapping566px region preserves it. Startled intentionally sits with toes drawn up. One common scale, inspected foot landmarks, south-east views only.",
      "prompt": "Hand-drawn 2D illustration in the tradition of hand-painted animation backgrounds: flat shapes of colour with soft gouache texture, thin slightly wobbly dark-brown ink outlines, simple readable forms, gentle natural light, cosy and whimsical, lots of nature (grass, clouds, leaves, water). Limited warm palette: cream, sage green, dusty teal, soft coral, mustard yellow, with deep plum and indigo for shadows and night. Flat colour, no gradients or glow effects beyond a soft painted haze. Not photorealistic, not a 3D render, not glossy digital painting, no lens flare. No text, letters or logos. No human faces.\n\nUse case: stylized-concept. Create ONE transparent 3-column by2-row character sprite sheet, landscape1536x1024 with exactly SIX equal square cells. First3 references define matte painted style, Bogs defines overhead readable proportions, last rivals contact defines matching sprite size and finish only. Do not copy reference backgrounds, text, props or layouts. Same compact character in all6 cells, camera fixed orthographic overhead3/4 facing diagonally down-right, no angle changes. Head visible from above, body above a fixed footpoint at exactly centre-x and82percent cell-height. Generous20percent transparent margins including tool and tail, no overhang across cell seams. Use one consistent character scale. Genuine transparent alpha throughout background; no fake checkerboard, cast shadows, ground, labels, grid lines or dividers. Read at64px/128px, hand-painted adventure charm not blocky pixel art. Brown ink and cream highlights, broad clearly separated material regions. Avoid intricate fur, metallic shine, glows and extra decorations.\n\nCharacter: one friendly squat frog cleaning helper, broad sage-green head/body with TWO large gentle amber eyes and cream chin/belly, no spots or busy skin texture. Plain dusty-teal short apron, no straps/pockets/buckles. Both hands grip a short brown wooden handle attached to ONE broad soft-coral rubber squeegee head with a cream bracket. This is visibly a flat straight cleaning blade, not a paint roller, no paint or dripping liquid. Large head, broad feet and low silhouette, distinct from a mouse. Three separated materials for recolouring: sage skin #9baa74, teal apron #6f9992, coral rubber blade #d58c7b; cream face/bracket and brown lines/handle protected. No scarf, backpack, hat, weapon or other gear.\n\nRow-major six readable action poses: 1 idle stands behind squeegee, blade rests just ahead at floor level; 2 shuffling forward with left foot leading and blade close; 3 shuffling with right foot leading; 4 deep squat pushing cleaning blade forward with both hands, small effort but friendly; 5 startled sitting upright with squeegee lifted close and toes drawn in, no symbols; 6 quick retreat crouch pulling squeegee close, same diagonal facing and body scale. Exactly two hands and two feet, legs compact, eyes consistent. Return stays facing down-right for runtime mirror; do not change camera. Same source-foot pivot near82percent of every cell, conservative tool length fits clear gutters. No foam marks or ground contact shadow. This cleaner removes paint rather than painting.",
      "references": [
        "art/incoming NEW/style-sample.jpeg",
        "art/incoming NEW/braeve-meadow.jpeg",
        "art/incoming NEW/box-whist.jpeg",
        "public/art/quest/bogs/bogs-contact.png",
        "public/art/drench-arena/rivals/contact.png"
      ]
    },
    {
      "id": "beetle",
      "key": "beetle",
      "animal": "beetle",
      "name": "Beetle · polishing helper",
      "source": "art/incoming NEW/drench-cleaner-beetle-source.png",
      "sourceSha256": "7580cc8ea23b0ebfe62229fac7c924dbbb5925adaafc071080223b43432c1611",
      "toolOutputPath": "C:/Users/daver/.codex/generated_images/01a0fe67-26e5-7ae3-aa42-d250133b7d4c/exec-75c6e880-dfde-4c14-bc11-03045ac415d0.png",
      "sourceDimensions": [
        1536,
        1024
      ],
      "sourceAlpha": {
        "min": 0,
        "max": 254,
        "transparent": 1204492
      },
      "sourceReview": "beetle-source.webp",
      "thumbnail": "beetle.webp",
      "commonScale64": 0.14358974358974358,
      "facing": "south-east",
      "frames": [
        {
          "index": 0,
          "name": "idle",
          "sourceRegion": [
            0,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            276,
            385
          ],
          "sourceBounds": {
            "left": 126,
            "top": 132,
            "right": 434,
            "bottom": 447,
            "pixels": 57593
          },
          "bounds128": {
            "left": 21,
            "top": 25,
            "right": 109,
            "bottom": 115,
            "pixels": 4793
          },
          "bounds64": {
            "left": 10,
            "top": 13,
            "right": 54,
            "bottom": 57,
            "pixels": 1203
          }
        },
        {
          "index": 1,
          "name": "walkA",
          "sourceRegion": [
            512,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            765,
            385
          ],
          "sourceBounds": {
            "left": 108,
            "top": 136,
            "right": 433,
            "bottom": 446,
            "pixels": 57362
          },
          "bounds128": {
            "left": 22,
            "top": 27,
            "right": 115,
            "bottom": 115,
            "pixels": 4769
          },
          "bounds64": {
            "left": 11,
            "top": 13,
            "right": 57,
            "bottom": 57,
            "pixels": 1191
          }
        },
        {
          "index": 2,
          "name": "walkB",
          "sourceRegion": [
            1024,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            1273,
            386
          ],
          "sourceBounds": {
            "left": 96,
            "top": 138,
            "right": 412,
            "bottom": 447,
            "pixels": 56515
          },
          "bounds128": {
            "left": 20,
            "top": 27,
            "right": 110,
            "bottom": 115,
            "pixels": 4707
          },
          "bounds64": {
            "left": 10,
            "top": 13,
            "right": 54,
            "bottom": 57,
            "pixels": 1179
          }
        },
        {
          "index": 3,
          "name": "scrub",
          "sourceRegion": [
            0,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            275,
            862
          ],
          "sourceBounds": {
            "left": 111,
            "top": 107,
            "right": 470,
            "bottom": 426,
            "pixels": 63359
          },
          "bounds128": {
            "left": 17,
            "top": 28,
            "right": 119,
            "bottom": 119,
            "pixels": 5267
          },
          "bounds64": {
            "left": 8,
            "top": 14,
            "right": 59,
            "bottom": 59,
            "pixels": 1309
          }
        },
        {
          "index": 4,
          "name": "startled",
          "sourceRegion": [
            512,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            779,
            867
          ],
          "sourceBounds": {
            "left": 128,
            "top": 114,
            "right": 399,
            "bottom": 374,
            "pixels": 47758
          },
          "bounds128": {
            "left": 24,
            "top": 29,
            "right": 101,
            "bottom": 103,
            "pixels": 3963
          },
          "bounds64": {
            "left": 12,
            "top": 14,
            "right": 50,
            "bottom": 51,
            "pixels": 991
          }
        },
        {
          "index": 5,
          "name": "return",
          "sourceRegion": [
            1024,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            1286,
            865
          ],
          "sourceBounds": {
            "left": 132,
            "top": 136,
            "right": 432,
            "bottom": 393,
            "pixels": 51525
          },
          "bounds128": {
            "left": 27,
            "top": 36,
            "right": 112,
            "bottom": 109,
            "pixels": 4281
          },
          "bounds64": {
            "left": 13,
            "top": 18,
            "right": 56,
            "bottom": 54,
            "pixels": 1066
          }
        }
      ],
      "zones": [
        {
          "name": "shell",
          "label": "Shell",
          "map": 0,
          "channel": "R",
          "baseColor": "#939967",
          "sourcePixels": 139125
        },
        {
          "name": "body",
          "label": "Body",
          "map": 0,
          "channel": "G",
          "baseColor": "#e3ab4e",
          "sourcePixels": 72642
        },
        {
          "name": "brush",
          "label": "Brush",
          "map": 0,
          "channel": "B",
          "baseColor": "#617e6d",
          "sourcePixels": 21250
        }
      ],
      "files": {
        "64": {
          "art": "beetle-atlas-64.png",
          "map": "beetle-rgb-64.png",
          "cell": 64,
          "cols": 6,
          "rows": 1,
          "pivot": [
            32,
            49
          ]
        },
        "128": {
          "art": "beetle-atlas-128.png",
          "map": "beetle-rgb-128.png",
          "cell": 128,
          "cols": 6,
          "rows": 1,
          "pivot": [
            64,
            98
          ]
        }
      },
      "notes": "Broad oval brush and cream bristles distinguish this from the rival roller. Far limbs can be occluded by the wingcase; explicit foot landmarks share one scale, south-east views only.",
      "prompt": "Hand-drawn 2D illustration in the tradition of hand-painted animation backgrounds: flat shapes of colour with soft gouache texture, thin slightly wobbly dark-brown ink outlines, simple readable forms, gentle natural light, cosy and whimsical, lots of nature (grass, clouds, leaves, water). Limited warm palette: cream, sage green, dusty teal, soft coral, mustard yellow, with deep plum and indigo for shadows and night. Flat colour, no gradients or glow effects beyond a soft painted haze. Not photorealistic, not a 3D render, not glossy digital painting, no lens flare. No text, letters or logos. No human faces.\n\nUse case: stylized-concept. Create ONE transparent 3-column by2-row character sprite sheet, landscape1536x1024 with exactly SIX equal square cells. First3 references define matte painted style, Bogs defines overhead readable proportions, last rivals contact defines matching sprite size and finish only. Do not copy reference backgrounds, text, props or layouts. Same compact character in all6 cells, camera fixed orthographic overhead3/4 facing diagonally down-right, no angle changes. Head visible from above, body above a fixed footpoint at exactly centre-x and82percent cell-height. Generous20percent transparent margins including tool and tail, no overhang across cell seams. Use one consistent character scale. Genuine transparent alpha throughout background; no fake checkerboard, cast shadows, ground, labels, grid lines or dividers. Read at64px/128px, hand-painted adventure charm not blocky pixel art. Brown ink and cream highlights, broad clearly separated material regions. Avoid intricate fur, metallic shine, glows and extra decorations.\n\nCharacter: a friendly broad oval beetle cleaning helper. Sage-green split wingcase with one simple central seam, small mustard-gold face, six short jointed legs, two short curved antennae, dark dot eyes. NO clothes, spots, ornament, armour or paint supplies. The front two legs hold a broad flat oval polishing hand-brush: dusty-teal wooden brush back, one short warm-brown grip arch, a short dense cream bristle fringe underneath. This tool is a squat solid brush, NOT a roller, NOT a sponge, no trailing handle. Broad surfaces distinguish three recolour materials: sage shell #9ba87b, mustard body/legs #d7ad65, dusty-teal brush back #6f9992. Brown ink, cream bristles and wooden grip remain neutral. Simple leg count and readable tool silhouette at64pixels.\n\nRow-major six actual poses:1 idle with brush low ahead;2 scuttling left-side middle/rear legs forward, front legs holding brush;3 alternate right-side legs forward;4 lean forward pressing flat brush onto floor immediately ahead, body a little lower, no depicted floor;5 startled legs draw in, antennae back, front legs lift brush close, no symbols;6 low quick retreat holding brush close, same facing. Same body scale and footpoint all six; do not zoom or rotate. Keep all appendages entirely inside central70percent of each equal512px cell with large transparent gutters. No foam, paint or floor shadow. These cleaners remove paint.",
      "references": [
        "art/incoming NEW/style-sample.jpeg",
        "art/incoming NEW/braeve-meadow.jpeg",
        "art/incoming NEW/box-whist.jpeg",
        "public/art/quest/bogs/bogs-contact.png",
        "public/art/drench-arena/rivals/contact.png"
      ]
    },
    {
      "id": "bat",
      "key": "bat",
      "animal": "bat",
      "name": "Bat · soft duster",
      "source": "art/incoming NEW/drench-cleaner-bat-source.png",
      "sourceSha256": "16fc2900f11751d32a489c7c51dffa275e51203723d56824e41da87b83c56de6",
      "toolOutputPath": "C:/Users/daver/.codex/generated_images/01a0fe67-26e5-7ae3-aa42-d250133b7d4c/exec-ae4890aa-bc96-42d0-a12c-9f5b1e8c5aac.png",
      "sourceDimensions": [
        1536,
        1024
      ],
      "sourceAlpha": {
        "min": 0,
        "max": 254,
        "transparent": 1228669
      },
      "sourceReview": "bat-source.webp",
      "thumbnail": "bat.webp",
      "commonScale64": 0.11138613861386139,
      "facing": "south-east",
      "frames": [
        {
          "index": 0,
          "name": "idle",
          "sourceRegion": [
            0,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            305,
            460
          ],
          "sourceBounds": {
            "left": 68,
            "top": 133,
            "right": 494,
            "bottom": 462,
            "pixels": 51252
          },
          "bounds128": {
            "left": 11,
            "top": 25,
            "right": 105,
            "bottom": 98,
            "pixels": 2569
          },
          "bounds64": {
            "left": 6,
            "top": 13,
            "right": 52,
            "bottom": 48,
            "pixels": 635
          }
        },
        {
          "index": 1,
          "name": "walkA",
          "sourceRegion": [
            512,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            808,
            460
          ],
          "sourceBounds": {
            "left": 111,
            "top": 56,
            "right": 424,
            "bottom": 462,
            "pixels": 52579
          },
          "bounds128": {
            "left": 23,
            "top": 8,
            "right": 92,
            "bottom": 98,
            "pixels": 2633
          },
          "bounds64": {
            "left": 11,
            "top": 4,
            "right": 45,
            "bottom": 48,
            "pixels": 655
          }
        },
        {
          "index": 2,
          "name": "walkB",
          "sourceRegion": [
            1024,
            0,
            512,
            512
          ],
          "sourceAnchor": [
            1306,
            460
          ],
          "sourceBounds": {
            "left": 57,
            "top": 134,
            "right": 454,
            "bottom": 460,
            "pixels": 49307
          },
          "bounds128": {
            "left": 14,
            "top": 25,
            "right": 102,
            "bottom": 97,
            "pixels": 2473
          },
          "bounds64": {
            "left": 7,
            "top": 13,
            "right": 50,
            "bottom": 48,
            "pixels": 620
          }
        },
        {
          "index": 3,
          "name": "scrub",
          "sourceRegion": [
            0,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            307,
            916
          ],
          "sourceBounds": {
            "left": 76,
            "top": 104,
            "right": 485,
            "bottom": 403,
            "pixels": 52646
          },
          "bounds128": {
            "left": 13,
            "top": 31,
            "right": 103,
            "bottom": 97,
            "pixels": 2622
          },
          "bounds64": {
            "left": 6,
            "top": 16,
            "right": 51,
            "bottom": 48,
            "pixels": 661
          }
        },
        {
          "index": 4,
          "name": "startled",
          "sourceRegion": [
            512,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            805,
            873
          ],
          "sourceBounds": {
            "left": 78,
            "top": 25,
            "right": 453,
            "bottom": 367,
            "pixels": 56817
          },
          "bounds128": {
            "left": 16,
            "top": 23,
            "right": 99,
            "bottom": 99,
            "pixels": 2843
          },
          "bounds64": {
            "left": 8,
            "top": 12,
            "right": 49,
            "bottom": 49,
            "pixels": 715
          }
        },
        {
          "index": 5,
          "name": "return",
          "sourceRegion": [
            1024,
            512,
            512,
            512
          ],
          "sourceAnchor": [
            1342,
            907
          ],
          "sourceBounds": {
            "left": 109,
            "top": 101,
            "right": 406,
            "bottom": 395,
            "pixels": 39239
          },
          "bounds128": {
            "left": 18,
            "top": 33,
            "right": 83,
            "bottom": 97,
            "pixels": 1956
          },
          "bounds64": {
            "left": 9,
            "top": 16,
            "right": 41,
            "bottom": 48,
            "pixels": 490
          }
        }
      ],
      "zones": [
        {
          "name": "fur",
          "label": "Fur",
          "map": 0,
          "channel": "R",
          "baseColor": "#7f505a",
          "sourcePixels": 48048
        },
        {
          "name": "wings",
          "label": "Wings",
          "map": 0,
          "channel": "G",
          "baseColor": "#687e79",
          "sourcePixels": 77955
        },
        {
          "name": "duster",
          "label": "Duster",
          "map": 0,
          "channel": "B",
          "baseColor": "#e0b066",
          "sourcePixels": 31203
        }
      ],
      "files": {
        "64": {
          "art": "bat-atlas-64.png",
          "map": "bat-rgb-64.png",
          "cell": 64,
          "cols": 6,
          "rows": 1,
          "pivot": [
            32,
            49
          ]
        },
        "128": {
          "art": "bat-atlas-128.png",
          "map": "bat-rgb-128.png",
          "cell": 128,
          "cols": 6,
          "rows": 1,
          "pivot": [
            64,
            98
          ]
        }
      },
      "notes": "Virtual ground pivots below the hovering body register wingbeats; walkA/walkB mean wing-up/wing-down. Scrub deliberately reaches the duster forward and return sweeps wings back. One scale, south-east views only.",
      "prompt": "Hand-drawn 2D illustration in the tradition of hand-painted animation backgrounds: flat shapes of colour with soft gouache texture, thin slightly wobbly dark-brown ink outlines, simple readable forms, gentle natural light, cosy and whimsical, lots of nature (grass, clouds, leaves, water). Limited warm palette: cream, sage green, dusty teal, soft coral, mustard yellow, with deep plum and indigo for shadows and night. Flat colour, no gradients or glow effects beyond a soft painted haze. Not photorealistic, not a 3D render, not glossy digital painting, no lens flare. No text, letters or logos. No human faces.\n\nUse case: stylized-concept. Create ONE transparent 3-column by2-row character sprite sheet, landscape1536x1024 with exactly SIX equal square cells. First3 references define matte painted style, Bogs defines overhead readable proportions, last rivals contact defines matching sprite size and finish only. Do not copy reference backgrounds, text, props or layouts. Same compact character in all6 cells, camera fixed orthographic overhead3/4 facing diagonally down-right, no angle changes. Head visible from above, body above a fixed footpoint at exactly centre-x and82percent cell-height. Generous20percent transparent margins including tool and tail, no overhang across cell seams. Use one consistent character scale. Genuine transparent alpha throughout background; no fake checkerboard, cast shadows, ground, labels, grid lines or dividers. Read at64px/128px, hand-painted adventure charm not blocky pixel art. Brown ink and cream highlights, broad clearly separated material regions. Avoid intricate fur, metallic shine, glows and extra decorations.\n\nCharacter: one friendly small bat cleaning helper. Compact dusty-plum furry oval body with cream muzzle, two modest pointed ears, tiny dark dot eyes, short feet and broad muted-teal bat wings with three simple membrane scallops each. Both feet clasp the short brown handle of ONE fluffy mustard-yellow oval cleaning duster hanging just below and ahead of the belly. Tuft made of only5 broad soft feather-like shapes, not detailed individual strands. NO bucket, paint, clothing, jewellery, gadgets or other tools. Three independent broad material colours: plum body #957185, teal wing membranes #6f9992, mustard duster #d8b777; brown wing structure/handle and cream muzzle fixed. Kind expression. Keep wing span compact: no wingtip crosses its equal512px source cell or comes within60px of a cell edge.\n\nRow-major six distinct action poses:1 idle hover wings held halfway up, duster low;2 wingbeat up, same body centre and low duster tip;3 wingbeat down, same body centre and duster tip;4 gentle dusting lean with the duster lowered immediately forward and wings halfway up, no dust particles;5 startled wingbeat lifted, duster drawn close, ears back, no symbols;6 quick retreat with swept-back compact wings, same facing and body size. Fixed virtual floor footpoint is bottom of low duster at82percent cellheight; do not rise/fall the whole body during wing cycle. All views face down-right, no camera rotations, no ground/shadow. Generous gutters and same scale throughout. This bat CLEANS, unlike paint-carrying bat rivals.",
      "references": [
        "art/incoming NEW/style-sample.jpeg",
        "art/incoming NEW/braeve-meadow.jpeg",
        "art/incoming NEW/box-whist.jpeg",
        "public/art/quest/bogs/bogs-contact.png",
        "public/art/drench-arena/rivals/contact.png"
      ]
    }
  ]
}
