{
 "note": "Generated by scripts/gen-art-requests.mjs. Edit art-requests.manual.json or the source data, then re-run.",
 "delivery": "Save each result as zoen/art/source/<category>/<file> (PNG, alpha where stated). Then run `python3 tools/optimize-art.py` and set the data icon path; re-run `pnpm data:test`.",
 "styleCore": "Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
 "counts": {
  "ui-kit": 71,
  "branding": 2,
  "hud": 14,
  "key-art": 18,
  "production-sheets": 75,
  "skill-icons": 120,
  "vfx-textures": 3,
  "atlas-icons": 36,
  "item-icons": 95,
  "loading-screens": 17,
  "maps": 2,
  "mounts": 4,
  "npc-portraits": 25,
  "web-site": 25,
  "windows": 19,
  "cosmetic-icons": 10,
  "weapon-icons": 36,
  "web-admin": 6
 },
 "byPriority": {
  "P0": 59,
  "P1": 193,
  "P2": 326
 },
 "byStatus": {
  "done": 394,
  "pending": 184
 },
 "requests": [
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-atlas-tile",
   "priority": "P0",
   "title": "Passive Atlas background — seamless tile",
   "usedIn": "Background of the Passive Atlas at every zoom level (tiled in world space under the sector colours).",
   "output": {
    "file": "atlas_tile.png",
    "size": "1024×1024",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/tree-background.webp",
    "/art/references/owner/skill-tree.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "A SEAMLESSLY TILEABLE dark background texture for a passive skill tree: weathered dark stone and faded parchment with very subtle carved star-map lines and dust, low contrast, NO focal point, NO empty centre, NO frame, even detail everywhere so it looks right zoomed in and zoomed out, warm dark bronze-brown palette. Deliver exactly 1024×1024 px: generate at the closest supported size, then resize/crop with PIL to exactly 1024×1024 keeping the alpha channel.",
   "acceptance": [
    "Tiles in both directions with no seam",
    "No focal point or vignette",
    "Dark enough for bright nodes on top",
    "Exactly 1024×1024 px, transparent background"
   ],
   "kit": {
    "sprite": "atlas_tile"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/atlas_tile.png",
   "publishedAs": "/art/new/ui-kit/atlas-tile.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/tree_background.png",
    "art/originals/references/owner/skill-tree.jpg"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/atlas-tile.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/atlas-tile.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/atlas-tile.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-cursor-default",
   "priority": "P0",
   "title": "Mouse cursor — default pointer — an ornate bronze arrow pointer",
   "usedIn": "Cursor while default pointer — an ornate bronze arrow pointer. Hotspot x 4, y 2.",
   "output": {
    "file": "cursor_default.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/stat-str.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG, crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass with tiny jade accents, on a fully transparent background, the pointing tip exactly at the stated hotspot. Subject: default pointer — an ornate bronze arrow pointer. Hotspot (the exact click point) at x 4, y 2 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping the alpha channel.",
   "acceptance": [
    "Readable at 32 px",
    "Hotspot at x 4, y 2",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_default"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_default.png",
   "publishedAs": "/art/new/ui-kit/cursor-default.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-default.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-default.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-default.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "Round 5: the delivered version showed the palm and was set aside (art/superseded/ui-kit/). The wiki uses a code-drawn back-of-hand stand-in until this is regenerated.",
   "id": "ART-UIK-cursor-grab",
   "priority": "P0",
   "title": "Mouse cursor — over something draggable — back of the hand",
   "usedIn": "Cursor while over something draggable. Hotspot x 32, y 24.",
   "output": {
    "file": "cursor_grab.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/cursor-grab.png",
    "/ui/cursor-interact.png"
   ],
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG: an OPEN bronze gauntlet hand, fingers up and slightly spread, thumb out to the left, seen from the BACK of the hand — the viewer sees the armoured back plate, the knuckle plates and a small jade gem set in the back of the hand; the palm is NOT visible. Upright, front-facing, a short dark-leather cuff at the wrist. Crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass, on a fully transparent background. Same family as the first reference (layout) and the pointing-gauntlet cursor (materials). Hotspot at x 32, y 24 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping alpha.",
   "acceptance": [
    "Back of the hand only: knuckle plates and the jade gem visible, no palm, no fingertips pads",
    "Readable at 32 px",
    "Hotspot at x 32, y 24",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_grab"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_grab.png",
   "publishedAs": "/art/new/ui-kit/cursor-grab.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/cursor-grab.png",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-grab.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-grab.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-grab.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "Round 5: the delivered version showed the palm and was set aside (art/superseded/ui-kit/). The wiki uses a code-drawn back-of-hand stand-in until this is regenerated.",
   "id": "ART-UIK-cursor-grabbing",
   "priority": "P0",
   "title": "Mouse cursor — dragging an item or panning — back of the hand",
   "usedIn": "Cursor while dragging an item or panning. Hotspot x 32, y 28.",
   "output": {
    "file": "cursor_grabbing.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/cursor-grabbing.png",
    "/ui/cursor-interact.png"
   ],
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG: a CLOSED bronze gauntlet fist, the row of knuckle plates on top, seen from the BACK of the hand — the viewer sees the armoured back plate, the knuckle plates and a small jade gem set in the back of the hand; the palm is NOT visible. Upright, front-facing, a short dark-leather cuff at the wrist. Crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass, on a fully transparent background. Same family as the first reference (layout) and the pointing-gauntlet cursor (materials). Hotspot at x 32, y 28 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping alpha.",
   "acceptance": [
    "Back of the hand only: knuckle plates and the jade gem visible, no palm, no fingertips pads",
    "Readable at 32 px",
    "Hotspot at x 32, y 28",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_grabbing"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_grabbing.png",
   "publishedAs": "/art/new/ui-kit/cursor-grabbing.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/cursor-grabbing.png",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-grabbing.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-grabbing.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-grabbing.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-cursor-interact",
   "priority": "P0",
   "title": "Mouse cursor — hovering something clickable — a bronze gauntlet pointing finger",
   "usedIn": "Cursor while hovering something clickable — a bronze gauntlet pointing finger. Hotspot x 14, y 2.",
   "output": {
    "file": "cursor_interact.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/stat-str.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG, crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass with tiny jade accents, on a fully transparent background, the pointing tip exactly at the stated hotspot. Subject: hovering something clickable — a bronze gauntlet pointing finger. Hotspot (the exact click point) at x 14, y 2 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping the alpha channel.",
   "acceptance": [
    "Readable at 32 px",
    "Hotspot at x 14, y 2",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_interact"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_interact.png",
   "publishedAs": "/art/new/ui-kit/cursor-interact.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-interact.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-interact.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-interact.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-cursor-loot",
   "priority": "P0",
   "title": "Mouse cursor — hovering loot — a bronze arrow with a small coin pouch",
   "usedIn": "Cursor while hovering loot — a bronze arrow with a small coin pouch. Hotspot x 4, y 2.",
   "output": {
    "file": "cursor_loot.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/stat-str.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG, crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass with tiny jade accents, on a fully transparent background, the pointing tip exactly at the stated hotspot. Subject: hovering loot — a bronze arrow with a small coin pouch. Hotspot (the exact click point) at x 4, y 2 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping the alpha channel.",
   "acceptance": [
    "Readable at 32 px",
    "Hotspot at x 4, y 2",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_loot"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_loot.png",
   "publishedAs": "/art/new/ui-kit/cursor-loot.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-loot.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-loot.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-loot.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-cursor-talk",
   "priority": "P0",
   "title": "Mouse cursor — hovering an NPC — a bronze arrow with a small speech scroll",
   "usedIn": "Cursor while hovering an NPC — a bronze arrow with a small speech scroll. Hotspot x 4, y 2.",
   "output": {
    "file": "cursor_talk.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/stat-str.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG, crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass with tiny jade accents, on a fully transparent background, the pointing tip exactly at the stated hotspot. Subject: hovering an NPC — a bronze arrow with a small speech scroll. Hotspot (the exact click point) at x 4, y 2 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping the alpha channel.",
   "acceptance": [
    "Readable at 32 px",
    "Hotspot at x 4, y 2",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_talk"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_talk.png",
   "publishedAs": "/art/new/ui-kit/cursor-talk.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-talk.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-talk.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-talk.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-cursor-target",
   "priority": "P0",
   "title": "Mouse cursor — aiming a ground-targeted skill — a jade-and-bronze crosshair ring",
   "usedIn": "Cursor while aiming a ground-targeted skill — a jade-and-bronze crosshair ring. Hotspot x 32, y 32.",
   "output": {
    "file": "cursor_target.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/stat-str.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG, crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass with tiny jade accents, on a fully transparent background, the pointing tip exactly at the stated hotspot. Subject: aiming a ground-targeted skill — a jade-and-bronze crosshair ring. Hotspot (the exact click point) at x 32, y 32 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping the alpha channel.",
   "acceptance": [
    "Readable at 32 px",
    "Hotspot at x 32, y 32",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_target"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_target.png",
   "publishedAs": "/art/new/ui-kit/cursor-target.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-target.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-target.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-target.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-gold-coins",
   "priority": "P0",
   "title": "Gold — the in-game currency (a stack of gold coins)",
   "usedIn": "Every gold price and balance: inventory, stash, vendors, market (16–128 px). Must look different from the Zoe sun coin.",
   "output": {
    "file": "gold_coins.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/gold-coins.webp",
    "/ui/zoe-coin.webp"
   ],
   "prompt": "A small heap of plain gold coins: two tidy stacks of different heights and a few loose coins in front, caravan-trade coins with a square hole, a simple embossed bar mark and a milled rim, warm antique gold with highlights from the top-left, dark brown outline so it reads at 16 px, soft shadow only inside the canvas, fully transparent background. It must NOT show the sun emblem or a jade gem (that is the Zoe coin). Deliver exactly 256×256 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 256×256, transparent background",
    "Clearly a stack of coins, not the sun coin",
    "Readable at 16 px"
   ],
   "kit": {
    "sprite": "gold_coins"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/gold_coins.png",
   "publishedAs": "/art/new/ui-kit/gold-coins.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/gold-coins.webp",
    "apps/wiki/public/ui/zoe-coin.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/gold-coins.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/gold-coins.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/gold-coins.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a stand-in composed from delivered pieces; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-grid-tile",
   "priority": "P0",
   "title": "Grid tile — empty",
   "usedIn": "Inventory, stash and vendor grids (one 48 px cell, repeated). Empty bag/stash cell.",
   "output": {
    "file": "grid_tile.png",
    "size": "128×128",
    "alpha": false,
    "exact": true,
    "slicing": "Seamless when repeated in both directions; the right and bottom 2 px are the thin bronze cell line."
   },
   "references": [
    "/art/references/hud/grids.webp",
    "/art/references/hud/inventory-example2.webp",
    "/ui/grid-tile.webp"
   ],
   "prompt": "One square inventory grid cell texture that tiles seamlessly: a flat very dark brown-black well with a very faint engraved rosette ornament in the middle (barely visible, like the grids reference), a thin dark-bronze line along the right and bottom edges so repeated cells form a subtle grid. Simple and quiet; no frame, no bevel, no glow. Deliver exactly 128×128 px (resize with PIL).",
   "acceptance": [
    "Exactly 128×128, tiles without seams",
    "Ornament stays subtle at 48 px"
   ],
   "kit": {
    "sprite": "grid_tile"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/grid_tile.png",
   "publishedAs": "/art/new/ui-kit/grid-tile.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/art/references/hud/grids.webp",
    "apps/wiki/public/art/references/hud/inventory-example2.webp",
    "apps/wiki/public/ui/grid-tile.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/grid-tile.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/grid-tile.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/grid-tile.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a stand-in composed from delivered pieces; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-grid-tile-unusable",
   "priority": "P0",
   "title": "Grid tile — behind an unusable item",
   "usedIn": "Inventory, stash and vendor grids (one 48 px cell, repeated). Behind items whose requirements are not met.",
   "output": {
    "file": "grid_tile_unusable.png",
    "size": "128×128",
    "alpha": false,
    "exact": true,
    "slicing": "Seamless when repeated in both directions; the right and bottom 2 px are the thin bronze cell line."
   },
   "references": [
    "/art/references/hud/grids.webp",
    "/art/references/hud/inventory-example2.webp",
    "/ui/grid-tile-unusable.webp"
   ],
   "prompt": "One square inventory grid cell texture that tiles seamlessly: a flat deep oxblood red well with a very faint engraved rosette ornament in the middle (barely visible, like the grids reference), a thin dark-bronze line along the right and bottom edges so repeated cells form a subtle grid. Simple and quiet; no frame, no bevel, no glow. Deliver exactly 128×128 px (resize with PIL).",
   "acceptance": [
    "Exactly 128×128, tiles without seams",
    "Ornament stays subtle at 48 px"
   ],
   "kit": {
    "sprite": "grid_tile_unusable"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/grid_tile_unusable.png",
   "publishedAs": "/art/new/ui-kit/grid-tile-unusable.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/art/references/hud/grids.webp",
    "apps/wiki/public/art/references/hud/inventory-example2.webp",
    "apps/wiki/public/ui/grid-tile-unusable.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/grid-tile-unusable.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/grid-tile-unusable.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/grid-tile-unusable.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a stand-in composed from delivered pieces; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-grid-tile-usable",
   "priority": "P0",
   "title": "Grid tile — behind a usable item",
   "usedIn": "Inventory, stash and vendor grids (one 48 px cell, repeated). Behind items the character can use.",
   "output": {
    "file": "grid_tile_usable.png",
    "size": "128×128",
    "alpha": false,
    "exact": true,
    "slicing": "Seamless when repeated in both directions; the right and bottom 2 px are the thin bronze cell line."
   },
   "references": [
    "/art/references/hud/grids.webp",
    "/art/references/hud/inventory-example2.webp",
    "/ui/grid-tile-usable.webp"
   ],
   "prompt": "One square inventory grid cell texture that tiles seamlessly: a flat deep night blue well with a very faint engraved rosette ornament in the middle (barely visible, like the grids reference), a thin dark-bronze line along the right and bottom edges so repeated cells form a subtle grid. Simple and quiet; no frame, no bevel, no glow. Deliver exactly 128×128 px (resize with PIL).",
   "acceptance": [
    "Exactly 128×128, tiles without seams",
    "Ornament stays subtle at 48 px"
   ],
   "kit": {
    "sprite": "grid_tile_usable"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/grid_tile_usable.png",
   "publishedAs": "/art/new/ui-kit/grid-tile-usable.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/art/references/hud/grids.webp",
    "apps/wiki/public/art/references/hud/inventory-example2.webp",
    "apps/wiki/public/ui/grid-tile-usable.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/grid-tile-usable.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/grid-tile-usable.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/grid-tile-usable.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-header-rail-center",
   "priority": "P0",
   "title": "Window header rail — tileable centre",
   "usedIn": "Repeated between the caps under the title plaque.",
   "output": {
    "file": "header_rail_center.png",
    "size": "256×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-header-v1.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. A SEAMLESSLY TILEABLE horizontal section of the same header rail: dark tooled leather band 70 px tall with bronze rails top and bottom, no ornament, the left and right edges must match perfectly when repeated. Deliver exactly 256×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×128 keeping the alpha channel.",
   "acceptance": [
    "Tiles horizontally with no visible seam",
    "Exactly 256×128 px, transparent background"
   ],
   "kit": {
    "sprite": "header_rail_center"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/header_rail_center.png",
   "publishedAs": "/art/new/ui-kit/header-rail-center.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-header-v1.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/header-rail-center.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/header-rail-center.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/header-rail-center.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-header-rail-left",
   "priority": "P0",
   "title": "Window header rail — left cap",
   "usedIn": "Left end of every window header bar (Character, Inventory, Stash, Quests, Map, Options, Social, Codex, Atlas).",
   "output": {
    "file": "header_rail_left.png",
    "size": "256×128",
    "alpha": true,
    "exact": true,
    "slicing": "Rail band centred vertically; ornament fills the left 160 px."
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-header-v1.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. The LEFT end cap of a long horizontal header rail: a dark leather band 70 px tall framed top and bottom by bronze rails, ending on the left in an ornate rounded bronze corner with a small round rivet medallion like the far left of the first reference. Deliver exactly 256×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×128 keeping the alpha channel.",
   "acceptance": [
    "Rail height and colours continue seamlessly into header_rail_center.png",
    "Exactly 256×128 px, transparent background"
   ],
   "kit": {
    "sprite": "header_rail_left"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/header_rail_left.png",
   "publishedAs": "/art/new/ui-kit/header-rail-left.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-header-v1.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/header-rail-left.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/header-rail-left.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/header-rail-left.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-header-rail-right",
   "priority": "P0",
   "title": "Window header rail — right cap (with close-button seat)",
   "usedIn": "Right end of every window header bar; the close button sits on it.",
   "output": {
    "file": "header_rail_right.png",
    "size": "256×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-header-v1.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. The RIGHT end cap mirroring header_rail_left.png, with a round recessed seat near the right end where a round close button will sit. Deliver exactly 256×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×128 keeping the alpha channel.",
   "acceptance": [
    "Mirrors the left cap",
    "Round seat 70 px wide",
    "Exactly 256×128 px, transparent background"
   ],
   "kit": {
    "sprite": "header_rail_right"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/header_rail_right.png",
   "publishedAs": "/art/new/ui-kit/header-rail-right.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-header-v1.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/header-rail-right.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/header-rail-right.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/header-rail-right.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-header-wings",
   "priority": "P0",
   "title": "Window header — twin bronze wings",
   "usedIn": "Behind the title plaque on every window header.",
   "output": {
    "file": "header_wings.png",
    "size": "1024×224",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-header-v1.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. Two symmetrical sweeping bronze wing ornaments rising from the centre toward the left and right, exactly like the gold wings in the first reference, with a gap in the middle (about 360 px wide) where the title plaque and the emblem sit. Deliver exactly 1024×224 px: generate at the closest supported size, then resize/crop with PIL to exactly 1024×224 keeping the alpha channel.",
   "acceptance": [
    "Perfectly symmetrical",
    "Empty centre gap for the plaque",
    "Exactly 1024×224 px, transparent background"
   ],
   "kit": {
    "sprite": "header_wings"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/header_wings.png",
   "publishedAs": "/art/new/ui-kit/header-wings.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-header-v1.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/header-wings.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/header-wings.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/header-wings.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a stand-in composed from delivered pieces; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-inventory-backdrop",
   "priority": "P0",
   "title": "Inventory equipment-area backdrop painting",
   "usedIn": "Background of the equipment area (12×7 cells) in the Inventory window; equipment slot boxes sit on top.",
   "output": {
    "file": "inventory_backdrop.png",
    "size": "1152×672",
    "alpha": false,
    "exact": true
   },
   "references": [
    "/art/references/hud/inventory-example.webp",
    "/art/ui/rework/origin-stoneward.webp",
    "/ui/inventory-backdrop.webp"
   ],
   "prompt": "A dark, low-contrast painted backdrop for an MMORPG inventory equipment panel, in the spirit of the first reference but original: an ancient caravan shrine of carved sandstone and bronze, two statue alcoves left and right with faint lantern glow, a calm centre where a character silhouette would stand, soft vignette to black at the edges. Very dark overall (equipment slots must read clearly on top), warm amber and jade accents only, painterly, no characters in front. Deliver exactly 1152×672 px (resize/crop with PIL).",
   "acceptance": [
    "Exactly 1152×672",
    "Average brightness low; nothing busy where the slot boxes sit"
   ],
   "kit": {
    "sprite": "inventory_backdrop"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/inventory_backdrop.png",
   "publishedAs": "/art/new/ui-kit/inventory-backdrop.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/art/references/hud/inventory-example.webp",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png",
    "apps/wiki/public/ui/inventory-backdrop.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/inventory-backdrop.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/inventory-backdrop.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/inventory-backdrop.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-plaque-center",
   "priority": "P0",
   "title": "Title plaque — tileable centre",
   "usedIn": "Repeated behind the window title text.",
   "output": {
    "file": "title_plaque_center.png",
    "size": "192×112",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/popup/window-header.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. A SEAMLESSLY TILEABLE section of the same brass title plaque: plain burnished face 80 px tall with thin bronze rims top and bottom, no ornament, edges match when repeated. Deliver exactly 192×112 px: generate at the closest supported size, then resize/crop with PIL to exactly 192×112 keeping the alpha channel.",
   "acceptance": [
    "Tiles with no seam",
    "Plain enough for dark text",
    "Exactly 192×112 px, transparent background"
   ],
   "kit": {
    "sprite": "title_plaque_center"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/title_plaque_center.png",
   "publishedAs": "/art/new/ui-kit/title-plaque-center.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/popup/window-header.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/title-plaque-center.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/title-plaque-center.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/title-plaque-center.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-plaque-left",
   "priority": "P0",
   "title": "Title plaque — left cap",
   "usedIn": "Left end of the window title plaque.",
   "output": {
    "file": "title_plaque_left.png",
    "size": "128×112",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/popup/window-header.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. Left end cap of a burnished brass title plaque (face 80 px tall, plain, empty for live text) with a scrolled bronze end ornament and a jade stud. Deliver exactly 128×112 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×112 keeping the alpha channel.",
   "acceptance": [
    "Face colour continues into title_plaque_center.png",
    "Exactly 128×112 px, transparent background"
   ],
   "kit": {
    "sprite": "title_plaque_left"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/title_plaque_left.png",
   "publishedAs": "/art/new/ui-kit/title-plaque-left.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/popup/window-header.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/title-plaque-left.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/title-plaque-left.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/title-plaque-left.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-plaque-right",
   "priority": "P0",
   "title": "Title plaque — right cap",
   "usedIn": "Right end of the window title plaque.",
   "output": {
    "file": "title_plaque_right.png",
    "size": "128×112",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/popup/window-header.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. Right end cap mirroring title_plaque_left.png. Deliver exactly 128×112 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×112 keeping the alpha channel.",
   "acceptance": [
    "Mirrors the left cap",
    "Exactly 128×112 px, transparent background"
   ],
   "kit": {
    "sprite": "title_plaque_right"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/title_plaque_right.png",
   "publishedAs": "/art/new/ui-kit/title-plaque-right.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/popup/window-header.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/title-plaque-right.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/title-plaque-right.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/title-plaque-right.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-empty",
   "priority": "P0",
   "title": "Inventory slot background — empty",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_empty.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: empty: neutral, darkest, faint carved knot ornament in the centre. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_empty"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_empty.png",
   "publishedAs": "/art/new/ui-kit/slot-empty.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-empty.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-empty.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-empty.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-normal",
   "priority": "P0",
   "title": "Inventory slot background — normal item",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_normal.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: normal item: warm grey-bronze glow from the bottom. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_normal"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_normal.png",
   "publishedAs": "/art/new/ui-kit/slot-normal.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-normal.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-normal.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-normal.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "Round 6: the first delivery (leather bar + leather-filled plaque) was set aside to art/superseded/ui-kit/ — the owner wants no background and a middle that matches the wings. The earlier files (window_crest.png) are ignored; save this one as window_crest_v2.png. The wiki uses a stand-in cut from the delivered wings until then.",
   "id": "ART-UIK-window-crest",
   "priority": "P0",
   "title": "Custom-window crest — wings + open title frame, NO background",
   "usedIn": "Header of every custom game window with a close button. Drawn straight over the window body: nothing behind the ornaments.",
   "output": {
    "file": "window_crest_v2.png",
    "size": "1024×224",
    "alpha": true,
    "exact": true,
    "slicing": "Thin bronze rail at y≈127 (lies on the inner panel's top border). Open title frame x 318–706, y 118–178 (fully transparent inside; the client draws the text). Medallion centred at x 512 between the inner wing curls, its lower part hidden behind the frame top."
   },
   "references": [
    "/art/references/hud/window-artwork-idea.webp",
    "/ui/window-crest-v2.webp",
    "/ui/header-wings.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "ONE ornate window crest on a FULLY TRANSPARENT background, orthographic and evenly lit, for a dark caravan fantasy MMORPG, matching the current stand-in (second reference) but painted cleanly: feathered bronze wings sweeping left and right standing on one THIN bronze rail; NO leather bar, NO dark backing plates behind the feathers, nothing opaque between the ornaments. In the centre, an OPEN title frame made of the SAME carved feather-bronze as the wings (angled ends, small jade studs at the tips), completely transparent inside so it sits over the window body. Above it, between the inner wing curls, the round ZOEN emblem medallion (emblem reference), its lower part tucked behind the frame. Deliver exactly 1024×224 px (resize/crop with PIL, keep alpha).",
   "acceptance": [
    "Exactly 1024×224, transparent everywhere except the bronze, the gems and the medallion",
    "Title frame interior fully transparent",
    "Frame material visibly the same bronze as the wings",
    "Rail at y≈127"
   ],
   "kit": {
    "sprite": "window_crest_v2"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/window_crest_v2.png",
   "publishedAs": "/art/new/ui-kit/window-crest-v2.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/art/references/hud/window-artwork-idea.webp",
    "apps/wiki/public/ui/window-crest-v2.webp",
    "apps/wiki/public/ui/header-wings.webp",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/window-crest-v2.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/window-crest-v2.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/window-crest-v2.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-zoe-coin",
   "priority": "P0",
   "title": "Zoe coin — the top-up currency (sun embossed on a gold coin)",
   "usedIn": "Every Zoe price and balance: shop, inventory purse, premium buttons, top-up screen, web account page (16–128 px).",
   "output": {
    "file": "zoe_coin.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/zoe-coin.webp",
    "/brand/zoen-wordmark-720w.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "One premium game currency coin seen straight on: a thick polished gold coin with a milled rim, and embossed in relief on its face the SUN from the ZOEN logo reference — a domed sun disc with compass-star rays (long cardinal rays, shorter diagonal rays) inside a thin ring — with a small jade gem in the sun's heart. Rich antique gold with warm highlights from the top-left, crisp readable silhouette at 16 px, soft contact shadow only inside the canvas, fully transparent background. Deliver exactly 256×256 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 256×256, transparent background",
    "The embossed sun is clearly the logo's sun (compass rays + ring + domed centre)",
    "Reads as a gold coin at 16 px"
   ],
   "kit": {
    "sprite": "zoe_coin"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/zoe_coin.png",
   "publishedAs": "/art/new/ui-kit/zoe-coin.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/zoe-coin.webp",
    "apps/wiki/public/brand/zoen-wordmark-720w.webp",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/zoe-coin.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/zoe-coin.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/zoe-coin.webp so every page uses the new art"
   }
  },
  {
   "id": "ART-UI-020",
   "category": "branding",
   "priority": "P0",
   "title": "ZOEN logo: wordmark + emblem",
   "usedIn": "Wiki header, login screen, loading screens, app icon.",
   "output": {
    "file": "zoen_logo.png",
    "size": "2400×900 wordmark + 1024×1024 emblem",
    "alpha": true
   },
   "references": [
    "/art/concepts/logo-wordmark.webp",
    "/art/concepts/logo-mark.webp"
   ],
   "current": "The existing logo reads SILKBOUND (old provisional name). Keep its craft level, palette and silk-ribbon motif, but the word must be ZOEN and the emblem should not depict the old name.",
   "prompt": "Fantasy MMORPG logo on a transparent background: the word \"ZOEN\" in bold carved gold-bronze capital letters with subtle engraved bevels and a thin dark outline, a radiant bronze sun-compass star above the letters, flowing crimson and cream silk ribbons weaving behind, small jade inlays. Separately: a circular emblem with the compass-star over a desert caravan silhouette at sunset inside an ornate bronze ring with silk ribbons. Clean edges, centred, symmetrical.",
   "avoid": "Do not write SILKBOUND or any other word. No extra letters. No watermark.",
   "acceptance": [
    "Spells exactly Z-O-E-N",
    "Legible at 160 px wide",
    "Emblem works as 512 px app icon"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/branding/zoen_logo.png",
   "publishedAs": "/art/new/branding/zoen-logo.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/logo_wordmark.png",
    "art/originals/concepts/v3/logo_mark.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/branding/zoen-logo.webp and records it in packages/game-data/data/art-delivered.json; pages that show branding read it from there."
   }
  },
  {
   "id": "ART-HUD-001",
   "category": "hud",
   "priority": "P0",
   "title": "Player frame (portrait ring + level gem + HP/MP bar frames)",
   "usedIn": "Desktop + mobile HUD top-left (see /hud).",
   "output": {
    "file": "hud_player_frame.png",
    "size": "1200×400",
    "alpha": true,
    "slicing": "Portrait ring separate from bar rails; bar rails 9-slice (left cap 80 px, right cap 60 px)."
   },
   "references": [
    "/art/references/hud/mobile.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "No player frame exists; the old HUD is a single flattened image (/art/ui/hud-desktop.webp).",
   "prompt": "Game UI asset sheet on a fully transparent background: an ornate circular bronze portrait ring (inner diameter 70% of ring, empty center for a character portrait) with a small diamond-shaped level gem attached at its lower-left, and two long horizontal bar frames extending right from the ring — top bar frame for health, bottom thinner bar frame for mana. Aged bronze and brass metal with subtle engraved swirl ornaments and tiny jade inlay studs, dark leather inner bevel, empty bar interiors (no fill colour). Front-facing, orthographic, evenly lit, crisp edges, matching the bronze-and-leather style of the reference window frames. Separate the pieces with generous transparent spacing.",
   "avoid": "No numbers, no text, no fills inside bars, no portrait face, no drop shadow baked outside the pieces.",
   "acceptance": [
    "Transparent background (alpha) with clean edges",
    "Ring center empty and circular",
    "Bar rails can stretch horizontally without distorting ornaments (caps separate)",
    "Bronze tone matches /art/ui/button-normal.webp"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_player_frame.png",
   "publishedAs": "/art/new/hud/hud-player-frame.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/mobile.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-player-frame.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-002",
   "category": "hud",
   "priority": "P0",
   "title": "Skill slot frame + keycap plate (Q E Z X C, M1, M2)",
   "usedIn": "Desktop skill bar, mobile skill buttons (square variant desktop, round variant mobile).",
   "output": {
    "file": "hud_skill_slot.png",
    "size": "1024×512",
    "alpha": true,
    "slicing": "Two pieces: square frame 256×256 (inner window 200×200), round frame 256×256; keycap plate 120×48 separate."
   },
   "references": [
    "/art/references/hud/desktop.webp",
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/ui/sprites/socket-neutral.webp"
   ],
   "current": "Item slot sprite exists (/art/ui/sprites/item-slot-neutral.webp) but is too ornate/large for a 64 px skill slot; no keycap plate.",
   "prompt": "Transparent-background game UI sheet: (1) a square skill-slot frame with slightly rounded corners, thick aged-bronze bevel, small corner leaf ornaments, dark recessed inner window; (2) a matching circular skill-button frame for mobile with the same bronze bevel; (3) a small rectangular keycap plate in dark bronze with an inner recess for a letter (leave blank). Front-facing, flat lighting, crisp, reads well at 56–72 px. Same metal finish as the reference item slot but cleaner and simpler.",
   "avoid": "No icons inside, no letters, no glow (glow is done in CSS).",
   "acceptance": [
    "Inner window fully transparent",
    "Readable at 56 px",
    "Square and round versions share one finish"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_skill_slot.png",
   "publishedAs": "/art/new/hud/hud-skill-slot.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png",
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/concepts/v4/ui/sprites/socket-neutral.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-skill-slot.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-003",
   "category": "hud",
   "priority": "P0",
   "title": "Quick slot frames (1–8, F1–F8)",
   "usedIn": "Two quick bars for potions/buffs/scrolls.",
   "output": {
    "file": "hud_quick_slot.png",
    "size": "512×256",
    "alpha": true
   },
   "references": [
    "/art/references/hud/desktop.webp",
    "/art/ui/sprites/item-slot-neutral.webp"
   ],
   "current": "None.",
   "prompt": "Transparent background: a small square quick-slot frame (thin bronze bevel, dark inner window, a tiny number tab notch at bottom-right) and a thin divider ornament (vertical bronze bar with a central diamond) used between bar groups. Same metal as the skill slot frame but lighter and thinner. Front-facing, crisp.",
   "avoid": "No numbers, no potions.",
   "acceptance": [
    "Reads at 40 px",
    "Divider tiles vertically"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_quick_slot.png",
   "publishedAs": "/art/new/hud/hud-quick-slot.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png",
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-quick-slot.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-004",
   "category": "hud",
   "priority": "P0",
   "title": "Central HP/MP orb-bar medallion + liquid fills",
   "usedIn": "Desktop bottom-centre: HP bar (left), level diamond (centre), MP bar (right) — see owner reference.",
   "output": {
    "file": "hud_center_medallion.png",
    "size": "1600×300",
    "alpha": true,
    "slicing": "Diamond medallion separate; bar fills as two 512×32 horizontal gradient strips (red, blue) with a subtle liquid sheen."
   },
   "references": [
    "/art/references/hud/desktop.webp"
   ],
   "current": "Owner reference shows the target composition; no production asset exists.",
   "prompt": "Transparent background game UI parts: a large central diamond medallion in bronze with an engraved star rim and an empty dark centre (for a level number), flanked by two long bar sockets with pointed outer tips. Also two separate horizontal fill strips: deep crimson health liquid with darker bottom and bright top highlight, and royal-blue mana liquid with the same treatment. Painterly but clean, front-facing.",
   "avoid": "No numbers or text.",
   "acceptance": [
    "Fills tile/stretch horizontally",
    "Diamond centre empty",
    "Matches owner reference silhouette"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_center_medallion.png",
   "publishedAs": "/art/new/hud/hud-center-medallion.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-center-medallion.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-005",
   "category": "hud",
   "priority": "P0",
   "title": "Experience bar rail with diamond notches",
   "usedIn": "Full-width bottom EXP bar (desktop + mobile).",
   "output": {
    "file": "hud_exp_rail.png",
    "size": "2048×96",
    "alpha": true,
    "slicing": "Left cap 96 px, right cap 96 px, repeatable middle 256 px with one diamond notch."
   },
   "references": [
    "/art/references/hud/desktop.webp",
    "/art/references/hud/mobile.webp"
   ],
   "current": "None.",
   "prompt": "Transparent background: a long thin bronze rail frame for an experience bar, with small diamond ornaments every 10% along the top edge, ornate end caps with curling bronze flourishes, dark recessed channel inside (empty). Also provide a separate amber-gold liquid fill strip 512×24.",
   "avoid": "No text.",
   "acceptance": [
    "Middle section tiles seamlessly",
    "Readable at 14 px tall"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_exp_rail.png",
   "publishedAs": "/art/new/hud/hud-exp-rail.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png",
    "art/originals/references/hud/mobile.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-exp-rail.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-006",
   "category": "hud",
   "priority": "P0",
   "title": "Minimap frame with compass ring",
   "usedIn": "Top-right minimap (desktop + mobile).",
   "output": {
    "file": "hud_minimap_frame.png",
    "size": "768×768",
    "alpha": true
   },
   "references": [
    "/art/references/hud/desktop.webp",
    "/art/references/hud/mobile.webp"
   ],
   "current": "None.",
   "prompt": "Transparent background: a circular bronze minimap frame with an engraved compass ring showing N, E, S, W as small embossed letters at the four points, a decorative arrow spike at the north, small jade studs at the diagonals, fully transparent circular centre.",
   "avoid": "No map imagery inside.",
   "acceptance": [
    "Centre fully transparent",
    "Letters legible at 160 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_minimap_frame.png",
   "publishedAs": "/art/new/hud/hud-minimap-frame.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png",
    "art/originals/references/hud/mobile.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-minimap-frame.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-007",
   "category": "hud",
   "priority": "P0",
   "title": "Target / nameplate frame with level diamond",
   "usedIn": "Top-centre target frame and world nameplates (monsters, elites ★, bosses).",
   "output": {
    "file": "hud_target_frame.png",
    "size": "1400×300",
    "alpha": true,
    "slicing": "Normal, elite (bronze-gold with star socket), boss (larger, darker with horns) variants."
   },
   "references": [
    "/art/references/hud/desktop.webp",
    "/art/ui/popup/monster.webp"
   ],
   "current": "Monster popup header exists for tooltips, not for nameplates.",
   "prompt": "Transparent background: three horizontal target health-bar frames in a row: (1) normal — slim bronze frame with a diamond level socket on the left; (2) elite — gold-bronze with a small star socket above the diamond; (3) boss — larger, dark iron with bronze horn-like flourishes at both ends. All with empty interior channels. Front-facing, crisp.",
   "avoid": "No names, no numbers.",
   "acceptance": [
    "Three variants share proportions",
    "Readable at 220 px width"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_target_frame.png",
   "publishedAs": "/art/new/hud/hud-target-frame.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png",
    "art/originals/concepts/v4/ui/popup/monster.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-target-frame.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-008",
   "category": "hud",
   "priority": "P0",
   "title": "Quest tracker panel + quest diamonds",
   "usedIn": "Right-side quest tracker (Auto-Quest shows active step).",
   "output": {
    "file": "hud_quest_tracker.png",
    "size": "1024×512",
    "alpha": true
   },
   "references": [
    "/art/references/hud/desktop.webp"
   ],
   "current": "None.",
   "prompt": "Transparent background: a tall translucent dark panel (60% opacity look) with a thin bronze left edge and top/bottom ornaments, plus small diamond quest bullets in three states: gold (main quest), jade (side quest), grey outline (completed). Front-facing, crisp, minimal.",
   "avoid": "No text.",
   "acceptance": [
    "Panel middle stretches vertically",
    "Diamonds readable at 16 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_quest_tracker.png",
   "publishedAs": "/art/new/hud/hud-quest-tracker.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-quest-tracker.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-010",
   "category": "hud",
   "priority": "P0",
   "title": "Menu button icons ×8 (character, bag, codex, atlas, map, quests, social, settings)",
   "usedIn": "Top-right round menu buttons.",
   "output": {
    "file": "hud_menu_icons.png",
    "size": "2048×256 (8 × 256)",
    "alpha": true
   },
   "references": [
    "/art/references/hud/desktop.webp",
    "/art/icons/skills/stat-hybrid.webp"
   ],
   "current": "None.",
   "prompt": "Transparent background sprite strip of 8 round bronze-framed buttons with simple engraved symbols, evenly spaced: (1) bust silhouette, (2) leather satchel, (3) open book with a lantern, (4) circular star-map constellation, (5) folded map, (6) scroll with a diamond seal, (7) two figures, (8) cog wheel. Bronze frames identical across all 8, dark leather inner disc, symbols in warm gold.",
   "avoid": "No letters.",
   "acceptance": [
    "All 8 aligned on a grid",
    "Symbols readable at 36 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_menu_icons.png",
   "publishedAs": "/art/new/hud/hud-menu-icons.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png",
    "art/originals/icons/v4/skills/stat_hybrid.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-menu-icons.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-011",
   "category": "hud",
   "priority": "P0",
   "title": "Mobile virtual joystick (base + knob)",
   "usedIn": "Mobile left thumb area.",
   "output": {
    "file": "hud_joystick.png",
    "size": "1024×512",
    "alpha": true
   },
   "references": [
    "/art/references/hud/mobile.webp"
   ],
   "current": "Owner reference only.",
   "prompt": "Transparent background: a mobile game virtual joystick — a large translucent dark circular base with a bronze outer ring and four small engraved direction arrows, and a separate smaller domed knob in polished dark bronze with a leather centre. Front-facing.",
   "avoid": "No hands, no text.",
   "acceptance": [
    "Base looks good at 60% opacity",
    "Knob separate"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_joystick.png",
   "publishedAs": "/art/new/hud/hud-joystick.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/mobile.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-joystick.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-012",
   "category": "hud",
   "priority": "P0",
   "title": "Mobile big Attack button (crossed blades) + round button frame",
   "usedIn": "Mobile right thumb: M1 chain attack button and round skill buttons.",
   "output": {
    "file": "hud_attack_button.png",
    "size": "1024×512",
    "alpha": true
   },
   "references": [
    "/art/references/hud/mobile.webp"
   ],
   "current": "Owner reference only.",
   "prompt": "Transparent background: (1) a large round attack button: thick ornate bronze ring, dark leather disc, two crossed curved sabres in polished steel with gold hilts in the centre; (2) an empty matching round button frame (same ring, smaller) for skills.",
   "avoid": "No text.",
   "acceptance": [
    "Reads at 120 px",
    "Matches skill-slot round frame finish"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_attack_button.png",
   "publishedAs": "/art/new/hud/hud-attack-button.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/mobile.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-attack-button.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-013",
   "category": "hud",
   "priority": "P0",
   "title": "Status effect icons ×12",
   "usedIn": "Buff/debuff rows on player/target frames and nameplates.",
   "output": {
    "file": "hud_status_icons.png",
    "size": "1536×128 (12 × 128)",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-emberwake.webp",
    "/art/icons/skills/combo-glass-reckoning.webp",
    "/art/icons/skills/combo-thunder-witness.webp"
   ],
   "current": "Combo icons hint the element look but are too detailed for 20 px status icons.",
   "prompt": "Transparent background sprite strip of 12 small square status icons with thin bronze borders, simple bold symbols readable at 20 px: bleed (red droplet), burn (orange flame), chill (pale blue snowflake), shock (violet lightning), slow (sand-colored snail-like spiral), stun (gold bell with stars), sleep (blue crescent moon with Z), exposed (cracked shield), marked (bronze crosshair), superarmour (stone fist), shield (indigo rune bubble), regeneration (green leaf with plus).",
   "avoid": "No text letters except the small Z in sleep.",
   "acceptance": [
    "Distinct silhouettes at 20 px",
    "Colour-blind safe shapes"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_status_icons.png",
   "publishedAs": "/art/new/hud/hud-status-icons.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_emberwake.png",
    "art/originals/icons/v4/skills/combo_glass_reckoning.png",
    "art/originals/icons/v4/skills/combo_thunder_witness.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-status-icons.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-KEY-pyromancer",
   "category": "key-art",
   "priority": "P0",
   "title": "Build key art — Pyromancer (Wand)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-pyromancer.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a human male wayfarer of the Pyromancer build wielding a wand, mid-skill: Prism Barrage — Rapid tri-colour bolt stream with prismatic muzzle flare; impacts per element. Desert caravan environment at night with lanterns, dramatic rim light, VFX palette #e86a2c, #6fb7ff, #b38cff. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "pyromancer"
   },
   "deliver": "art/source/key-art/ART-KEY-pyromancer.png",
   "publishedAs": "/art/new/key-art/art-key-pyromancer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-pyromancer.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-warblade",
   "category": "key-art",
   "priority": "P0",
   "title": "Build key art — Warblade (Greatsword)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-warblade.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a human female wayfarer of the Warblade build wielding a greatsword, mid-skill: Sunbreaker — Sun-gold slashes; on slam: bright solar disc expands, light rays, cracked ground decal, sand ring; bloom spike capped for accessibility. Desert caravan environment at noon, dramatic rim light, VFX palette #e2b04a, #fff1c1, #6b4a1f. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "warblade"
   },
   "deliver": "art/source/key-art/ART-KEY-warblade.png",
   "publishedAs": "/art/new/key-art/art-key-warblade.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-warblade.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-windarcher",
   "category": "key-art",
   "priority": "P0",
   "title": "Build key art — Windarcher (Bow)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-windarcher.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a elf male wayfarer of the Windarcher build wielding a bow, mid-skill: Rain of Arrows — Arrow splits into a storm of streaks raining over 2 s; final great arrow with wind spiral detonates into a ring of blown sand. Desert caravan environment at stormy afternoon, dramatic rim light, VFX palette #6fae7a, #efe2b8, #2c3d2c. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "windarcher"
   },
   "deliver": "art/source/key-art/ART-KEY-windarcher.png",
   "publishedAs": "/art/new/key-art/art-key-windarcher.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-windarcher.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "category": "production-sheets",
   "usedIn": "3D pipeline input (image → mesh) and modelling reference.",
   "output": {
    "file": "ART-CHR-050.png",
    "size": "3072×1536",
    "alpha": false
   },
   "current": "None — needed before 3D generation.",
   "avoid": "No dynamic pose, no perspective distortion, no text.",
   "acceptance": [
    "Views aligned on one baseline",
    "Same scale in every view"
   ],
   "id": "ART-CHR-050",
   "title": "Canonical A-pose turnaround — Human male (Boran)",
   "priority": "P0",
   "prompt": "Character turnaround sheet for 3D modelling on neutral grey background: front, side and back views of an adult male caravan wall-guard (Boran) in a strict A-pose (arms 45° down), neutral face, simple lamellar armour with jade clasps and terracotta sash, realistic proportions 1.85 m, feet flat, even studio lighting, no weapon (weapon separate), consistent scale across views.",
   "references": [
    "/art/ui/rework/origin-stoneward.webp",
    "/art/concepts/origins.webp"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/production-sheets/ART-CHR-050.png",
   "publishedAs": "/art/new/production-sheets/art-chr-050.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png",
    "art/originals/concepts/v2/origins.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-050.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "category": "production-sheets",
   "usedIn": "3D pipeline input (image → mesh) and modelling reference.",
   "output": {
    "file": "ART-CHR-051.png",
    "size": "3072×1536",
    "alpha": false
   },
   "current": "None — needed before 3D generation.",
   "avoid": "No dynamic pose, no perspective distortion, no text.",
   "acceptance": [
    "Views aligned on one baseline",
    "Same scale in every view"
   ],
   "id": "ART-CHR-051",
   "title": "Canonical A-pose turnaround — Human female (Saran)",
   "priority": "P0",
   "prompt": "Character turnaround sheet for 3D modelling on a neutral grey background: front, side and back views of an adult female caravan wall-guard (Saran) in a strict A-pose (arms 45° down), neutral face, simple lamellar armour with jade clasps and a terracotta sash (same design language as the male Boran sheet), realistic proportions 1.72 m, feet flat, even studio lighting, no weapon (weapon separate), consistent scale across all three views.",
   "references": [
    "/art/ui/rework/origin-stoneward.webp",
    "/art/concepts/origins.webp"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/production-sheets/ART-CHR-051.png",
   "publishedAs": "/art/new/production-sheets/art-chr-051.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png",
    "art/originals/concepts/v2/origins.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-051.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-SKL-pyromancer-ashfall_verdict",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Ashfall Verdict (Pyromancer, Wand)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pyromancer.ashfall_verdict.",
   "output": {
    "file": "ART-SKL-pyromancer-ashfall_verdict.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/cinder-needle.webp",
    "/art/icons/skills/lantern-fan.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Ashfall Verdict\" — Dark ember column falling from above, orange core, ash snow. Motion cue: raise the wand, draw a slow downward line through the air, close the fist. Dominant colours #e86a2c, #6fb7ff, #b38cff with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e86a2c #6fb7ff #b38cff"
   ],
   "source": {
    "kind": "skill",
    "id": "pyromancer.ashfall_verdict"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pyromancer-ashfall_verdict.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pyromancer-ashfall-verdict.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/cinder_needle.png",
    "art/originals/icons/v4/skills/lantern_fan.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pyromancer.ashfall_verdict\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pyromancer-ashfall-verdict.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pyromancer-ashfall-verdict.webp\" on skills[id=\"pyromancer.ashfall_verdict\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pyromancer-ember_step",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Ember Step (Pyromancer, Wand)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pyromancer.ember_step.",
   "output": {
    "file": "ART-SKL-pyromancer-ember_step.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/cinder-needle.webp",
    "/art/icons/skills/lantern-fan.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Ember Step\" — Ember silhouette streak, small fire puff at start and end. Motion cue: body collapses into embers forward and reforms mid-stride. Dominant colours #e86a2c, #6fb7ff, #b38cff with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e86a2c #6fb7ff #b38cff"
   ],
   "source": {
    "kind": "skill",
    "id": "pyromancer.ember_step"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pyromancer-ember_step.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pyromancer-ember-step.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/cinder_needle.png",
    "art/originals/icons/v4/skills/lantern_fan.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pyromancer.ember_step\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pyromancer-ember-step.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pyromancer-ember-step.webp\" on skills[id=\"pyromancer.ember_step\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pyromancer-kiln_burst",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Kiln Burst (Pyromancer, Wand)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pyromancer.kiln_burst.",
   "output": {
    "file": "ART-SKL-pyromancer-kiln_burst.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/cinder-needle.webp",
    "/art/icons/skills/lantern-fan.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Kiln Burst\" — Orange heat bloom erupts from inside the target, brick-kiln ember ring. Motion cue: point wand, twist the wrist like turning a key, fingers flare open. Dominant colours #e86a2c, #6fb7ff, #b38cff with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e86a2c #6fb7ff #b38cff"
   ],
   "source": {
    "kind": "skill",
    "id": "pyromancer.kiln_burst"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pyromancer-kiln_burst.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pyromancer-kiln-burst.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/cinder_needle.png",
    "art/originals/icons/v4/skills/lantern_fan.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pyromancer.kiln_burst\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pyromancer-kiln-burst.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pyromancer-kiln-burst.webp\" on skills[id=\"pyromancer.kiln_burst\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pyromancer-prism_barrage",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Prism Barrage (Pyromancer, Wand)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pyromancer.prism_barrage.",
   "output": {
    "file": "ART-SKL-pyromancer-prism_barrage.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/cinder-needle.webp",
    "/art/icons/skills/lantern-fan.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Prism Barrage\" — Rapid tri-colour bolt stream with prismatic muzzle flare; impacts per element. Motion cue: wand held forward with both hands, feet planted, body vibrating, wand tip strobing colours. Dominant colours #e86a2c, #6fb7ff, #b38cff with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e86a2c #6fb7ff #b38cff"
   ],
   "source": {
    "kind": "skill",
    "id": "pyromancer.prism_barrage"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pyromancer-prism_barrage.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pyromancer-prism-barrage.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/cinder_needle.png",
    "art/originals/icons/v4/skills/lantern_fan.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pyromancer.prism_barrage\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pyromancer-prism-barrage.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pyromancer-prism-barrage.webp\" on skills[id=\"pyromancer.prism_barrage\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pyromancer-pyre_mantle",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Pyre Mantle (Pyromancer, Wand)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pyromancer.pyre_mantle.",
   "output": {
    "file": "ART-SKL-pyromancer-pyre_mantle.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/cinder-needle.webp",
    "/art/icons/skills/lantern-fan.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Pyre Mantle\" — Rising ember shawl around shoulders, heat shimmer. Motion cue: breathe in, wand tip to the chest, flames climb the robes. Dominant colours #e86a2c, #6fb7ff, #b38cff with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e86a2c #6fb7ff #b38cff"
   ],
   "source": {
    "kind": "skill",
    "id": "pyromancer.pyre_mantle"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pyromancer-pyre_mantle.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pyromancer-pyre-mantle.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/cinder_needle.png",
    "art/originals/icons/v4/skills/lantern_fan.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pyromancer.pyre_mantle\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pyromancer-pyre-mantle.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pyromancer-pyre-mantle.webp\" on skills[id=\"pyromancer.pyre_mantle\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-warblade-blade_oath",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Blade Oath (Warblade, Greatsword)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill warblade.blade_oath.",
   "output": {
    "file": "ART-SKL-warblade-blade_oath.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp",
    "/art/new/skill-icons/art-skl-warblade-crescent-wave.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Blade Oath\" — Ghostly gold blade duplicate hovering behind character; echoes are translucent slashes. Motion cue: blade held vertical before face, step back, sweep blade downward to ready. Dominant colours #e2b04a, #fff1c1, #6b4a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e2b04a #fff1c1 #6b4a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "warblade.blade_oath"
   },
   "deliver": "art/source/skill-icons/ART-SKL-warblade-blade_oath.png",
   "publishedAs": "/art/new/skill-icons/art-skl-warblade-blade-oath.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png",
    "art/source/skill-icons/ART-SKL-warblade-crescent_wave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"warblade.blade_oath\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-warblade-blade-oath.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-warblade-blade-oath.webp\" on skills[id=\"warblade.blade_oath\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-warblade-crescent_wave",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Crescent Wave (Warblade, Greatsword)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill warblade.crescent_wave.",
   "output": {
    "file": "ART-SKL-warblade-crescent_wave.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp",
    "/art/new/skill-icons/art-skl-warblade-crescent-wave.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Crescent Wave\" — Translucent golden crescent wave with heat shimmer and sand kicked up along its path. Motion cue: rising diagonal slash from low-right to high-left, releasing a crescent of light from the blade at peak. Dominant colours #e2b04a, #fff1c1, #6b4a1f with warm bronze highlights. Element: light. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e2b04a #fff1c1 #6b4a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "warblade.crescent_wave"
   },
   "deliver": "art/source/skill-icons/ART-SKL-warblade-crescent_wave.png",
   "publishedAs": "/art/new/skill-icons/art-skl-warblade-crescent-wave.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png",
    "art/source/skill-icons/ART-SKL-warblade-crescent_wave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"warblade.crescent_wave\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-warblade-crescent-wave.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-warblade-crescent-wave.webp\" on skills[id=\"warblade.crescent_wave\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-warblade-iron_riposte",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Iron Riposte (Warblade, Greatsword)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill warblade.iron_riposte.",
   "output": {
    "file": "ART-SKL-warblade-iron_riposte.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp",
    "/art/new/skill-icons/art-skl-warblade-crescent-wave.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Iron Riposte\" — Guard sheen on blade; parry spark burst (gold) on trigger; slow 80 ms hitstop. Motion cue: blade turned flat across body, knees bent; on trigger: parry flash, step-in, rising diagonal punish. Dominant colours #e2b04a, #fff1c1, #6b4a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e2b04a #fff1c1 #6b4a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "warblade.iron_riposte"
   },
   "deliver": "art/source/skill-icons/ART-SKL-warblade-iron_riposte.png",
   "publishedAs": "/art/new/skill-icons/art-skl-warblade-iron-riposte.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png",
    "art/source/skill-icons/ART-SKL-warblade-crescent_wave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"warblade.iron_riposte\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-warblade-iron-riposte.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-warblade-iron-riposte.webp\" on skills[id=\"warblade.iron_riposte\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-warblade-sunbreaker",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Sunbreaker (Warblade, Greatsword)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill warblade.sunbreaker.",
   "output": {
    "file": "ART-SKL-warblade-sunbreaker.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp",
    "/art/new/skill-icons/art-skl-warblade-crescent-wave.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Sunbreaker\" — Sun-gold slashes; on slam: bright solar disc expands, light rays, cracked ground decal, sand ring; bloom spike capped for accessibility. Motion cue: step-slash right, step-slash left (each 0.25 s, advancing 1 m), leap 1 m up with blade raised two-handed, slam point-first into ground. Dominant colours #e2b04a, #fff1c1, #6b4a1f with warm bronze highlights. Element: light. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e2b04a #fff1c1 #6b4a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "warblade.sunbreaker"
   },
   "deliver": "art/source/skill-icons/ART-SKL-warblade-sunbreaker.png",
   "publishedAs": "/art/new/skill-icons/art-skl-warblade-sunbreaker.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png",
    "art/source/skill-icons/ART-SKL-warblade-crescent_wave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"warblade.sunbreaker\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-warblade-sunbreaker.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-warblade-sunbreaker.webp\" on skills[id=\"warblade.sunbreaker\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-warblade-zenith_cut",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Zenith Cut (Warblade, Greatsword)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill warblade.zenith_cut.",
   "output": {
    "file": "ART-SKL-warblade-zenith_cut.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp",
    "/art/new/skill-icons/art-skl-warblade-crescent-wave.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Zenith Cut\" — Vertical sun-gold slash line, solar flare at contact, sand ring shockwave on landing. Motion cue: crouch, explosive vertical leap to the airborne target, overhead two-handed cut, ride it down to the ground. Dominant colours #e2b04a, #fff1c1, #6b4a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #e2b04a #fff1c1 #6b4a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "warblade.zenith_cut"
   },
   "deliver": "art/source/skill-icons/ART-SKL-warblade-zenith_cut.png",
   "publishedAs": "/art/new/skill-icons/art-skl-warblade-zenith-cut.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png",
    "art/source/skill-icons/ART-SKL-warblade-crescent_wave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"warblade.zenith_cut\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-warblade-zenith-cut.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-warblade-zenith-cut.webp\" on skills[id=\"warblade.zenith_cut\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windarcher-hawk_focus",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Hawk Focus (Windarcher, Bow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windarcher.hawk_focus.",
   "output": {
    "file": "ART-SKL-windarcher-hawk_focus.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/pinning-shot.webp",
    "/art/icons/skills/split-horizon.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Hawk Focus\" — Spectral hawk circles overhead; arrow tips glow white-green. Motion cue: raise bow, close one eye, exhale; a hawk cry; hand brushes the fletching. Dominant colours #6fae7a, #efe2b8, #2c3d2c with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #6fae7a #efe2b8 #2c3d2c"
   ],
   "source": {
    "kind": "skill",
    "id": "windarcher.hawk_focus"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windarcher-hawk_focus.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windarcher-hawk-focus.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/pinning_shot.png",
    "art/originals/icons/v4/skills/split_horizon.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windarcher.hawk_focus\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windarcher-hawk-focus.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windarcher-hawk-focus.webp\" on skills[id=\"windarcher.hawk_focus\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windarcher-heartpiercer",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Heartpiercer (Windarcher, Bow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windarcher.heartpiercer.",
   "output": {
    "file": "ART-SKL-windarcher-heartpiercer.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/pinning-shot.webp",
    "/art/icons/skills/split-horizon.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Heartpiercer\" — Wind-spiral arrow with a long white contrail, hole-punch burst. Motion cue: kneel, draw to the ear for a held breath, release; bow arm recoils. Dominant colours #6fae7a, #efe2b8, #2c3d2c with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #6fae7a #efe2b8 #2c3d2c"
   ],
   "source": {
    "kind": "skill",
    "id": "windarcher.heartpiercer"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windarcher-heartpiercer.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windarcher-heartpiercer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/pinning_shot.png",
    "art/originals/icons/v4/skills/split_horizon.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windarcher.heartpiercer\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windarcher-heartpiercer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windarcher-heartpiercer.webp\" on skills[id=\"windarcher.heartpiercer\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windarcher-piercing_gale",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Piercing Gale (Windarcher, Bow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windarcher.piercing_gale.",
   "output": {
    "file": "ART-SKL-windarcher-piercing_gale.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/pinning-shot.webp",
    "/art/icons/skills/split-horizon.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Piercing Gale\" — Charging wind spiral around arrow (3 stages); release = straight tunnel of wind 25 m, dust blown aside. Motion cue: deep stance, full draw to cheek with wind gathering, release with recoil step back. Dominant colours #6fae7a, #efe2b8, #2c3d2c with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #6fae7a #efe2b8 #2c3d2c"
   ],
   "source": {
    "kind": "skill",
    "id": "windarcher.piercing_gale"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windarcher-piercing_gale.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windarcher-piercing-gale.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/pinning_shot.png",
    "art/originals/icons/v4/skills/split_horizon.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windarcher.piercing_gale\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windarcher-piercing-gale.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windarcher-piercing-gale.webp\" on skills[id=\"windarcher.piercing_gale\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windarcher-rain_of_arrows",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Rain of Arrows (Windarcher, Bow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windarcher.rain_of_arrows.",
   "output": {
    "file": "ART-SKL-windarcher-rain_of_arrows.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/pinning-shot.webp",
    "/art/icons/skills/split-horizon.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Rain of Arrows\" — Arrow splits into a storm of streaks raining over 2 s; final great arrow with wind spiral detonates into a ring of blown sand. Motion cue: kneel, aim high, release a glowing arrow skyward with a full-body spin; stand and draw a great arrow for the final shot as the rain falls. Dominant colours #6fae7a, #efe2b8, #2c3d2c with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #6fae7a #efe2b8 #2c3d2c"
   ],
   "source": {
    "kind": "skill",
    "id": "windarcher.rain_of_arrows"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windarcher-rain_of_arrows.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windarcher-rain-of-arrows.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/pinning_shot.png",
    "art/originals/icons/v4/skills/split_horizon.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windarcher.rain_of_arrows\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windarcher-rain-of-arrows.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windarcher-rain-of-arrows.webp\" on skills[id=\"windarcher.rain_of_arrows\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windarcher-tumble_shot",
   "category": "skill-icons",
   "priority": "P0",
   "title": "Skill icon — Tumble Shot (Windarcher, Bow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windarcher.tumble_shot.",
   "output": {
    "file": "ART-SKL-windarcher-tumble_shot.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/pinning-shot.webp",
    "/art/icons/skills/split-horizon.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Tumble Shot\" — Wind ring at takeoff, two arrow streaks, landing dust. Motion cue: backflip 5 m, firing two arrows at the apex while upside-down, land in a crouch. Dominant colours #6fae7a, #efe2b8, #2c3d2c with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #6fae7a #efe2b8 #2c3d2c"
   ],
   "source": {
    "kind": "skill",
    "id": "windarcher.tumble_shot"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windarcher-tumble_shot.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windarcher-tumble-shot.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/pinning_shot.png",
    "art/originals/icons/v4/skills/split_horizon.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windarcher.tumble_shot\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windarcher-tumble-shot.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windarcher-tumble-shot.webp\" on skills[id=\"windarcher.tumble_shot\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-VFX-040",
   "category": "vfx-textures",
   "priority": "P0",
   "title": "Core VFX flipbooks (procedural, Blender) — slash, impact, dust, sparks",
   "usedIn": "All melee skills (trails, impacts, ground dust).",
   "output": {
    "file": "vfx_core_flipbooks/*.png",
    "size": "1024×1024 per sheet (8×8 frames)",
    "alpha": true
   },
   "references": [],
   "current": "None. Generate procedurally in Blender (tools/blender/vfx_flipbooks.py) rather than with an image model, so sheets loop and tile.",
   "prompt": "PRODUCTION METHOD: Blender script, not image generation. Render 8×8 flipbooks with alpha: (1) slash arc smear (white, additive-ready), (2) impact star burst, (3) dust puff (soft volumetric), (4) spark spray, (5) ground crack decal (single frame, normal map too).",
   "avoid": "Do not bake colour — tint in shader.",
   "acceptance": [
    "Seamless loop where applicable",
    "Premultiplied alpha",
    "≤ 1 MB per sheet as KTX2/Basis"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/vfx-textures/vfx_core_flipbooks/*.png",
   "publishedAs": "/art/new/vfx-textures/vfx-core-flipbooks.webp",
   "status": "done",
   "referenceFiles": [],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/vfx-textures/vfx-core-flipbooks.webp and records it in packages/game-data/data/art-delivered.json; pages that show vfx-textures read it from there."
   }
  },
  {
   "id": "ART-VFX-041",
   "category": "vfx-textures",
   "priority": "P0",
   "title": "Element VFX flipbooks — fire, frost, lightning, spirit flame, sound rings",
   "usedIn": "Elemental skills, ailments, auras.",
   "output": {
    "file": "vfx_element_flipbooks/*.png",
    "size": "1024×1024 per sheet",
    "alpha": true
   },
   "references": [
    "/art/concepts/auras.webp"
   ],
   "current": "auras.webp shows refine aura looks; no runtime textures.",
   "prompt": "PRODUCTION METHOD: Blender (Mantaflow/EEVEE) or procedural noise: fire burst + looping flame, frost shard burst + mist, lightning bolt strips (4 variants) + arc crawl, spirit-flame wisp loop, sound ring pulse. White/greyscale, tinted in shader.",
   "avoid": "No baked colour.",
   "acceptance": [
    "Each ≤ 64 frames",
    "Readable on Low preset"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/vfx-textures/vfx_element_flipbooks/*.png",
   "publishedAs": "/art/new/vfx-textures/vfx-element-flipbooks.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v2/auras.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/vfx-textures/vfx-element-flipbooks.webp and records it in packages/game-data/data/art-delivered.json; pages that show vfx-textures read it from there."
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-close",
   "priority": "P1",
   "title": "Window close button",
   "usedIn": "Top-right of every window.",
   "output": {
    "file": "close_button.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. A round bronze-ringed close button with a deep red lacquer centre and a carved bronze X, like the close button in the first reference. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Reads as \"close\" at 28 px",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "close_button"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/close_button.png",
   "publishedAs": "/art/new/ui-kit/close-button.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/close-button.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/close-button.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/close-button.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-cursor-attack",
   "priority": "P1",
   "title": "Mouse cursor — hovering an enemy — a small bronze sword pointing up-left with a red glint",
   "usedIn": "Cursor while hovering an enemy — a small bronze sword pointing up-left with a red glint. Hotspot x 4, y 4.",
   "output": {
    "file": "cursor_attack.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/stat-str.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG, crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass with tiny jade accents, on a fully transparent background, the pointing tip exactly at the stated hotspot. Subject: hovering an enemy — a small bronze sword pointing up-left with a red glint. Hotspot (the exact click point) at x 4, y 4 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping the alpha channel.",
   "acceptance": [
    "Readable at 32 px",
    "Hotspot at x 4, y 4",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_attack"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_attack.png",
   "publishedAs": "/art/new/ui-kit/cursor-attack.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-attack.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-attack.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-attack.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-cursor-forbidden",
   "priority": "P1",
   "title": "Mouse cursor — an action is not allowed — the bronze arrow with a small red crossed circle",
   "usedIn": "Cursor while an action is not allowed — the bronze arrow with a small red crossed circle. Hotspot x 4, y 2.",
   "output": {
    "file": "cursor_forbidden.png",
    "size": "64×64",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/stat-str.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game mouse cursor icon for a Silk Road caravan fantasy MMORPG, crisp silhouette with a dark 2 px outline so it reads on any background, warm bronze and brass with tiny jade accents, on a fully transparent background, the pointing tip exactly at the stated hotspot. Subject: an action is not allowed — the bronze arrow with a small red crossed circle. Hotspot (the exact click point) at x 4, y 2 of the 64×64 canvas. Deliver exactly 64×64 px: generate at the closest supported size, then resize/crop with PIL to exactly 64×64 keeping the alpha channel.",
   "acceptance": [
    "Readable at 32 px",
    "Hotspot at x 4, y 2",
    "Exactly 64×64 px, transparent background"
   ],
   "kit": {
    "sprite": "cursor_forbidden"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/cursor_forbidden.png",
   "publishedAs": "/art/new/ui-kit/cursor-forbidden.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/cursor-forbidden.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/cursor-forbidden.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/cursor-forbidden.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-divider",
   "priority": "P1",
   "title": "Popup section divider",
   "usedIn": "Between sections of every popup (stats / modifiers / sockets / requirements) and in windows.",
   "output": {
    "file": "popup_divider.png",
    "size": "720×24",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/popup-corner-neutral-v2.webp",
    "/art/ui/sprites/window-header-v1.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornamental horizontal divider for a game tooltip: a thin bronze line fading out to both ends with a small central jade-and-bronze diamond ornament and two tiny side flourishes, warm metallic highlights, on a fully transparent background. Deliver exactly 720×24 px: generate at the closest supported size, then resize/crop with PIL to exactly 720×24 keeping the alpha channel.",
   "acceptance": [
    "Thin (line ≤ 3 px), fades to transparent at both ends",
    "Exactly 720×24 px, transparent background"
   ],
   "kit": {
    "sprite": "popup_divider"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/popup_divider.png",
   "publishedAs": "/art/new/ui-kit/popup-divider.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/popup-corner-neutral-v2.png",
    "art/originals/concepts/v4/ui/sprites/window-header-v1.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/popup-divider.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/popup-divider.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/popup-divider.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-emblem-ring",
   "priority": "P1",
   "title": "Window emblem medallion ring",
   "usedIn": "Above the title plaque; window icons sit inside.",
   "output": {
    "file": "emblem_ring.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/socket-neutral.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. A round bronze medallion ring with an engraved rim and a dark leather recessed centre (empty, the window icon is drawn on top), like the medallion above the plaque in the first reference. Deliver exactly 256×256 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×256 keeping the alpha channel.",
   "acceptance": [
    "Centre empty and dark",
    "Round, centred",
    "Exactly 256×256 px, transparent background"
   ],
   "kit": {
    "sprite": "emblem_ring"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/emblem_ring.png",
   "publishedAs": "/art/new/ui-kit/emblem-ring.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/socket-neutral.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/emblem-ring.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/emblem-ring.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/emblem-ring.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-field-frame",
   "priority": "P1",
   "title": "Textbox / textarea frame (thin bronze, 9-slice)",
   "usedIn": "Every text input and textarea (chat, character name, search, mail). 9-slice: 22 px corners at 2x.",
   "output": {
    "file": "field_frame.png",
    "size": "96×96",
    "alpha": true,
    "exact": true,
    "slicing": "22 px corners; edges tile; centre is the dark well (#100b08)."
   },
   "references": [
    "/ui/field-frame.webp",
    "/ui/btn-l.webp"
   ],
   "prompt": "A square 9-slice frame for a text field: a THIN polished bronze rim (about 6 px at this size) with a small stud-and-fan flourish in each corner, exactly like the corners of the button reference, around a flat very dark brown well. Edges must tile seamlessly. Deliver exactly 96×96 px.",
   "acceptance": [
    "Exactly 96×96",
    "Corners within 22 px; edges seamless when tiled",
    "Rim thin (≤ 8 px)"
   ],
   "kit": {
    "sprite": "field_frame"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/field_frame.png",
   "publishedAs": "/art/new/ui-kit/field-frame.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/field-frame.webp",
    "apps/wiki/public/ui/btn-l.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/field-frame.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/field-frame.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/field-frame.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-crown",
   "priority": "P1",
   "title": "Tag & marker icon — crown",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_crown.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a small royal crown with three points and jade gems — the PREMIUM mark (Zoe shop, premium features). Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_crown"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_crown.png",
   "publishedAs": "/art/new/ui-kit/icon-crown.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-crown.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-crown.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-crown.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-map-pin",
   "priority": "P1",
   "title": "Map \"you are here\" pin",
   "usedIn": "World map and Map window: marks where the player currently is (≈ 68 px wide).",
   "output": {
    "file": "map_pin.png",
    "size": "128×160",
    "alpha": true,
    "exact": true,
    "slicing": "The pin tip is at x 64, y 148 (that point sits on the map position)."
   },
   "references": [
    "/ui/map-pin.webp",
    "/brand/zoen-emblem.webp",
    "/ui/zoe-coin.webp"
   ],
   "prompt": "A map location pin (teardrop) seen straight on, fully transparent background: a polished gold rim around a deep jade face, the ZOEN logo sun (compass rays around a domed centre) in the heart, a soft contact shadow under the tip inside the canvas. Bold silhouette that stands out on a painted map. Deliver exactly 128×160 px, tip at x 64, y 148.",
   "acceptance": [
    "Exactly 128×160, transparent background",
    "Tip at x 64, y 148",
    "The sun is clearly the logo sun"
   ],
   "kit": {
    "sprite": "map_pin"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/map_pin.png",
   "publishedAs": "/art/new/ui-kit/map-pin.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/map-pin.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/zoe-coin.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/map-pin.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/map-pin.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/map-pin.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-map-wp-current",
   "priority": "P1",
   "title": "Map waypoint marker — current",
   "usedIn": "World map and the Map window: one marker per area, drawn at 56–64 px.",
   "output": {
    "file": "map_wp_current.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/emblem-ring.webp",
    "/ui/map-wp-current.webp"
   ],
   "prompt": "A round map waypoint marker seen straight on, on a fully transparent background: the carved bronze ring from the first reference (dark recessed centre) with the waypoint of the area you are levelling in: a glowing jade compass star. Same family for all four states (done, current, locked, town); readable at 56 px on a dark parchment map. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Same ring and size as the other states",
    "State readable at 56 px"
   ],
   "kit": {
    "sprite": "map_wp_current"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/map_wp_current.png",
   "publishedAs": "/art/new/ui-kit/map-wp-current.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/emblem-ring.webp",
    "apps/wiki/public/ui/map-wp-current.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/map-wp-current.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/map-wp-current.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/map-wp-current.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-map-wp-done",
   "priority": "P1",
   "title": "Map waypoint marker — done",
   "usedIn": "World map and the Map window: one marker per area, drawn at 56–64 px.",
   "output": {
    "file": "map_wp_done.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/emblem-ring.webp",
    "/ui/map-wp-done.webp"
   ],
   "prompt": "A round map waypoint marker seen straight on, on a fully transparent background: the carved bronze ring from the first reference (dark recessed centre) with a cleared waypoint: a gold compass star in the centre. Same family for all four states (done, current, locked, town); readable at 56 px on a dark parchment map. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Same ring and size as the other states",
    "State readable at 56 px"
   ],
   "kit": {
    "sprite": "map_wp_done"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/map_wp_done.png",
   "publishedAs": "/art/new/ui-kit/map-wp-done.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/emblem-ring.webp",
    "apps/wiki/public/ui/map-wp-done.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/map-wp-done.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/map-wp-done.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/map-wp-done.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-map-wp-locked",
   "priority": "P1",
   "title": "Map waypoint marker — locked",
   "usedIn": "World map and the Map window: one marker per area, drawn at 56–64 px.",
   "output": {
    "file": "map_wp_locked.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/emblem-ring.webp",
    "/ui/map-wp-locked.webp"
   ],
   "prompt": "A round map waypoint marker seen straight on, on a fully transparent background: the carved bronze ring from the first reference (dark recessed centre) with a locked waypoint: the ring in dull grey-brown with a small padlock. Same family for all four states (done, current, locked, town); readable at 56 px on a dark parchment map. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Same ring and size as the other states",
    "State readable at 56 px"
   ],
   "kit": {
    "sprite": "map_wp_locked"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/map_wp_locked.png",
   "publishedAs": "/art/new/ui-kit/map-wp-locked.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/emblem-ring.webp",
    "apps/wiki/public/ui/map-wp-locked.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/map-wp-locked.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/map-wp-locked.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/map-wp-locked.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-map-wp-town",
   "priority": "P1",
   "title": "Map waypoint marker — town",
   "usedIn": "World map and the Map window: one marker per area, drawn at 56–64 px.",
   "output": {
    "file": "map_wp_town.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/emblem-ring.webp",
    "/ui/map-wp-town.webp"
   ],
   "prompt": "A round map waypoint marker seen straight on, on a fully transparent background: the carved bronze ring from the first reference (dark recessed centre) with a safe town: a golden gate arch with a small red pennant. Same family for all four states (done, current, locked, town); readable at 56 px on a dark parchment map. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Same ring and size as the other states",
    "State readable at 56 px"
   ],
   "kit": {
    "sprite": "map_wp_town"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/map_wp_town.png",
   "publishedAs": "/art/new/ui-kit/map-wp-town.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/emblem-ring.webp",
    "apps/wiki/public/ui/map-wp-town.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/map-wp-town.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/map-wp-town.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/map-wp-town.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-ph-item",
   "priority": "P1",
   "title": "Placeholder — item",
   "usedIn": "Item popups and wells while icon art is missing.",
   "output": {
    "file": "placeholder_item.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/socket-neutral.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Placeholder art shown in game popups when the real art is not made yet: a dark leather disc inside a bronze ring with a faint embossed silhouette, muted, clearly a placeholder but in style, on a fully transparent background. Silhouette: a generic bundle of a sword hilt and a pouch. Deliver exactly 256×256 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×256 keeping the alpha channel.",
   "acceptance": [
    "Muted, not mistaken for a real item",
    "Exactly 256×256 px, transparent background"
   ],
   "kit": {
    "sprite": "placeholder_item"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/placeholder_item.png",
   "publishedAs": "/art/new/ui-kit/placeholder-item.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/socket-neutral.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/placeholder-item.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/placeholder-item.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/placeholder-item.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-ph-skill",
   "priority": "P1",
   "title": "Placeholder — skill",
   "usedIn": "Skill popups and slots while icon art is missing.",
   "output": {
    "file": "placeholder_skill.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Placeholder art shown in game popups when the real art is not made yet: a dark leather disc inside a bronze ring with a faint embossed silhouette, muted, clearly a placeholder but in style, on a fully transparent background. Silhouette: a stylised open book with a small flame. Deliver exactly 256×256 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×256 keeping the alpha channel.",
   "acceptance": [
    "Same ring style as skill icons",
    "Exactly 256×256 px, transparent background"
   ],
   "kit": {
    "sprite": "placeholder_skill"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/placeholder_skill.png",
   "publishedAs": "/art/new/ui-kit/placeholder-skill.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/placeholder-skill.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/placeholder-skill.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/placeholder-skill.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-slider-knob",
   "priority": "P1",
   "title": "Slider knob (bronze ring with a jade gem)",
   "usedIn": "Every slider (Options volumes, camera shake, Feel Lab tuning, GM tools). 28 px on screen.",
   "output": {
    "file": "slider_knob.png",
    "size": "56×56",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/ui/emblem-ring.webp"
   ],
   "prompt": "A round slider knob seen straight on: a carved bronze ring with four tiny rivets and a domed jade gem in the centre with a soft highlight, like the references but painted and crisper. Fully transparent background. Deliver exactly 56×56 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 56×56, transparent background",
    "Reads as a grab handle at 28 px"
   ],
   "kit": {
    "sprite": "slider_knob"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slider_knob.png",
   "publishedAs": "/art/new/ui-kit/slider-knob.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/ui/emblem-ring.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slider-knob.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slider-knob.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slider-knob.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-epic",
   "priority": "P1",
   "title": "Inventory slot background — epic item",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_epic.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: epic item: soft orange glow (#f08a2b) rising from the bottom edge. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_epic"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_epic.png",
   "publishedAs": "/art/new/ui-kit/slot-epic.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-epic.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-epic.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-epic.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-legend",
   "priority": "P1",
   "title": "Inventory slot background — legend item",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_legend.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: legend item: soft red glow (#e0473a) with faint embers. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_legend"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_legend.png",
   "publishedAs": "/art/new/ui-kit/slot-legend.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-legend.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-legend.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-legend.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-magic",
   "priority": "P1",
   "title": "Inventory slot background — magic item",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_magic.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: magic item: soft blue glow (#6fa8ff) rising from the bottom edge. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_magic"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_magic.png",
   "publishedAs": "/art/new/ui-kit/slot-magic.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-magic.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-magic.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-magic.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-rare",
   "priority": "P1",
   "title": "Inventory slot background — rare item",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_rare.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: rare item: soft yellow glow (#f2d04b) rising from the bottom edge. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_rare"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_rare.png",
   "publishedAs": "/art/new/ui-kit/slot-rare.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-rare.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-rare.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-rare.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-tab",
   "priority": "P1",
   "title": "Window tab — inactive",
   "usedIn": "Every tab strip (windows, wiki pages).",
   "output": {
    "file": "tab_inactive.png",
    "size": "384×96",
    "alpha": true,
    "exact": true,
    "slicing": "Caps 96 px each side, centre 192 px tileable."
   },
   "references": [
    "/art/ui/button-normal.webp",
    "/art/ui/sprites/window-header-v1.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game window tab for a Silk Road caravan fantasy MMORPG UI, front-facing, on a fully transparent background, aged bronze and dark tooled leather like the references. An INACTIVE tab: a trapezoid leather tab, top corners angled, dull bronze rim, slightly darker, empty face for live text. The left 96 px and right 96 px are the end caps, the middle 192 px must tile horizontally. Deliver exactly 384×96 px: generate at the closest supported size, then resize/crop with PIL to exactly 384×96 keeping the alpha channel.",
   "acceptance": [
    "Middle 192 px tiles seamlessly",
    "Exactly 384×96 px, transparent background"
   ],
   "kit": {
    "sprite": "tab_inactive"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/tab_inactive.png",
   "publishedAs": "/art/new/ui-kit/tab-inactive.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/button_normal.png",
    "art/originals/concepts/v4/ui/sprites/window-header-v1.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/tab-inactive.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/tab-inactive.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/tab-inactive.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-tab-active",
   "priority": "P1",
   "title": "Window tab — active",
   "usedIn": "The open tab.",
   "output": {
    "file": "tab_active.png",
    "size": "384×96",
    "alpha": true,
    "exact": true,
    "slicing": "Caps 96 px each side, centre 192 px tileable."
   },
   "references": [
    "/art/ui/button-normal.webp",
    "/art/ui/sprites/window-header-v1.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Game window tab for a Silk Road caravan fantasy MMORPG UI, front-facing, on a fully transparent background, aged bronze and dark tooled leather like the references. The ACTIVE version of tab_inactive.png: same shape, warmer brighter leather, polished gold-bronze rim and a thin glowing gold line along the bottom edge. Deliver exactly 384×96 px: generate at the closest supported size, then resize/crop with PIL to exactly 384×96 keeping the alpha channel.",
   "acceptance": [
    "Same silhouette as tab_inactive.png",
    "Exactly 384×96 px, transparent background"
   ],
   "kit": {
    "sprite": "tab_active"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/tab_active.png",
   "publishedAs": "/art/new/ui-kit/tab-active.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/button_normal.png",
    "art/originals/concepts/v4/ui/sprites/window-header-v1.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/tab-active.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/tab-active.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/tab-active.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-window-outer",
   "priority": "P1",
   "title": "Custom-window outer background (subtle, tileable)",
   "usedIn": "Outer container of custom windows, around the inner framed panel (owner sketch: \"subtle background artwork\").",
   "output": {
    "file": "window_outer.png",
    "size": "512×512",
    "alpha": false,
    "exact": true,
    "slicing": "Seamless in both directions."
   },
   "references": [
    "/art/references/hud/window-artwork-idea.webp",
    "/ui/panel-stone.webp"
   ],
   "prompt": "A very dark, low-contrast tileable texture of aged leather over carved sandstone with a faint engraved caravan-rosette pattern, warm brown-black, barely visible at normal brightness. Seamless when repeated. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, seamless",
    "Average brightness very low; never competes with the content"
   ],
   "kit": {
    "sprite": "window_outer"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/window_outer.png",
   "publishedAs": "/art/new/ui-kit/window-outer.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/art/references/hud/window-artwork-idea.webp",
    "apps/wiki/public/ui/panel-stone.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/window-outer.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/window-outer.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/window-outer.webp so every page uses the new art"
   }
  },
  {
   "id": "ART-ATL-keystone-agi",
   "category": "atlas-icons",
   "priority": "P1",
   "title": "Atlas keystone icon — Wind's Edge",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-keystone-agi.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Keystone (build-defining): more ornate ring with extra filigree and a deeper glow. Symbolise \"Wind's Edge\": Evasion rating is doubled. −20% maximum life.. Sector colour #5f9e4f. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "keystone_agi"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-keystone-agi.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-keystone-agi.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"keystone_agi\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-keystone-agi.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-keystone-agi.webp\" on nodes[id=\"keystone_agi\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-keystone-agi_int",
   "category": "atlas-icons",
   "priority": "P1",
   "title": "Atlas keystone icon — Moonlit Precision",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-keystone-agi_int.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Keystone (build-defining): more ornate ring with extra filigree and a deeper glow. Symbolise \"Moonlit Precision\": Projectiles pierce 1 more enemy and ricochet once. −20% projectile damage.. Sector colour #4f9aa0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "keystone_agi_int"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-keystone-agi_int.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-keystone-agi-int.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"keystone_agi_int\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-keystone-agi-int.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-keystone-agi-int.webp\" on nodes[id=\"keystone_agi_int\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-keystone-int",
   "category": "atlas-icons",
   "priority": "P1",
   "title": "Atlas keystone icon — Lantern of the Last Road",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-keystone-int.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Keystone (build-defining): more ornate ring with extra filigree and a deeper glow. Symbolise \"Lantern of the Last Road\": +30% spell damage. No mana regeneration in combat; basic hits restore 6 mana.. Sector colour #4a78c2. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "keystone_int"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-keystone-int.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-keystone-int.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"keystone_int\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-keystone-int.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-keystone-int.webp\" on nodes[id=\"keystone_int\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-keystone-int_str",
   "category": "atlas-icons",
   "priority": "P1",
   "title": "Atlas keystone icon — Storm-Forged",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-keystone-int_str.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Keystone (build-defining): more ornate ring with extra filigree and a deeper glow. Symbolise \"Storm-Forged\": 40% of physical damage is converted to lightning. Mana costs +25%.. Sector colour #8a6fc0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "keystone_int_str"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-keystone-int_str.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-keystone-int-str.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"keystone_int_str\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-keystone-int-str.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-keystone-int-str.webp\" on nodes[id=\"keystone_int_str\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-keystone-str",
   "category": "atlas-icons",
   "priority": "P1",
   "title": "Atlas keystone icon — Unbroken Mountain",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-keystone-str.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Keystone (build-defining): more ornate ring with extra filigree and a deeper glow. Symbolise \"Unbroken Mountain\": Monsters cannot stagger or knock you back. −15% attack speed.. Sector colour #c8553d. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "keystone_str"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-keystone-str.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-keystone-str.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"keystone_str\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-keystone-str.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-keystone-str.webp\" on nodes[id=\"keystone_str\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-keystone-str_agi",
   "category": "atlas-icons",
   "priority": "P1",
   "title": "Atlas keystone icon — Duelist's Oath",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-keystone-str_agi.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Keystone (build-defining): more ornate ring with extra filigree and a deeper glow. Symbolise \"Duelist's Oath\": +25% damage to your current target; −25% damage to all other enemies.. Sector colour #9c8a3a. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "keystone_str_agi"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-keystone-str_agi.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-keystone-str-agi.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"keystone_str_agi\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-keystone-str-agi.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-keystone-str-agi.webp\" on nodes[id=\"keystone_str_agi\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-UI-021",
   "category": "branding",
   "priority": "P1",
   "title": "Loading screen key art (Amber Basin caravan at dusk)",
   "usedIn": "Loading screens, login background, wiki home hero.",
   "output": {
    "file": "zoen_keyart_loading.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/concepts/basin.webp",
    "/art/maps/amber-gate.webp"
   ],
   "current": "basin.webp is a strong mood reference but has the old composition; we need a wide hero shot with space on the left for the logo.",
   "prompt": "Epic wide painterly key art: a long camel caravan with lanterns crossing amber dunes at dusk toward a twin-roofed walled oasis gate city, a giant ancient bell-shelled tortoise silhouette on a distant cliff, warm sunset rim light, dust in the air, a few adventurers (greatsword, bow, lantern scepter) in the foreground on a rocky ridge, negative space on the left third for a logo. Silkroad Online classic meets Path of Exile, cinematic.",
   "avoid": "No text, no logos, no modern objects.",
   "acceptance": [
    "Left third calm for logo",
    "Reads at 1280 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/branding/zoen_keyart_loading.png",
   "publishedAs": "/art/new/branding/zoen-keyart-loading.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v2/basin.png",
    "art/originals/concepts/v4/maps/amber_gate.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/branding/zoen-keyart-loading.webp and records it in packages/game-data/data/art-delivered.json; pages that show branding read it from there."
   }
  },
  {
   "id": "ART-HUD-009",
   "category": "hud",
   "priority": "P1",
   "title": "Chat panel frame + tabs",
   "usedIn": "Bottom-left chat (General / Party / System / +).",
   "output": {
    "file": "hud_chat.png",
    "size": "1200×600",
    "alpha": true
   },
   "references": [
    "/art/references/hud/desktop.webp"
   ],
   "current": "None.",
   "prompt": "Transparent background: a translucent dark chat panel with a thin bronze border and rounded corners, plus three tab shapes (active tab brighter bronze with a gold top edge, inactive tabs dimmer). Also a slim input bar frame with a small speech-bubble icon socket on the left.",
   "avoid": "No text.",
   "acceptance": [
    "9-slice friendly",
    "Tabs distinct active/inactive"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_chat.png",
   "publishedAs": "/art/new/hud/hud-chat.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-chat.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-HUD-014",
   "category": "hud",
   "priority": "P1",
   "title": "Auto-Hunt / Auto-Quest toggle buttons",
   "usedIn": "Mobile + desktop automation toggles.",
   "output": {
    "file": "hud_auto_toggles.png",
    "size": "1024×256",
    "alpha": true
   },
   "references": [
    "/art/references/hud/mobile.webp"
   ],
   "current": "None.",
   "prompt": "Transparent background: two round bronze toggle buttons, each in two states (off: dim bronze, on: glowing amber rim): (1) Auto-Hunt symbol — crossed sword and circular arrow; (2) Auto-Quest symbol — scroll with a forward chevron.",
   "avoid": "No text.",
   "acceptance": [
    "On/off clearly different",
    "Reads at 48 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/hud/hud_auto_toggles.png",
   "publishedAs": "/art/new/hud/hud-auto-toggles.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/mobile.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/hud/hud-auto-toggles.webp and records it in packages/game-data/data/art-delivered.json; pages that show hud read it from there."
   }
  },
  {
   "id": "ART-CON-drop_scroll",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Prospector’s Charm (scroll)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-drop_scroll.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Prospector’s Charm\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: +30% item and material find for 30 min. Bound; from bounties and events. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "drop_scroll"
   },
   "deliver": "art/source/item-icons/ART-CON-drop_scroll.png",
   "publishedAs": "/art/new/item-icons/art-con-drop-scroll.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"drop_scroll\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-drop-scroll.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-drop-scroll.webp\" on items[id=\"drop_scroll\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-hp_potion_g",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Grand Healing Draught (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-hp_potion_g.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Grand Healing Draught\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 2,400 life over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "hp_potion_g"
   },
   "deliver": "art/source/item-icons/ART-CON-hp_potion_g.png",
   "publishedAs": "/art/new/item-icons/art-con-hp-potion-g.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"hp_potion_g\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-hp-potion-g.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-hp-potion-g.webp\" on items[id=\"hp_potion_g\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-hp_potion_l",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Greater Healing Draught (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-hp_potion_l.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Greater Healing Draught\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 1,100 life over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "hp_potion_l"
   },
   "deliver": "art/source/item-icons/ART-CON-hp_potion_l.png",
   "publishedAs": "/art/new/item-icons/art-con-hp-potion-l.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"hp_potion_l\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-hp-potion-l.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-hp-potion-l.webp\" on items[id=\"hp_potion_l\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-hp_potion_m",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Healing Draught (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-hp_potion_m.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Healing Draught\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 420 life over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "hp_potion_m"
   },
   "deliver": "art/source/item-icons/ART-CON-hp_potion_m.png",
   "publishedAs": "/art/new/item-icons/art-con-hp-potion-m.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"hp_potion_m\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-hp-potion-m.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-hp-potion-m.webp\" on items[id=\"hp_potion_m\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-hp_potion_s",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Small Healing Draught (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-hp_potion_s.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Small Healing Draught\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 120 life over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "hp_potion_s"
   },
   "deliver": "art/source/item-icons/ART-CON-hp_potion_s.png",
   "publishedAs": "/art/new/item-icons/art-con-hp-potion-s.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"hp_potion_s\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-hp-potion-s.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-hp-potion-s.webp\" on items[id=\"hp_potion_s\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-marked_return",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Caravan Marker (scroll)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-marked_return.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Caravan Marker\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: Use once to mark this spot; use the mark within 30 min to return there from any town. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "marked_return"
   },
   "deliver": "art/source/item-icons/ART-CON-marked_return.png",
   "publishedAs": "/art/new/item-icons/art-con-marked-return.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"marked_return\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-marked-return.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-marked-return.webp\" on items[id=\"marked_return\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-mp_potion_g",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Grand Lamp Oil Tonic (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-mp_potion_g.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Grand Lamp Oil Tonic\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 900 mana over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "mp_potion_g"
   },
   "deliver": "art/source/item-icons/ART-CON-mp_potion_g.png",
   "publishedAs": "/art/new/item-icons/art-con-mp-potion-g.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"mp_potion_g\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-mp-potion-g.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-mp-potion-g.webp\" on items[id=\"mp_potion_g\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-mp_potion_l",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Greater Lamp Oil Tonic (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-mp_potion_l.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Greater Lamp Oil Tonic\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 480 mana over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "mp_potion_l"
   },
   "deliver": "art/source/item-icons/ART-CON-mp_potion_l.png",
   "publishedAs": "/art/new/item-icons/art-con-mp-potion-l.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"mp_potion_l\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-mp-potion-l.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-mp-potion-l.webp\" on items[id=\"mp_potion_l\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-mp_potion_m",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Lamp Oil Tonic (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-mp_potion_m.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Lamp Oil Tonic\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 200 mana over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "mp_potion_m"
   },
   "deliver": "art/source/item-icons/ART-CON-mp_potion_m.png",
   "publishedAs": "/art/new/item-icons/art-con-mp-potion-m.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"mp_potion_m\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-mp-potion-m.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-mp-potion-m.webp\" on items[id=\"mp_potion_m\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-mp_potion_s",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Small Lamp Oil Tonic (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-mp_potion_s.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Small Lamp Oil Tonic\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 60 mana over 3 s. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "mp_potion_s"
   },
   "deliver": "art/source/item-icons/ART-CON-mp_potion_s.png",
   "publishedAs": "/art/new/item-icons/art-con-mp-potion-s.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"mp_potion_s\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-mp-potion-s.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-mp-potion-s.webp\" on items[id=\"mp_potion_s\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-resurrection_scroll",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Phoenix Feather (scroll)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-resurrection_scroll.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Phoenix Feather\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: Revive a fallen party member (or yourself, 10 s after death) with 50% life, in place. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "resurrection_scroll"
   },
   "deliver": "art/source/item-icons/ART-CON-resurrection_scroll.png",
   "publishedAs": "/art/new/item-icons/art-con-resurrection-scroll.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"resurrection_scroll\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-resurrection-scroll.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-resurrection-scroll.webp\" on items[id=\"resurrection_scroll\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-return_scroll",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Return Scroll (scroll)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-return_scroll.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Return Scroll\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: After a 4 s channel, return to the last town you visited. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "return_scroll"
   },
   "deliver": "art/source/item-icons/ART-CON-return_scroll.png",
   "publishedAs": "/art/new/item-icons/art-con-return-scroll.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"return_scroll\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-return-scroll.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-return-scroll.webp\" on items[id=\"return_scroll\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-speed_potion",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Swiftroad Draught (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-speed_potion.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Swiftroad Draught\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: +30% movement speed for 30 s (combat usable). Shares the speed group with the scroll. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "speed_potion"
   },
   "deliver": "art/source/item-icons/ART-CON-speed_potion.png",
   "publishedAs": "/art/new/item-icons/art-con-speed-potion.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"speed_potion\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-speed-potion.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-speed-potion.webp\" on items[id=\"speed_potion\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-speed_scroll",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Swiftroad Scroll (scroll)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-speed_scroll.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Swiftroad Scroll\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: +20% movement speed for 10 min. Ends when you take damage from a player. Does not stack with Swiftroad Draught. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "speed_scroll"
   },
   "deliver": "art/source/item-icons/ART-CON-speed_scroll.png",
   "publishedAs": "/art/new/item-icons/art-con-speed-scroll.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"speed_scroll\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-speed-scroll.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-speed-scroll.webp\" on items[id=\"speed_scroll\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-teleport_scroll",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Waypoint Scroll (scroll)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-teleport_scroll.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Waypoint Scroll\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: After a 3 s channel, teleport to any unlocked waypoint. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "teleport_scroll"
   },
   "deliver": "art/source/item-icons/ART-CON-teleport_scroll.png",
   "publishedAs": "/art/new/item-icons/art-con-teleport-scroll.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"teleport_scroll\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-teleport-scroll.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-teleport-scroll.webp\" on items[id=\"teleport_scroll\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-vigor_potion",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Vigor Flask (potion)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-vigor_potion.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Vigor Flask\" — a stoppered clay-and-glass flask, liquid colour telling its use (red life, blue mana, gold vigor, green speed). Effect to suggest: Restore 35% life and 35% mana instantly. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "vigor_potion"
   },
   "deliver": "art/source/item-icons/ART-CON-vigor_potion.png",
   "publishedAs": "/art/new/item-icons/art-con-vigor-potion.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"vigor_potion\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-vigor-potion.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-vigor-potion.webp\" on items[id=\"vigor_potion\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-xp_scroll",
   "category": "item-icons",
   "priority": "P1",
   "title": "Consumable icon — Scroll of the Long Road (scroll)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-xp_scroll.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Scroll of the Long Road\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: +50% experience from monsters for 30 min. Bound; from contracts, events and the alpha grant — never sold for Zoe. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "xp_scroll"
   },
   "deliver": "art/source/item-icons/ART-CON-xp_scroll.png",
   "publishedAs": "/art/new/item-icons/art-con-xp-scroll.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"xp_scroll\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-xp-scroll.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-xp-scroll.webp\" on items[id=\"xp_scroll\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-EQP-armour-leather",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — armour (Trail leather)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-armour-leather.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; trail leather needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a body armour made of fitted quilted leather with brass studs and sand-green wraps. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "saltway_brigandine"
   },
   "deliver": "art/source/item-icons/ART-EQP-armour-leather.png",
   "publishedAs": "/art/new/item-icons/art-eqp-armour-leather.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "saltway_brigandine",
     "value": "/art/new/item-icons/art-eqp-armour-leather.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-armour-leather.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-armour-plate",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — armour (Bronze plate)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-armour-plate.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; bronze plate needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a body armour made of lamellar bronze plates over quilted cloth. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "wall_guard_lamellar"
   },
   "deliver": "art/source/item-icons/ART-EQP-armour-plate.png",
   "publishedAs": "/art/new/item-icons/art-eqp-armour-plate.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "wall_guard_lamellar",
     "value": "/art/new/item-icons/art-eqp-armour-plate.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-armour-plate.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-armour-silk",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — armour (Lantern silk)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-armour-silk.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; lantern silk needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a body armour made of layered indigo silk with bronze thread runes. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "travelling_robe"
   },
   "deliver": "art/source/item-icons/ART-EQP-armour-silk.png",
   "publishedAs": "/art/new/item-icons/art-eqp-armour-silk.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "travelling_robe",
     "value": "/art/new/item-icons/art-eqp-armour-silk.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-armour-silk.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-belt",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — belt",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-belt.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "No jewelry/belt variant exists yet.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a belt made of tooled leather with copper links and pouches. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "copperlink_belt"
   },
   "deliver": "art/source/item-icons/ART-EQP-belt.png",
   "publishedAs": "/art/new/item-icons/art-eqp-belt.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "copperlink_belt",
     "value": "/art/new/item-icons/art-eqp-belt.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-belt.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-boots-leather",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — boots (Trail leather)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-boots-leather.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; trail leather needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a boots made of fitted quilted leather with brass studs and sand-green wraps. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "reedrunner_boots"
   },
   "deliver": "art/source/item-icons/ART-EQP-boots-leather.png",
   "publishedAs": "/art/new/item-icons/art-eqp-boots-leather.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "reedrunner_boots",
     "value": "/art/new/item-icons/art-eqp-boots-leather.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-boots-leather.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-boots-plate",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — boots (Bronze plate)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-boots-plate.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; bronze plate needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a boots made of lamellar bronze plates over quilted cloth. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "gate_greaves"
   },
   "deliver": "art/source/item-icons/ART-EQP-boots-plate.png",
   "publishedAs": "/art/new/item-icons/art-eqp-boots-plate.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "gate_greaves",
     "value": "/art/new/item-icons/art-eqp-boots-plate.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-boots-plate.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-boots-silk",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — boots (Lantern silk)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-boots-silk.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; lantern silk needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a boots made of layered indigo silk with bronze thread runes. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "pilgrim_slippers"
   },
   "deliver": "art/source/item-icons/ART-EQP-boots-silk.png",
   "publishedAs": "/art/new/item-icons/art-eqp-boots-silk.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "pilgrim_slippers",
     "value": "/art/new/item-icons/art-eqp-boots-silk.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-boots-silk.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-gloves-leather",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — gloves (Trail leather)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-gloves-leather.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; trail leather needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a gloves made of fitted quilted leather with brass studs and sand-green wraps. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "marshfang_grips"
   },
   "deliver": "art/source/item-icons/ART-EQP-gloves-leather.png",
   "publishedAs": "/art/new/item-icons/art-eqp-gloves-leather.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "marshfang_grips",
     "value": "/art/new/item-icons/art-eqp-gloves-leather.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-gloves-leather.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-gloves-plate",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — gloves (Bronze plate)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-gloves-plate.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; bronze plate needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a gloves made of lamellar bronze plates over quilted cloth. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "gate_gauntlets"
   },
   "deliver": "art/source/item-icons/ART-EQP-gloves-plate.png",
   "publishedAs": "/art/new/item-icons/art-eqp-gloves-plate.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "gate_gauntlets",
     "value": "/art/new/item-icons/art-eqp-gloves-plate.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-gloves-plate.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-gloves-silk",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — gloves (Lantern silk)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-gloves-silk.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; lantern silk needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a gloves made of layered indigo silk with bronze thread runes. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "scribe_wraps"
   },
   "deliver": "art/source/item-icons/ART-EQP-gloves-silk.png",
   "publishedAs": "/art/new/item-icons/art-eqp-gloves-silk.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "scribe_wraps",
     "value": "/art/new/item-icons/art-eqp-gloves-silk.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-gloves-silk.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-helmet-leather",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — helmet (Trail leather)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-helmet-leather.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; trail leather needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a helmet made of fitted quilted leather with brass studs and sand-green wraps. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "scout_hood"
   },
   "deliver": "art/source/item-icons/ART-EQP-helmet-leather.png",
   "publishedAs": "/art/new/item-icons/art-eqp-helmet-leather.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "scout_hood",
     "value": "/art/new/item-icons/art-eqp-helmet-leather.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-helmet-leather.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-helmet-plate",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — helmet (Bronze plate)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-helmet-plate.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; bronze plate needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a helmet made of lamellar bronze plates over quilted cloth. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "gate_helm"
   },
   "deliver": "art/source/item-icons/ART-EQP-helmet-plate.png",
   "publishedAs": "/art/new/item-icons/art-eqp-helmet-plate.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "gate_helm",
     "value": "/art/new/item-icons/art-eqp-helmet-plate.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-helmet-plate.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-EQP-helmet-silk",
   "category": "item-icons",
   "priority": "P1",
   "title": "Equipment icon — helmet (Lantern silk)",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-EQP-helmet-silk.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "Only the leather scout set has icons; lantern silk needs its own.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a helmet made of layered indigo silk with bronze thread runes. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "archivist_circlet"
   },
   "deliver": "art/source/item-icons/ART-EQP-helmet-silk.png",
   "publishedAs": "/art/new/item-icons/art-eqp-helmet-silk.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "archivist_circlet",
     "value": "/art/new/item-icons/art-eqp-helmet-silk.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-eqp-helmet-silk.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-JWL-earring",
   "category": "item-icons",
   "priority": "P1",
   "title": "Jewelry icon — earring",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-JWL-earring.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "No jewelry/belt variant exists yet.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a earring — Silk Road caravan jewelry in bronze, gold filigree and a single moonstone stone. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "brass_hoop"
   },
   "deliver": "art/source/item-icons/ART-JWL-earring.png",
   "publishedAs": "/art/new/item-icons/art-jwl-earring.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "brass_hoop",
     "value": "/art/new/item-icons/art-jwl-earring.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-jwl-earring.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-JWL-necklace",
   "category": "item-icons",
   "priority": "P1",
   "title": "Jewelry icon — necklace",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-JWL-necklace.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "No jewelry/belt variant exists yet.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a necklace — Silk Road caravan jewelry in bronze, gold filigree and a single amber stone. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "bone_bead_necklace"
   },
   "deliver": "art/source/item-icons/ART-JWL-necklace.png",
   "publishedAs": "/art/new/item-icons/art-jwl-necklace.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "bone_bead_necklace",
     "value": "/art/new/item-icons/art-jwl-necklace.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-jwl-necklace.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-JWL-ring",
   "category": "item-icons",
   "priority": "P1",
   "title": "Jewelry icon — ring",
   "usedIn": "Inventory, equipment window, item popups, blacksmith. One icon per slot/class; tiers are shown by the popup header and border.",
   "output": {
    "file": "ART-JWL-ring.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "No jewelry/belt variant exists yet.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: a ring — Silk Road caravan jewelry in bronze, gold filigree and a single carnelian stone. Empty (not worn), no mannequin. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no body, no background, no text, no glow.",
   "acceptance": [
    "Transparent background",
    "Reads at 48 px",
    "Matches the leather scout icons in rendering"
   ],
   "source": {
    "kind": "item",
    "id": "copper_band"
   },
   "deliver": "art/source/item-icons/ART-JWL-ring.png",
   "publishedAs": "/art/new/item-icons/art-jwl-ring.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/items.json",
     "where": "armourBases|jewelry[iconRequest matches]",
     "field": "icon",
     "id": "copper_band",
     "value": "/art/new/item-icons/art-jwl-ring.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-jwl-ring.webp\" on armourBases|jewelry[iconRequest matches] in packages/game-data/data/items.json"
   }
  },
  {
   "id": "ART-KEY-ashwarden",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Ashwarden (Censer)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-ashwarden.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a orc male wayfarer of the Ashwarden build wielding a censer, mid-skill: Smouldering Rite — Expanding cyclone of ember smoke, halo ring doubles, final pillar of fire and ash. Desert caravan environment at noon, dramatic rim light, VFX palette #c4511f, #4a3a2a, #f2c27a. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "ashwarden"
   },
   "deliver": "art/source/key-art/ART-KEY-ashwarden.png",
   "publishedAs": "/art/new/key-art/art-key-ashwarden.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-ashwarden.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-boltwright",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Boltwright (Crossbow)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-boltwright.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a human female wayfarer of the Boltwright build wielding a crossbow, mid-skill: Incendiary Payload — Smoking shell arc, fireball detonation, bomblets bouncing and popping, scorch decals. Desert caravan environment at dusk, dramatic rim light, VFX palette #b8743a, #7fd0ff, #2d2620. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "boltwright"
   },
   "deliver": "art/source/key-art/ART-KEY-boltwright.png",
   "publishedAs": "/art/new/key-art/art-key-boltwright.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-boltwright.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-earthshaker",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Earthshaker (Warhammer)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-earthshaker.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a orc male wayfarer of the Earthshaker build wielding a warhammer, mid-skill: Mountain Fall — Takeoff dust, landing crater decal with radial cracks, rising rock ring, two aftershock ripples, debris rain. Desert caravan environment at night with lanterns, dramatic rim light, VFX palette #7a6a55, #c9a66b, #3e3428. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "earthshaker"
   },
   "deliver": "art/source/key-art/ART-KEY-earthshaker.png",
   "publishedAs": "/art/new/key-art/art-key-earthshaker.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-earthshaker.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-frostweaver",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Frostweaver (Rime Tome)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-frostweaver.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a elf male wayfarer of the Frostweaver build wielding a rime tome, mid-skill: Moonfrost Tempest — Silver-blue blizzard disc, moonlit hail, frost fog, freeze glaze at the end. Desert caravan environment at dawn, dramatic rim light, VFX palette #9ad4ff, #3f6f9e, #e8f4ff. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "frostweaver"
   },
   "deliver": "art/source/key-art/ART-KEY-frostweaver.png",
   "publishedAs": "/art/new/key-art/art-key-frostweaver.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-frostweaver.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-lanternbinder",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Lanternbinder (Lantern Scepter)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-lanternbinder.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a auralin (qilin-inspired, small jade brow antlers) female wayfarer of the Lanternbinder build wielding a lantern scepter, mid-skill: Pyre Procession — Wisps spiral into a tall amber fire tornado then burst outward; scorch decal ring. Desert caravan environment at dusk, dramatic rim light, VFX palette #f0a43a, #ffe7a8, #3a2412. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "lanternbinder"
   },
   "deliver": "art/source/key-art/ART-KEY-lanternbinder.png",
   "publishedAs": "/art/new/key-art/art-key-lanternbinder.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-lanternbinder.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-nightblade",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Nightblade (Daggers)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-nightblade.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a elf male wayfarer of the Nightblade build wielding a daggers, mid-skill: Death Lotus — Violet lotus petals scatter at each strike; smoke links between targets. Desert caravan environment at noon, dramatic rim light, VFX palette #5b3a7a, #c8a2e8, #1d1426. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "nightblade"
   },
   "deliver": "art/source/key-art/ART-KEY-nightblade.png",
   "publishedAs": "/art/new/key-art/art-key-nightblade.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-nightblade.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-oathkeeper",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Oathkeeper (Glaive)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-oathkeeper.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a auralin (qilin-inspired, small jade brow antlers) female wayfarer of the Oathkeeper build wielding a glaive, mid-skill: Falling Moon — Moon disc briefly visible behind the leap; impact forms a frozen crescent crater, ice spikes, frost mist. Desert caravan environment at night with lanterns, dramatic rim light, VFX palette #bcd7ef, #5e86b8, #1e2733. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "oathkeeper"
   },
   "deliver": "art/source/key-art/ART-KEY-oathkeeper.png",
   "publishedAs": "/art/new/key-art/art-key-oathkeeper.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-oathkeeper.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-ravager",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Ravager (Greataxe)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-ravager.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a orc male wayfarer of the Ravager build wielding a greataxe, mid-skill: Earthsplitter — Ground splits along a 10 m line; jagged rock spikes erupt sequentially (travel 0.3 s); dust wall; rock chunk debris; camera shake massive. Desert caravan environment at dusk, dramatic rim light, VFX palette #8c2f1f, #d9822b, #3b2a1f. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "ravager"
   },
   "deliver": "art/source/key-art/ART-KEY-ravager.png",
   "publishedAs": "/art/new/key-art/art-key-ravager.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-ravager.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-ringdancer",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Ringdancer (Chakram)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-ringdancer.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a vanara female wayfarer of the Ringdancer build wielding a chakram, mid-skill: Ricochet Storm — Five silver trails zig-zag between enemies, bright ricochet sparks, converging return streaks. Desert caravan environment at noon, dramatic rim light, VFX palette #cfd8e6, #7aa7d8, #232a36. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "ringdancer"
   },
   "deliver": "art/source/key-art/ART-KEY-ringdancer.png",
   "publishedAs": "/art/new/key-art/art-key-ringdancer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-ringdancer.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-songweaver",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Songweaver (Pipa)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-songweaver.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a auralin (qilin-inspired, small jade brow antlers) female wayfarer of the Songweaver build wielding a pipa, mid-skill: Crescendo — Growing translucent sphere of sound rings and note glyphs; release = huge ring burst, sand blown outward. Desert caravan environment at dawn, dramatic rim light, VFX palette #4fae8c, #e7c766, #1f2e2a. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "songweaver"
   },
   "deliver": "art/source/key-art/ART-KEY-songweaver.png",
   "publishedAs": "/art/new/key-art/art-key-songweaver.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-songweaver.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-stormcaller",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Stormcaller (Storm Staff)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-stormcaller.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a vanara female wayfarer of the Stormcaller build wielding a storm staff, mid-skill: Heaven's Pillar — Massive violet-white pillar from the sky, beam sweeping like a lighthouse, scorch spiral. Desert caravan environment at stormy afternoon, dramatic rim light, VFX palette #8f6ad8, #e6e0ff, #2a2140. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "stormcaller"
   },
   "deliver": "art/source/key-art/ART-KEY-stormcaller.png",
   "publishedAs": "/art/new/key-art/art-key-stormcaller.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-stormcaller.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-talon",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Talon (Claws)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-talon.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a vanara female wayfarer of the Talon build wielding a claws, mid-skill: Beast Within — Amber-storm spectral beast overlay, claw streak storm, final upward slash. Desert caravan environment at night with lanterns, dramatic rim light, VFX palette #3a6fb0, #e0b45c, #20283a. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "talon"
   },
   "deliver": "art/source/key-art/ART-KEY-talon.png",
   "publishedAs": "/art/new/key-art/art-key-talon.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-talon.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-twinblade",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Twinblade (Dual Blades)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-twinblade.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a elf female wayfarer of the Twinblade build wielding a dual blades, mid-skill: Tempest of Blades — Jade-white ghost swords orbit leaving ribbon trails, then drop like rain; final impact flashes on ground. Desert caravan environment at stormy afternoon, dramatic rim light, VFX palette #7fc4a6, #e8f3ea, #2f4a40. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "twinblade"
   },
   "deliver": "art/source/key-art/ART-KEY-twinblade.png",
   "publishedAs": "/art/new/key-art/art-key-twinblade.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-twinblade.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-vanguard",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Vanguard (Sword & Shield)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-vanguard.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a human male wayfarer of the Vanguard build wielding a sword & shield, mid-skill: Jade Aegis — Hexagonal jade dome with flowing glyphs, impacts ripple on surface; detonation = expanding jade ring + light burst. Desert caravan environment at dawn, dramatic rim light, VFX palette #3f8f6b, #c9a24a, #24382e. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "vanguard"
   },
   "deliver": "art/source/key-art/ART-KEY-vanguard.png",
   "publishedAs": "/art/new/key-art/art-key-vanguard.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-vanguard.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-KEY-windmender",
   "category": "key-art",
   "priority": "P1",
   "title": "Build key art — Windmender (War Fan)",
   "usedIn": "Build cards, Codex header, character-select backdrop.",
   "output": {
    "file": "ART-KEY-windmender.png",
    "size": "1600×1000",
    "alpha": false
   },
   "references": [
    "/art/concepts/lineages.webp",
    "/art/concepts/origins.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "Only origin portraits and lineage sheets exist; no per-build action art.",
   "prompt": "Painterly action key art, three-quarter view, a auralin (qilin-inspired, small jade brow antlers) male wayfarer of the Windmender build wielding a war fan, mid-skill: Monsoon Blessing — Dark teal storm clouds, warm rain circle on the ground, gust ring at cast. Desert caravan environment at dusk, dramatic rim light, VFX palette #5fc4b0, #f0e2c0, #2f5f62. Silkroad Online classic meets Path of Exile; same rendering as the reference origin portraits. Character fills the right half; left side calmer for UI text. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no logos, no exaggerated anime proportions.",
   "acceptance": [
    "Weapon family unmistakable",
    "Signature VFX colours match palette",
    "Right-half composition"
   ],
   "source": {
    "kind": "build",
    "id": "windmender"
   },
   "deliver": "art/source/key-art/ART-KEY-windmender.png",
   "publishedAs": "/art/new/key-art/art-key-windmender.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png",
    "art/originals/concepts/v2/origins.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/key-art/art-key-windmender.webp and records it in packages/game-data/data/art-delivered.json; pages that show key-art read it from there."
   }
  },
  {
   "id": "ART-LOAD-amber-gate",
   "category": "loading-screens",
   "priority": "P1",
   "title": "Loading screen — Amber Gate",
   "usedIn": "Loading screen when travelling to Amber Gate (hud.json loadingScreen).",
   "output": {
    "file": "load_amber_gate.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Amber Gate in the Amber Basin (Twin-roof gate, caravan square and amber-glazed bell tower). Mood: Golden late-afternoon key light, lantern fill at night. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_amber_gate.png",
   "publishedAs": "/art/new/loading-screens/load-amber-gate.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-amber-gate.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-dewgrass-meadow",
   "category": "loading-screens",
   "priority": "P1",
   "title": "Loading screen — Dewgrass Meadow",
   "usedIn": "Loading screen when travelling to Dewgrass Meadow (hud.json loadingScreen).",
   "output": {
    "file": "load_dewgrass_meadow.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Dewgrass Meadow in the Amber Basin (Dew-coated terraces, wicker bridges and a fallen training log). Mood: Soft morning haze, dew sparkle. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_dewgrass_meadow.png",
   "publishedAs": "/art/new/loading-screens/load-dewgrass-meadow.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-dewgrass-meadow.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-old-orchard",
   "category": "loading-screens",
   "priority": "P1",
   "title": "Loading screen — Old Orchard",
   "usedIn": "Loading screen when travelling to Old Orchard (hud.json loadingScreen).",
   "output": {
    "file": "load_old_orchard.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Old Orchard in the Amber Basin (Amber fruit trees and abandoned toll sheds). Mood: Dappled sun through fruit trees. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_old_orchard.png",
   "publishedAs": "/art/new/loading-screens/load-old-orchard.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-old-orchard.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-MAP-030",
   "category": "maps",
   "priority": "P1",
   "title": "Amber Basin region map v2 (4×4 km scale, progression-friendly)",
   "usedIn": "World map window and the wiki /world map page.",
   "output": {
    "file": "map_amber_basin_v2.png",
    "size": "4096×4096",
    "alpha": false
   },
   "references": [
    "/art/maps/amber-basin-aligned.webp",
    "/art/maps/caravan-world-aligned.webp"
   ],
   "current": "amber-basin-aligned.webp matches zone positions but was painted for a 1.6 km basin; areas look small and roads thin for the new 4.096 km scale, and there are no waypoint plinths.",
   "prompt": "Top-down 3/4 painted fantasy region map of a desert trade basin, same art style and colour palette as the reference. Keep the same zone positions: walled oasis town bottom-left, meadow and orchard left, river reed-banks centre-top with a three-arch bridge, ochre quarry centre-left, smoking brick kilns centre, white salt flats right, bell shrine right-upper, storm ridges upper-right, burned grove top-centre, green jade ruins top-left, circular arena bottom-right. Wider roads connecting all areas in a clear progression loop, small stone waypoint plinths at each area entrance, more open desert between areas, soft vignette.",
   "avoid": "No text, labels, icons or UI.",
   "acceptance": [
    "Zone centres within 3% of /packages/game-data world.json mapNorm",
    "Roads continuous",
    "No text"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/maps/map_amber_basin_v2.png",
   "publishedAs": "/art/new/maps/map-amber-basin-v2.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/maps/amber_basin_aligned.png",
    "art/originals/concepts/v4/maps/caravan_world_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/maps/map-amber-basin-v2.webp and records it in packages/game-data/data/art-delivered.json; pages that show maps read it from there."
   }
  },
  {
   "id": "ART-MNT-duneplate_carrier",
   "category": "mounts",
   "priority": "P1",
   "title": "Mount concept + icon — Duneplate Carrier (level 20)",
   "usedIn": "Stablemaster window, mount popup, wiki Mounts page; modelling reference for the 3D mount.",
   "output": {
    "file": "ART-MNT-duneplate_carrier.png",
    "size": "1536×1024",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duneplate-beetle.webp",
    "/art/concepts/pet-boar.webp"
   ],
   "current": "No mount art exists.",
   "prompt": "Side-on 3/4 concept painting of a rideable desert monster mount, giant armoured dune beetle carrying a lacquered howdah, lamp-glands glowing under its plates, wearing a Silk Road caravan saddle with bronze fittings and silk tassels, standing on transparent background, full body visible, rider seat clearly readable. Palette #6b4a2b, #d0a24a, #3b2a1f. Same painterly bestiary style as the references. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No rider, no background, no text, not a plain horse or camel.",
   "acceptance": [
    "Reads as a monster mount, not a normal animal",
    "Saddle seat clear for rigging",
    "Transparent background"
   ],
   "source": {
    "kind": "mount",
    "id": "duneplate_carrier"
   },
   "deliver": "art/source/mounts/ART-MNT-duneplate_carrier.png",
   "publishedAs": "/art/new/mounts/art-mnt-duneplate-carrier.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png",
    "art/originals/concepts/v3/pet_boar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/mounts.json",
     "where": "items[id=\"duneplate_carrier\"]",
     "field": "icon",
     "value": "/art/new/mounts/art-mnt-duneplate-carrier.webp"
    },
    "text": "art-sync sets icon = \"/art/new/mounts/art-mnt-duneplate-carrier.webp\" on items[id=\"duneplate_carrier\"] in packages/game-data/data/mounts.json"
   }
  },
  {
   "id": "ART-MNT-emberhorn_aurochs",
   "category": "mounts",
   "priority": "P1",
   "title": "Mount concept + icon — Emberhorn Aurochs (level 30)",
   "usedIn": "Stablemaster window, mount popup, wiki Mounts page; modelling reference for the 3D mount.",
   "output": {
    "file": "ART-MNT-emberhorn_aurochs.png",
    "size": "1536×1024",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duneplate-beetle.webp",
    "/art/concepts/pet-boar.webp"
   ],
   "current": "No mount art exists.",
   "prompt": "Side-on 3/4 concept painting of a rideable desert monster mount, massive scorched desert ox with ember-veined horns and soot-black fur, bronze barding, wearing a Silk Road caravan saddle with bronze fittings and silk tassels, standing on transparent background, full body visible, rider seat clearly readable. Palette #3a2a22, #d9582b, #c99a4a. Same painterly bestiary style as the references. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No rider, no background, no text, not a plain horse or camel.",
   "acceptance": [
    "Reads as a monster mount, not a normal animal",
    "Saddle seat clear for rigging",
    "Transparent background"
   ],
   "source": {
    "kind": "mount",
    "id": "emberhorn_aurochs"
   },
   "deliver": "art/source/mounts/ART-MNT-emberhorn_aurochs.png",
   "publishedAs": "/art/new/mounts/art-mnt-emberhorn-aurochs.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png",
    "art/originals/concepts/v3/pet_boar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/mounts.json",
     "where": "items[id=\"emberhorn_aurochs\"]",
     "field": "icon",
     "value": "/art/new/mounts/art-mnt-emberhorn-aurochs.webp"
    },
    "text": "art-sync sets icon = \"/art/new/mounts/art-mnt-emberhorn-aurochs.webp\" on items[id=\"emberhorn_aurochs\"] in packages/game-data/data/mounts.json"
   }
  },
  {
   "id": "ART-MNT-mirage_drake",
   "category": "mounts",
   "priority": "P1",
   "title": "Mount concept + icon — Mirage Drake (level 40)",
   "usedIn": "Stablemaster window, mount popup, wiki Mounts page; modelling reference for the 3D mount.",
   "output": {
    "file": "ART-MNT-mirage_drake.png",
    "size": "1536×1024",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duneplate-beetle.webp",
    "/art/concepts/pet-boar.webp"
   ],
   "current": "No mount art exists.",
   "prompt": "Side-on 3/4 concept painting of a rideable desert monster mount, sand-wyrm drake with translucent heat-haze frills and pale gold scales, wingless, sinuous, wearing a Silk Road caravan saddle with bronze fittings and silk tassels, standing on transparent background, full body visible, rider seat clearly readable. Palette #e8d29a, #c97a3a, #7ad0c8. Same painterly bestiary style as the references. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No rider, no background, no text, not a plain horse or camel.",
   "acceptance": [
    "Reads as a monster mount, not a normal animal",
    "Saddle seat clear for rigging",
    "Transparent background"
   ],
   "source": {
    "kind": "mount",
    "id": "mirage_drake"
   },
   "deliver": "art/source/mounts/ART-MNT-mirage_drake.png",
   "publishedAs": "/art/new/mounts/art-mnt-mirage-drake.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png",
    "art/originals/concepts/v3/pet_boar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/mounts.json",
     "where": "items[id=\"mirage_drake\"]",
     "field": "icon",
     "value": "/art/new/mounts/art-mnt-mirage-drake.webp"
    },
    "text": "art-sync sets icon = \"/art/new/mounts/art-mnt-mirage-drake.webp\" on items[id=\"mirage_drake\"] in packages/game-data/data/mounts.json"
   }
  },
  {
   "id": "ART-MNT-reedback_strider",
   "category": "mounts",
   "priority": "P1",
   "title": "Mount concept + icon — Reedback Strider (level 10)",
   "usedIn": "Stablemaster window, mount popup, wiki Mounts page; modelling reference for the 3D mount.",
   "output": {
    "file": "ART-MNT-reedback_strider.png",
    "size": "1536×1024",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duneplate-beetle.webp",
    "/art/concepts/pet-boar.webp"
   ],
   "current": "No mount art exists.",
   "prompt": "Side-on 3/4 concept painting of a rideable desert monster mount, long-legged dune lizard with reed-like dorsal quills and a woven saddle, wearing a Silk Road caravan saddle with bronze fittings and silk tassels, standing on transparent background, full body visible, rider seat clearly readable. Palette #8a9a5b, #d9c38a, #5a3d22. Same painterly bestiary style as the references. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No rider, no background, no text, not a plain horse or camel.",
   "acceptance": [
    "Reads as a monster mount, not a normal animal",
    "Saddle seat clear for rigging",
    "Transparent background"
   ],
   "source": {
    "kind": "mount",
    "id": "reedback_strider"
   },
   "deliver": "art/source/mounts/ART-MNT-reedback_strider.png",
   "publishedAs": "/art/new/mounts/art-mnt-reedback-strider.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png",
    "art/originals/concepts/v3/pet_boar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/mounts.json",
     "where": "items[id=\"reedback_strider\"]",
     "field": "icon",
     "value": "/art/new/mounts/art-mnt-reedback-strider.webp"
    },
    "text": "art-sync sets icon = \"/art/new/mounts/art-mnt-reedback-strider.webp\" on items[id=\"reedback_strider\"] in packages/game-data/data/mounts.json"
   }
  },
  {
   "id": "ART-NPC-caravan_master_daoud",
   "category": "npc-portraits",
   "priority": "P1",
   "title": "NPC portrait — Caravan Master Daoud",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-caravan_master_daoud.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Caravan Master Daoud, Main storyline giver for chapters 1–3; weathered veteran with a jade abacus. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_caravan_master_daoud"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-caravan_master_daoud.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-caravan-master-daoud.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_caravan_master_daoud\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-caravan-master-daoud.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-caravan-master-daoud.webp\" on npcs[id=\"npc_caravan_master_daoud\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-jade_seer_qiyan",
   "category": "npc-portraits",
   "priority": "P1",
   "title": "NPC portrait — Jade Seer Qiyan",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-jade_seer_qiyan.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Jade Seer Qiyan, Lore of the shattered Jade Seal; chapters 4–5. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_jade_seer_qiyan"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-jade_seer_qiyan.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-jade-seer-qiyan.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_jade_seer_qiyan\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-jade-seer-qiyan.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-jade-seer-qiyan.webp\" on npcs[id=\"npc_jade_seer_qiyan\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-registrar_hessa",
   "category": "npc-portraits",
   "priority": "P1",
   "title": "NPC portrait — Registrar Hessa",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-registrar_hessa.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Registrar Hessa, Caravan registrar; starts the story, handles name/appearance services. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_registrar_hessa"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-registrar_hessa.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-registrar-hessa.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_registrar_hessa\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-registrar-hessa.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-registrar-hessa.webp\" on npcs[id=\"npc_registrar_hessa\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-trainer_lun",
   "category": "npc-portraits",
   "priority": "P1",
   "title": "NPC portrait — Archivist Lun",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-trainer_lun.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Archivist Lun, Lantern (INT) trainer. Silk Road caravan setting, origin-themed trainer outfit, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_trainer_lun"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-trainer_lun.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-trainer-lun.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_trainer_lun\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-trainer-lun.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-trainer-lun.webp\" on npcs[id=\"npc_trainer_lun\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-trainer_ordu",
   "category": "npc-portraits",
   "priority": "P1",
   "title": "NPC portrait — Master-at-Arms Ordu",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-trainer_ordu.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Master-at-Arms Ordu, Iron (STR) trainer: Codex, Atlas respec, Iron Codex buffs. Silk Road caravan setting, origin-themed trainer outfit, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_trainer_ordu"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-trainer_ordu.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-trainer-ordu.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_trainer_ordu\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-trainer-ordu.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-trainer-ordu.webp\" on npcs[id=\"npc_trainer_ordu\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-trainer_yazi",
   "category": "npc-portraits",
   "priority": "P1",
   "title": "NPC portrait — Scout-Mistress Yazi",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-trainer_yazi.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Scout-Mistress Yazi, Wind (AGI) trainer. Silk Road caravan setting, origin-themed trainer outfit, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_trainer_yazi"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-trainer_yazi.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-trainer-yazi.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_trainer_yazi\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-trainer-yazi.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-trainer-yazi.webp\" on npcs[id=\"npc_trainer_yazi\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-3D-ARM-archivist_circlet",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Archivist Circlet (MDL-ARM-archivist_circlet)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-archivist_circlet (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-archivist_circlet.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-archivist_circlet waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Archivist Circlet, the helmet of the Lantern silk T5 set: layered indigo silk with bronze thread runes, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-archivist_circlet"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-archivist_circlet.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-archivist-circlet.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-archivist-circlet.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-gate_gauntlets",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Gate Gauntlets (MDL-ARM-gate_gauntlets)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-gate_gauntlets (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-gate_gauntlets.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-gate_gauntlets waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Gate Gauntlets, the gloves of the Bronze plate T5 set: lamellar bronze plates over quilted cloth, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-gate_gauntlets"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-gate_gauntlets.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-gate-gauntlets.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-gate-gauntlets.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-gate_greaves",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Gate Greaves (MDL-ARM-gate_greaves)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-gate_greaves (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-gate_greaves.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-gate_greaves waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Gate Greaves, the boots of the Bronze plate T5 set: lamellar bronze plates over quilted cloth, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-gate_greaves"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-gate_greaves.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-gate-greaves.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-gate-greaves.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-gate_helm",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Gate Helm (MDL-ARM-gate_helm)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-gate_helm (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-gate_helm.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-gate_helm waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Gate Helm, the helmet of the Bronze plate T5 set: lamellar bronze plates over quilted cloth, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-gate_helm"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-gate_helm.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-gate-helm.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-gate-helm.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-pilgrim_slippers",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Pilgrim Slippers (MDL-ARM-pilgrim_slippers)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-pilgrim_slippers (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-pilgrim_slippers.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-pilgrim_slippers waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Pilgrim Slippers, the boots of the Lantern silk T5 set: layered indigo silk with bronze thread runes, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-pilgrim_slippers"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-pilgrim_slippers.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-pilgrim-slippers.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-pilgrim-slippers.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-scout_armour",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Scout Armour (MDL-ARM-scout_armour)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-scout_armour (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-scout_armour.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/icons/equipment/scout-armor.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-scout_armour waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Scout Armour, the armour of the Trail leather T5 set: fitted quilted leather with brass studs and sand-green wraps, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-scout_armour"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-scout_armour.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-scout-armour.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/scout_armor.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-scout-armour.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-scout_hood",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Scout Hood (MDL-ARM-scout_hood)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-scout_hood (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-scout_hood.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-scout_hood waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Scout Hood, the helmet of the Trail leather T5 set: fitted quilted leather with brass studs and sand-green wraps, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-scout_hood"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-scout_hood.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-scout-hood.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-scout-hood.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-scribe_wraps",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Scribe Wraps (MDL-ARM-scribe_wraps)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-scribe_wraps (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-scribe_wraps.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-scribe_wraps waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Scribe Wraps, the gloves of the Lantern silk T5 set: layered indigo silk with bronze thread runes, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-scribe_wraps"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-scribe_wraps.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-scribe-wraps.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-scribe-wraps.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-trail_belt",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Trail Belt (MDL-ARM-trail_belt)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-trail_belt (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-trail_belt.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/icons/equipment/trail-belt.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-trail_belt waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Trail Belt, the belt of the Belts T5 set: tooled leather with copper links and pouches, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-trail_belt"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-trail_belt.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-trail-belt.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/trail_belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-trail-belt.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-travelling_robe",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Travelling Robe (MDL-ARM-travelling_robe)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-travelling_robe (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-travelling_robe.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-travelling_robe waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Travelling Robe, the armour of the Lantern silk T5 set: layered indigo silk with bronze thread runes, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-travelling_robe"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-travelling_robe.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-travelling-robe.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-travelling-robe.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-wall_guard_lamellar",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Wall-guard Lamellar (MDL-ARM-wall_guard_lamellar)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-wall_guard_lamellar (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-wall_guard_lamellar.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-wall_guard_lamellar waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Wall-guard Lamellar, the armour of the Bronze plate T5 set: lamellar bronze plates over quilted cloth, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-wall_guard_lamellar"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-wall_guard_lamellar.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-wall-guard-lamellar.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-wall-guard-lamellar.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-wayworn_boots",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Wayworn Boots (MDL-ARM-wayworn_boots)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-wayworn_boots (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-wayworn_boots.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/icons/equipment/wayworn-boots.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-wayworn_boots waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Wayworn Boots, the boots of the Trail leather T5 set: fitted quilted leather with brass studs and sand-green wraps, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-wayworn_boots"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-wayworn_boots.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-wayworn-boots.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/wayworn_boots.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-wayworn-boots.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-wayworn_gloves",
   "category": "production-sheets",
   "priority": "P1",
   "title": "3D views — Wayworn Gloves (MDL-ARM-wayworn_gloves)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-wayworn_gloves (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-wayworn_gloves.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/icons/equipment/wayworn-gloves.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-wayworn_gloves waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Wayworn Gloves, the gloves of the Trail leather T5 set: fitted quilted leather with brass studs and sand-green wraps, humble, rough-forged starter quality. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-wayworn_gloves"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-wayworn_gloves.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-wayworn-gloves.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/equipment/wayworn_gloves.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-wayworn-gloves.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "category": "production-sheets",
   "usedIn": "3D pipeline input (image → mesh) and modelling reference.",
   "output": {
    "file": "ART-CHR-052.png",
    "size": "3072×1536",
    "alpha": false
   },
   "current": "None — needed before 3D generation.",
   "avoid": "No dynamic pose, no perspective distortion, no text.",
   "acceptance": [
    "Views aligned on one baseline",
    "Same scale in every view"
   ],
   "id": "ART-CHR-052",
   "title": "Lineage head/upper-body turnarounds — Orc, Elf, Vanara, Auralin (M/F)",
   "priority": "P1",
   "prompt": "Head and upper-body turnaround (front/side/back) for each lineage presentation, matching /art/concepts/lineages.webp designs, neutral expression, A-pose shoulders, grey background.",
   "references": [
    "/art/concepts/lineages.webp"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/production-sheets/ART-CHR-052.png",
   "publishedAs": "/art/new/production-sheets/art-chr-052.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-052.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-auralin-f",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Auralin female (Xilan)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-auralin-f.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-051.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Xilan, a female auralin (Qilin-inspired: jade scales at temples/forearms, small branched brow antlers, indigo-gold robes), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.72 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-051 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.72 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "auralin-f"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-auralin-f.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-auralin-f.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-051.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-auralin-f.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-auralin-m",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Auralin male (Veyun)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-auralin-m.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-050.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Veyun, a male auralin (Qilin-inspired: jade scales at temples/forearms, small branched brow antlers, indigo-gold robes), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.85 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-050 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.85 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "auralin-m"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-auralin-m.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-auralin-m.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-050.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-auralin-m.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-elf-f",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Elf female (Velari)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-elf-f.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-051.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Velari, a female elf (Tall narrow silhouette, leaf ears, tawny travel silks, bronze filigree), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.72 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-051 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.72 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "elf-f"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-elf-f.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-elf-f.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-051.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-elf-f.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-elf-m",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Elf male (Ashren)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-elf-m.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-050.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Ashren, a male elf (Tall narrow silhouette, leaf ears, tawny travel silks, bronze filigree), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.85 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-050 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.85 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "elf-m"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-elf-m.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-elf-m.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-050.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-elf-m.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-human-f",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Human female (Saran)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-human-f.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-051.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Saran, a female human, wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.72 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-051 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.72 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "human-f"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-human-f.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-human-f.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-051.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-human-f.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-human-m",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Human male (Boran)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-human-m.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-050.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Boran, a male human, wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.85 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-050 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.85 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "human-m"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-human-m.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-human-m.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-050.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-human-m.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-orc-f",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Orc female (Yara)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-orc-f.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-051.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Yara, a female orc (Broad shoulders, muted olive skin, modest tusks, carved brass lamellar), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.72 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-051 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.72 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "orc-f"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-orc-f.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-orc-f.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-051.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-orc-f.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-orc-m",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Orc male (Dorgun)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-orc-m.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-050.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Dorgun, a male orc (Broad shoulders, muted olive skin, modest tusks, carved brass lamellar), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.85 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-050 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.85 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "orc-m"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-orc-m.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-orc-m.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-050.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-orc-m.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-vanara-f",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Vanara female (Tavira)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-vanara-f.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-051.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Tavira, a female vanara (Original adult simian travellers, warm brown fur, practical tail wrap), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.72 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-051 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.72 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "vanara-f"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-vanara-f.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-vanara-f.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-051.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-vanara-f.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-CHR-undersuit-vanara-m",
   "category": "production-sheets",
   "priority": "P1",
   "title": "Undersuit turnaround — Vanara male (Keshi)",
   "usedIn": "Base body reference for the Blender body (MPFB2 + sculpt) of this lineage and gender; armour is fitted on top as separate meshes (ADR-033).",
   "output": {
    "file": "ART-CHR-undersuit-vanara-m.png",
    "size": "3072×1536",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-chr-050.webp",
    "/art/concepts/lineages.webp"
   ],
   "current": "Only the armoured human turnarounds ART-CHR-050/051 exist; they stay design reference only.",
   "prompt": "Canonical A-pose turnaround of Keshi, a male vanara (Original adult simian travellers, warm brown fur, practical tail wrap), wearing only a thin close-fitting undersuit (plain dark umber cloth, visible seams, wrapped feet) so the body shape reads clearly: no armour, robe, belt, boots or cloak. Three views left to right on one baseline: front, side (facing right), back. Orthographic, arms 45° down with palms toward the thighs, feet shoulder-width apart, neutral face, hair tied close to the head. Height 1.85 m, the same in every view; plain mid-grey background, even flat light. Proportions and pose match the ART-CHR-050 reference (its armour is not part of this body). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No armour, no robes, no belt, no weapon, no text or labels, no dynamic pose, no perspective.",
   "acceptance": [
    "Front, side and back on one baseline",
    "Thin undersuit only: no armour, robe, belt or boots",
    "Height 1.85 m with the ART-CHR-050/051 proportions",
    "Lineage features match the lineage concept"
   ],
   "source": {
    "kind": "undersuit",
    "id": "vanara-m"
   },
   "deliver": "art/source/production-sheets/ART-CHR-undersuit-vanara-m.png",
   "publishedAs": "/art/new/production-sheets/art-chr-undersuit-vanara-m.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-CHR-050.png",
    "art/originals/concepts/v3/lineages.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-chr-undersuit-vanara-m.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "category": "production-sheets",
   "usedIn": "3D pipeline input (image → mesh) and modelling reference.",
   "output": {
    "file": "ART-ENV-054.png",
    "size": "3072×1536",
    "alpha": false
   },
   "current": "None — needed before 3D generation.",
   "avoid": "No dynamic pose, no perspective distortion, no text.",
   "acceptance": [
    "Views aligned on one baseline",
    "Same scale in every view"
   ],
   "id": "ART-ENV-054",
   "title": "Environment kit concept sheets — Amber Gate architecture",
   "priority": "P1",
   "prompt": "Modular architecture concept sheet on neutral background: sandstone + timber gate towers with twin green-tiled roofs, market stalls with striped awnings, adobe houses (3 sizes), caravanserai courtyard arches, bell tower, wall segments (straight, corner, gate), each piece separately in 3/4 view with a human scale figure.",
   "references": [
    "/art/maps/amber-gate.webp",
    "/art/concepts/basin.webp"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/production-sheets/ART-ENV-054.png",
   "publishedAs": "/art/new/production-sheets/art-env-054.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/maps/amber_gate.png",
    "art/originals/concepts/v2/basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-env-054.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "category": "production-sheets",
   "usedIn": "3D pipeline input (image → mesh) and modelling reference.",
   "output": {
    "file": "ART-MON-053.png",
    "size": "3072×1536",
    "alpha": false
   },
   "current": "None — needed before 3D generation.",
   "avoid": "No dynamic pose, no perspective distortion, no text.",
   "acceptance": [
    "Views aligned on one baseline",
    "Same scale in every view"
   ],
   "id": "ART-MON-053",
   "title": "Monster turnaround sheets ×20 (one per base monster)",
   "priority": "P1",
   "prompt": "For each monster portrait in /art/bestiary/*: side, front and top views on neutral grey, neutral standing pose, same design and colours, scale bar marked by height (small 0.4–0.8 m, medium 0.9–1.4 m, large 1.6–2.4 m). Used as image-to-3D input.",
   "references": [
    "/art/bestiary/duneplate-beetle.webp",
    "/art/bestiary-archive/marsh-wolf.webp"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/production-sheets/ART-MON-053.png",
   "publishedAs": "/art/new/production-sheets/art-mon-053.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png",
    "art/originals/concepts/v3/bestiary/marsh_wolf.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-mon-053.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-SKL-earthshaker-anvil_strike",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Anvil Strike (Earthshaker, Warhammer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill earthshaker.anvil_strike.",
   "output": {
    "file": "ART-SKL-earthshaker-anvil_strike.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp",
    "/art/icons/skills/rimquake.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Anvil Strike\" — Small shock ring 2 m, ground crack decal, rock chips, metallic spark burst. Motion cue: hammer raised over shoulder, full overhead smash into ground ahead; slight bounce of hammer head; lift. Dominant colours #7a6a55, #c9a66b, #3e3428 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7a6a55 #c9a66b #3e3428"
   ],
   "source": {
    "kind": "skill",
    "id": "earthshaker.anvil_strike"
   },
   "deliver": "art/source/skill-icons/ART-SKL-earthshaker-anvil_strike.png",
   "publishedAs": "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-earthshaker-anvil_strike.png",
    "art/originals/icons/v4/skills/rimquake.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"earthshaker.anvil_strike\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp\" on skills[id=\"earthshaker.anvil_strike\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-earthshaker-bell_toll_uppercut",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Bell-Toll Uppercut (Earthshaker, Warhammer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill earthshaker.bell_toll_uppercut.",
   "output": {
    "file": "ART-SKL-earthshaker-bell_toll_uppercut.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp",
    "/art/icons/skills/rimquake.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Bell-Toll Uppercut\" — Charging bronze glow on hammer head (3 levels); upward streak; bell-shaped shock ring at apex. Motion cue: hold: hammer dragged low behind, body coils, vibration; release: rising uppercut swing with full extension, hammer finishes high. Dominant colours #7a6a55, #c9a66b, #3e3428 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7a6a55 #c9a66b #3e3428"
   ],
   "source": {
    "kind": "skill",
    "id": "earthshaker.bell_toll_uppercut"
   },
   "deliver": "art/source/skill-icons/ART-SKL-earthshaker-bell_toll_uppercut.png",
   "publishedAs": "/art/new/skill-icons/art-skl-earthshaker-bell-toll-uppercut.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-earthshaker-anvil_strike.png",
    "art/originals/icons/v4/skills/rimquake.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"earthshaker.bell_toll_uppercut\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-earthshaker-bell-toll-uppercut.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-earthshaker-bell-toll-uppercut.webp\" on skills[id=\"earthshaker.bell_toll_uppercut\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-earthshaker-mountain_fall",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Mountain Fall (Earthshaker, Warhammer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill earthshaker.mountain_fall.",
   "output": {
    "file": "ART-SKL-earthshaker-mountain_fall.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp",
    "/art/icons/skills/rimquake.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Mountain Fall\" — Takeoff dust, landing crater decal with radial cracks, rising rock ring, two aftershock ripples, debris rain. Motion cue: deep crouch, explosive jump in high arc (apex 3 m), hammer raised behind head, slam down two-handed on landing; hold, rise. Dominant colours #7a6a55, #c9a66b, #3e3428 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7a6a55 #c9a66b #3e3428"
   ],
   "source": {
    "kind": "skill",
    "id": "earthshaker.mountain_fall"
   },
   "deliver": "art/source/skill-icons/ART-SKL-earthshaker-mountain_fall.png",
   "publishedAs": "/art/new/skill-icons/art-skl-earthshaker-mountain-fall.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-earthshaker-anvil_strike.png",
    "art/originals/icons/v4/skills/rimquake.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"earthshaker.mountain_fall\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-earthshaker-mountain-fall.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-earthshaker-mountain-fall.webp\" on skills[id=\"earthshaker.mountain_fall\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-earthshaker-stoneheart",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Stoneheart (Earthshaker, Warhammer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill earthshaker.stoneheart.",
   "output": {
    "file": "ART-SKL-earthshaker-stoneheart.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp",
    "/art/icons/skills/rimquake.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Stoneheart\" — Rock crust overlay on legs/arms; pebbles orbiting; aftershock ripples. Motion cue: hammer head planted, both hands on pommel, crouch, stone crust spreads from feet up legs. Dominant colours #7a6a55, #c9a66b, #3e3428 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7a6a55 #c9a66b #3e3428"
   ],
   "source": {
    "kind": "skill",
    "id": "earthshaker.stoneheart"
   },
   "deliver": "art/source/skill-icons/ART-SKL-earthshaker-stoneheart.png",
   "publishedAs": "/art/new/skill-icons/art-skl-earthshaker-stoneheart.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-earthshaker-anvil_strike.png",
    "art/originals/icons/v4/skills/rimquake.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"earthshaker.stoneheart\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-earthshaker-stoneheart.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-earthshaker-stoneheart.webp\" on skills[id=\"earthshaker.stoneheart\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-earthshaker-tolling_verdict",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Tolling Verdict (Earthshaker, Warhammer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill earthshaker.tolling_verdict.",
   "output": {
    "file": "ART-SKL-earthshaker-tolling_verdict.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp",
    "/art/icons/skills/rimquake.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Tolling Verdict\" — Bronze bell silhouette rings out from the impact, concentric dust waves, stun stars. Motion cue: hammer raised high behind the head, a full-weight step, overhead blow, hold on contact as the bell rings. Dominant colours #7a6a55, #c9a66b, #3e3428 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7a6a55 #c9a66b #3e3428"
   ],
   "source": {
    "kind": "skill",
    "id": "earthshaker.tolling_verdict"
   },
   "deliver": "art/source/skill-icons/ART-SKL-earthshaker-tolling_verdict.png",
   "publishedAs": "/art/new/skill-icons/art-skl-earthshaker-tolling-verdict.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-earthshaker-anvil_strike.png",
    "art/originals/icons/v4/skills/rimquake.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"earthshaker.tolling_verdict\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-earthshaker-tolling-verdict.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-earthshaker-tolling-verdict.webp\" on skills[id=\"earthshaker.tolling_verdict\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-earthshaker-tremor_line",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Tremor Line (Earthshaker, Warhammer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill earthshaker.tremor_line.",
   "output": {
    "file": "ART-SKL-earthshaker-tremor_line.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-earthshaker-anvil-strike.webp",
    "/art/icons/skills/rimquake.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Tremor Line\" — Traveling ground ripple with erupting stone slabs (sequential), dust wall. Motion cue: hammer driven straight down, then dragged back toward body to \"pull\" the fissure forward. Dominant colours #7a6a55, #c9a66b, #3e3428 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7a6a55 #c9a66b #3e3428"
   ],
   "source": {
    "kind": "skill",
    "id": "earthshaker.tremor_line"
   },
   "deliver": "art/source/skill-icons/ART-SKL-earthshaker-tremor_line.png",
   "publishedAs": "/art/new/skill-icons/art-skl-earthshaker-tremor-line.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-earthshaker-anvil_strike.png",
    "art/originals/icons/v4/skills/rimquake.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"earthshaker.tremor_line\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-earthshaker-tremor-line.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-earthshaker-tremor-line.webp\" on skills[id=\"earthshaker.tremor_line\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-lanternbinder-ember_curse",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Ember Curse (Lanternbinder, Lantern Scepter)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill lanternbinder.ember_curse.",
   "output": {
    "file": "ART-SKL-lanternbinder-ember_curse.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/luminous-bolt.webp",
    "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Ember Curse\" — Smouldering ash circle with drifting embers; cursed enemies show ember sigils. Motion cue: scepter raised, lantern shaken; ash glyph thrown to the ground. Dominant colours #f0a43a, #ffe7a8, #3a2412 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #f0a43a #ffe7a8 #3a2412"
   ],
   "source": {
    "kind": "skill",
    "id": "lanternbinder.ember_curse"
   },
   "deliver": "art/source/skill-icons/ART-SKL-lanternbinder-ember_curse.png",
   "publishedAs": "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/luminous_bolt.png",
    "art/source/skill-icons/ART-SKL-lanternbinder-ember_curse.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"lanternbinder.ember_curse\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp\" on skills[id=\"lanternbinder.ember_curse\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-lanternbinder-lamp_warden",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Lamp Warden (Lanternbinder, Lantern Scepter)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill lanternbinder.lamp_warden.",
   "output": {
    "file": "ART-SKL-lanternbinder-lamp_warden.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/luminous-bolt.webp",
    "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Lamp Warden\" — Three-metre amber spirit golem with lantern head; slams produce fire rings. Motion cue: plant scepter, raise lantern high; a giant spirit forms from its light. Dominant colours #f0a43a, #ffe7a8, #3a2412 with warm bronze highlights. Element: spirit_fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #f0a43a #ffe7a8 #3a2412"
   ],
   "source": {
    "kind": "skill",
    "id": "lanternbinder.lamp_warden"
   },
   "deliver": "art/source/skill-icons/ART-SKL-lanternbinder-lamp_warden.png",
   "publishedAs": "/art/new/skill-icons/art-skl-lanternbinder-lamp-warden.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/luminous_bolt.png",
    "art/source/skill-icons/ART-SKL-lanternbinder-ember_curse.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"lanternbinder.lamp_warden\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-lanternbinder-lamp-warden.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-lanternbinder-lamp-warden.webp\" on skills[id=\"lanternbinder.lamp_warden\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-lanternbinder-last_lantern",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Last Lantern (Lanternbinder, Lantern Scepter)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill lanternbinder.last_lantern.",
   "output": {
    "file": "ART-SKL-lanternbinder-last_lantern.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/luminous-bolt.webp",
    "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Last Lantern\" — Amber spirit streams, lantern flare, spirit-fire nova. Motion cue: hold the scepter lantern at arm’s length, open the door; summons stream into it, slam it toward the enemy. Dominant colours #f0a43a, #ffe7a8, #3a2412 with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #f0a43a #ffe7a8 #3a2412"
   ],
   "source": {
    "kind": "skill",
    "id": "lanternbinder.last_lantern"
   },
   "deliver": "art/source/skill-icons/ART-SKL-lanternbinder-last_lantern.png",
   "publishedAs": "/art/new/skill-icons/art-skl-lanternbinder-last-lantern.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/luminous_bolt.png",
    "art/source/skill-icons/ART-SKL-lanternbinder-ember_curse.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"lanternbinder.last_lantern\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-lanternbinder-last-lantern.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-lanternbinder-last-lantern.webp\" on skills[id=\"lanternbinder.last_lantern\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-lanternbinder-pyre_procession",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Pyre Procession (Lanternbinder, Lantern Scepter)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill lanternbinder.pyre_procession.",
   "output": {
    "file": "ART-SKL-lanternbinder-pyre_procession.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/luminous-bolt.webp",
    "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Pyre Procession\" — Wisps spiral into a tall amber fire tornado then burst outward; scorch decal ring. Motion cue: lantern raised overhead with both hands, spin once, slam scepter down. Dominant colours #f0a43a, #ffe7a8, #3a2412 with warm bronze highlights. Element: spirit_fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #f0a43a #ffe7a8 #3a2412"
   ],
   "source": {
    "kind": "skill",
    "id": "lanternbinder.pyre_procession"
   },
   "deliver": "art/source/skill-icons/ART-SKL-lanternbinder-pyre_procession.png",
   "publishedAs": "/art/new/skill-icons/art-skl-lanternbinder-pyre-procession.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/luminous_bolt.png",
    "art/source/skill-icons/ART-SKL-lanternbinder-ember_curse.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"lanternbinder.pyre_procession\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-lanternbinder-pyre-procession.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-lanternbinder-pyre-procession.webp\" on skills[id=\"lanternbinder.pyre_procession\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-lanternbinder-soul_tether",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Soul Tether (Lanternbinder, Lantern Scepter)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill lanternbinder.soul_tether.",
   "output": {
    "file": "ART-SKL-lanternbinder-soul_tether.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/luminous-bolt.webp",
    "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Soul Tether\" — Rope of amber spirit-flame between scepter and target, motes flowing toward you. Motion cue: scepter pointed, off-hand lantern pulled back like drawing a rope. Dominant colours #f0a43a, #ffe7a8, #3a2412 with warm bronze highlights. Element: spirit_fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #f0a43a #ffe7a8 #3a2412"
   ],
   "source": {
    "kind": "skill",
    "id": "lanternbinder.soul_tether"
   },
   "deliver": "art/source/skill-icons/ART-SKL-lanternbinder-soul_tether.png",
   "publishedAs": "/art/new/skill-icons/art-skl-lanternbinder-soul-tether.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/luminous_bolt.png",
    "art/source/skill-icons/ART-SKL-lanternbinder-ember_curse.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"lanternbinder.soul_tether\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-lanternbinder-soul-tether.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-lanternbinder-soul-tether.webp\" on skills[id=\"lanternbinder.soul_tether\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-lanternbinder-summon_wisps",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Lantern Wisps (Lanternbinder, Lantern Scepter)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill lanternbinder.summon_wisps.",
   "output": {
    "file": "ART-SKL-lanternbinder-summon_wisps.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/luminous-bolt.webp",
    "/art/new/skill-icons/art-skl-lanternbinder-ember-curse.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Lantern Wisps\" — Three amber spirit wisps with trailing smoke, darting motion. Motion cue: open lantern door with scepter tip; wisps spill out; close door. Dominant colours #f0a43a, #ffe7a8, #3a2412 with warm bronze highlights. Element: spirit_fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #f0a43a #ffe7a8 #3a2412"
   ],
   "source": {
    "kind": "skill",
    "id": "lanternbinder.summon_wisps"
   },
   "deliver": "art/source/skill-icons/ART-SKL-lanternbinder-summon_wisps.png",
   "publishedAs": "/art/new/skill-icons/art-skl-lanternbinder-summon-wisps.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/luminous_bolt.png",
    "art/source/skill-icons/ART-SKL-lanternbinder-ember_curse.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"lanternbinder.summon_wisps\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-lanternbinder-summon-wisps.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-lanternbinder-summon-wisps.webp\" on skills[id=\"lanternbinder.summon_wisps\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-nightblade-death_lotus",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Death Lotus (Nightblade, Daggers)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill nightblade.death_lotus.",
   "output": {
    "file": "ART-SKL-nightblade-death_lotus.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/threadcut.webp",
    "/art/icons/skills/cross-stitch.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Death Lotus\" — Violet lotus petals scatter at each strike; smoke links between targets. Motion cue: vanish; reappear at each target performing a 3-hit spin-slash; final reappearance at origin with a blade flourish. Dominant colours #5b3a7a, #c8a2e8, #1d1426 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5b3a7a #c8a2e8 #1d1426"
   ],
   "source": {
    "kind": "skill",
    "id": "nightblade.death_lotus"
   },
   "deliver": "art/source/skill-icons/ART-SKL-nightblade-death_lotus.png",
   "publishedAs": "/art/new/skill-icons/art-skl-nightblade-death-lotus.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/threadcut.png",
    "art/originals/icons/v4/skills/cross_stitch.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"nightblade.death_lotus\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-nightblade-death-lotus.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-nightblade-death-lotus.webp\" on skills[id=\"nightblade.death_lotus\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-nightblade-fan_of_knives",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Fan of Knives (Nightblade, Daggers)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill nightblade.fan_of_knives.",
   "output": {
    "file": "ART-SKL-nightblade-fan_of_knives.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/threadcut.webp",
    "/art/icons/skills/cross-stitch.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Fan of Knives\" — 12 small knife projectiles with violet trails; impact sparks. Motion cue: spin on one foot flinging knives in all directions from both hands. Dominant colours #5b3a7a, #c8a2e8, #1d1426 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5b3a7a #c8a2e8 #1d1426"
   ],
   "source": {
    "kind": "skill",
    "id": "nightblade.fan_of_knives"
   },
   "deliver": "art/source/skill-icons/ART-SKL-nightblade-fan_of_knives.png",
   "publishedAs": "/art/new/skill-icons/art-skl-nightblade-fan-of-knives.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/threadcut.png",
    "art/originals/icons/v4/skills/cross_stitch.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"nightblade.fan_of_knives\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-nightblade-fan-of-knives.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-nightblade-fan-of-knives.webp\" on skills[id=\"nightblade.fan_of_knives\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-nightblade-nightshade_coat",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Nightshade Coat (Nightblade, Daggers)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill nightblade.nightshade_coat.",
   "output": {
    "file": "ART-SKL-nightblade-nightshade_coat.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/threadcut.webp",
    "/art/icons/skills/cross-stitch.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Nightshade Coat\" — Daggers coated in dripping violet-black sheen. Motion cue: draw both daggers across a small vial on the belt, flick off excess. Dominant colours #5b3a7a, #c8a2e8, #1d1426 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5b3a7a #c8a2e8 #1d1426"
   ],
   "source": {
    "kind": "skill",
    "id": "nightblade.nightshade_coat"
   },
   "deliver": "art/source/skill-icons/ART-SKL-nightblade-nightshade_coat.png",
   "publishedAs": "/art/new/skill-icons/art-skl-nightblade-nightshade-coat.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/threadcut.png",
    "art/originals/icons/v4/skills/cross_stitch.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"nightblade.nightshade_coat\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-nightblade-nightshade-coat.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-nightblade-nightshade-coat.webp\" on skills[id=\"nightblade.nightshade_coat\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-nightblade-severance",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Severance (Nightblade, Daggers)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill nightblade.severance.",
   "output": {
    "file": "ART-SKL-nightblade-severance.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/threadcut.webp",
    "/art/icons/skills/cross-stitch.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Severance\" — Black smoke puff, thin violet cut line, fading silhouette. Motion cue: fade to smoke, reappear behind, reverse-grip cut across, flick the blood off. Dominant colours #5b3a7a, #c8a2e8, #1d1426 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5b3a7a #c8a2e8 #1d1426"
   ],
   "source": {
    "kind": "skill",
    "id": "nightblade.severance"
   },
   "deliver": "art/source/skill-icons/ART-SKL-nightblade-severance.png",
   "publishedAs": "/art/new/skill-icons/art-skl-nightblade-severance.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/threadcut.png",
    "art/originals/icons/v4/skills/cross_stitch.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"nightblade.severance\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-nightblade-severance.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-nightblade-severance.webp\" on skills[id=\"nightblade.severance\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-nightblade-shadow_step",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Shadow Step (Nightblade, Daggers)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill nightblade.shadow_step.",
   "output": {
    "file": "ART-SKL-nightblade-shadow_step.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/threadcut.webp",
    "/art/icons/skills/cross-stitch.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Shadow Step\" — Violet smoke burst at both ends, faint shadow line between. Motion cue: body dissolves into smoke, reappears crouched behind target with a rising stab. Dominant colours #5b3a7a, #c8a2e8, #1d1426 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5b3a7a #c8a2e8 #1d1426"
   ],
   "source": {
    "kind": "skill",
    "id": "nightblade.shadow_step"
   },
   "deliver": "art/source/skill-icons/ART-SKL-nightblade-shadow_step.png",
   "publishedAs": "/art/new/skill-icons/art-skl-nightblade-shadow-step.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/threadcut.png",
    "art/originals/icons/v4/skills/cross_stitch.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"nightblade.shadow_step\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-nightblade-shadow-step.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-nightblade-shadow-step.webp\" on skills[id=\"nightblade.shadow_step\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_agi-caravan_pace",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Caravan Pace (Wind Codex (AGI buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_agi.caravan_pace.",
   "output": {
    "file": "ART-SKL-pole_agi-caravan_pace.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp",
    "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Caravan Pace\" — Green-gold wind streaks at allies’ feet, dust trails. Motion cue: whistle with two fingers and wave the caravan forward. Dominant colours #5f9e4f, #e6d8a8 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5f9e4f #e6d8a8"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_agi.caravan_pace"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_agi-caravan_pace.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_agi-caravan_pace.png",
    "art/source/skill-icons/ART-SKL-pole_agi-windwalk.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_agi.caravan_pace\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp\" on skills[id=\"pole_agi.caravan_pace\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_agi-evasive_instinct",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Evasive Instinct (Wind Codex (AGI buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_agi.evasive_instinct.",
   "output": {
    "file": "ART-SKL-pole_agi-evasive_instinct.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp",
    "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Evasive Instinct\" — Faint green after-images trailing the body. Motion cue: loose shoulders, light bouncing steps, eyes narrow. Dominant colours #5f9e4f, #e6d8a8 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5f9e4f #e6d8a8"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_agi.evasive_instinct"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_agi-evasive_instinct.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-agi-evasive-instinct.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_agi-caravan_pace.png",
    "art/source/skill-icons/ART-SKL-pole_agi-windwalk.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_agi.evasive_instinct\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-agi-evasive-instinct.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-agi-evasive-instinct.webp\" on skills[id=\"pole_agi.evasive_instinct\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_agi-hunters_mark",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Hunter's Mark (Wind Codex (AGI buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_agi.hunters_mark.",
   "output": {
    "file": "ART-SKL-pole_agi-hunters_mark.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp",
    "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Hunter's Mark\" — Bronze crosshair glyph spins onto target and stays above head. Motion cue: point two fingers at target, flick wrist (one-handed works with any weapon). Dominant colours #5f9e4f, #e6d8a8 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5f9e4f #e6d8a8"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_agi.hunters_mark"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_agi-hunters_mark.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-agi-hunters-mark.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_agi-caravan_pace.png",
    "art/source/skill-icons/ART-SKL-pole_agi-windwalk.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_agi.hunters_mark\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-agi-hunters-mark.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-agi-hunters-mark.webp\" on skills[id=\"pole_agi.hunters_mark\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_agi-keen_eye_chant",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Keen Eye Chant (Wind Codex (AGI buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_agi.keen_eye_chant.",
   "output": {
    "file": "ART-SKL-pole_agi-keen_eye_chant.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp",
    "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Keen Eye Chant\" — Gold eye glyph above each ally, thin focus lines. Motion cue: tap the brow, sweep the arm across the horizon, quick chant. Dominant colours #5f9e4f, #e6d8a8 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5f9e4f #e6d8a8"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_agi.keen_eye_chant"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_agi-keen_eye_chant.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-agi-keen-eye-chant.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_agi-caravan_pace.png",
    "art/source/skill-icons/ART-SKL-pole_agi-windwalk.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_agi.keen_eye_chant\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-agi-keen-eye-chant.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-agi-keen-eye-chant.webp\" on skills[id=\"pole_agi.keen_eye_chant\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_agi-quickening",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Quickening (Wind Codex (AGI buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_agi.quickening.",
   "output": {
    "file": "ART-SKL-pole_agi-quickening.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp",
    "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Quickening\" — Pale-green speed lines on arms/weapon; hands blur slightly. Motion cue: snap of both hands, a quick bounce on the heels. Dominant colours #5f9e4f, #e6d8a8 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5f9e4f #e6d8a8"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_agi.quickening"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_agi-quickening.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-agi-quickening.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_agi-caravan_pace.png",
    "art/source/skill-icons/ART-SKL-pole_agi-windwalk.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_agi.quickening\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-agi-quickening.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-agi-quickening.webp\" on skills[id=\"pole_agi.quickening\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_agi-windwalk",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Windwalk (Wind Codex (AGI buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_agi.windwalk.",
   "output": {
    "file": "ART-SKL-pole_agi-windwalk.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-agi-caravan-pace.webp",
    "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Windwalk\" — Sand-green wind ribbons spiralling around legs; faint after-images while moving. Motion cue: quick flourish: brush hand across chest, scarf flick, weight onto toes. Dominant colours #5f9e4f, #e6d8a8 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5f9e4f #e6d8a8"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_agi.windwalk"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_agi-windwalk.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_agi-caravan_pace.png",
    "art/source/skill-icons/ART-SKL-pole_agi-windwalk.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_agi.windwalk\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-agi-windwalk.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-agi-windwalk.webp\" on skills[id=\"pole_agi.windwalk\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_int-arcane_surge",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Arcane Surge (Lantern Codex (INT buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_int.arcane_surge.",
   "output": {
    "file": "ART-SKL-pole_int-arcane_surge.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp",
    "/art/new/skill-icons/art-skl-pole-int-lantern-light.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Arcane Surge\" — Indigo-gold rune halo behind head, sparks rushing inward. Motion cue: both hands raised, fingers spread, light rushes in from the air and veins glow. Dominant colours #4a78c2, #e8c26a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4a78c2 #e8c26a"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_int.arcane_surge"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_int-arcane_surge.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-int-arcane-surge.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_int-elemental_attunement.png",
    "art/source/skill-icons/ART-SKL-pole_int-lantern_light.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_int.arcane_surge\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-int-arcane-surge.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-int-arcane-surge.webp\" on skills[id=\"pole_int.arcane_surge\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_int-elemental_attunement",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Elemental Attunement (Lantern Codex (INT buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_int.elemental_attunement.",
   "output": {
    "file": "ART-SKL-pole_int-elemental_attunement.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp",
    "/art/new/skill-icons/art-skl-pole-int-lantern-light.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Elemental Attunement\" — Small element-coloured orb orbiting the shoulder (ember / frost / spark). Motion cue: cup lantern-light in one palm, close the hand, light flows up the arm. Dominant colours #4a78c2, #e8c26a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4a78c2 #e8c26a"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_int.elemental_attunement"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_int-elemental_attunement.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_int-elemental_attunement.png",
    "art/source/skill-icons/ART-SKL-pole_int-lantern_light.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_int.elemental_attunement\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp\" on skills[id=\"pole_int.elemental_attunement\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_int-kindred_flame",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Kindred Flame (Lantern Codex (INT buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_int.kindred_flame.",
   "output": {
    "file": "ART-SKL-pole_int-kindred_flame.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp",
    "/art/new/skill-icons/art-skl-pole-int-lantern-light.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Kindred Flame\" — Element-coloured motes leap from the caster to each ally’s weapon. Motion cue: open both hands, a small flame passes from palm to palm and splits. Dominant colours #4a78c2, #e8c26a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4a78c2 #e8c26a"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_int.kindred_flame"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_int-kindred_flame.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-int-kindred-flame.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_int-elemental_attunement.png",
    "art/source/skill-icons/ART-SKL-pole_int-lantern_light.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_int.kindred_flame\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-int-kindred-flame.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-int-kindred-flame.webp\" on skills[id=\"pole_int.kindred_flame\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_int-lantern_light",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Lantern Light (Lantern Codex (INT buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_int.lantern_light.",
   "output": {
    "file": "ART-SKL-pole_int-lantern_light.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp",
    "/art/new/skill-icons/art-skl-pole-int-lantern-light.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Lantern Light\" — Floating paper lantern with amber glow, light pool on the ground. Motion cue: lift the palm, a small lantern of light rises above the head. Dominant colours #4a78c2, #e8c26a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4a78c2 #e8c26a"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_int.lantern_light"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_int-lantern_light.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-int-lantern-light.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_int-elemental_attunement.png",
    "art/source/skill-icons/ART-SKL-pole_int-lantern_light.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_int.lantern_light\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-int-lantern-light.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-int-lantern-light.webp\" on skills[id=\"pole_int.lantern_light\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_int-sanctuary_glyph",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Sanctuary Glyph (Lantern Codex (INT buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_int.sanctuary_glyph.",
   "output": {
    "file": "ART-SKL-pole_int-sanctuary_glyph.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-int-elemental-attunement.webp",
    "/art/new/skill-icons/art-skl-pole-int-lantern-light.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Sanctuary Glyph\" — Glowing jade-gold glyph circle with rotating runes. Motion cue: kneel, draw a circle with the fingertips, press the palm flat. Dominant colours #4a78c2, #e8c26a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4a78c2 #e8c26a"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_int.sanctuary_glyph"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_int-sanctuary_glyph.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-int-sanctuary-glyph.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_int-elemental_attunement.png",
    "art/source/skill-icons/ART-SKL-pole_int-lantern_light.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_int.sanctuary_glyph\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-int-sanctuary-glyph.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-int-sanctuary-glyph.webp\" on skills[id=\"pole_int.sanctuary_glyph\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_str-bastion_skin",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Bastion Skin (Iron Codex (STR buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_str.bastion_skin.",
   "output": {
    "file": "ART-SKL-pole_str-bastion_skin.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp",
    "/art/new/skill-icons/art-skl-pole-str-war-drum.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Bastion Skin\" — Stone-scale shader ripples over the body; faint grey-bronze rim while active. Motion cue: tense whole body, fists/weapon pulled in, skin flash; returns to stance. Dominant colours #c8553d, #d9a441 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c8553d #d9a441"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_str.bastion_skin"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_str-bastion_skin.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-str-bastion-skin.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_str-iron_banner.png",
    "art/source/skill-icons/ART-SKL-pole_str-war_drum.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_str.bastion_skin\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-str-bastion-skin.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-str-bastion-skin.webp\" on skills[id=\"pole_str.bastion_skin\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_str-bloodrage",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Bloodrage (Iron Codex (STR buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_str.bloodrage.",
   "output": {
    "file": "ART-SKL-pole_str-bloodrage.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp",
    "/art/new/skill-icons/art-skl-pole-str-war-drum.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Bloodrage\" — Crimson vein glow pulses over arms; heat haze around body; red embers drifting up. Motion cue: head down, shoulders heave, weapon grip tightens with a shake, eyes flare. Dominant colours #c8553d, #d9a441 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c8553d #d9a441"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_str.bloodrage"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_str-bloodrage.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-str-bloodrage.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_str-iron_banner.png",
    "art/source/skill-icons/ART-SKL-pole_str-war_drum.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_str.bloodrage\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-str-bloodrage.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-str-bloodrage.webp\" on skills[id=\"pole_str.bloodrage\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_str-iron_banner",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Iron Banner (Iron Codex (STR buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_str.iron_banner.",
   "output": {
    "file": "ART-SKL-pole_str-iron_banner.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp",
    "/art/new/skill-icons/art-skl-pole-str-war-drum.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Iron Banner\" — Bronze-and-crimson banner unfurls, faint iron dome over allies. Motion cue: drive a short iron standard into the ground with both hands, slap the pole. Dominant colours #c8553d, #d9a441 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c8553d #d9a441"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_str.iron_banner"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_str-iron_banner.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_str-iron_banner.png",
    "art/source/skill-icons/ART-SKL-pole_str-war_drum.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_str.iron_banner\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-str-iron-banner.webp\" on skills[id=\"pole_str.iron_banner\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_str-rallying_roar",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Rallying Roar (Iron Codex (STR buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_str.rallying_roar.",
   "output": {
    "file": "ART-SKL-pole_str-rallying_roar.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp",
    "/art/new/skill-icons/art-skl-pole-str-war-drum.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Rallying Roar\" — Crimson shockwave ring, shaken dust, small red motes on allies. Motion cue: chest out, head back, full-body roar with fists clenched. Dominant colours #c8553d, #d9a441 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c8553d #d9a441"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_str.rallying_roar"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_str-rallying_roar.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-str-rallying-roar.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_str-iron_banner.png",
    "art/source/skill-icons/ART-SKL-pole_str-war_drum.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_str.rallying_roar\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-str-rallying-roar.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-str-rallying-roar.webp\" on skills[id=\"pole_str.rallying_roar\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_str-unbroken_will",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Unbroken Will (Iron Codex (STR buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_str.unbroken_will.",
   "output": {
    "file": "ART-SKL-pole_str-unbroken_will.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp",
    "/art/new/skill-icons/art-skl-pole-str-war-drum.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Unbroken Will\" — Red outline on the body, cracks of stun shatter off. Motion cue: shake the head, grit teeth, flex the arms; a flash of red in the eyes. Dominant colours #c8553d, #d9a441 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c8553d #d9a441"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_str.unbroken_will"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_str-unbroken_will.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-str-unbroken-will.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_str-iron_banner.png",
    "art/source/skill-icons/ART-SKL-pole_str-war_drum.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_str.unbroken_will\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-str-unbroken-will.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-str-unbroken-will.webp\" on skills[id=\"pole_str.unbroken_will\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-pole_str-war_drum",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — War Drum (Iron Codex (STR buffs))",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill pole_str.war_drum.",
   "output": {
    "file": "ART-SKL-pole_str-war_drum.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-pole-str-iron-banner.webp",
    "/art/new/skill-icons/art-skl-pole-str-war-drum.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"War Drum\" — Two expanding dust-and-crimson drum rings on stamps; drum glyph flashes above each affected ally. Motion cue: plant feet, raise weapon overhead, stamp twice (beat on each stamp), roar with chest out. Dominant colours #c8553d, #d9a441 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c8553d #d9a441"
   ],
   "source": {
    "kind": "skill",
    "id": "pole_str.war_drum"
   },
   "deliver": "art/source/skill-icons/ART-SKL-pole_str-war_drum.png",
   "publishedAs": "/art/new/skill-icons/art-skl-pole-str-war-drum.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-pole_str-iron_banner.png",
    "art/source/skill-icons/ART-SKL-pole_str-war_drum.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"pole_str.war_drum\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-pole-str-war-drum.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-pole-str-war-drum.webp\" on skills[id=\"pole_str.war_drum\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ravager-blood_frenzy",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Blood Frenzy (Ravager, Greataxe)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ravager.blood_frenzy.",
   "output": {
    "file": "ART-SKL-ravager-blood_frenzy.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/quarry-wheel.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Blood Frenzy\" — Blade glows dark crimson; stack pips orbit wrist; at max stacks red aura flare. Motion cue: drag thumb along axe blade, slam haft on ground, roar. Dominant colours #8c2f1f, #d9822b, #3b2a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8c2f1f #d9822b #3b2a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "ravager.blood_frenzy"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ravager-blood_frenzy.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ravager-blood-frenzy.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/quarry_wheel.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ravager.blood_frenzy\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ravager-blood-frenzy.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ravager-blood-frenzy.webp\" on skills[id=\"ravager.blood_frenzy\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ravager-crimson_reckoning",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Crimson Reckoning (Ravager, Greataxe)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ravager.crimson_reckoning.",
   "output": {
    "file": "ART-SKL-ravager-crimson_reckoning.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/quarry-wheel.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Crimson Reckoning\" — Crimson arc trailing blood-dust, ground cleft decal, bleed glyphs burst from the target and fly into the axe. Motion cue: axe dragged behind, two running steps, full-body vertical chop that buries the blade, wrench it free. Dominant colours #8c2f1f, #d9822b, #3b2a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8c2f1f #d9822b #3b2a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "ravager.crimson_reckoning"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ravager-crimson_reckoning.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ravager-crimson-reckoning.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/quarry_wheel.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ravager.crimson_reckoning\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ravager-crimson-reckoning.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ravager-crimson-reckoning.webp\" on skills[id=\"ravager.crimson_reckoning\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ravager-earthsplitter",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Earthsplitter (Ravager, Greataxe)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ravager.earthsplitter.",
   "output": {
    "file": "ART-SKL-ravager-earthsplitter.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/quarry-wheel.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Earthsplitter\" — Ground splits along a 10 m line; jagged rock spikes erupt sequentially (travel 0.3 s); dust wall; rock chunk debris; camera shake massive. Motion cue: crouch-coil, leap up to 2 m arc forward, axe raised two-handed, overhead slam on landing driving a fissure forward; 0.2 s impact hold; wrench axe out. Dominant colours #8c2f1f, #d9822b, #3b2a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8c2f1f #d9822b #3b2a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "ravager.earthsplitter"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ravager-earthsplitter.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ravager-earthsplitter.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/quarry_wheel.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ravager.earthsplitter\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ravager-earthsplitter.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ravager-earthsplitter.webp\" on skills[id=\"ravager.earthsplitter\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ravager-reavers_charge",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Reaver's Charge (Ravager, Greataxe)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ravager.reavers_charge.",
   "output": {
    "file": "ART-SKL-ravager-reavers_charge.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/quarry-wheel.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Reaver's Charge\" — Dust plume trail, shoulder impact flash, ground scuff decals. Motion cue: lower shoulder, drive forward 7 m with heavy footfalls, axe trailing, finishing chop at endpoint. Dominant colours #8c2f1f, #d9822b, #3b2a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8c2f1f #d9822b #3b2a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "ravager.reavers_charge"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ravager-reavers_charge.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ravager-reavers-charge.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/quarry_wheel.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ravager.reavers_charge\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ravager-reavers-charge.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ravager-reavers-charge.webp\" on skills[id=\"ravager.reavers_charge\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ravager-rending_cleave",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Rending Cleave (Ravager, Greataxe)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ravager.rending_cleave.",
   "output": {
    "file": "ART-SKL-ravager-rending_cleave.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/quarry-wheel.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Rending Cleave\" — Dark-red edge trail; bleed burst; follow-up leaves vertical streak and upward debris. Motion cue: diagonal downward cleave from left shoulder through right hip; if pressed again, plant axe and rip it upward with full-body extension (follow-up). Dominant colours #8c2f1f, #d9822b, #3b2a1f with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8c2f1f #d9822b #3b2a1f"
   ],
   "source": {
    "kind": "skill",
    "id": "ravager.rending_cleave"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ravager-rending_cleave.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ravager-rending-cleave.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/quarry_wheel.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ravager.rending_cleave\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ravager-rending-cleave.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ravager-rending-cleave.webp\" on skills[id=\"ravager.rending_cleave\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-songweaver-crescendo",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Crescendo (Songweaver, Pipa)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill songweaver.crescendo.",
   "output": {
    "file": "ART-SKL-songweaver-crescendo.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
    "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Crescendo\" — Growing translucent sphere of sound rings and note glyphs; release = huge ring burst, sand blown outward. Motion cue: increasingly intense strumming, body arching back, hair/cloth lifting; final slam strum. Dominant colours #4fae8c, #e7c766, #1f2e2a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4fae8c #e7c766 #1f2e2a"
   ],
   "source": {
    "kind": "skill",
    "id": "songweaver.crescendo"
   },
   "deliver": "art/source/skill-icons/ART-SKL-songweaver-crescendo.png",
   "publishedAs": "/art/new/skill-icons/art-skl-songweaver-crescendo.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
    "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"songweaver.crescendo\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-songweaver-crescendo.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-songweaver-crescendo.webp\" on skills[id=\"songweaver.crescendo\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-songweaver-discordant_chord",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Discordant Chord (Songweaver, Pipa)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill songweaver.discordant_chord.",
   "output": {
    "file": "ART-SKL-songweaver-discordant_chord.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
    "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Discordant Chord\" — Visible concentric sound rings, sand ripples, note glyphs scattered. Motion cue: full-arm strum downward, body leaning back. Dominant colours #4fae8c, #e7c766, #1f2e2a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4fae8c #e7c766 #1f2e2a"
   ],
   "source": {
    "kind": "skill",
    "id": "songweaver.discordant_chord"
   },
   "deliver": "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png",
   "publishedAs": "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
    "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"songweaver.discordant_chord\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp\" on skills[id=\"songweaver.discordant_chord\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-songweaver-final_cadence",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Final Cadence (Songweaver, Pipa)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill songweaver.final_cadence.",
   "output": {
    "file": "ART-SKL-songweaver-final_cadence.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
    "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Final Cadence\" — Golden sound ring collapses into the target then explodes outward. Motion cue: hold the pipa high, one full strum across all strings, the instrument rings as it lowers. Dominant colours #4fae8c, #e7c766, #1f2e2a with warm bronze highlights. Element: sonic. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4fae8c #e7c766 #1f2e2a"
   ],
   "source": {
    "kind": "skill",
    "id": "songweaver.final_cadence"
   },
   "deliver": "art/source/skill-icons/ART-SKL-songweaver-final_cadence.png",
   "publishedAs": "/art/new/skill-icons/art-skl-songweaver-final-cadence.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
    "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"songweaver.final_cadence\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-songweaver-final-cadence.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-songweaver-final-cadence.webp\" on skills[id=\"songweaver.final_cadence\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-songweaver-hymn_of_the_caravan",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Hymn of the Caravan (Songweaver, Pipa)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill songweaver.hymn_of_the_caravan.",
   "output": {
    "file": "ART-SKL-songweaver-hymn_of_the_caravan.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
    "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Hymn of the Caravan\" — Golden musical staff ribbons circling the party, warm motes rising. Motion cue: play a rising melody, step in time; pipa held high on the last note. Dominant colours #4fae8c, #e7c766, #1f2e2a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4fae8c #e7c766 #1f2e2a"
   ],
   "source": {
    "kind": "skill",
    "id": "songweaver.hymn_of_the_caravan"
   },
   "deliver": "art/source/skill-icons/ART-SKL-songweaver-hymn_of_the_caravan.png",
   "publishedAs": "/art/new/skill-icons/art-skl-songweaver-hymn-of-the-caravan.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
    "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"songweaver.hymn_of_the_caravan\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-songweaver-hymn-of-the-caravan.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-songweaver-hymn-of-the-caravan.webp\" on skills[id=\"songweaver.hymn_of_the_caravan\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-songweaver-lullaby_of_dunes",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Lullaby of Dunes (Songweaver, Pipa)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill songweaver.lullaby_of_dunes.",
   "output": {
    "file": "ART-SKL-songweaver-lullaby_of_dunes.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
    "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Lullaby of Dunes\" — Drifting dune-blue motes and soft ribbons flowing over enemies; Z glyphs. Motion cue: slow gentle strum swaying side to side, eyes half closed. Dominant colours #4fae8c, #e7c766, #1f2e2a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4fae8c #e7c766 #1f2e2a"
   ],
   "source": {
    "kind": "skill",
    "id": "songweaver.lullaby_of_dunes"
   },
   "deliver": "art/source/skill-icons/ART-SKL-songweaver-lullaby_of_dunes.png",
   "publishedAs": "/art/new/skill-icons/art-skl-songweaver-lullaby-of-dunes.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
    "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"songweaver.lullaby_of_dunes\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-songweaver-lullaby-of-dunes.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-songweaver-lullaby-of-dunes.webp\" on skills[id=\"songweaver.lullaby_of_dunes\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-songweaver-plucked_note",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Plucked Note (Songweaver, Pipa)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill songweaver.plucked_note.",
   "output": {
    "file": "ART-SKL-songweaver-plucked_note.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
    "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Plucked Note\" — Jade-gold sound ring bolt with a floating note glyph. Motion cue: fast pluck of the strings with a flick of the wrist toward target; the pipa tilts. Dominant colours #4fae8c, #e7c766, #1f2e2a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4fae8c #e7c766 #1f2e2a"
   ],
   "source": {
    "kind": "skill",
    "id": "songweaver.plucked_note"
   },
   "deliver": "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
   "publishedAs": "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
    "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"songweaver.plucked_note\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-songweaver-plucked-note.webp\" on skills[id=\"songweaver.plucked_note\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-songweaver-resonant_echo",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Resonant Echo (Songweaver, Pipa)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill songweaver.resonant_echo.",
   "output": {
    "file": "ART-SKL-songweaver-resonant_echo.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/new/skill-icons/art-skl-songweaver-plucked-note.webp",
    "/art/new/skill-icons/art-skl-songweaver-discordant-chord.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Resonant Echo\" — Jade afterimage holding the pipa, sound rings at both ends. Motion cue: strum while sliding sideways; translucent copy stays playing. Dominant colours #4fae8c, #e7c766, #1f2e2a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #4fae8c #e7c766 #1f2e2a"
   ],
   "source": {
    "kind": "skill",
    "id": "songweaver.resonant_echo"
   },
   "deliver": "art/source/skill-icons/ART-SKL-songweaver-resonant_echo.png",
   "publishedAs": "/art/new/skill-icons/art-skl-songweaver-resonant-echo.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/skill-icons/ART-SKL-songweaver-plucked_note.png",
    "art/source/skill-icons/ART-SKL-songweaver-discordant_chord.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"songweaver.resonant_echo\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-songweaver-resonant-echo.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-songweaver-resonant-echo.webp\" on skills[id=\"songweaver.resonant_echo\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-talon-apex_rend",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Apex Rend (Talon, Claws)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill talon.apex_rend.",
   "output": {
    "file": "ART-SKL-talon-apex_rend.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/rake-flurry.webp",
    "/art/icons/skills/hooking-palm.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Apex Rend\" — Feral amber claw streaks, beast-spirit overlay, blood-dust. Motion cue: low pounce, land on the target, alternating claw rakes, rear up with a roar. Dominant colours #3a6fb0, #e0b45c, #20283a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3a6fb0 #e0b45c #20283a"
   ],
   "source": {
    "kind": "skill",
    "id": "talon.apex_rend"
   },
   "deliver": "art/source/skill-icons/ART-SKL-talon-apex_rend.png",
   "publishedAs": "/art/new/skill-icons/art-skl-talon-apex-rend.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/rake_flurry.png",
    "art/originals/icons/v4/skills/hooking_palm.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"talon.apex_rend\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-talon-apex-rend.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-talon-apex-rend.webp\" on skills[id=\"talon.apex_rend\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-talon-beast_within",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Beast Within (Talon, Claws)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill talon.beast_within.",
   "output": {
    "file": "ART-SKL-talon-beast_within.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/rake-flurry.webp",
    "/art/icons/skills/hooking-palm.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Beast Within\" — Amber-storm spectral beast overlay, claw streak storm, final upward slash. Motion cue: roar; translucent beast shape (wolf-lion) wraps the body; frenzy of rakes and bites; final double-claw uppercut. Dominant colours #3a6fb0, #e0b45c, #20283a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3a6fb0 #e0b45c #20283a"
   ],
   "source": {
    "kind": "skill",
    "id": "talon.beast_within"
   },
   "deliver": "art/source/skill-icons/ART-SKL-talon-beast_within.png",
   "publishedAs": "/art/new/skill-icons/art-skl-talon-beast-within.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/rake_flurry.png",
    "art/originals/icons/v4/skills/hooking_palm.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"talon.beast_within\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-talon-beast-within.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-talon-beast-within.webp\" on skills[id=\"talon.beast_within\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-talon-pounce",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Pounce (Talon, Claws)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill talon.pounce.",
   "output": {
    "file": "ART-SKL-talon-pounce.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/rake-flurry.webp",
    "/art/icons/skills/hooking-palm.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Pounce\" — Leap arc streak, landing dust ring, claw marks decal. Motion cue: drop low on all fours (hands with claws), explosive leap arc, land claws-first on target. Dominant colours #3a6fb0, #e0b45c, #20283a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3a6fb0 #e0b45c #20283a"
   ],
   "source": {
    "kind": "skill",
    "id": "talon.pounce"
   },
   "deliver": "art/source/skill-icons/ART-SKL-talon-pounce.png",
   "publishedAs": "/art/new/skill-icons/art-skl-talon-pounce.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/rake_flurry.png",
    "art/originals/icons/v4/skills/hooking_palm.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"talon.pounce\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-talon-pounce.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-talon-pounce.webp\" on skills[id=\"talon.pounce\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-talon-predators_instinct",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Predator's Instinct (Talon, Claws)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill talon.predators_instinct.",
   "output": {
    "file": "ART-SKL-talon-predators_instinct.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/rake-flurry.webp",
    "/art/icons/skills/hooking-palm.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Predator's Instinct\" — Feral amber eye glow, faint beast silhouette behind. Motion cue: head low, sniff the air, claws flex open. Dominant colours #3a6fb0, #e0b45c, #20283a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3a6fb0 #e0b45c #20283a"
   ],
   "source": {
    "kind": "skill",
    "id": "talon.predators_instinct"
   },
   "deliver": "art/source/skill-icons/ART-SKL-talon-predators_instinct.png",
   "publishedAs": "/art/new/skill-icons/art-skl-talon-predators-instinct.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/rake_flurry.png",
    "art/originals/icons/v4/skills/hooking_palm.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"talon.predators_instinct\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-talon-predators-instinct.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-talon-predators-instinct.webp\" on skills[id=\"talon.predators_instinct\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-talon-storm_rend",
   "category": "skill-icons",
   "priority": "P1",
   "title": "Skill icon — Storm Rend (Talon, Claws)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill talon.storm_rend.",
   "output": {
    "file": "ART-SKL-talon-storm_rend.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/rake-flurry.webp",
    "/art/icons/skills/hooking-palm.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Storm Rend\" — Lightning arcs fanning out from claw tips; ground scorch flecks. Motion cue: two big cross-body claw sweeps; claws spark and release arcs on each sweep. Dominant colours #3a6fb0, #e0b45c, #20283a with warm bronze highlights. Element: lightning. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3a6fb0 #e0b45c #20283a"
   ],
   "source": {
    "kind": "skill",
    "id": "talon.storm_rend"
   },
   "deliver": "art/source/skill-icons/ART-SKL-talon-storm_rend.png",
   "publishedAs": "/art/new/skill-icons/art-skl-talon-storm-rend.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/rake_flurry.png",
    "art/originals/icons/v4/skills/hooking_palm.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"talon.storm_rend\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-talon-storm-rend.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-talon-storm-rend.webp\" on skills[id=\"talon.storm_rend\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-VFX-042",
   "category": "vfx-textures",
   "priority": "P1",
   "title": "Magic circle / telegraph decals ×8",
   "usedIn": "Ground-target skills and monster telegraphs (circle, cone, line, ring).",
   "output": {
    "file": "vfx_telegraphs.png",
    "size": "2048×1024 (8 × 512)",
    "alpha": true
   },
   "references": [
    "/art/ui/gameplay-scene.webp"
   ],
   "current": "gameplay-scene shows a plain red cone; we need readable stylised telegraphs.",
   "prompt": "Transparent background, top-down flat decals, white on transparent: (1) circle with runic rim, (2) ring with safe centre, (3) 90° cone with chevrons, (4) 60° cone, (5) long line with arrows, (6) jade player sigil circle, (7) bell-glyph boss circle, (8) dashed fill pattern tile. Clean vector-like painted edges.",
   "avoid": "No colour, no text.",
   "acceptance": [
    "Readable at 10% screen size",
    "Tintable"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/vfx-textures/vfx_telegraphs.png",
   "publishedAs": "/art/new/vfx-textures/vfx-telegraphs.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/gameplay_scene.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/vfx-textures/vfx-telegraphs.webp and records it in packages/game-data/data/art-delivered.json; pages that show vfx-textures read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-boss-kharuun-splash",
   "priority": "P1",
   "title": "Boss splash — Kharuun, the Ashen Caravan",
   "usedIn": "Home page boss section and the boss pages (16:9, cropped to 4:5 on phones).",
   "output": {
    "file": "web_boss_kharuun.png",
    "size": "1920×1080",
    "alpha": false,
    "exact": true,
    "slicing": "Keep the boss inside the central 4:5 area so the phone crop works."
   },
   "references": [
    "/art/bestiary/kharuun-ashen-caravan.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "prompt": "A dramatic boss splash: Kharuun, the Ashen Caravan, rolling out of an ash storm in the Caravan Crown arena, burning lantern-wagons fused to its body, dozens of tiny Wayfarers spread across the arena floor. Strong silhouette, glowing telegraph light on the ground, dust and embers, cinematic low angle. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1920×1080 px.",
   "acceptance": [
    "Exactly 1920×1080",
    "Boss fully inside the central 4:5 crop",
    "Matches the bestiary design"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_boss_kharuun.png",
   "publishedAs": "/art/new/web-site/web-boss-kharuun.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/kharuun_ashen_caravan.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-boss-kharuun.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-boss-regent-splash",
   "priority": "P1",
   "title": "Boss splash — The Bellbound Regent",
   "usedIn": "Home page boss section and the boss pages (16:9, cropped to 4:5 on phones).",
   "output": {
    "file": "web_boss_regent.png",
    "size": "1920×1080",
    "alpha": false,
    "exact": true,
    "slicing": "Keep the boss inside the central 4:5 area so the phone crop works."
   },
   "references": [
    "/art/bestiary/bellbound-regent.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "prompt": "A dramatic boss splash: the Bellbound Regent towering in the misty bell court of the jade ruins, bronze bells swaying on chains, a small party of Wayfarers bracing below. Strong silhouette, glowing telegraph light on the ground, dust and embers, cinematic low angle. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1920×1080 px.",
   "acceptance": [
    "Exactly 1920×1080",
    "Boss fully inside the central 4:5 crop",
    "Matches the bestiary design"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_boss_regent.png",
   "publishedAs": "/art/new/web-site/web-boss-regent.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/bellbound_regent.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-boss-regent.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-hero-portrait",
   "priority": "P1",
   "title": "Website hero — portrait (phones)",
   "usedIn": "Home page hero on phones (portrait), behind the logo at the top and the call to action at the bottom.",
   "output": {
    "file": "web_hero_portrait.png",
    "size": "1440×2560",
    "alpha": false,
    "exact": true,
    "slicing": "Top 25 % calm (logo), bottom 20 % darker (buttons)."
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/new/loading-screens/load-amber-gate.webp"
   ],
   "prompt": "A tall dusk scene of the caravan road: a single Wayfarer with a spear and a fox companion on a ridge in the middle third, the lantern caravan descending toward Amber Gate below, the basin and sunset glow above. The top quarter is soft sky for the logo; the bottom fifth fades into dark dunes for buttons. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1440×2560 px.",
   "acceptance": [
    "Exactly 1440×2560",
    "Calm top 25 % and darker bottom 20 %",
    "Subject readable at 390 px wide"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_hero_portrait.png",
   "publishedAs": "/art/new/web-site/web-hero-portrait.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/source/loading-screens/load_amber_gate.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-hero-portrait.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-hero-wide",
   "priority": "P1",
   "title": "Website hero — wide (desktop)",
   "usedIn": "Home page hero behind the logo and the main call to action (full width on desktop, 16:9 to 21:9 crops).",
   "output": {
    "file": "web_hero_wide.png",
    "size": "3200×1350",
    "alpha": false,
    "exact": true,
    "slicing": "Keep the left 40 % calm (logo and text sit there); the subject sits in the right half."
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/new/loading-screens/load-amber-gate.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "prompt": "A sweeping dusk panorama of the Amber Basin: a lantern-lit caravan winding along a dune road toward the twin-roof walls of Amber Gate, three Wayfarers on a rocky ridge in the right half looking out over the basin, river valleys and distant pagodas under a gold-and-violet sky, drifting dust catching the low sun. The left 40 % is open sky and soft dunes with no strong detail so a logo and headline can sit there. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 3200×1350 px.",
   "acceptance": [
    "Exactly 3200×1350",
    "Left 40 % calm enough for a logo and two lines of text",
    "Reads at 1280 px wide and cropped to 21:9"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_hero_wide.png",
   "publishedAs": "/art/new/web-site/web-hero-wide.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/source/loading-screens/load_amber_gate.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-hero-wide.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-og-frame",
   "priority": "P1",
   "title": "Social share frame (Open Graph)",
   "usedIn": "Link previews for every page shared on social apps; the page title is drawn on the right by code.",
   "output": {
    "file": "web_og_frame.png",
    "size": "1200×630",
    "alpha": false,
    "exact": true,
    "slicing": "Right 55 % is a dark, low-detail panel for the title text."
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A share-card background: on the left, a close view of a glowing caravan lantern hanging from a bronze hook with the Amber Gate roofs blurred behind it; the right 55 % melts into a dark lacquered panel with a thin bronze border and faint dune texture, empty for text. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1200×630 px.",
   "acceptance": [
    "Exactly 1200×630",
    "Right 55 % empty and dark for text",
    "Still readable as a 300 px thumbnail"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_og_frame.png",
   "publishedAs": "/art/new/web-site/web-og-frame.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-og-frame.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-path-iron",
   "priority": "P1",
   "title": "Path emblem — Iron (strength)",
   "usedIn": "The \"Choose your path\" section and build pages: one emblem per Atlas path, shown at 64–160 px.",
   "output": {
    "file": "web_path_iron.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/key-art/art-key-ravager.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A heraldic game emblem for the Iron path: a crossed greataxe and warhammer over a lamellar bronze plate, set inside a carved bronze roundel with a thin jade inlay ring, polished metal lit from the top-left, a dark brown outline so it reads at 64 px. Same family and framing as the other five path emblems; centred with 24 px padding, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "Same roundel and scale as the other five",
    "Readable at 64 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_path_iron.png",
   "publishedAs": "/art/new/web-site/web-path-iron.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/key-art/ART-KEY-ravager.png",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-path-iron.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-path-jade",
   "priority": "P1",
   "title": "Path emblem — Jade (intellect and strength)",
   "usedIn": "The \"Choose your path\" section and build pages: one emblem per Atlas path, shown at 64–160 px.",
   "output": {
    "file": "web_path_jade.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/key-art/art-key-oathkeeper.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A heraldic game emblem for the Jade path: a glaive over a carved jade disc, set inside a carved bronze roundel with a thin jade inlay ring, polished metal lit from the top-left, a dark brown outline so it reads at 64 px. Same family and framing as the other five path emblems; centred with 24 px padding, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "Same roundel and scale as the other five",
    "Readable at 64 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_path_jade.png",
   "publishedAs": "/art/new/web-site/web-path-jade.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/key-art/ART-KEY-oathkeeper.png",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-path-jade.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-path-lantern",
   "priority": "P1",
   "title": "Path emblem — Lantern (intellect)",
   "usedIn": "The \"Choose your path\" section and build pages: one emblem per Atlas path, shown at 64–160 px.",
   "output": {
    "file": "web_path_lantern.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/key-art/art-key-lanternbinder.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A heraldic game emblem for the Lantern path: a hanging lantern with a flame-shaped glyph and a scepter, set inside a carved bronze roundel with a thin jade inlay ring, polished metal lit from the top-left, a dark brown outline so it reads at 64 px. Same family and framing as the other five path emblems; centred with 24 px padding, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "Same roundel and scale as the other five",
    "Readable at 64 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_path_lantern.png",
   "publishedAs": "/art/new/web-site/web-path-lantern.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/key-art/ART-KEY-lanternbinder.png",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-path-lantern.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-path-steel",
   "priority": "P1",
   "title": "Path emblem — Steel (strength and agility)",
   "usedIn": "The \"Choose your path\" section and build pages: one emblem per Atlas path, shown at 64–160 px.",
   "output": {
    "file": "web_path_steel.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/key-art/art-key-twinblade.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A heraldic game emblem for the Steel path: twin swords crossed over a round buckler, set inside a carved bronze roundel with a thin jade inlay ring, polished metal lit from the top-left, a dark brown outline so it reads at 64 px. Same family and framing as the other five path emblems; centred with 24 px padding, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "Same roundel and scale as the other five",
    "Readable at 64 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_path_steel.png",
   "publishedAs": "/art/new/web-site/web-path-steel.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/key-art/ART-KEY-twinblade.png",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-path-steel.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-path-storm",
   "priority": "P1",
   "title": "Path emblem — Storm (agility and intellect)",
   "usedIn": "The \"Choose your path\" section and build pages: one emblem per Atlas path, shown at 64–160 px.",
   "output": {
    "file": "web_path_storm.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/key-art/art-key-stormcaller.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A heraldic game emblem for the Storm path: a storm staff with a crackling cloud and a war fan, set inside a carved bronze roundel with a thin jade inlay ring, polished metal lit from the top-left, a dark brown outline so it reads at 64 px. Same family and framing as the other five path emblems; centred with 24 px padding, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "Same roundel and scale as the other five",
    "Readable at 64 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_path_storm.png",
   "publishedAs": "/art/new/web-site/web-path-storm.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/key-art/ART-KEY-stormcaller.png",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-path-storm.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-path-wind",
   "priority": "P1",
   "title": "Path emblem — Wind (agility)",
   "usedIn": "The \"Choose your path\" section and build pages: one emblem per Atlas path, shown at 64–160 px.",
   "output": {
    "file": "web_path_wind.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/key-art/art-key-windarcher.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A heraldic game emblem for the Wind path: a drawn bow with a feathered arrow and swirling wind lines, set inside a carved bronze roundel with a thin jade inlay ring, polished metal lit from the top-left, a dark brown outline so it reads at 64 px. Same family and framing as the other five path emblems; centred with 24 px padding, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "Same roundel and scale as the other five",
    "Readable at 64 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_path_wind.png",
   "publishedAs": "/art/new/web-site/web-path-wind.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/key-art/ART-KEY-windarcher.png",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-path-wind.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "id": "ART-HUDMOCK-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Full HUD screen — desktop concept",
   "usedIn": "Target composition for the desktop HUD (layout contract in hud.json); compared with the live preview on /hud.",
   "output": {
    "file": "hud_desktop_concept.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/references/hud/desktop.webp",
    "/art/ui/hud-desktop.webp",
    "/art/concepts/basin.webp"
   ],
   "current": "The owner reference /art/references/hud/desktop.webp and the flattened legacy HUD study exist; no Zoen HUD concept yet.",
   "prompt": "Widescreen PC gameplay screenshot concept of a Silk Road caravan fantasy action MMORPG in a desert oasis town, third-person elevated camera, with the full HUD laid out like the first reference: portrait frame with life and mana bars top-left, buff row under it, target frame top-centre, minimap top-right with the quest tracker below, a central hotbar with Mouse1 chain indicator, five skill slots Q E Z X C and two rows of eight quick slots (1–8, F1–F8), life and mana orbs or bars, chat bottom-left, XP bar along the bottom edge. All frames in ornate bronze, dark leather and jade accents matching the window header kit.",
   "avoid": "No real game logos or text from other games, no clutter over the character, no watermark.",
   "acceptance": [
    "Every hud.json element present",
    "Character and telegraph space stay clear",
    "Matches bronze/leather kit"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/hud_desktop_concept.png",
   "publishedAs": "/art/new/windows/hud-desktop-concept.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/desktop.png",
    "art/originals/concepts/v4/ui/hud_desktop.png",
    "art/originals/concepts/v2/basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/hud-desktop-concept.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-HUDMOCK-mobile",
   "category": "windows",
   "priority": "P1",
   "title": "Full HUD screen — mobile concept",
   "usedIn": "Target composition for the mobile HUD (layout contract in hud.json); compared with the live preview on /hud.",
   "output": {
    "file": "hud_mobile_concept.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/mobile.webp",
    "/art/ui/hud-desktop.webp",
    "/art/concepts/basin.webp"
   ],
   "current": "The owner reference /art/references/hud/mobile.webp and the flattened legacy HUD study exist; no Zoen HUD concept yet.",
   "prompt": "Landscape phone gameplay screenshot concept of a Silk Road caravan fantasy action MMORPG in a desert oasis town, third-person elevated camera, with the full HUD laid out like the first reference: floating joystick bottom-left, large round attack button bottom-right with an arc of five skill buttons (Q E Z X C) and a movement-gem button, four quick potion slots, Auto toggle, portrait with life/mana top-left, minimap top-right with quest tracker below, XP bar along the bottom edge. All frames in ornate bronze, dark leather and jade accents matching the window header kit.",
   "avoid": "No real game logos or text from other games, no clutter over the character, no watermark.",
   "acceptance": [
    "Every hud.json element present",
    "Character and telegraph space stay clear",
    "Matches bronze/leather kit"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/hud_mobile_concept.png",
   "publishedAs": "/art/new/windows/hud-mobile-concept.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/mobile.png",
    "art/originals/concepts/v4/ui/hud_desktop.png",
    "art/originals/concepts/v2/basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/hud-mobile-concept.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-character-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Character window — desktop concept",
   "usedIn": "Layout target for the Character window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_character_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/references/hud/character.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Character\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"CHARACTER\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: portrait with name, title and level badge; life, mana and ward numbers; a triad of three round attribute dials (STR red, AGI green, INT blue); a row of 13 skill icons (8 Mouse1 chain slots + Q E Z X C); a thin XP bar; tabs Offence / Defence / Misc / Buffs over a long two-column stat list. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_character_desktop.png",
   "publishedAs": "/art/new/windows/window-character-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/character.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-character-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-codex-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Skill Codex window — desktop concept",
   "usedIn": "Layout target for the Skill Codex window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_codex_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/references/hud/character.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Skill Codex\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"SKILL CODEX\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: 8 Mouse1 chain slots numbered 1–8 across the top, five quick slots Q E Z X C, then a grid of skill cards with rank pips and facet choices, and a picks counter 8/8. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_codex_desktop.png",
   "publishedAs": "/art/new/windows/window-codex-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/character.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-codex-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-emblems",
   "category": "windows",
   "priority": "P1",
   "title": "Window emblem icons (10) for the header medallion",
   "usedIn": "Inside the emblem medallion of each window header.",
   "output": {
    "file": "window_emblems.png",
    "size": "2000×800",
    "alpha": true,
    "slicing": "10 icons, 2 rows × 5, each 320×320 on transparency, in this order: character (bust silhouette), inventory (crossed straps and pouch), stash (iron-bound chest), quests (scroll with wax seal), map (folded map with compass), settings (cog with lantern), social (three figures), codex (open book with flame), atlas (star-wheel), vendor (coin scale)."
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/icons/skills/stat-str.webp",
    "/art/icons/map/marker-waypoint.webp"
   ],
   "current": "Headers show a lettered glyph in the medallion until these exist.",
   "prompt": "Ten small emblem icons for game window headers on a fully transparent background, embossed brass relief style like the silhouette inside the medallion of the first reference: each icon a single bold silhouette in burnished brass with dark recesses, readable at 28 px. Subjects in order: a bust silhouette, crossed leather straps with a pouch, an iron-bound chest, a scroll with a wax seal, a folded map with a compass rose, a cog with a small lantern, three standing figures, an open book with a small flame, an eight-point star wheel, a coin balance scale. Uniform size and line weight, evenly lit, front-facing.",
   "avoid": "No circles or frames around the icons (the medallion frame is separate), no text, no colour other than brass and dark bronze.",
   "acceptance": [
    "10 icons in the stated order",
    "Readable at 28 px",
    "Same embossed brass style"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_emblems.png",
   "publishedAs": "/art/new/windows/window-emblems.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/icons/v4/skills/stat_str.png",
    "art/originals/icons/v4/maps/marker_waypoint.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-emblems.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-inventory-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Inventory window — desktop concept",
   "usedIn": "Layout target for the Inventory window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_inventory_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/references/hud/inventory.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Inventory\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"INVENTORY\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: tabs Inventory / Cosmetics; an equipment paper doll on carved dark stone: tall main-hand and off-hand weapon slots left and right, helmet top centre, armour centre, rings either side of the armour, necklace and earring top corners, gloves bottom left, boots bottom right, belt under the armour; a row of 8 quick potion slots; gold and Zoe counters; an 8 × 4 bag grid. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_inventory_desktop.png",
   "publishedAs": "/art/new/windows/window-inventory-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/inventory_.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-inventory-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-map-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Map window — desktop concept",
   "usedIn": "Layout target for the Map window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_map_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/maps/amber-basin.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Map\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"MAP\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: a painted region map of a desert trade basin filling the body, waypoint plinth markers, quest markers, a legend strip and a Teleport button. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_map_desktop.png",
   "publishedAs": "/art/new/windows/window-map-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/maps/amber_basin.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-map-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-quests-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Quests window — desktop concept",
   "usedIn": "Layout target for the Quests window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_quests_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/references/hud/settings.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Quests\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"QUESTS\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: left column list of chapters and quests with gold diamond (main) and jade diamond (side) markers; right column quest detail with story text, step checklist and rewards row; buttons Auto-Quest, Track, Abandon at the bottom. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_quests_desktop.png",
   "publishedAs": "/art/new/windows/window-quests-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/settings.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-quests-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-settings-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Options window — desktop concept",
   "usedIn": "Layout target for the Options window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_settings_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/references/hud/settings.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Options\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"OPTIONS\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: tabs Graphics / Game / Controls / Interface / Sound / Notifications; rows of label + dropdown field + small round info button, toggles and sliders; Save and Close buttons at the bottom. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_settings_desktop.png",
   "publishedAs": "/art/new/windows/window-settings-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/settings.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-settings-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-social-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Social window — desktop concept",
   "usedIn": "Layout target for the Social window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_social_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Social\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"SOCIAL\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: party list of four members with portrait, level and class weapon icon, friends list with online dots, a channel dropdown, Invite and Leave Party buttons. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_social_desktop.png",
   "publishedAs": "/art/new/windows/window-social-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-social-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-stash-desktop",
   "category": "windows",
   "priority": "P1",
   "title": "Stash window — desktop concept",
   "usedIn": "Layout target for the Stash window on desktop; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_stash_desktop.png",
    "size": "1200×1500",
    "alpha": false
   },
   "references": [
    "/art/references/hud/inventory.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Front-facing concept of the \"Stash\" window of a Silk Road caravan fantasy action MMORPG UI, shown as a single framed window, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"STASH\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: four tabs (Orbs, Gear, Materials, Consumables); a 12 × 10 grid of square cells holding stacked orbs with small stack numbers; a gold deposit field at the bottom. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Fits 1200×1500 with margins"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_stash_desktop.png",
   "publishedAs": "/art/new/windows/window-stash-desktop.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/inventory_.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-stash-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-close-hover",
   "priority": "P2",
   "title": "Window close button — hover",
   "usedIn": "Close button while hovered.",
   "output": {
    "file": "close_button_hover.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/button-normal.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Ornate in-game window header piece for a Silk Road caravan fantasy MMORPG, rebuilt in Zoen materials (aged warm bronze and brass with engraved acanthus scrolls, small jade-green inlay studs, dark tooled leather), front-facing and orthographic, evenly lit, crisp edges, on a fully transparent background. The same close button as close_button.png but lit: brighter red centre glowing softly, polished highlights on the ring. Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Same silhouette as close_button.png",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "close_button_hover"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/close_button_hover.png",
   "publishedAs": "/art/new/ui-kit/close-button-hover.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/button_normal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/close-button-hover.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/close-button-hover.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/close-button-hover.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-anvil",
   "priority": "P2",
   "title": "Tag & marker icon — anvil",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_anvil.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a smith anvil — REFINE / crafting. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_anvil"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_anvil.png",
   "publishedAs": "/art/new/ui-kit/icon-anvil.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-anvil.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-anvil.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-anvil.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-bell",
   "priority": "P2",
   "title": "Tag & marker icon — bell",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_bell.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a temple bell — EVENT / announcement. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_bell"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_bell.png",
   "publishedAs": "/art/new/ui-kit/icon-bell.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-bell.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-bell.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-bell.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-check",
   "priority": "P2",
   "title": "Tag & marker icon — check",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_check.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a bold check mark — DONE / completed. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_check"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_check.png",
   "publishedAs": "/art/new/ui-kit/icon-check.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-check.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-check.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-check.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-chest",
   "priority": "P2",
   "title": "Tag & marker icon — chest",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_chest.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a small treasure chest — LOOT / reward. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_chest"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_chest.png",
   "publishedAs": "/art/new/ui-kit/icon-chest.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-chest.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-chest.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-chest.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-coin",
   "priority": "P2",
   "title": "Tag & marker icon — coin",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_coin.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a gold coin with a square hole (caravan cash) — GOLD price. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_coin"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_coin.png",
   "publishedAs": "/art/new/ui-kit/icon-coin.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-coin.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-coin.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-coin.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-flame",
   "priority": "P2",
   "title": "Tag & marker icon — flame",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_flame.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a single flame — HOT / event active. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_flame"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_flame.png",
   "publishedAs": "/art/new/ui-kit/icon-flame.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-flame.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-flame.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-flame.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-gem",
   "priority": "P2",
   "title": "Tag & marker icon — gem",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_gem.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a faceted cut gem — SOCKET / gem. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_gem"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_gem.png",
   "publishedAs": "/art/new/ui-kit/icon-gem.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-gem.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-gem.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-gem.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-hourglass",
   "priority": "P2",
   "title": "Tag & marker icon — hourglass",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_hourglass.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: an hourglass with falling sand — LIMITED time. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_hourglass"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_hourglass.png",
   "publishedAs": "/art/new/ui-kit/icon-hourglass.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-hourglass.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-hourglass.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-hourglass.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-key",
   "priority": "P2",
   "title": "Tag & marker icon — key",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_key.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: an ornate key — DUNGEON key / unlock. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_key"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_key.png",
   "publishedAs": "/art/new/ui-kit/icon-key.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-key.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-key.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-key.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-lantern",
   "priority": "P2",
   "title": "Tag & marker icon — lantern",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_lantern.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a caravan lantern with a jade flame — CONVOY / night event. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_lantern"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_lantern.png",
   "publishedAs": "/art/new/ui-kit/icon-lantern.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-lantern.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-lantern.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-lantern.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-lock",
   "priority": "P2",
   "title": "Tag & marker icon — lock",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_lock.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a padlock with a jade keyhole gem — BOUND / locked. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_lock"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_lock.png",
   "publishedAs": "/art/new/ui-kit/icon-lock.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-lock.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-lock.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-lock.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-party",
   "priority": "P2",
   "title": "Tag & marker icon — party",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_party.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: two hooded figures, one in front — PARTY / group. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_party"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_party.png",
   "publishedAs": "/art/new/ui-kit/icon-party.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-party.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-party.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-party.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-potion",
   "priority": "P2",
   "title": "Tag & marker icon — potion",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_potion.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a round flask with a jade liquid — CONSUMABLE. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_potion"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_potion.png",
   "publishedAs": "/art/new/ui-kit/icon-potion.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-potion.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-potion.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-potion.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-scroll",
   "priority": "P2",
   "title": "Tag & marker icon — scroll",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_scroll.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a rolled parchment scroll — QUEST. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_scroll"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_scroll.png",
   "publishedAs": "/art/new/ui-kit/icon-scroll.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-scroll.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-scroll.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-scroll.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-shield",
   "priority": "P2",
   "title": "Tag & marker icon — shield",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_shield.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a kite shield with a jade boss — DEFENCE / safe zone. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_shield"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_shield.png",
   "publishedAs": "/art/new/ui-kit/icon-shield.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-shield.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-shield.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-shield.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-skull",
   "priority": "P2",
   "title": "Tag & marker icon — skull",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_skull.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a horned skull with jade eye gems — BOSS / boss-only drop. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_skull"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_skull.png",
   "publishedAs": "/art/new/ui-kit/icon-skull.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-skull.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-skull.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-skull.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-star",
   "priority": "P2",
   "title": "Tag & marker icon — star",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_star.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a five-pointed star — NEW. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_star"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_star.png",
   "publishedAs": "/art/new/ui-kit/icon-star.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-star.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-star.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-star.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-stats",
   "priority": "P2",
   "title": "Tag & marker icon — stats (character attributes)",
   "usedIn": "The character line under the inventory grid and attribute headings (14–28 px).",
   "output": {
    "file": "icon_stats.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "One small game UI glyph: a heater shield with three rising bar-chart bars engraved on it — CHARACTER STATS. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, a small jade gem accent. Bold simple silhouette, centred with about 8 px padding, fully transparent background, same family as the other tag icons. Deliver exactly 128×128 px.",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Readable at 14 px"
   ],
   "kit": {
    "sprite": "icon_stats"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_stats.png",
   "publishedAs": "/art/new/ui-kit/icon-stats.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-stats.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-stats.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-stats.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-swords",
   "priority": "P2",
   "title": "Tag & marker icon — swords",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_swords.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: two crossed sabres — PVP / combat. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_swords"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_swords.png",
   "publishedAs": "/art/new/ui-kit/icon-swords.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-swords.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-swords.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-swords.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no letters, no watermark, no logos of real games, no blue steel (warm bronze, brass, dark leather, jade accents).",
   "current": "The wiki uses a code-drawn stand-in; this file replaces it automatically (art-sync → build-ui-sprites).",
   "id": "ART-UIK-icon-warning",
   "priority": "P2",
   "title": "Tag & marker icon — warning",
   "usedIn": "Tags, tab badges, list markers and in-game markers (14–28 px; TagIcon). The wiki draws a code stand-in with the same name.",
   "output": {
    "file": "icon_warning.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/slider-knob.webp",
    "/brand/zoen-emblem.webp",
    "/ui/cursor-interact.png"
   ],
   "prompt": "One small game UI glyph: a warning triangle with a notch — DANGER / attention. Painted polished gold with a warm top-left light, a dark-brown 3 px outline so it reads at 14 px, small jade-green gem accents where natural. Bold, simple silhouette (no thin details), centred with about 8 px padding, on a fully transparent background. Same family for every icon in this set. Deliver exactly 128×128 px (resize with PIL, keep alpha).",
   "acceptance": [
    "Exactly 128×128, transparent background",
    "Silhouette readable at 14 px on dark leather and on a gold tag",
    "Matches the rest of the icon set (gold, dark outline, jade accents)"
   ],
   "kit": {
    "sprite": "icon_warning"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/icon_warning.png",
   "publishedAs": "/art/new/ui-kit/icon-warning.webp",
   "status": "done",
   "referenceFiles": [
    "apps/wiki/public/ui/slider-knob.webp",
    "apps/wiki/public/brand/zoen-emblem.webp",
    "apps/wiki/public/ui/cursor-interact.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/icon-warning.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/icon-warning.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/icon-warning.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-ph-creature",
   "priority": "P2",
   "title": "Placeholder — creature / mount",
   "usedIn": "Monster, mount and companion popups without art.",
   "output": {
    "file": "placeholder_creature.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/bestiary/duneplate-beetle.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Placeholder art shown in game popups when the real art is not made yet: a dark leather disc inside a bronze ring with a faint embossed silhouette, muted, clearly a placeholder but in style, on a fully transparent background. Silhouette: a four-legged desert beast in profile. Deliver exactly 256×256 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×256 keeping the alpha channel.",
   "acceptance": [
    "Reads as a creature",
    "Exactly 256×256 px, transparent background"
   ],
   "kit": {
    "sprite": "placeholder_creature"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/placeholder_creature.png",
   "publishedAs": "/art/new/ui-kit/placeholder-creature.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/placeholder-creature.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/placeholder-creature.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/placeholder-creature.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-ph-portrait",
   "priority": "P2",
   "title": "Placeholder — NPC portrait",
   "usedIn": "NPC dialogue and popups without a portrait.",
   "output": {
    "file": "placeholder_portrait.png",
    "size": "256×320",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Placeholder art shown in game popups when the real art is not made yet: a dark leather disc inside a bronze ring with a faint embossed silhouette, muted, clearly a placeholder but in style, on a fully transparent background. Silhouette: a hooded caravan traveller bust. Deliver exactly 256×320 px: generate at the closest supported size, then resize/crop with PIL to exactly 256×320 keeping the alpha channel.",
   "acceptance": [
    "Reads as a person",
    "Exactly 256×320 px, transparent background"
   ],
   "kit": {
    "sprite": "placeholder_portrait"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/placeholder_portrait.png",
   "publishedAs": "/art/new/ui-kit/placeholder-portrait.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/placeholder-portrait.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/placeholder-portrait.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/placeholder-portrait.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-invalid",
   "priority": "P2",
   "title": "Inventory slot background — drop not allowed",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_invalid.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: drop not allowed: deep red highlight border and glow (#c0301a). Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_invalid"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_invalid.png",
   "publishedAs": "/art/new/ui-kit/slot-invalid.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-invalid.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-invalid.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-invalid.webp so every page uses the new art"
   }
  },
  {
   "category": "ui-kit",
   "avoid": "No text, no watermark, no blue steel (use warm bronze, brass, dark leather, jade accents), no perspective, no drop shadow outside the canvas.",
   "id": "ART-UIK-slot-valid",
   "priority": "P2",
   "title": "Inventory slot background — drop allowed",
   "usedIn": "Bag, stash, equipment and quick slots; the item icon sits on top.",
   "output": {
    "file": "slot_valid.png",
    "size": "128×128",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/sprites/item-slot-neutral.webp",
    "/art/references/hud/inventory.webp"
   ],
   "current": "The wiki uses a stand-in cut from the accepted UI art; this piece replaces it automatically when delivered (art-sync → build-ui-sprites).",
   "prompt": "Square inventory cell background for a Silk Road caravan fantasy MMORPG (Path of Exile / Silkroad Online style): dark tooled leather well with a subtle inner bevel and a thin bronze inner edge, softly vignetted, no item drawn, seamless enough that neighbouring cells form a grid, on a fully transparent background outside the cell. Accent: drop allowed: jade-green highlight border and glow (#4fd1a0). Deliver exactly 128×128 px: generate at the closest supported size, then resize/crop with PIL to exactly 128×128 keeping the alpha channel.",
   "acceptance": [
    "Item icon on top stays readable",
    "Accent colour visible but subtle",
    "Exactly 128×128 px, transparent background"
   ],
   "kit": {
    "sprite": "slot_valid"
   },
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/ui-kit/slot_valid.png",
   "publishedAs": "/art/new/ui-kit/slot-valid.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/sprites/item-slot-neutral.png",
    "art/originals/references/hud/inventory_.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "apps/wiki/public/ui/slot-valid.webp",
     "field": "sprite",
     "value": "/art/new/ui-kit/slot-valid.webp"
    },
    "text": "art-sync rebuilds the UI kit (tools/build-ui-sprites.py), replacing the stand-in sprite ui/slot-valid.webp so every page uses the new art"
   }
  },
  {
   "id": "ART-ATL-far-agi_int-0",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Gearwright",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-agi_int-0.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Gearwright\": Summons, traps and turrets have +20% life and damage. Sector colour #4f9aa0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_agi_int_0"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-agi_int-0.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-agi-int-0.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_agi_int_0\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-agi-int-0.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-agi-int-0.webp\" on nodes[id=\"far_agi_int_0\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-agi_int-1",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Night Sky",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-agi_int-1.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Night Sky\": +15% projectile damage against enemies farther than 8 m. Sector colour #4f9aa0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_agi_int_1"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-agi_int-1.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-agi-int-1.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_agi_int_1\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-agi-int-1.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-agi-int-1.webp\" on nodes[id=\"far_agi_int_1\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-agi-0",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Duneskipper",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-agi-0.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Duneskipper\": +8% movement speed; +10% evasion rating. Sector colour #5f9e4f. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_agi_0"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-agi-0.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-agi-0.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_agi_0\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-agi-0.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-agi-0.webp\" on nodes[id=\"far_agi_0\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-agi-1",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Hawk Reflex",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-agi-1.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Hawk Reflex\": +12% critical strike chance. Sector colour #5f9e4f. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_agi_1"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-agi-1.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-agi-1.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_agi_1\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-agi-1.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-agi-1.webp\" on nodes[id=\"far_agi_1\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-int_str-0",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Thundering Bulwark",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-int_str-0.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Thundering Bulwark\": +10% damage while Superarmoured. Sector colour #8a6fc0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_int_str_0"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-int_str-0.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-int-str-0.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_int_str_0\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-int-str-0.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-int-str-0.webp\" on nodes[id=\"far_int_str_0\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-int_str-1",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Jade Conduit",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-int_str-1.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Jade Conduit\": +12% elemental damage; +5% maximum mana. Sector colour #8a6fc0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_int_str_1"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-int_str-1.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-int-str-1.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_int_str_1\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-int-str-1.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-int-str-1.webp\" on nodes[id=\"far_int_str_1\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-int-0",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Archivist's Recall",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-int-0.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Archivist's Recall\": +10% cooldown recovery speed. Sector colour #4a78c2. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_int_0"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-int-0.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-int-0.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_int_0\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-int-0.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-int-0.webp\" on nodes[id=\"far_int_0\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-int-1",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Ember Script",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-int-1.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Ember Script\": Burn, chill and shock you inflict are 15% stronger. Sector colour #4a78c2. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_int_1"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-int-1.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-int-1.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_int_1\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-int-1.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-int-1.webp\" on nodes[id=\"far_int_1\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-str_agi-0",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Blood and Sand",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-str_agi-0.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Blood and Sand\": +3% life leech against bleeding enemies. Sector colour #9c8a3a. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_str_agi_0"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-str_agi-0.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-str-agi-0.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_str_agi_0\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-str-agi-0.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-str-agi-0.webp\" on nodes[id=\"far_str_agi_0\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-str_agi-1",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Shieldbearer's Rest",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-str_agi-1.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Shieldbearer's Rest\": +8% maximum life; block recovery +15%. Sector colour #9c8a3a. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_str_agi_1"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-str_agi-1.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-str-agi-1.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_str_agi_1\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-str-agi-1.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-str-agi-1.webp\" on nodes[id=\"far_str_agi_1\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-str-0",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Iron Lung",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-str-0.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Iron Lung\": +8% maximum life; regenerate 0.5% life per second. Sector colour #c8553d. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_str_0"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-str-0.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-str-0.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_str_0\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-str-0.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-str-0.webp\" on nodes[id=\"far_str_0\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-far-str-1",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Deep Roots",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-far-str-1.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Deep Roots\": +10% armour; stun and knockdown on you last 20% shorter. Sector colour #c8553d. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "far_str_1"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-far-str-1.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-far-str-1.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"far_str_1\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-far-str-1.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-far-str-1.webp\" on nodes[id=\"far_str_1\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-bow",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Long Horizon",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-bow.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Long Horizon\": +12% bow damage; +15% projectile speed. Sector colour #5f9e4f. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_bow"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-bow.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-bow.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_bow\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-bow.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-bow.webp\" on nodes[id=\"notable_bow\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-censer",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Thurible Rite",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-censer.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Thurible Rite\": +12% censer damage; your auras have 15% more area. Sector colour #8a6fc0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_censer"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-censer.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-censer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_censer\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-censer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-censer.webp\" on nodes[id=\"notable_censer\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-chakram",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Moonring Discipline",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-chakram.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Moonring Discipline\": +12% chakram damage; chakrams ricochet +1 time. Sector colour #4f9aa0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_chakram"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-chakram.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-chakram.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_chakram\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-chakram.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-chakram.webp\" on nodes[id=\"notable_chakram\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-claws",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Feral Storm",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-claws.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Feral Storm\": +12% claw damage; +2% life leech with claws. Sector colour #5f9e4f. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_claws"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-claws.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-claws.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_claws\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-claws.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-claws.webp\" on nodes[id=\"notable_claws\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-crossbow",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Copper Craft",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-crossbow.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Copper Craft\": +12% crossbow damage; traps and turrets deal +20% damage. Sector colour #9c8a3a. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_crossbow"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-crossbow.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-crossbow.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_crossbow\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-crossbow.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-crossbow.webp\" on nodes[id=\"notable_crossbow\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-daggers",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Silent Thread",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-daggers.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Silent Thread\": +12% dagger damage; +20% critical damage vs Exposed enemies. Sector colour #5f9e4f. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_daggers"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-daggers.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-daggers.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_daggers\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-daggers.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-daggers.webp\" on nodes[id=\"notable_daggers\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-dual_swords",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Twin Rivers",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-dual_swords.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Twin Rivers\": +12% damage while dual wielding; +6% attack speed. Sector colour #9c8a3a. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_dual_swords"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-dual_swords.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-dual-swords.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_dual_swords\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-dual-swords.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-dual-swords.webp\" on nodes[id=\"notable_dual_swords\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-glaive",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Moonlit Reach",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-glaive.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Moonlit Reach\": +12% glaive damage; barriers you grant are 15% stronger. Sector colour #8a6fc0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_glaive"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-glaive.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-glaive.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_glaive\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-glaive.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-glaive.webp\" on nodes[id=\"notable_glaive\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-greataxe",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Woodsplitter's Creed",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-greataxe.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Woodsplitter's Creed\": +15% greataxe damage; bleeds you inflict deal +15% damage. Sector colour #c8553d. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_greataxe"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-greataxe.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-greataxe.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_greataxe\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-greataxe.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-greataxe.webp\" on nodes[id=\"notable_greataxe\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-greatsword",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Sunsworn Form",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-greatsword.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Sunsworn Form\": +15% greatsword damage; +20% damage vs staggered or launched enemies. Sector colour #c8553d. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_greatsword"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-greatsword.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-greatsword.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_greatsword\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-greatsword.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-greatsword.webp\" on nodes[id=\"notable_greatsword\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-pipa",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Caravan Song",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-pipa.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Caravan Song\": +12% pipa damage; party buffs you cast last 20% longer. Sector colour #4f9aa0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_pipa"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-pipa.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-pipa.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_pipa\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-pipa.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-pipa.webp\" on nodes[id=\"notable_pipa\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-scepter",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Lantern Keeper",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-scepter.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Lantern Keeper\": +20% summon damage; +1 maximum Lantern Wisp. Sector colour #8a6fc0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_scepter"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-scepter.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-scepter.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_scepter\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-scepter.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-scepter.webp\" on nodes[id=\"notable_scepter\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-storm_staff",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Thunder Monk",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-storm_staff.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Thunder Monk\": +12% staff damage; +10% shock chance. Sector colour #4a78c2. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_storm_staff"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-storm_staff.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-storm-staff.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_storm_staff\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-storm-staff.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-storm-staff.webp\" on nodes[id=\"notable_storm_staff\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-sword_shield",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Caravan Wall",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-sword_shield.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Caravan Wall\": +6% block chance; +12% one-handed sword damage. Sector colour #9c8a3a. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_sword_shield"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-sword_shield.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-sword-shield.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_sword_shield\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-sword-shield.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-sword-shield.webp\" on nodes[id=\"notable_sword_shield\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-tome",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Glass Scribe",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-tome.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Glass Scribe\": +12% tome damage; chill you inflict lasts 25% longer. Sector colour #4a78c2. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_tome"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-tome.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-tome.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_tome\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-tome.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-tome.webp\" on nodes[id=\"notable_tome\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-wand",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Prismatic Mind",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-wand.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Prismatic Mind\": +12% wand damage; +10% chance to apply elemental ailments. Sector colour #4a78c2. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_wand"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-wand.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-wand.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_wand\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-wand.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-wand.webp\" on nodes[id=\"notable_wand\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-war_fan",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Silk Gale",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-war_fan.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Silk Gale\": +12% war fan damage; your heals are 15% stronger. Sector colour #4f9aa0. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_war_fan"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-war_fan.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-war-fan.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_war_fan\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-war-fan.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-war-fan.webp\" on nodes[id=\"notable_war_fan\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-ATL-notable-warhammer",
   "category": "atlas-icons",
   "priority": "P2",
   "title": "Atlas notable icon — Anvil Heart",
   "usedIn": "Passive Atlas node and tooltip.",
   "output": {
    "file": "ART-ATL-notable-warhammer.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/combo-bellbreaker.webp",
    "/art/icons/skills/stat-str.webp"
   ],
   "current": "Rendered with a tinted stat glyph until art arrives.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Symbolise \"Anvil Heart\": +15% warhammer damage; stuns you inflict last +20%. Sector colour #c8553d. Simple emblematic composition readable at 32 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no numbers.",
   "acceptance": [
    "Readable at 32 px",
    "Same ring family as skill icons"
   ],
   "source": {
    "kind": "atlas",
    "id": "notable_warhammer"
   },
   "deliver": "art/source/atlas-icons/ART-ATL-notable-warhammer.png",
   "publishedAs": "/art/new/atlas-icons/art-atl-notable-warhammer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/combo_bellbreaker.png",
    "art/originals/icons/v4/skills/stat_str.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/atlas.json (generated)",
     "where": "nodes[id=\"notable_warhammer\"]",
     "field": "icon",
     "note": "gen-atlas picks it up from art-delivered.json",
     "value": "/art/new/atlas-icons/art-atl-notable-warhammer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/atlas-icons/art-atl-notable-warhammer.webp\" on nodes[id=\"notable_warhammer\"] in packages/game-data/data/atlas.json (generated)"
   }
  },
  {
   "id": "ART-COS-aura_bell_echo",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Bell Echo (aura)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "aura_bell_echo.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a character silhouette wrapped in the aura: Faint golden sound-rings pulse outward every few seconds. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/aura_bell_echo.png",
   "publishedAs": "/art/new/cosmetic-icons/aura-bell-echo.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/aura-bell-echo.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-aura_lantern_halo",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Lantern Halo (aura)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "aura_lantern_halo.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a character silhouette wrapped in the aura: Small floating lantern lights circle the shoulders. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/aura_lantern_halo.png",
   "publishedAs": "/art/new/cosmetic-icons/aura-lantern-halo.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/aura-lantern-halo.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-aura_sandstorm_veil",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Sandstorm Veil (aura)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "aura_sandstorm_veil.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a character silhouette wrapped in the aura: Fine sand swirls around the feet and drifts behind when running. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/aura_sandstorm_veil.png",
   "publishedAs": "/art/new/cosmetic-icons/aura-sandstorm-veil.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/aura-sandstorm-veil.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-cos_ashen_caravaneer",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Ashen Caravaneer (costume)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "cos_ashen_caravaneer.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a costume on a faceless mannequin bust: Charred caravan coat with ember-lit lantern clasps and ash-grey veil. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/cos_ashen_caravaneer.png",
   "publishedAs": "/art/new/cosmetic-icons/cos-ashen-caravaneer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/cos-ashen-caravaneer.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-cos_bellbound_regalia",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Bellbound Regalia (costume)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "cos_bellbound_regalia.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a costume on a faceless mannequin bust: Bronze bell-scale mantle and a jade-inlaid circlet that chimes softly. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/cos_bellbound_regalia.png",
   "publishedAs": "/art/new/cosmetic-icons/cos-bellbound-regalia.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/cos-bellbound-regalia.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-cos_lantern_warden",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Lantern Warden (costume)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "cos_lantern_warden.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a costume on a faceless mannequin bust: Deep-blue convoy robes with lantern-glass pauldrons. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/cos_lantern_warden.png",
   "publishedAs": "/art/new/cosmetic-icons/cos-lantern-warden.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/cos-lantern-warden.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-cos_saltway_nomad",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Saltway Nomad (costume)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "cos_saltway_nomad.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a costume on a faceless mannequin bust: Sun-bleached desert wraps, brass-buckled sash, salt-crusted boots. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/cos_saltway_nomad.png",
   "publishedAs": "/art/new/cosmetic-icons/cos-saltway-nomad.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/cos-saltway-nomad.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-wfx_jade_wake",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Jade Wake (weapon effect)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "wfx_jade_wake.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a greatsword blade with the effect: A soft jade ribbon trails every swing and fades like mist. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/wfx_jade_wake.png",
   "publishedAs": "/art/new/cosmetic-icons/wfx-jade-wake.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/wfx-jade-wake.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-wfx_kilnfire_edge",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Kilnfire Edge (weapon effect)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "wfx_kilnfire_edge.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a greatsword blade with the effect: Orange kiln embers drip from the blade; molten glow on impacts. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/wfx_kilnfire_edge.png",
   "publishedAs": "/art/new/cosmetic-icons/wfx-kilnfire-edge.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/wfx-kilnfire-edge.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-COS-wfx_stormvein_edge",
   "category": "cosmetic-icons",
   "priority": "P2",
   "title": "Cosmetic icon — Stormvein Edge (weapon effect)",
   "usedIn": "Cosmetics tab, side-quest rewards, Zoe shop.",
   "output": {
    "file": "wfx_stormvein_edge.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/horizon-cleave.webp"
   ],
   "current": "Text only until generated.",
   "avoid": "No text, no frame other than the circular icon ring.",
   "prompt": "Circular cosmetic icon (same bronze ring style as the reference skill icons) showing a greatsword blade with the effect: Thin lilac lightning veins crawl along the weapon. Transparent outside the ring.",
   "acceptance": [
    "1024×1024, transparent outside the ring"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/cosmetic-icons/wfx_stormvein_edge.png",
   "publishedAs": "/art/new/cosmetic-icons/wfx-stormvein-edge.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/skills/horizon_cleave.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/cosmetic-icons/wfx-stormvein-edge.webp and records it in packages/game-data/data/art-delivered.json; pages that show cosmetic-icons read it from there."
   }
  },
  {
   "id": "ART-CON-atlas_reset",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Atlas Unwinding Scroll (reset)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-atlas_reset.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Atlas Unwinding Scroll\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: Refund every allocated Atlas node (in town). Free before level 20 anyway. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "atlas_reset"
   },
   "deliver": "art/source/item-icons/ART-CON-atlas_reset.png",
   "publishedAs": "/art/new/item-icons/art-con-atlas-reset.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"atlas_reset\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-atlas-reset.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-atlas-reset.webp\" on items[id=\"atlas_reset\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-codex_reset",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Codex Unlearning Scroll (reset)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-codex_reset.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Codex Unlearning Scroll\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: Refund all 8 skill picks and facets (in town). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "codex_reset"
   },
   "deliver": "art/source/item-icons/ART-CON-codex_reset.png",
   "publishedAs": "/art/new/item-icons/art-con-codex-reset.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"codex_reset\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-codex-reset.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-codex-reset.webp\" on items[id=\"codex_reset\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-elixir_fury",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Elixir of Fury (elixir)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-elixir_fury.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Elixir of Fury\" — a tall ornate bronze vial with a jewel stopper. Effect to suggest: +6% damage for 30 min. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "elixir_fury"
   },
   "deliver": "art/source/item-icons/ART-CON-elixir_fury.png",
   "publishedAs": "/art/new/item-icons/art-con-elixir-fury.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"elixir_fury\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-elixir-fury.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-elixir-fury.webp\" on items[id=\"elixir_fury\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-elixir_haste",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Elixir of Haste (elixir)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-elixir_haste.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Elixir of Haste\" — a tall ornate bronze vial with a jewel stopper. Effect to suggest: +5% attack and cast speed for 30 min. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "elixir_haste"
   },
   "deliver": "art/source/item-icons/ART-CON-elixir_haste.png",
   "publishedAs": "/art/new/item-icons/art-con-elixir-haste.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"elixir_haste\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-elixir-haste.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-elixir-haste.webp\" on items[id=\"elixir_haste\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-elixir_iron",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Elixir of Iron (elixir)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-elixir_iron.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Elixir of Iron\" — a tall ornate bronze vial with a jewel stopper. Effect to suggest: +15% armour and +5% maximum life for 30 min. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "elixir_iron"
   },
   "deliver": "art/source/item-icons/ART-CON-elixir_iron.png",
   "publishedAs": "/art/new/item-icons/art-con-elixir-iron.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"elixir_iron\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-elixir-iron.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-elixir-iron.webp\" on items[id=\"elixir_iron\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-elixir_resist",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Caravan Remedy (elixir)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-elixir_resist.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Caravan Remedy\" — a tall ornate bronze vial with a jewel stopper. Effect to suggest: +12% to all elemental resistances for 30 min. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "elixir_resist"
   },
   "deliver": "art/source/item-icons/ART-CON-elixir_resist.png",
   "publishedAs": "/art/new/item-icons/art-con-elixir-resist.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"elixir_resist\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-elixir-resist.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-elixir-resist.webp\" on items[id=\"elixir_resist\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-elixir_scholar",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Elixir of the Scholar (elixir)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-elixir_scholar.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Elixir of the Scholar\" — a tall ornate bronze vial with a jewel stopper. Effect to suggest: +3 mana per second for 30 min. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "elixir_scholar"
   },
   "deliver": "art/source/item-icons/ART-CON-elixir_scholar.png",
   "publishedAs": "/art/new/item-icons/art-con-elixir-scholar.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"elixir_scholar\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-elixir-scholar.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-elixir-scholar.webp\" on items[id=\"elixir_scholar\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-facet_reset",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Facet Reed (reset)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-facet_reset.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Facet Reed\" — a rolled parchment scroll with a bronze cap and wax seal, glyph hinting at its use. Effect to suggest: Change one facet choice anywhere (trainers do it for free in town). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "facet_reset"
   },
   "deliver": "art/source/item-icons/ART-CON-facet_reset.png",
   "publishedAs": "/art/new/item-icons/art-con-facet-reset.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"facet_reset\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-facet-reset.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-facet-reset.webp\" on items[id=\"facet_reset\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-field_report",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Field Report Scroll (test)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-field_report.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Field Report Scroll\" — a compact caravan utility item. Effect to suggest: Opens the bug report form with your position, build code, last 60 s combat log and a screenshot attached. Alpha and beta only. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "field_report"
   },
   "deliver": "art/source/item-icons/ART-CON-field_report.png",
   "publishedAs": "/art/new/item-icons/art-con-field-report.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"field_report\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-field-report.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-field-report.webp\" on items[id=\"field_report\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-fireworks",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Caravan Fireworks (cosmetic)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-fireworks.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Caravan Fireworks\" — a compact caravan utility item. Effect to suggest: A burst of lantern fireworks overhead. Bought with Zoe. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "fireworks"
   },
   "deliver": "art/source/item-icons/ART-CON-fireworks.png",
   "publishedAs": "/art/new/item-icons/art-con-fireworks.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"fireworks\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-fireworks.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-fireworks.webp\" on items[id=\"fireworks\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-food_date_tea",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Date Tea (food)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-food_date_tea.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Date Tea\" — Silk Road street food on a small brass plate. Effect to suggest: While resting out of combat: regenerate 4% mana per second. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "food_date_tea"
   },
   "deliver": "art/source/item-icons/ART-CON-food_date_tea.png",
   "publishedAs": "/art/new/item-icons/art-con-food-date-tea.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"food_date_tea\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-food-date-tea.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-food-date-tea.webp\" on items[id=\"food_date_tea\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-food_flatbread",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Saffron Flatbread (food)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-food_flatbread.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Saffron Flatbread\" — Silk Road street food on a small brass plate. Effect to suggest: While resting out of combat: regenerate 4% life per second. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "food_flatbread"
   },
   "deliver": "art/source/item-icons/ART-CON-food_flatbread.png",
   "publishedAs": "/art/new/item-icons/art-con-food-flatbread.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"food_flatbread\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-food-flatbread.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-food-flatbread.webp\" on items[id=\"food_flatbread\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-food_pomegranate",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Pomegranate Sherbet (food)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-food_pomegranate.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Pomegranate Sherbet\" — Silk Road street food on a small brass plate. Effect to suggest: Food buff: +4% movement speed and +5% evasion for 15 min. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "food_pomegranate"
   },
   "deliver": "art/source/item-icons/ART-CON-food_pomegranate.png",
   "publishedAs": "/art/new/item-icons/art-con-food-pomegranate.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"food_pomegranate\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-food-pomegranate.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-food-pomegranate.webp\" on items[id=\"food_pomegranate\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-food_spiced_skewer",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Spiced Lamb Skewer (food)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-food_spiced_skewer.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Spiced Lamb Skewer\" — Silk Road street food on a small brass plate. Effect to suggest: Food buff: +3% damage for 15 min (one food buff at a time). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "food_spiced_skewer"
   },
   "deliver": "art/source/item-icons/ART-CON-food_spiced_skewer.png",
   "publishedAs": "/art/new/item-icons/art-con-food-spiced-skewer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"food_spiced_skewer\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-food-spiced-skewer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-food-spiced-skewer.webp\" on items[id=\"food_spiced_skewer\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-grounding_salt",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Grounding Salt (cleanse)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-grounding_salt.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Grounding Salt\" — a compact caravan utility item. Effect to suggest: Remove shock; 4 s immunity to shock. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "grounding_salt"
   },
   "deliver": "art/source/item-icons/ART-CON-grounding_salt.png",
   "publishedAs": "/art/new/item-icons/art-con-grounding-salt.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"grounding_salt\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-grounding-salt.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-grounding-salt.webp\" on items[id=\"grounding_salt\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-lantern_fuel",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Lantern Fuel (event)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-lantern_fuel.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Lantern Fuel\" — a compact caravan utility item. Effect to suggest: Lantern Convoy objective item: refuels a beacon. Event only. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "lantern_fuel"
   },
   "deliver": "art/source/item-icons/ART-CON-lantern_fuel.png",
   "publishedAs": "/art/new/item-icons/art-con-lantern-fuel.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"lantern_fuel\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-lantern-fuel.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-lantern-fuel.webp\" on items[id=\"lantern_fuel\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-monster_lure",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Carrion Lure (utility)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-monster_lure.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Carrion Lure\" — a compact caravan utility item. Effect to suggest: In a hunting area: pull the next 2 respawns of nearby packs forward immediately (once per 10 min). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "monster_lure"
   },
   "deliver": "art/source/item-icons/ART-CON-monster_lure.png",
   "publishedAs": "/art/new/item-icons/art-con-monster-lure.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"monster_lure\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-monster-lure.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-monster-lure.webp\" on items[id=\"monster_lure\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-smoke_bomb",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Smoke Bomb (utility)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-smoke_bomb.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Smoke Bomb\" — a compact caravan utility item. Effect to suggest: Drop aggro of monsters within 10 m and become hidden for 2 s (PvE only). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "smoke_bomb"
   },
   "deliver": "art/source/item-icons/ART-CON-smoke_bomb.png",
   "publishedAs": "/art/new/item-icons/art-con-smoke-bomb.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"smoke_bomb\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-smoke-bomb.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-smoke-bomb.webp\" on items[id=\"smoke_bomb\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-thawing_tea",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Thawing Tea (cleanse)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-thawing_tea.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Thawing Tea\" — a compact caravan utility item. Effect to suggest: Remove chill and root (freeze); 4 s immunity to chill. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "thawing_tea"
   },
   "deliver": "art/source/item-icons/ART-CON-thawing_tea.png",
   "publishedAs": "/art/new/item-icons/art-con-thawing-tea.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"thawing_tea\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-thawing-tea.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-thawing-tea.webp\" on items[id=\"thawing_tea\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-CON-universal_pill",
   "category": "item-icons",
   "priority": "P2",
   "title": "Consumable icon — Universal Pill (cleanse)",
   "usedIn": "Quick slots 1–8 / F1–F8, inventory, vendor window, popups.",
   "output": {
    "file": "ART-CON-universal_pill.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/icons/currencies/awakening-orb.webp",
    "/art/icons/gems/emberheart.webp"
   ],
   "current": "Quick slots show a lettered placeholder until this exists.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Universal Pill\" — a compact caravan utility item. Effect to suggest: Remove burn, chill, shock, slow and bleed; 2 s immunity to them. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text on labels, no background.",
   "acceptance": [
    "Transparent background",
    "Readable at 40 px in a quick slot",
    "Category recognisable by silhouette"
   ],
   "source": {
    "kind": "consumable",
    "id": "universal_pill"
   },
   "deliver": "art/source/item-icons/ART-CON-universal_pill.png",
   "publishedAs": "/art/new/item-icons/art-con-universal-pill.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/currencies/awakening_orb.png",
    "art/originals/icons/v4/gems/emberheart.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/consumables.json",
     "where": "items[id=\"universal_pill\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-con-universal-pill.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-con-universal-pill.webp\" on items[id=\"universal_pill\"] in packages/game-data/data/consumables.json"
   }
  },
  {
   "id": "ART-MAT-ashroot_scale",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Ashroot Scale (from Ashroot Pangolin)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-ashroot_scale.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/ashroot-pangolin.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Ashroot Scale\", a scale harvested from the Ashroot Pangolin shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "ashroot_scale"
   },
   "deliver": "art/source/item-icons/ART-MAT-ashroot_scale.png",
   "publishedAs": "/art/new/item-icons/art-mat-ashroot-scale.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/ashroot_pangolin.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"ashroot_scale\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-ashroot-scale.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-ashroot-scale.webp\" on items[id=\"ashroot_scale\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-bandit_toll_token",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Bandit Toll Token (from Saltway Bandit)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-bandit_toll_token.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/saltway-lancer.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Bandit Toll Token\", a token harvested from the Saltway Bandit shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "bandit_toll_token"
   },
   "deliver": "art/source/item-icons/ART-MAT-bandit_toll_token.png",
   "publishedAs": "/art/new/item-icons/art-mat-bandit-toll-token.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/saltway_lancer.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"bandit_toll_token\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-bandit-toll-token.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-bandit-toll-token.webp\" on items[id=\"bandit_toll_token\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-basalt_chitin",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Basalt Chitin (from Basaltsting Scorpion)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-basalt_chitin.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/basaltsting-scorpion.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Basalt Chitin\", a carapace harvested from the Basaltsting Scorpion shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "basalt_chitin"
   },
   "deliver": "art/source/item-icons/ART-MAT-basalt_chitin.png",
   "publishedAs": "/art/new/item-icons/art-mat-basalt-chitin.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/basaltsting_scorpion.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"basalt_chitin\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-basalt-chitin.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-basalt-chitin.webp\" on items[id=\"basalt_chitin\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-basalt_stinger",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Basalt Stinger (from Basaltsting Scorpion)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-basalt_stinger.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/basaltsting-scorpion.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Basalt Stinger\", a stinger harvested from the Basaltsting Scorpion shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "basalt_stinger"
   },
   "deliver": "art/source/item-icons/ART-MAT-basalt_stinger.png",
   "publishedAs": "/art/new/item-icons/art-mat-basalt-stinger.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/basaltsting_scorpion.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"basalt_stinger\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-basalt-stinger.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-basalt-stinger.webp\" on items[id=\"basalt_stinger\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-beetle_lamp_gland",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Beetle Lamp-gland (from Duneplate Beetle)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-beetle_lamp_gland.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duneplate-beetle.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Beetle Lamp-gland\", a gland harvested from the Duneplate Beetle shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "beetle_lamp_gland"
   },
   "deliver": "art/source/item-icons/ART-MAT-beetle_lamp_gland.png",
   "publishedAs": "/art/new/item-icons/art-mat-beetle-lamp-gland.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"beetle_lamp_gland\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-beetle-lamp-gland.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-beetle-lamp-gland.webp\" on items[id=\"beetle_lamp_gland\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-bellwhisker",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Bellwhisker (from Bellwhisker Jerboa)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-bellwhisker.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/bellwhisker-jerboa.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Bellwhisker\", a whisker harvested from the Bellwhisker Jerboa shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "bellwhisker"
   },
   "deliver": "art/source/item-icons/ART-MAT-bellwhisker.png",
   "publishedAs": "/art/new/item-icons/art-mat-bellwhisker.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/bellwhisker_jerboa.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"bellwhisker\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-bellwhisker.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-bellwhisker.webp\" on items[id=\"bellwhisker\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-boar_bristles",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Boar Bristles (from Orchard Boar)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-boar_bristles.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/orchard-boar.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Boar Bristles\", a bristle harvested from the Orchard Boar shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "boar_bristles"
   },
   "deliver": "art/source/item-icons/ART-MAT-boar_bristles.png",
   "publishedAs": "/art/new/item-icons/art-mat-boar-bristles.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/orchard_boar.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"boar_bristles\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-boar-bristles.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-boar-bristles.webp\" on items[id=\"boar_bristles\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-brineshell_plate",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Brineshell Plate (from Brineback Tortoise)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-brineshell_plate.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/brineback-tortoise.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Brineshell Plate\", a shell harvested from the Brineback Tortoise shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "brineshell_plate"
   },
   "deliver": "art/source/item-icons/ART-MAT-brineshell_plate.png",
   "publishedAs": "/art/new/item-icons/art-mat-brineshell-plate.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/brineback_tortoise.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"brineshell_plate\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-brineshell-plate.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-brineshell-plate.webp\" on items[id=\"brineshell_plate\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-clay_venom_sac",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Clay Venom Sac (from Clayclaw Scorpion)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-clay_venom_sac.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/clayclaw-scorpion.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Clay Venom Sac\", a venom harvested from the Clayclaw Scorpion shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "clay_venom_sac"
   },
   "deliver": "art/source/item-icons/ART-MAT-clay_venom_sac.png",
   "publishedAs": "/art/new/item-icons/art-mat-clay-venom-sac.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/clayclaw_scorpion.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"clay_venom_sac\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-clay-venom-sac.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-clay-venom-sac.webp\" on items[id=\"clay_venom_sac\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-clayclaw_pincer",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Clayclaw Pincer (from Clayclaw Scorpion)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-clayclaw_pincer.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/clayclaw-scorpion.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Clayclaw Pincer\", a pincer harvested from the Clayclaw Scorpion shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "clayclaw_pincer"
   },
   "deliver": "art/source/item-icons/ART-MAT-clayclaw_pincer.png",
   "publishedAs": "/art/new/item-icons/art-mat-clayclaw-pincer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/clayclaw_scorpion.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"clayclaw_pincer\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-clayclaw-pincer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-clayclaw-pincer.webp\" on items[id=\"clayclaw_pincer\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-dew_soft_pelt",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Dew-soft Pelt (from Dewhorn Hare)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-dew_soft_pelt.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/dewhorn-hare.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Dew-soft Pelt\", a pelt harvested from the Dewhorn Hare shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "dew_soft_pelt"
   },
   "deliver": "art/source/item-icons/ART-MAT-dew_soft_pelt.png",
   "publishedAs": "/art/new/item-icons/art-mat-dew-soft-pelt.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/dewhorn_hare.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"dew_soft_pelt\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-dew-soft-pelt.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-dew-soft-pelt.webp\" on items[id=\"dew_soft_pelt\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-duneplate_shard",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Duneplate Shard (from Duneplate Beetle)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-duneplate_shard.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duneplate-beetle.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Duneplate Shard\", a carapace harvested from the Duneplate Beetle shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "duneplate_shard"
   },
   "deliver": "art/source/item-icons/ART-MAT-duneplate_shard.png",
   "publishedAs": "/art/new/item-icons/art-mat-duneplate-shard.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duneplate_beetle.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"duneplate_shard\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-duneplate-shard.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-duneplate-shard.webp\" on items[id=\"duneplate_shard\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-duskfang_hide",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Duskfang Hide (from Duskfang Hyena)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-duskfang_hide.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duskfang-hyena.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Duskfang Hide\", a pelt harvested from the Duskfang Hyena shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "duskfang_hide"
   },
   "deliver": "art/source/item-icons/ART-MAT-duskfang_hide.png",
   "publishedAs": "/art/new/item-icons/art-mat-duskfang-hide.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duskfang_hyena.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"duskfang_hide\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-duskfang-hide.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-duskfang-hide.webp\" on items[id=\"duskfang_hide\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-emberhorn_scale",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Emberhorn Scale (from Emberhorn Viper)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-emberhorn_scale.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/emberhorn-viper.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Emberhorn Scale\", a scale harvested from the Emberhorn Viper shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "emberhorn_scale"
   },
   "deliver": "art/source/item-icons/ART-MAT-emberhorn_scale.png",
   "publishedAs": "/art/new/item-icons/art-mat-emberhorn-scale.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/emberhorn_viper.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"emberhorn_scale\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-emberhorn-scale.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-emberhorn-scale.webp\" on items[id=\"emberhorn_scale\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-fox_fang",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Fox Fang (from Reed Fox)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-fox_fang.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/reed-fox.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Fox Fang\", a fang harvested from the Reed Fox shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "fox_fang"
   },
   "deliver": "art/source/item-icons/ART-MAT-fox_fang.png",
   "publishedAs": "/art/new/item-icons/art-mat-fox-fang.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/reed_fox.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"fox_fang\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-fox-fang.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-fox-fang.webp\" on items[id=\"fox_fang\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-hyena_jawbone",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Hyena Jawbone (from Duskfang Hyena)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-hyena_jawbone.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/duskfang-hyena.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Hyena Jawbone\", a bone harvested from the Duskfang Hyena shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "hyena_jawbone"
   },
   "deliver": "art/source/item-icons/ART-MAT-hyena_jawbone.png",
   "publishedAs": "/art/new/item-icons/art-mat-hyena-jawbone.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/duskfang_hyena.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"hyena_jawbone\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-hyena-jawbone.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-hyena-jawbone.webp\" on items[id=\"hyena_jawbone\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-jadecrest_hide",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Jadecrest Hide (from Jadecrest Monitor)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-jadecrest_hide.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/jadecrest-monitor.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Jadecrest Hide\", a hide harvested from the Jadecrest Monitor shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "jadecrest_hide"
   },
   "deliver": "art/source/item-icons/ART-MAT-jadecrest_hide.png",
   "publishedAs": "/art/new/item-icons/art-mat-jadecrest-hide.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/jadecrest_monitor.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"jadecrest_hide\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-jadecrest-hide.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-jadecrest-hide.webp\" on items[id=\"jadecrest_hide\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-kestrel_talon",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Kestrel Talon (from Stormwing Kestrel)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-kestrel_talon.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/stormwing-kestrel.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Kestrel Talon\", a talon harvested from the Stormwing Kestrel shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "kestrel_talon"
   },
   "deliver": "art/source/item-icons/ART-MAT-kestrel_talon.png",
   "publishedAs": "/art/new/item-icons/art-mat-kestrel-talon.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/stormwing_kestrel.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"kestrel_talon\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-kestrel-talon.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-kestrel-talon.webp\" on items[id=\"kestrel_talon\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-kharuun_ash_lantern",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Ashen Caravan Lantern (from Kharuun, the Ashen Caravan)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-kharuun_ash_lantern.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/kharuun-ashen-caravan.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Ashen Caravan Lantern\", a boss trophy harvested from the Kharuun, the Ashen Caravan shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "kharuun_ash_lantern"
   },
   "deliver": "art/source/item-icons/ART-MAT-kharuun_ash_lantern.png",
   "publishedAs": "/art/new/item-icons/art-mat-kharuun-ash-lantern.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/kharuun_ashen_caravan.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"kharuun_ash_lantern\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-kharuun-ash-lantern.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-kharuun-ash-lantern.webp\" on items[id=\"kharuun_ash_lantern\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-kilnback_shell",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Kilnback Shell (from Kilnback Scarab)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-kilnback_shell.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/kilnback-scarab.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Kilnback Shell\", a carapace harvested from the Kilnback Scarab shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "kilnback_shell"
   },
   "deliver": "art/source/item-icons/ART-MAT-kilnback_shell.png",
   "publishedAs": "/art/new/item-icons/art-mat-kilnback-shell.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/kilnback_scarab.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"kilnback_shell\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-kilnback-shell.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-kilnback-shell.webp\" on items[id=\"kilnback_shell\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-lizard_claw",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Lizard Claw (from Reedscale Lizard)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-lizard_claw.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/reedscale-lizard.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Lizard Claw\", a claw harvested from the Reedscale Lizard shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "lizard_claw"
   },
   "deliver": "art/source/item-icons/ART-MAT-lizard_claw.png",
   "publishedAs": "/art/new/item-icons/art-mat-lizard-claw.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/reedscale_lizard.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"lizard_claw\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-lizard-claw.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-lizard-claw.webp\" on items[id=\"lizard_claw\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-marsh_wolf_pelt",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Marsh Wolf Pelt (from Marsh Wolf)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-marsh_wolf_pelt.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/marsh-wolf.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Marsh Wolf Pelt\", a pelt harvested from the Marsh Wolf shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "marsh_wolf_pelt"
   },
   "deliver": "art/source/item-icons/ART-MAT-marsh_wolf_pelt.png",
   "publishedAs": "/art/new/item-icons/art-mat-marsh-wolf-pelt.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/marsh_wolf.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"marsh_wolf_pelt\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-marsh-wolf-pelt.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-marsh-wolf-pelt.webp\" on items[id=\"marsh_wolf_pelt\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-monitor_crest_spine",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Monitor Crest Spine (from Jadecrest Monitor)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-monitor_crest_spine.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/jadecrest-monitor.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Monitor Crest Spine\", a spine harvested from the Jadecrest Monitor shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "monitor_crest_spine"
   },
   "deliver": "art/source/item-icons/ART-MAT-monitor_crest_spine.png",
   "publishedAs": "/art/new/item-icons/art-mat-monitor-crest-spine.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/jadecrest_monitor.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"monitor_crest_spine\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-monitor-crest-spine.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-monitor-crest-spine.webp\" on items[id=\"monitor_crest_spine\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-orchard_tusk",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Orchard Tusk (from Orchard Boar)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-orchard_tusk.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/orchard-boar.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Orchard Tusk\", a tusk harvested from the Orchard Boar shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "orchard_tusk"
   },
   "deliver": "art/source/item-icons/ART-MAT-orchard_tusk.png",
   "publishedAs": "/art/new/item-icons/art-mat-orchard-tusk.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/orchard_boar.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"orchard_tusk\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-orchard-tusk.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-orchard-tusk.webp\" on items[id=\"orchard_tusk\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-pangolin_claw",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Pangolin Claw (from Ashroot Pangolin)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-pangolin_claw.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/ashroot-pangolin.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Pangolin Claw\", a claw harvested from the Ashroot Pangolin shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "pangolin_claw"
   },
   "deliver": "art/source/item-icons/ART-MAT-pangolin_claw.png",
   "publishedAs": "/art/new/item-icons/art-mat-pangolin-claw.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/ashroot_pangolin.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"pangolin_claw\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-pangolin-claw.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-pangolin-claw.webp\" on items[id=\"pangolin_claw\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-raider_ash_mask",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Raider Ash Mask (from Ashroad Raider)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-raider_ash_mask.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/ashen-caravan-guard.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Raider Ash Mask\", a mask harvested from the Ashroad Raider shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "raider_ash_mask"
   },
   "deliver": "art/source/item-icons/ART-MAT-raider_ash_mask.png",
   "publishedAs": "/art/new/item-icons/art-mat-raider-ash-mask.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/ashen_caravan_guard.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"raider_ash_mask\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-raider-ash-mask.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-raider-ash-mask.webp\" on items[id=\"raider_ash_mask\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-reed_fox_brush",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Reed Fox Brush (from Reed Fox)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-reed_fox_brush.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/reed-fox.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Reed Fox Brush\", a tail harvested from the Reed Fox shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "reed_fox_brush"
   },
   "deliver": "art/source/item-icons/ART-MAT-reed_fox_brush.png",
   "publishedAs": "/art/new/item-icons/art-mat-reed-fox-brush.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/reed_fox.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"reed_fox_brush\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-reed-fox-brush.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-reed-fox-brush.webp\" on items[id=\"reed_fox_brush\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-reedscale_hide",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Reedscale Hide (from Reedscale Lizard)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-reedscale_hide.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/reedscale-lizard.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Reedscale Hide\", a scale harvested from the Reedscale Lizard shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "reedscale_hide"
   },
   "deliver": "art/source/item-icons/ART-MAT-reedscale_hide.png",
   "publishedAs": "/art/new/item-icons/art-mat-reedscale-hide.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/reedscale_lizard.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"reedscale_hide\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-reedscale-hide.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-reedscale-hide.webp\" on items[id=\"reedscale_hide\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-regent_bell_fragment",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Regent Bell Fragment (from The Bellbound Regent)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-regent_bell_fragment.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/bellbound-regent.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Regent Bell Fragment\", a boss trophy harvested from the The Bellbound Regent shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "regent_bell_fragment"
   },
   "deliver": "art/source/item-icons/ART-MAT-regent_bell_fragment.png",
   "publishedAs": "/art/new/item-icons/art-mat-regent-bell-fragment.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/bellbound_regent.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"regent_bell_fragment\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-regent-bell-fragment.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-regent-bell-fragment.webp\" on items[id=\"regent_bell_fragment\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-salt_stiff_cloth",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Salt-stiff Cloth (from Saltway Bandit)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-salt_stiff_cloth.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/saltway-lancer.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Salt-stiff Cloth\", a cloth harvested from the Saltway Bandit shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "salt_stiff_cloth"
   },
   "deliver": "art/source/item-icons/ART-MAT-salt_stiff_cloth.png",
   "publishedAs": "/art/new/item-icons/art-mat-salt-stiff-cloth.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/saltway_lancer.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"salt_stiff_cloth\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-salt-stiff-cloth.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-salt-stiff-cloth.webp\" on items[id=\"salt_stiff_cloth\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-scarab_ember_core",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Scarab Ember Core (from Kilnback Scarab)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-scarab_ember_core.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/kilnback-scarab.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Scarab Ember Core\", a core harvested from the Kilnback Scarab shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "scarab_ember_core"
   },
   "deliver": "art/source/item-icons/ART-MAT-scarab_ember_core.png",
   "publishedAs": "/art/new/item-icons/art-mat-scarab-ember-core.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/kilnback_scarab.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"scarab_ember_core\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-scarab-ember-core.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-scarab-ember-core.webp\" on items[id=\"scarab_ember_core\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-silt_gecko_skin",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Silt Gecko Skin (from Siltspit Gecko)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-silt_gecko_skin.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/siltspit-gecko.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Silt Gecko Skin\", a skin harvested from the Siltspit Gecko shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "silt_gecko_skin"
   },
   "deliver": "art/source/item-icons/ART-MAT-silt_gecko_skin.png",
   "publishedAs": "/art/new/item-icons/art-mat-silt-gecko-skin.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/siltspit_gecko.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"silt_gecko_skin\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-silt-gecko-skin.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-silt-gecko-skin.webp\" on items[id=\"silt_gecko_skin\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-small_dewhorn",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Small Dewhorn (from Dewhorn Hare)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-small_dewhorn.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/dewhorn-hare.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Small Dewhorn\", a horn harvested from the Dewhorn Hare shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "small_dewhorn"
   },
   "deliver": "art/source/item-icons/ART-MAT-small_dewhorn.png",
   "publishedAs": "/art/new/item-icons/art-mat-small-dewhorn.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/dewhorn_hare.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"small_dewhorn\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-small-dewhorn.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-small-dewhorn.webp\" on items[id=\"small_dewhorn\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-smouldering_fang",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Smouldering Fang (from Emberhorn Viper)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-smouldering_fang.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/emberhorn-viper.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Smouldering Fang\", a fang harvested from the Emberhorn Viper shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "smouldering_fang"
   },
   "deliver": "art/source/item-icons/ART-MAT-smouldering_fang.png",
   "publishedAs": "/art/new/item-icons/art-mat-smouldering-fang.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/emberhorn_viper.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"smouldering_fang\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-smouldering-fang.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-smouldering-fang.webp\" on items[id=\"smouldering_fang\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-spit_gland",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Spit Gland (from Siltspit Gecko)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-spit_gland.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/siltspit-gecko.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Spit Gland\", a gland harvested from the Siltspit Gecko shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "spit_gland"
   },
   "deliver": "art/source/item-icons/ART-MAT-spit_gland.png",
   "publishedAs": "/art/new/item-icons/art-mat-spit-gland.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/siltspit_gecko.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"spit_gland\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-spit-gland.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-spit-gland.webp\" on items[id=\"spit_gland\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-static_mane",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Static Mane (from Stormquill Stalker)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-static_mane.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/stormquill-stalker.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Static Mane\", a mane harvested from the Stormquill Stalker shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "static_mane"
   },
   "deliver": "art/source/item-icons/ART-MAT-static_mane.png",
   "publishedAs": "/art/new/item-icons/art-mat-static-mane.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/stormquill_stalker.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"static_mane\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-static-mane.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-static-mane.webp\" on items[id=\"static_mane\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-stolen_caravan_seal",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Stolen Caravan Seal (from Ashroad Raider)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-stolen_caravan_seal.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/ashen-caravan-guard.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Stolen Caravan Seal\", a seal harvested from the Ashroad Raider shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "stolen_caravan_seal"
   },
   "deliver": "art/source/item-icons/ART-MAT-stolen_caravan_seal.png",
   "publishedAs": "/art/new/item-icons/art-mat-stolen-caravan-seal.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/ashen_caravan_guard.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"stolen_caravan_seal\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-stolen-caravan-seal.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-stolen-caravan-seal.webp\" on items[id=\"stolen_caravan_seal\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-stormquill",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Stormquill (from Stormquill Stalker)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-stormquill.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/stormquill-stalker.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Stormquill\", a quill harvested from the Stormquill Stalker shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "stormquill"
   },
   "deliver": "art/source/item-icons/ART-MAT-stormquill.png",
   "publishedAs": "/art/new/item-icons/art-mat-stormquill.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/stormquill_stalker.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"stormquill\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-stormquill.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-stormquill.webp\" on items[id=\"stormquill\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-stormwing_feather",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Stormwing Feather (from Stormwing Kestrel)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-stormwing_feather.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/stormwing-kestrel.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Stormwing Feather\", a feather harvested from the Stormwing Kestrel shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "stormwing_feather"
   },
   "deliver": "art/source/item-icons/ART-MAT-stormwing_feather.png",
   "publishedAs": "/art/new/item-icons/art-mat-stormwing-feather.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/stormwing_kestrel.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"stormwing_feather\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-stormwing-feather.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-stormwing-feather.webp\" on items[id=\"stormwing_feather\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-tiny_bronze_bell",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Tiny Bronze Bell (from Bellwhisker Jerboa)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-tiny_bronze_bell.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary/bellwhisker-jerboa.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Tiny Bronze Bell\", a trinket harvested from the Bellwhisker Jerboa shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "tiny_bronze_bell"
   },
   "deliver": "art/source/item-icons/ART-MAT-tiny_bronze_bell.png",
   "publishedAs": "/art/new/item-icons/art-mat-tiny-bronze-bell.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/world/bellwhisker_jerboa.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"tiny_bronze_bell\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-tiny-bronze-bell.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-tiny-bronze-bell.webp\" on items[id=\"tiny_bronze_bell\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-tortoise_beak",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Tortoise Beak (from Brineback Tortoise)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-tortoise_beak.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/brineback-tortoise.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Tortoise Beak\", a beak harvested from the Brineback Tortoise shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "tortoise_beak"
   },
   "deliver": "art/source/item-icons/ART-MAT-tortoise_beak.png",
   "publishedAs": "/art/new/item-icons/art-mat-tortoise-beak.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/brineback_tortoise.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"tortoise_beak\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-tortoise-beak.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-tortoise-beak.webp\" on items[id=\"tortoise_beak\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-MAT-wolf_fang",
   "category": "item-icons",
   "priority": "P2",
   "title": "Material icon — Wolf Fang (from Marsh Wolf)",
   "usedIn": "Inventory, loot labels, vendor sell list.",
   "output": {
    "file": "ART-MAT-wolf_fang.png",
    "size": "512×512",
    "alpha": true
   },
   "references": [
    "/art/bestiary-archive/marsh-wolf.webp",
    "/art/icons/shards/ascension-shard.webp"
   ],
   "current": "No material icons exist; the monster art is the design source.",
   "prompt": "Single inventory item icon on a fully transparent background, centred, 3/4 hero angle, soft top-left key light, crisp dark outline so it reads on a dark leather inventory cell, like the reference icons. Subject: \"Wolf Fang\", a fang harvested from the Marsh Wolf shown in the reference — same colours and textures as that creature. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No whole animal, no gore, no background.",
   "acceptance": [
    "Transparent background",
    "Clearly from the referenced monster",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "material",
    "id": "wolf_fang"
   },
   "deliver": "art/source/item-icons/ART-MAT-wolf_fang.png",
   "publishedAs": "/art/new/item-icons/art-mat-wolf-fang.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v3/bestiary/marsh_wolf.png",
    "art/originals/icons/v4/shards/ascension_shard.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/materials.json",
     "where": "items[id=\"wolf_fang\"]",
     "field": "icon",
     "value": "/art/new/item-icons/art-mat-wolf-fang.webp"
    },
    "text": "art-sync sets icon = \"/art/new/item-icons/art-mat-wolf-fang.webp\" on items[id=\"wolf_fang\"] in packages/game-data/data/materials.json"
   }
  },
  {
   "id": "ART-LOAD-ashroot-grove",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Ashroot Grove",
   "usedIn": "Loading screen when travelling to Ashroot Grove (hud.json loadingScreen).",
   "output": {
    "file": "load_ashroot_grove.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Ashroot Grove in the Amber Basin (Blackened cedars, verdant roots and a lost caravan camp). Mood: Ash haze, green under-glow. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_ashroot_grove.png",
   "publishedAs": "/art/new/loading-screens/load-ashroot-grove.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-ashroot-grove.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-bellbound-regent",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — The Bellbound Regent",
   "usedIn": "Loading screen for The Bellbound Regent.",
   "output": {
    "file": "load_bellbound_regent.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "current": "Uses the login key art until generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm.",
   "prompt": "Cinematic 16:9 loading-screen painting: the colossal bell-shelled tortoise in the Jade Seal Ruins court. Dramatic but readable, same painterly style and palette as the key-art reference, calmer darker bottom third for the UI.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_bellbound_regent.png",
   "publishedAs": "/art/new/loading-screens/load-bellbound-regent.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-bellbound-regent.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-bellshade-court",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Bellshade Court",
   "usedIn": "Loading screen when travelling to Bellshade Court (hud.json loadingScreen).",
   "output": {
    "file": "load_bellshade_court.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Bellshade Court in the Amber Basin (Violet lanterns, silent bells and ruined shrine steps). Mood: Violet dusk lanterns. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_bellshade_court.png",
   "publishedAs": "/art/new/loading-screens/load-bellshade-court.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-bellshade-court.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-caravan-crown-arena",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Caravan Crown Arena",
   "usedIn": "Loading screen when travelling to Caravan Crown Arena (hud.json loadingScreen).",
   "output": {
    "file": "load_caravan_crown_arena.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Caravan Crown Arena in the Amber Basin (A circular abandoned caravan wheel-yard). Mood: Dust-storm red sky. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_caravan_crown_arena.png",
   "publishedAs": "/art/new/loading-screens/load-caravan-crown-arena.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-caravan-crown-arena.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-cinder-kilns",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Cinder Kilns",
   "usedIn": "Loading screen when travelling to Cinder Kilns (hud.json loadingScreen).",
   "output": {
    "file": "load_cinder_kilns.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Cinder Kilns in the Amber Basin (Brick kilns, smoking chimneys and ash pits). Mood: Red ember glow, smoke shafts. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_cinder_kilns.png",
   "publishedAs": "/art/new/loading-screens/load-cinder-kilns.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-cinder-kilns.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-clay-cut",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Clay Cut",
   "usedIn": "Loading screen when travelling to Clay Cut (hud.json loadingScreen).",
   "output": {
    "file": "load_clay_cut.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Clay Cut in the Amber Basin (Ochre quarry terraces and drained canal locks). Mood: Harsh ochre sun, deep quarry shadows. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_clay_cut.png",
   "publishedAs": "/art/new/loading-screens/load-clay-cut.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-clay-cut.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-jade-seal-ruins",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Jade Seal Ruins",
   "usedIn": "Loading screen when travelling to Jade Seal Ruins (hud.json loadingScreen).",
   "output": {
    "file": "load_jade_seal_ruins.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Jade Seal Ruins in the Amber Basin (Cracked jade courts and the sealed western trade gate). Mood: Cold jade rim light. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_jade_seal_ruins.png",
   "publishedAs": "/art/new/loading-screens/load-jade-seal-ruins.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-jade-seal-ruins.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-kharuun",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Kharuun, the Ashen Caravan",
   "usedIn": "Loading screen for Kharuun, the Ashen Caravan.",
   "output": {
    "file": "load_kharuun.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "current": "Uses the login key art until generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm.",
   "prompt": "Cinematic 16:9 loading-screen painting: the burning ghost caravan rising over the Caravan Crown Arena at night. Dramatic but readable, same painterly style and palette as the key-art reference, calmer darker bottom third for the UI.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_kharuun.png",
   "publishedAs": "/art/new/loading-screens/load-kharuun.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-kharuun.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-kiln-depths",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Kiln Depths",
   "usedIn": "Loading screen for Kiln Depths.",
   "output": {
    "file": "load_kiln_depths.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "current": "Uses the login key art until generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm.",
   "prompt": "Cinematic 16:9 loading-screen painting: the glowing kiln tunnels of the first dungeon. Dramatic but readable, same painterly style and palette as the key-art reference, calmer darker bottom third for the UI.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_kiln_depths.png",
   "publishedAs": "/art/new/loading-screens/load-kiln-depths.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-kiln-depths.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-lantern-convoy",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Lantern Convoy",
   "usedIn": "Loading screen for Lantern Convoy.",
   "output": {
    "file": "load_lantern_convoy.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "current": "Uses the login key art until generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm.",
   "prompt": "Cinematic 16:9 loading-screen painting: a night convoy of lantern-lit wagons on a desert road under the stars. Dramatic but readable, same painterly style and palette as the key-art reference, calmer darker bottom third for the UI.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_lantern_convoy.png",
   "publishedAs": "/art/new/loading-screens/load-lantern-convoy.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-lantern-convoy.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-reedwater-banks",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Reedwater Banks",
   "usedIn": "Loading screen when travelling to Reedwater Banks (hud.json loadingScreen).",
   "output": {
    "file": "load_reedwater_banks.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Reedwater Banks in the Amber Basin (Reed beds and a three-arch canal bridge). Mood: Teal reflections, humid bloom. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_reedwater_banks.png",
   "publishedAs": "/art/new/loading-screens/load-reedwater-banks.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-reedwater-banks.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-saltway-flats",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Saltway Flats",
   "usedIn": "Loading screen when travelling to Saltway Flats (hud.json loadingScreen).",
   "output": {
    "file": "load_saltway_flats.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Saltway Flats in the Amber Basin (Salt pans, flooded causeways and caravan windbreaks). Mood: White glare off salt, high exposure. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_saltway_flats.png",
   "publishedAs": "/art/new/loading-screens/load-saltway-flats.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-saltway-flats.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-sand-arena",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — The Sand Arena",
   "usedIn": "Loading screen for The Sand Arena.",
   "output": {
    "file": "load_sand_arena.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "current": "Uses the login key art until generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm.",
   "prompt": "Cinematic 16:9 loading-screen painting: the circular sandstone colosseum of Amber Gate at sunset, banners. Dramatic but readable, same painterly style and palette as the key-art reference, calmer darker bottom third for the UI.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_sand_arena.png",
   "publishedAs": "/art/new/loading-screens/load-sand-arena.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-sand-arena.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-LOAD-stormquill-ridge",
   "category": "loading-screens",
   "priority": "P2",
   "title": "Loading screen — Stormquill Ridge",
   "usedIn": "Loading screen when travelling to Stormquill Ridge (hud.json loadingScreen).",
   "output": {
    "file": "load_stormquill_ridge.png",
    "size": "2560×1440",
    "alpha": false
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/maps/amber-basin.webp"
   ],
   "current": "The loading screen uses the login key art or a build key art until this is generated.",
   "avoid": "No text, no UI, no logos; keep the lower 35% calm (the progress bar and tips sit there).",
   "prompt": "Cinematic 16:9 loading-screen painting of Stormquill Ridge in the Amber Basin (Wind-cut ridges, copper lightning relics and kestrel roosts). Mood: Overcast with lightning flashes. A few small caravan travellers for scale, epic depth, the area's landmark clearly visible in the upper two-thirds, calmer darker foreground at the bottom for UI. Same painterly style and palette as the key-art reference.",
   "acceptance": [
    "2560×1440 (16:9)",
    "Lower 35% calm and darker for the bar and tips"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/loading-screens/load_stormquill_ridge.png",
   "publishedAs": "/art/new/loading-screens/load-stormquill-ridge.webp",
   "status": "done",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/originals/concepts/v4/maps/amber_basin.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/loading-screens/load-stormquill-ridge.webp and records it in packages/game-data/data/art-delivered.json; pages that show loading-screens read it from there."
   }
  },
  {
   "id": "ART-MAP-031",
   "category": "maps",
   "priority": "P2",
   "title": "World map fog-of-war overlay + locked-region seals",
   "usedIn": "World map: locked regions (41–100).",
   "output": {
    "file": "map_world_fog.png",
    "size": "2048×2048",
    "alpha": true
   },
   "references": [
    "/art/maps/caravan-world-aligned.webp"
   ],
   "current": "World art is fully revealed; locked regions are only dimmed by CSS.",
   "prompt": "Transparent overlay: soft parchment-and-cloud fog patches with torn edges, plus a separate wax-seal style lock emblem in bronze with a keyhole, for marking locked map regions.",
   "avoid": "No text.",
   "acceptance": [
    "Fog tiles",
    "Seal reads at 48 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/maps/map_world_fog.png",
   "publishedAs": "/art/new/maps/map-world-fog.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/maps/caravan_world_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/maps/map-world-fog.webp and records it in packages/game-data/data/art-delivered.json; pages that show maps read it from there."
   }
  },
  {
   "id": "ART-NPC-alchemist_ses",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Alchemist Ses",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-alchemist_ses.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Alchemist Ses, Potions (S/M/L), cleanse tonics, buff scrolls, return scrolls. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_alchemist_ses"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-alchemist_ses.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-alchemist-ses.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_alchemist_ses\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-alchemist-ses.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-alchemist-ses.webp\" on npcs[id=\"npc_alchemist_ses\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-bell_monk_odo",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Bell Monk Odo",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-bell_monk_odo.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Bell Monk Odo, Keeper of the silent shrine bells. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_bell_monk_odo"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-bell_monk_odo.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-bell-monk-odo.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_bell_monk_odo\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-bell-monk-odo.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-bell-monk-odo.webp\" on npcs[id=\"npc_bell_monk_odo\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-blacksmith_toragh",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Blacksmith Toragh",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-blacksmith_toragh.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Blacksmith Toragh, Sells every region-1 base; salvage-kit assembly; refinement and repair. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_blacksmith_toragh"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-blacksmith_toragh.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-blacksmith-toragh.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_blacksmith_toragh\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-blacksmith-toragh.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-blacksmith-toragh.webp\" on npcs[id=\"npc_blacksmith_toragh\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-convoy_marshal_rua",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Convoy Marshal Rua",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-convoy_marshal_rua.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Convoy Marshal Rua, Monthly Lantern Convoy (16 players) sign-ups and rewards. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_convoy_marshal_rua"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-convoy_marshal_rua.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-convoy-marshal-rua.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_convoy_marshal_rua\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-convoy-marshal-rua.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-convoy-marshal-rua.webp\" on npcs[id=\"npc_convoy_marshal_rua\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-gate_captain_aras",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Gate Captain Aras",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-gate_captain_aras.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Gate Captain Aras, Elite bounty board (daily), town guards. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_gate_captain_aras"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-gate_captain_aras.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-gate-captain-aras.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_gate_captain_aras\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-gate-captain-aras.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-gate-captain-aras.webp\" on npcs[id=\"npc_gate_captain_aras\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-grove_healer_nadi",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Grove Healer Nadi",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-grove_healer_nadi.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Grove Healer Nadi, Heals pangolins; the lost caravan. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_grove_healer_nadi"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-grove_healer_nadi.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-grove-healer-nadi.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_grove_healer_nadi\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-grove-healer-nadi.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-grove-healer-nadi.webp\" on npcs[id=\"npc_grove_healer_nadi\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-innkeeper_amber_gate",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Innkeeper Farah",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-innkeeper_amber_gate.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Innkeeper Farah, Caravanserai inn: food, rest, rumours; shows your Caravan Rest pool. Silk Road caravan setting, saffron apron over a striped kaftan, copper tea pot at the hip, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_innkeeper_amber_gate"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-innkeeper_amber_gate.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-innkeeper-amber-gate.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_innkeeper_amber_gate\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-innkeeper-amber-gate.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-innkeeper-amber-gate.webp\" on npcs[id=\"npc_innkeeper_amber_gate\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-kiln_warden_beha",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Kiln Warden Beha",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-kiln_warden_beha.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Kiln Warden Beha, Kiln Depths dungeon entrance (8 h reward interval). Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_kiln_warden_beha"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-kiln_warden_beha.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-kiln-warden-beha.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_kiln_warden_beha\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-kiln-warden-beha.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-kiln-warden-beha.webp\" on npcs[id=\"npc_kiln_warden_beha\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-kilnmaster_harun",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Kilnmaster Harun",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-kilnmaster_harun.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Kilnmaster Harun, Ember vipers and scarab furnaces. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_kilnmaster_harun"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-kilnmaster_harun.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-kilnmaster-harun.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_kilnmaster_harun\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-kilnmaster-harun.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-kilnmaster-harun.webp\" on npcs[id=\"npc_kilnmaster_harun\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-lockkeeper_suren",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Lockkeeper Suren",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-lockkeeper_suren.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Lockkeeper Suren, Canal locks between Reedwater and Clay Cut. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_lockkeeper_suren"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-lockkeeper_suren.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-lockkeeper-suren.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_lockkeeper_suren\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-lockkeeper-suren.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-lockkeeper-suren.webp\" on npcs[id=\"npc_lockkeeper_suren\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-orchard_keeper_ayla",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Orchard Keeper Ayla",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-orchard_keeper_ayla.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Orchard Keeper Ayla, Orchard tolls and boar troubles. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_orchard_keeper_ayla"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-orchard_keeper_ayla.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-orchard-keeper-ayla.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_orchard_keeper_ayla\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-orchard-keeper-ayla.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-orchard-keeper-ayla.webp\" on npcs[id=\"npc_orchard_keeper_ayla\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-petkeeper_miri",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Petkeeper Miri",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-petkeeper_miri.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Petkeeper Miri, Four loot companions; free switching. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_petkeeper_miri"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-petkeeper_miri.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-petkeeper-miri.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_petkeeper_miri\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-petkeeper-miri.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-petkeeper-miri.webp\" on npcs[id=\"npc_petkeeper_miri\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-ranger_tam",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Meadow Ranger Tam",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-ranger_tam.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Meadow Ranger Tam, Teaches nameplates, neutral vs hostile animals. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_ranger_tam"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-ranger_tam.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-ranger-tam.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_ranger_tam\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-ranger-tam.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-ranger-tam.webp\" on npcs[id=\"npc_ranger_tam\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-relic_hunter_vesh",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Relic Hunter Vesh",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-relic_hunter_vesh.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Relic Hunter Vesh, Maps the Jade Seal Ruins and the Regent court. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_relic_hunter_vesh"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-relic_hunter_vesh.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-relic-hunter-vesh.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_relic_hunter_vesh\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-relic-hunter-vesh.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-relic-hunter-vesh.webp\" on npcs[id=\"npc_relic_hunter_vesh\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-ridge_watcher_kai",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Ridge Watcher Kai",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-ridge_watcher_kai.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Ridge Watcher Kai, Copper lightning relays on the ridge. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_ridge_watcher_kai"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-ridge_watcher_kai.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-ridge-watcher-kai.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_ridge_watcher_kai\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-ridge-watcher-kai.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-ridge-watcher-kai.webp\" on npcs[id=\"npc_ridge_watcher_kai\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-salt_courier_ina",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Salt Courier Ina",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-salt_courier_ina.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Salt Courier Ina, Escort quests on the causeway. Silk Road caravan setting, travel gear variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_salt_courier_ina"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-salt_courier_ina.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-salt-courier-ina.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_salt_courier_ina\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-salt-courier-ina.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-salt-courier-ina.webp\" on npcs[id=\"npc_salt_courier_ina\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-stablemaster_kerem",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Stablemaster Kerem",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-stablemaster_kerem.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Stablemaster Kerem, Sells the four desert mounts (levels 10/20/30/40), gives the Reedback Strider for Q1.11, and runs the waypoint network. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_stablemaster_kerem"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-stablemaster_kerem.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-stablemaster-kerem.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_stablemaster_kerem\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-stablemaster-kerem.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-stablemaster-kerem.webp\" on npcs[id=\"npc_stablemaster_kerem\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-stall_warden_pell",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Stall Warden Pell",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-stall_warden_pell.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Stall Warden Pell, Player stall plaza rules; gold or full-orb prices. Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_stall_warden_pell"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-stall_warden_pell.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-stall-warden-pell.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_stall_warden_pell\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-stall-warden-pell.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-stall-warden-pell.webp\" on npcs[id=\"npc_stall_warden_pell\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-NPC-stashkeeper_bao",
   "category": "npc-portraits",
   "priority": "P2",
   "title": "NPC portrait — Old Bao",
   "usedIn": "Dialogue window, quest tracker, wiki NPC list.",
   "output": {
    "file": "ART-NPC-stashkeeper_bao.png",
    "size": "768×1024",
    "alpha": true
   },
   "references": [
    "/art/ui/rework/origin-wayfarer.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No NPC portraits exist; origin portraits define the target rendering.",
   "prompt": "Bust portrait (head and shoulders, slight 3/4 turn) of Old Bao, Stash (4 tabs 12×10) and bank (64 slots). Silk Road caravan setting, town attire variant, expressive but grounded face, warm lantern key light, transparent background, same painterly rendering as the reference origin portraits. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no frame, no weapon pointing at camera.",
   "acceptance": [
    "Transparent background",
    "Consistent with origin portraits"
   ],
   "source": {
    "kind": "npc",
    "id": "npc_stashkeeper_bao"
   },
   "deliver": "art/source/npc-portraits/ART-NPC-stashkeeper_bao.png",
   "publishedAs": "/art/new/npc-portraits/art-npc-stashkeeper-bao.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/rework/origin_wayfarer.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/world.json",
     "where": "npcs[id=\"npc_stashkeeper_bao\"]",
     "field": "portrait",
     "value": "/art/new/npc-portraits/art-npc-stashkeeper-bao.webp"
    },
    "text": "art-sync sets portrait = \"/art/new/npc-portraits/art-npc-stashkeeper-bao.webp\" on npcs[id=\"npc_stashkeeper_bao\"] in packages/game-data/data/world.json"
   }
  },
  {
   "id": "ART-3D-ARM-ashroad_jerkin",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Ashroad Jerkin (MDL-ARM-ashroad_jerkin)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-ashroad_jerkin (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-ashroad_jerkin.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-ashroad_jerkin waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Ashroad Jerkin, the armour of the Trail leather T3 set: fitted quilted leather with brass studs and sand-green wraps, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-ashroad_jerkin"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-ashroad_jerkin.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-ashroad-jerkin.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-ashroad-jerkin.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-ashroad_striders",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Ashroad Striders (MDL-ARM-ashroad_striders)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-ashroad_striders (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-ashroad_striders.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-ashroad_striders waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Ashroad Striders, the boots of the Trail leather T3 set: fitted quilted leather with brass studs and sand-green wraps, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-ashroad_striders"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-ashroad_striders.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-ashroad-striders.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-ashroad-striders.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-basalt_fists",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Basalt Fists (MDL-ARM-basalt_fists)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-basalt_fists (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-basalt_fists.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-basalt_fists waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Basalt Fists, the gloves of the Bronze plate T3 set: lamellar bronze plates over quilted cloth, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-basalt_fists"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-basalt_fists.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-basalt-fists.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-basalt-fists.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-basalt_scale_hauberk",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Basalt Scale Hauberk (MDL-ARM-basalt_scale_hauberk)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-basalt_scale_hauberk (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-basalt_scale_hauberk.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-basalt_scale_hauberk waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Basalt Scale Hauberk, the armour of the Bronze plate T3 set: lamellar bronze plates over quilted cloth, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-basalt_scale_hauberk"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-basalt_scale_hauberk.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-basalt-scale-hauberk.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-basalt-scale-hauberk.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-bellshade_coif",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Bellshade Coif (MDL-ARM-bellshade_coif)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-bellshade_coif (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-bellshade_coif.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-bellshade_coif waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Bellshade Coif, the helmet of the Lantern silk T4 set: layered indigo silk with bronze thread runes, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-bellshade_coif"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-bellshade_coif.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-bellshade-coif.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-bellshade-coif.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-brineshell_cuirass",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Brineshell Cuirass (MDL-ARM-brineshell_cuirass)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-brineshell_cuirass (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-brineshell_cuirass.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-brineshell_cuirass waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Brineshell Cuirass, the armour of the Bronze plate T4 set: lamellar bronze plates over quilted cloth, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-brineshell_cuirass"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-brineshell_cuirass.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-brineshell-cuirass.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-brineshell-cuirass.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-clayknuckle_gauntlets",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Clayknuckle Gauntlets (MDL-ARM-clayknuckle_gauntlets)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-clayknuckle_gauntlets (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-clayknuckle_gauntlets.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-clayknuckle_gauntlets waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Clayknuckle Gauntlets, the gloves of the Bronze plate T4 set: lamellar bronze plates over quilted cloth, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-clayknuckle_gauntlets"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-clayknuckle_gauntlets.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-clayknuckle-gauntlets.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-clayknuckle-gauntlets.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-copperlink_belt",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Copperlink Belt (MDL-ARM-copperlink_belt)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-copperlink_belt (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-copperlink_belt.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-belt.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-copperlink_belt waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Copperlink Belt, the belt of the Belts T4 set: tooled leather with copper links and pouches, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-copperlink_belt"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-copperlink_belt.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-copperlink-belt.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-copperlink-belt.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-duskfang_hood",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Duskfang Hood (MDL-ARM-duskfang_hood)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-duskfang_hood (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-duskfang_hood.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-duskfang_hood waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Duskfang Hood, the helmet of the Trail leather T4 set: fitted quilted leather with brass studs and sand-green wraps, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-duskfang_hood"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-duskfang_hood.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-duskfang-hood.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-duskfang-hood.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-emberhorn_mitts",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Emberhorn Mitts (MDL-ARM-emberhorn_mitts)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-emberhorn_mitts (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-emberhorn_mitts.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-emberhorn_mitts waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Emberhorn Mitts, the gloves of the Lantern silk T4 set: layered indigo silk with bronze thread runes, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-emberhorn_mitts"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-emberhorn_mitts.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-emberhorn-mitts.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-emberhorn-mitts.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-jade_seal_regalia",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Jade Seal Regalia (MDL-ARM-jade_seal_regalia)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-jade_seal_regalia (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-jade_seal_regalia.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-jade_seal_regalia waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Jade Seal Regalia, the armour of the Lantern silk T3 set: layered indigo silk with bronze thread runes, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-jade_seal_regalia"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-jade_seal_regalia.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-jade-seal-regalia.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-jade-seal-regalia.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-jade_step_slippers",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Jade Step Slippers (MDL-ARM-jade_step_slippers)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-jade_step_slippers (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-jade_step_slippers.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-jade_step_slippers waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Jade Step Slippers, the boots of the Lantern silk T3 set: layered indigo silk with bronze thread runes, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-jade_step_slippers"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-jade_step_slippers.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-jade-step-slippers.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-jade-step-slippers.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-kiln_forged_helm",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Kiln-forged Helm (MDL-ARM-kiln_forged_helm)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-kiln_forged_helm (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-kiln_forged_helm.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-kiln_forged_helm waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Kiln-forged Helm, the helmet of the Bronze plate T4 set: lamellar bronze plates over quilted cloth, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-kiln_forged_helm"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-kiln_forged_helm.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-kiln-forged-helm.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-kiln-forged-helm.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-kilnspine_sabatons",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Kilnspine Sabatons (MDL-ARM-kilnspine_sabatons)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-kilnspine_sabatons (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-kilnspine_sabatons.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-kilnspine_sabatons waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Kilnspine Sabatons, the boots of the Bronze plate T4 set: lamellar bronze plates over quilted cloth, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-kilnspine_sabatons"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-kilnspine_sabatons.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-kilnspine-sabatons.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-kilnspine-sabatons.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-lantern_vestment",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Lantern Vestment (MDL-ARM-lantern_vestment)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-lantern_vestment (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-lantern_vestment.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-lantern_vestment waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Lantern Vestment, the armour of the Lantern silk T4 set: layered indigo silk with bronze thread runes, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-lantern_vestment"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-lantern_vestment.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-lantern-vestment.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-lantern-vestment.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-marshfang_grips",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Marshfang Grips (MDL-ARM-marshfang_grips)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-marshfang_grips (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-marshfang_grips.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-marshfang_grips waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Marshfang Grips, the gloves of the Trail leather T4 set: fitted quilted leather with brass studs and sand-green wraps, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-marshfang_grips"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-marshfang_grips.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-marshfang-grips.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-marshfang-grips.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-moonfrost_diadem",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Moonfrost Diadem (MDL-ARM-moonfrost_diadem)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-moonfrost_diadem (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-moonfrost_diadem.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-moonfrost_diadem waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Moonfrost Diadem, the helmet of the Lantern silk T3 set: layered indigo silk with bronze thread runes, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-moonfrost_diadem"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-moonfrost_diadem.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-moonfrost-diadem.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-moonfrost-diadem.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-moonfrost_wraps",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Moonfrost Wraps (MDL-ARM-moonfrost_wraps)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-moonfrost_wraps (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-moonfrost_wraps.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-moonfrost_wraps waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Moonfrost Wraps, the gloves of the Lantern silk T3 set: layered indigo silk with bronze thread runes, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-moonfrost_wraps"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-moonfrost_wraps.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-moonfrost-wraps.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-moonfrost-wraps.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-reedrunner_boots",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Reedrunner Boots (MDL-ARM-reedrunner_boots)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-reedrunner_boots (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-reedrunner_boots.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-reedrunner_boots waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Reedrunner Boots, the boots of the Trail leather T4 set: fitted quilted leather with brass studs and sand-green wraps, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-reedrunner_boots"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-reedrunner_boots.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-reedrunner-boots.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-reedrunner-boots.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-regent_greaves",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Regent Greaves (MDL-ARM-regent_greaves)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-regent_greaves (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-regent_greaves.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-regent_greaves waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Regent Greaves, the boots of the Bronze plate T3 set: lamellar bronze plates over quilted cloth, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-regent_greaves"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-regent_greaves.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-regent-greaves.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-regent-greaves.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-regents_crest_helm",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Regent’s Crest Helm (MDL-ARM-regents_crest_helm)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-regents_crest_helm (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-regents_crest_helm.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-plate.webp",
    "/art/ui/rework/origin-stoneward.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-regents_crest_helm waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Regent’s Crest Helm, the helmet of the Bronze plate T3 set: lamellar bronze plates over quilted cloth, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-regents_crest_helm"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-regents_crest_helm.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-regents-crest-helm.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-plate.png",
    "art/originals/concepts/v4/ui/rework/origin_stoneward.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-regents-crest-helm.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-saltlord_girdle",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Saltlord Girdle (MDL-ARM-saltlord_girdle)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-saltlord_girdle (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-saltlord_girdle.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-belt.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-saltlord_girdle waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Saltlord Girdle, the belt of the Belts T3 set: tooled leather with copper links and pouches, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-saltlord_girdle"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-saltlord_girdle.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-saltlord-girdle.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-belt.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-saltlord-girdle.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-saltway_brigandine",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Saltway Brigandine (MDL-ARM-saltway_brigandine)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-saltway_brigandine (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-saltway_brigandine.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-armour-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-saltway_brigandine waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Saltway Brigandine, the armour of the Trail leather T4 set: fitted quilted leather with brass studs and sand-green wraps, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-saltway_brigandine"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-saltway_brigandine.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-saltway-brigandine.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-armour-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-saltway-brigandine.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-siltwalk_shoes",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Siltwalk Shoes (MDL-ARM-siltwalk_shoes)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-siltwalk_shoes (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-siltwalk_shoes.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-boots-silk.webp",
    "/art/ui/rework/origin-scholar.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-siltwalk_shoes waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Siltwalk Shoes, the boots of the Lantern silk T4 set: layered indigo silk with bronze thread runes, refined bronze and lacquered fittings. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-siltwalk_shoes"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-siltwalk_shoes.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-siltwalk-shoes.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-boots-silk.png",
    "art/originals/concepts/v4/ui/rework/origin_scholar.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-siltwalk-shoes.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-stormquill_cowl",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Stormquill Cowl (MDL-ARM-stormquill_cowl)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-stormquill_cowl (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-stormquill_cowl.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-helmet-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-stormquill_cowl waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Stormquill Cowl, the helmet of the Trail leather T3 set: fitted quilted leather with brass studs and sand-green wraps, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-stormquill_cowl"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-stormquill_cowl.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-stormquill-cowl.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-helmet-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-stormquill-cowl.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-ARM-stormwing_grips",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Stormwing Grips (MDL-ARM-stormwing_grips)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-ARM-stormwing_grips (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-ARM-stormwing_grips.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/item-icons/art-eqp-gloves-leather.webp",
    "/art/ui/rework/origin-windrunner.webp"
   ],
   "current": "No turnaround yet: model request MDL-ARM-stormwing_grips waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Stormwing Grips, the gloves of the Trail leather T3 set: fitted quilted leather with brass studs and sand-green wraps, masterwork bronze-jade inlay and fine engraving. The piece alone, empty (no body or mannequin inside), shaped as worn in A-pose; one sheet per piece. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-ARM-stormwing_grips"
   },
   "deliver": "art/source/production-sheets/ART-3D-ARM-stormwing_grips.png",
   "publishedAs": "/art/new/production-sheets/art-3d-arm-stormwing-grips.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/item-icons/ART-EQP-gloves-leather.png",
    "art/originals/concepts/v4/ui/rework/origin_windrunner.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-arm-stormwing-grips.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-BOS-bellbound_regent",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — The Bellbound Regent (MDL-BOS-bellbound_regent)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-BOS-bellbound_regent (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-BOS-bellbound_regent.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/bestiary/bellbound-regent.webp"
   ],
   "current": "No turnaround yet: model request MDL-BOS-bellbound_regent waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: The Bellbound Regent, the level-40 boss of Jade Seal Ruins, exactly as in the boss painting. Neutral standing pose, the whole creature visible, the same design as the boss painting. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-BOS-bellbound_regent"
   },
   "deliver": "art/source/production-sheets/ART-3D-BOS-bellbound_regent.png",
   "publishedAs": "/art/new/production-sheets/art-3d-bos-bellbound-regent.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/world/bellbound_regent.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-bos-bellbound-regent.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-BOS-kharuun_ashen_caravan",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Kharuun, the Ashen Caravan (MDL-BOS-kharuun_ashen_caravan)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-BOS-kharuun_ashen_caravan (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-BOS-kharuun_ashen_caravan.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/bestiary/kharuun-ashen-caravan.webp"
   ],
   "current": "No turnaround yet: model request MDL-BOS-kharuun_ashen_caravan waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Kharuun, the Ashen Caravan, the level-40 boss of Caravan Crown Arena, exactly as in the boss painting. Neutral standing pose, the whole creature visible, the same design as the boss painting. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-BOS-kharuun_ashen_caravan"
   },
   "deliver": "art/source/production-sheets/ART-3D-BOS-kharuun_ashen_caravan.png",
   "publishedAs": "/art/new/production-sheets/art-3d-bos-kharuun-ashen-caravan.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/world/kharuun_ashen_caravan.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-bos-kharuun-ashen-caravan.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-CLO-cos_ashen_caravaneer",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Ashen Caravaneer (MDL-CLO-cos_ashen_caravaneer)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-CLO-cos_ashen_caravaneer (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-CLO-cos_ashen_caravaneer.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/cosmetic-icons/cos-ashen-caravaneer.webp"
   ],
   "current": "No turnaround yet: model request MDL-CLO-cos_ashen_caravaneer waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Ashen Caravaneer costume: Charred caravan coat with ember-lit lantern clasps and ash-grey veil. The outfit alone as worn on an invisible A-pose body (empty inside). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-CLO-cos_ashen_caravaneer"
   },
   "deliver": "art/source/production-sheets/ART-3D-CLO-cos_ashen_caravaneer.png",
   "publishedAs": "/art/new/production-sheets/art-3d-clo-cos-ashen-caravaneer.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/cosmetic-icons/cos_ashen_caravaneer.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-clo-cos-ashen-caravaneer.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-CLO-cos_bellbound_regalia",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Bellbound Regalia (MDL-CLO-cos_bellbound_regalia)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-CLO-cos_bellbound_regalia (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-CLO-cos_bellbound_regalia.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/cosmetic-icons/cos-bellbound-regalia.webp"
   ],
   "current": "No turnaround yet: model request MDL-CLO-cos_bellbound_regalia waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Bellbound Regalia costume: Bronze bell-scale mantle and a jade-inlaid circlet that chimes softly. The outfit alone as worn on an invisible A-pose body (empty inside). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-CLO-cos_bellbound_regalia"
   },
   "deliver": "art/source/production-sheets/ART-3D-CLO-cos_bellbound_regalia.png",
   "publishedAs": "/art/new/production-sheets/art-3d-clo-cos-bellbound-regalia.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/cosmetic-icons/cos_bellbound_regalia.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-clo-cos-bellbound-regalia.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-CLO-cos_lantern_warden",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Lantern Warden (MDL-CLO-cos_lantern_warden)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-CLO-cos_lantern_warden (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-CLO-cos_lantern_warden.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/cosmetic-icons/cos-lantern-warden.webp"
   ],
   "current": "No turnaround yet: model request MDL-CLO-cos_lantern_warden waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Lantern Warden costume: Deep-blue convoy robes with lantern-glass pauldrons. The outfit alone as worn on an invisible A-pose body (empty inside). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-CLO-cos_lantern_warden"
   },
   "deliver": "art/source/production-sheets/ART-3D-CLO-cos_lantern_warden.png",
   "publishedAs": "/art/new/production-sheets/art-3d-clo-cos-lantern-warden.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/cosmetic-icons/cos_lantern_warden.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-clo-cos-lantern-warden.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-CLO-cos_saltway_nomad",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Saltway Nomad (MDL-CLO-cos_saltway_nomad)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-CLO-cos_saltway_nomad (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-CLO-cos_saltway_nomad.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/cosmetic-icons/cos-saltway-nomad.webp"
   ],
   "current": "No turnaround yet: model request MDL-CLO-cos_saltway_nomad waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Saltway Nomad costume: Sun-bleached desert wraps, brass-buckled sash, salt-crusted boots. The outfit alone as worn on an invisible A-pose body (empty inside). Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-CLO-cos_saltway_nomad"
   },
   "deliver": "art/source/production-sheets/ART-3D-CLO-cos_saltway_nomad.png",
   "publishedAs": "/art/new/production-sheets/art-3d-clo-cos-saltway-nomad.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/cosmetic-icons/cos_saltway_nomad.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-clo-cos-saltway-nomad.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-MNT-duneplate_carrier",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Duneplate Carrier (MDL-MNT-duneplate_carrier)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-MNT-duneplate_carrier (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-MNT-duneplate_carrier.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/mounts/art-mnt-duneplate-carrier.webp"
   ],
   "current": "No turnaround yet: model request MDL-MNT-duneplate_carrier waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Duneplate Carrier, giant armoured dune beetle carrying a lacquered howdah, lamp-glands glowing under its plates, palette #6b4a2b, #d0a24a, #3b2a1f. Saddle and tack included, no rider, neutral standing pose. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-MNT-duneplate_carrier"
   },
   "deliver": "art/source/production-sheets/ART-3D-MNT-duneplate_carrier.png",
   "publishedAs": "/art/new/production-sheets/art-3d-mnt-duneplate-carrier.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/mounts/ART-MNT-duneplate_carrier.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-mnt-duneplate-carrier.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-MNT-emberhorn_aurochs",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Emberhorn Aurochs (MDL-MNT-emberhorn_aurochs)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-MNT-emberhorn_aurochs (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-MNT-emberhorn_aurochs.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/mounts/art-mnt-emberhorn-aurochs.webp"
   ],
   "current": "No turnaround yet: model request MDL-MNT-emberhorn_aurochs waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Emberhorn Aurochs, massive scorched desert ox with ember-veined horns and soot-black fur, bronze barding, palette #3a2a22, #d9582b, #c99a4a. Saddle and tack included, no rider, neutral standing pose. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-MNT-emberhorn_aurochs"
   },
   "deliver": "art/source/production-sheets/ART-3D-MNT-emberhorn_aurochs.png",
   "publishedAs": "/art/new/production-sheets/art-3d-mnt-emberhorn-aurochs.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/mounts/ART-MNT-emberhorn_aurochs.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-mnt-emberhorn-aurochs.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-MNT-mirage_drake",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Mirage Drake (MDL-MNT-mirage_drake)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-MNT-mirage_drake (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-MNT-mirage_drake.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/mounts/art-mnt-mirage-drake.webp"
   ],
   "current": "No turnaround yet: model request MDL-MNT-mirage_drake waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Mirage Drake, sand-wyrm drake with translucent heat-haze frills and pale gold scales, wingless, sinuous, palette #e8d29a, #c97a3a, #7ad0c8. Saddle and tack included, no rider, neutral standing pose. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-MNT-mirage_drake"
   },
   "deliver": "art/source/production-sheets/ART-3D-MNT-mirage_drake.png",
   "publishedAs": "/art/new/production-sheets/art-3d-mnt-mirage-drake.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/mounts/ART-MNT-mirage_drake.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-mnt-mirage-drake.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-MNT-reedback_strider",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Reedback Strider (MDL-MNT-reedback_strider)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-MNT-reedback_strider (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-MNT-reedback_strider.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/mounts/art-mnt-reedback-strider.webp"
   ],
   "current": "No turnaround yet: model request MDL-MNT-reedback_strider waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: Reedback Strider, long-legged dune lizard with reed-like dorsal quills and a woven saddle, palette #8a9a5b, #d9c38a, #5a3d22. Saddle and tack included, no rider, neutral standing pose. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-MNT-reedback_strider"
   },
   "deliver": "art/source/production-sheets/ART-3D-MNT-reedback_strider.png",
   "publishedAs": "/art/new/production-sheets/art-3d-mnt-reedback-strider.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/mounts/ART-MNT-reedback_strider.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-mnt-reedback-strider.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-ashroot_grove",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Ashroot Grove set piece (MDL-PRP-ashroot_grove)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-ashroot_grove (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-ashroot_grove.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-ashroot_grove waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Ashroot Grove: Blackened cedars, verdant roots and a lost caravan camp. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-ashroot_grove"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-ashroot_grove.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-ashroot-grove.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-ashroot-grove.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-bellshade_court",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Bellshade Court set piece (MDL-PRP-bellshade_court)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-bellshade_court (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-bellshade_court.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-bellshade_court waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Bellshade Court: Violet lanterns, silent bells and ruined shrine steps. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-bellshade_court"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-bellshade_court.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-bellshade-court.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-bellshade-court.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-caravan_crown_arena",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Caravan Crown Arena set piece (MDL-PRP-caravan_crown_arena)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-caravan_crown_arena (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-caravan_crown_arena.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-caravan_crown_arena waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Caravan Crown Arena: A circular abandoned caravan wheel-yard. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-caravan_crown_arena"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-caravan_crown_arena.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-caravan-crown-arena.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-caravan-crown-arena.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-cinder_kilns",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Cinder Kilns set piece (MDL-PRP-cinder_kilns)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-cinder_kilns (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-cinder_kilns.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-cinder_kilns waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Cinder Kilns: Brick kilns, smoking chimneys and ash pits. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-cinder_kilns"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-cinder_kilns.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-cinder-kilns.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-cinder-kilns.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-clay_cut",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Clay Cut set piece (MDL-PRP-clay_cut)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-clay_cut (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-clay_cut.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-clay_cut waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Clay Cut: Ochre quarry terraces and drained canal locks. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-clay_cut"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-clay_cut.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-clay-cut.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-clay-cut.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-dewgrass_meadow",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Dewgrass Meadow set piece (MDL-PRP-dewgrass_meadow)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-dewgrass_meadow (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-dewgrass_meadow.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-dewgrass_meadow waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Dewgrass Meadow: Dew-coated terraces, wicker bridges and a fallen training log. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-dewgrass_meadow"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-dewgrass_meadow.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-dewgrass-meadow.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-dewgrass-meadow.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-jade_seal_ruins",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Jade Seal Ruins set piece (MDL-PRP-jade_seal_ruins)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-jade_seal_ruins (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-jade_seal_ruins.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-jade_seal_ruins waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Jade Seal Ruins: Cracked jade courts and the sealed western trade gate. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-jade_seal_ruins"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-jade_seal_ruins.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-jade-seal-ruins.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-jade-seal-ruins.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-old_orchard",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Old Orchard set piece (MDL-PRP-old_orchard)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-old_orchard (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-old_orchard.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-old_orchard waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Old Orchard: Amber fruit trees and abandoned toll sheds. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-old_orchard"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-old_orchard.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-old-orchard.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-old-orchard.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-reedwater_banks",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Reedwater Banks set piece (MDL-PRP-reedwater_banks)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-reedwater_banks (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-reedwater_banks.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-reedwater_banks waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Reedwater Banks: Reed beds and a three-arch canal bridge. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-reedwater_banks"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-reedwater_banks.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-reedwater-banks.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-reedwater-banks.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-saltway_flats",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Saltway Flats set piece (MDL-PRP-saltway_flats)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-saltway_flats (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-saltway_flats.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-saltway_flats waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Saltway Flats: Salt pans, flooded causeways and caravan windbreaks. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-saltway_flats"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-saltway_flats.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-saltway-flats.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-saltway-flats.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-3D-PRP-stormquill_ridge",
   "category": "production-sheets",
   "priority": "P2",
   "title": "3D views — Stormquill Ridge set piece (MDL-PRP-stormquill_ridge)",
   "usedIn": "Reference views for the hand-made Tripo model MDL-PRP-stormquill_ridge (Model requests page); tools/model-views.py cuts them.",
   "output": {
    "file": "ART-3D-PRP-stormquill_ridge.png",
    "size": "3072×1024",
    "alpha": false
   },
   "references": [
    "/art/new/production-sheets/art-env-054.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "current": "No turnaround yet: model request MDL-PRP-stormquill_ridge waits for these views.",
   "prompt": "Orthographic model turnaround for image-to-3D: three views left to right on one baseline (front, side facing right, back), same scale in every view, plain mid-grey background, even flat light, no cast shadows, wide gaps between the views. Subject: the hero set piece of Stormquill Ridge: Wind-cut ridges, copper lightning relics and kestrel roosts. One self-contained set piece on flat ground, no terrain. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, labels or scale bar, no dynamic pose, no perspective, no background scenery, no second subject.",
   "acceptance": [
    "Exactly three views: front, side, back (left to right)",
    "Same height and baseline in every view",
    "Design and colours match the references"
   ],
   "source": {
    "kind": "model-views",
    "id": "MDL-PRP-stormquill_ridge"
   },
   "deliver": "art/source/production-sheets/ART-3D-PRP-stormquill_ridge.png",
   "publishedAs": "/art/new/production-sheets/art-3d-prp-stormquill-ridge.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/production-sheets/ART-ENV-054.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/production-sheets/art-3d-prp-stormquill-ridge.webp and records it in packages/game-data/data/art-delivered.json; pages that show production-sheets read it from there."
   }
  },
  {
   "id": "ART-SKL-ashwarden-ashen_stride",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Ashen Stride (Ashwarden, Censer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ashwarden.ashen_stride.",
   "output": {
    "file": "ART-SKL-ashwarden-ashen_stride.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Ashen Stride\" — Grey smoke stream with ember flecks, ash footprints. Motion cue: lean forward, the censer trails behind on its chain, quick gliding steps. Dominant colours #c4511f, #4a3a2a, #f2c27a with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c4511f #4a3a2a #f2c27a"
   ],
   "source": {
    "kind": "skill",
    "id": "ashwarden.ashen_stride"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ashwarden-ashen_stride.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ashwarden-ashen-stride.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ashwarden.ashen_stride\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ashwarden-ashen-stride.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ashwarden-ashen-stride.webp\" on skills[id=\"ashwarden.ashen_stride\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ashwarden-censer_swing",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Censer Swing (Ashwarden, Censer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ashwarden.censer_swing.",
   "output": {
    "file": "ART-SKL-ashwarden-censer_swing.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Censer Swing\" — Heavy ember-smoke ribbon, sparks shed along the arc. Motion cue: chain let out, swing from the hip in a wide flat arc, reel it back. Dominant colours #c4511f, #4a3a2a, #f2c27a with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c4511f #4a3a2a #f2c27a"
   ],
   "source": {
    "kind": "skill",
    "id": "ashwarden.censer_swing"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ashwarden-censer_swing.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ashwarden-censer-swing.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ashwarden.censer_swing\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ashwarden-censer-swing.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ashwarden-censer-swing.webp\" on skills[id=\"ashwarden.censer_swing\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ashwarden-incense_of_valor",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Incense of Valor (Ashwarden, Censer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ashwarden.incense_of_valor.",
   "output": {
    "file": "ART-SKL-ashwarden-incense_of_valor.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Incense of Valor\" — Golden incense smoke drifting in a wide ring, small motes rising over allies. Motion cue: hold the censer up and let it turn slowly; fragrant smoke spills. Dominant colours #c4511f, #4a3a2a, #f2c27a with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c4511f #4a3a2a #f2c27a"
   ],
   "source": {
    "kind": "skill",
    "id": "ashwarden.incense_of_valor"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ashwarden-incense_of_valor.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ashwarden-incense-of-valor.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ashwarden.incense_of_valor\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ashwarden-incense-of-valor.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ashwarden-incense-of-valor.webp\" on skills[id=\"ashwarden.incense_of_valor\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ashwarden-last_rites",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Last Rites (Ashwarden, Censer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ashwarden.last_rites.",
   "output": {
    "file": "ART-SKL-ashwarden-last_rites.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Last Rites\" — Ring of ember smoke tightening, final pillar of ash and sparks. Motion cue: three accelerating chain swings around the body, then an overhead crush. Dominant colours #c4511f, #4a3a2a, #f2c27a with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c4511f #4a3a2a #f2c27a"
   ],
   "source": {
    "kind": "skill",
    "id": "ashwarden.last_rites"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ashwarden-last_rites.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ashwarden-last-rites.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ashwarden.last_rites\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ashwarden-last-rites.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ashwarden-last-rites.webp\" on skills[id=\"ashwarden.last_rites\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ashwarden-pyre_halo",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Pyre Halo (Ashwarden, Censer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ashwarden.pyre_halo.",
   "output": {
    "file": "ART-SKL-ashwarden-pyre_halo.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Pyre Halo\" — Low ring of ember smoke and drifting sparks on the ground around the player, heat shimmer. Motion cue: open the censer lid with a flick; it swings once around the body and settles. Dominant colours #c4511f, #4a3a2a, #f2c27a with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c4511f #4a3a2a #f2c27a"
   ],
   "source": {
    "kind": "skill",
    "id": "ashwarden.pyre_halo"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ashwarden-pyre_halo.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ashwarden-pyre-halo.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ashwarden.pyre_halo\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ashwarden-pyre-halo.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ashwarden-pyre-halo.webp\" on skills[id=\"ashwarden.pyre_halo\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ashwarden-smouldering_rite",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Smouldering Rite (Ashwarden, Censer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ashwarden.smouldering_rite.",
   "output": {
    "file": "ART-SKL-ashwarden-smouldering_rite.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Smouldering Rite\" — Expanding cyclone of ember smoke, halo ring doubles, final pillar of fire and ash. Motion cue: feet planted, the censer whirls overhead faster and faster, then is brought down into the ground. Dominant colours #c4511f, #4a3a2a, #f2c27a with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c4511f #4a3a2a #f2c27a"
   ],
   "source": {
    "kind": "skill",
    "id": "ashwarden.smouldering_rite"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ashwarden-smouldering_rite.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ashwarden-smouldering-rite.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ashwarden.smouldering_rite\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ashwarden-smouldering-rite.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ashwarden-smouldering-rite.webp\" on skills[id=\"ashwarden.smouldering_rite\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ashwarden-thurible_flare",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Thurible Flare (Ashwarden, Censer)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ashwarden.thurible_flare.",
   "output": {
    "file": "ART-SKL-ashwarden-thurible_flare.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Thurible Flare\" — Fire dome bursts from the impact, smoke ring, stun stars. Motion cue: swing the censer high over the head and slam it to the ground. Dominant colours #c4511f, #4a3a2a, #f2c27a with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #c4511f #4a3a2a #f2c27a"
   ],
   "source": {
    "kind": "skill",
    "id": "ashwarden.thurible_flare"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ashwarden-thurible_flare.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ashwarden-thurible-flare.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ashwarden.thurible_flare\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ashwarden-thurible-flare.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ashwarden-thurible-flare.webp\" on skills[id=\"ashwarden.thurible_flare\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-boltwright-ballista_turret",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Ballista Turret (Boltwright, Crossbow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill boltwright.ballista_turret.",
   "output": {
    "file": "ART-SKL-boltwright-ballista_turret.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Ballista Turret\" — Brass ballista unfolds with gears, copper tracer bolts. Motion cue: drop to a knee, slam a folded device down, it springs up; quick wrench turn. Dominant colours #b8743a, #7fd0ff, #2d2620 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #b8743a #7fd0ff #2d2620"
   ],
   "source": {
    "kind": "skill",
    "id": "boltwright.ballista_turret"
   },
   "deliver": "art/source/skill-icons/ART-SKL-boltwright-ballista_turret.png",
   "publishedAs": "/art/new/skill-icons/art-skl-boltwright-ballista-turret.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"boltwright.ballista_turret\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-boltwright-ballista-turret.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-boltwright-ballista-turret.webp\" on skills[id=\"boltwright.ballista_turret\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-boltwright-incendiary_payload",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Incendiary Payload (Boltwright, Crossbow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill boltwright.incendiary_payload.",
   "output": {
    "file": "ART-SKL-boltwright-incendiary_payload.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Incendiary Payload\" — Smoking shell arc, fireball detonation, bomblets bouncing and popping, scorch decals. Motion cue: fold crossbow arms up into a mortar angle, brace foot, launch with big recoil. Dominant colours #b8743a, #7fd0ff, #2d2620 with warm bronze highlights. Element: fire. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #b8743a #7fd0ff #2d2620"
   ],
   "source": {
    "kind": "skill",
    "id": "boltwright.incendiary_payload"
   },
   "deliver": "art/source/skill-icons/ART-SKL-boltwright-incendiary_payload.png",
   "publishedAs": "/art/new/skill-icons/art-skl-boltwright-incendiary-payload.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"boltwright.incendiary_payload\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-boltwright-incendiary-payload.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-boltwright-incendiary-payload.webp\" on skills[id=\"boltwright.incendiary_payload\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-boltwright-rapid_bolts",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Rapid Bolts (Boltwright, Crossbow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill boltwright.rapid_bolts.",
   "output": {
    "file": "ART-SKL-boltwright-rapid_bolts.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Rapid Bolts\" — Three copper-tracer bolts with spark kicks. Motion cue: brace stock to shoulder, three rapid trigger pulls with mechanical recoil, crank lever. Dominant colours #b8743a, #7fd0ff, #2d2620 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #b8743a #7fd0ff #2d2620"
   ],
   "source": {
    "kind": "skill",
    "id": "boltwright.rapid_bolts"
   },
   "deliver": "art/source/skill-icons/ART-SKL-boltwright-rapid_bolts.png",
   "publishedAs": "/art/new/skill-icons/art-skl-boltwright-rapid-bolts.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"boltwright.rapid_bolts\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-boltwright-rapid-bolts.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-boltwright-rapid-bolts.webp\" on skills[id=\"boltwright.rapid_bolts\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-boltwright-recoil_shot",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Recoil Shot (Boltwright, Crossbow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill boltwright.recoil_shot.",
   "output": {
    "file": "ART-SKL-boltwright-recoil_shot.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Recoil Shot\" — Shotgun-like copper spark cone, smoke puff, slide dust. Motion cue: point-blank blast from the hip; recoil hurls you back 5 m in a controlled slide. Dominant colours #b8743a, #7fd0ff, #2d2620 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #b8743a #7fd0ff #2d2620"
   ],
   "source": {
    "kind": "skill",
    "id": "boltwright.recoil_shot"
   },
   "deliver": "art/source/skill-icons/ART-SKL-boltwright-recoil_shot.png",
   "publishedAs": "/art/new/skill-icons/art-skl-boltwright-recoil-shot.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"boltwright.recoil_shot\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-boltwright-recoil-shot.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-boltwright-recoil-shot.webp\" on skills[id=\"boltwright.recoil_shot\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-boltwright-siege_quarrel",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Siege Quarrel (Boltwright, Crossbow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill boltwright.siege_quarrel.",
   "output": {
    "file": "ART-SKL-boltwright-siege_quarrel.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Siege Quarrel\" — Copper bolt with a lightning wake, spark blast on impact, smoke ring from the crossbow. Motion cue: brace stance, three quick crank turns, shoulder the crossbow, heavy kick-back on release. Dominant colours #b8743a, #7fd0ff, #2d2620 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #b8743a #7fd0ff #2d2620"
   ],
   "source": {
    "kind": "skill",
    "id": "boltwright.siege_quarrel"
   },
   "deliver": "art/source/skill-icons/ART-SKL-boltwright-siege_quarrel.png",
   "publishedAs": "/art/new/skill-icons/art-skl-boltwright-siege-quarrel.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"boltwright.siege_quarrel\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-boltwright-siege-quarrel.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-boltwright-siege-quarrel.webp\" on skills[id=\"boltwright.siege_quarrel\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-boltwright-spark_trap",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Spark Trap (Boltwright, Crossbow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill boltwright.spark_trap.",
   "output": {
    "file": "ART-SKL-boltwright-spark_trap.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Spark Trap\" — Brass trap with blinking copper core; trigger = lightning dome burst + binding arcs. Motion cue: underhand toss of a brass device, it lands and unfolds spider-like legs. Dominant colours #b8743a, #7fd0ff, #2d2620 with warm bronze highlights. Element: lightning. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #b8743a #7fd0ff #2d2620"
   ],
   "source": {
    "kind": "skill",
    "id": "boltwright.spark_trap"
   },
   "deliver": "art/source/skill-icons/ART-SKL-boltwright-spark_trap.png",
   "publishedAs": "/art/new/skill-icons/art-skl-boltwright-spark-trap.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"boltwright.spark_trap\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-boltwright-spark-trap.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-boltwright-spark-trap.webp\" on skills[id=\"boltwright.spark_trap\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-boltwright-thunder_quarrel",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Thunder Quarrel (Boltwright, Crossbow)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill boltwright.thunder_quarrel.",
   "output": {
    "file": "ART-SKL-boltwright-thunder_quarrel.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Thunder Quarrel\" — Crackling bolt with a lightning trail, explosion with arcs and smoke ring. Motion cue: load a glowing quarrel, crank, aim, heavy recoil that pushes the shoulder back. Dominant colours #b8743a, #7fd0ff, #2d2620 with warm bronze highlights. Element: lightning. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #b8743a #7fd0ff #2d2620"
   ],
   "source": {
    "kind": "skill",
    "id": "boltwright.thunder_quarrel"
   },
   "deliver": "art/source/skill-icons/ART-SKL-boltwright-thunder_quarrel.png",
   "publishedAs": "/art/new/skill-icons/art-skl-boltwright-thunder-quarrel.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"boltwright.thunder_quarrel\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-boltwright-thunder-quarrel.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-boltwright-thunder-quarrel.webp\" on skills[id=\"boltwright.thunder_quarrel\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-frostweaver-frost_bloom",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Frost Bloom (Frostweaver, Rime Tome)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill frostweaver.frost_bloom.",
   "output": {
    "file": "ART-SKL-frostweaver-frost_bloom.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/glass-shard.webp",
    "/art/icons/skills/stillwater-seal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Frost Bloom\" — Ice-crystal flower blooms from the ground, frost rime spreads, frozen enemies glaze over. Motion cue: flip pages fast, slam the palm onto the open book; frost spreads from the feet to the target area. Dominant colours #9ad4ff, #3f6f9e, #e8f4ff with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #9ad4ff #3f6f9e #e8f4ff"
   ],
   "source": {
    "kind": "skill",
    "id": "frostweaver.frost_bloom"
   },
   "deliver": "art/source/skill-icons/ART-SKL-frostweaver-frost_bloom.png",
   "publishedAs": "/art/new/skill-icons/art-skl-frostweaver-frost-bloom.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/glass_shard.png",
    "art/originals/icons/v4/skills/stillwater_seal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"frostweaver.frost_bloom\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-frostweaver-frost-bloom.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-frostweaver-frost-bloom.webp\" on skills[id=\"frostweaver.frost_bloom\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-frostweaver-mirror_glide",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Mirror Glide (Frostweaver, Rime Tome)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill frostweaver.mirror_glide.",
   "output": {
    "file": "ART-SKL-frostweaver-mirror_glide.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/glass-shard.webp",
    "/art/icons/skills/stillwater-seal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Mirror Glide\" — Glassy ice ribbon underfoot, translucent mirror image left behind. Motion cue: lean back, feet glide as if skating, tome held against the chest. Dominant colours #9ad4ff, #3f6f9e, #e8f4ff with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #9ad4ff #3f6f9e #e8f4ff"
   ],
   "source": {
    "kind": "skill",
    "id": "frostweaver.mirror_glide"
   },
   "deliver": "art/source/skill-icons/ART-SKL-frostweaver-mirror_glide.png",
   "publishedAs": "/art/new/skill-icons/art-skl-frostweaver-mirror-glide.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/glass_shard.png",
    "art/originals/icons/v4/skills/stillwater_seal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"frostweaver.mirror_glide\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-frostweaver-mirror-glide.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-frostweaver-mirror-glide.webp\" on skills[id=\"frostweaver.mirror_glide\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-frostweaver-moonfrost_tempest",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Moonfrost Tempest (Frostweaver, Rime Tome)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill frostweaver.moonfrost_tempest.",
   "output": {
    "file": "ART-SKL-frostweaver-moonfrost_tempest.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/glass-shard.webp",
    "/art/icons/skills/stillwater-seal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Moonfrost Tempest\" — Silver-blue blizzard disc, moonlit hail, frost fog, freeze glaze at the end. Motion cue: raise the open tome overhead, pages whirl out into the sky, close it with a clap. Dominant colours #9ad4ff, #3f6f9e, #e8f4ff with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #9ad4ff #3f6f9e #e8f4ff"
   ],
   "source": {
    "kind": "skill",
    "id": "frostweaver.moonfrost_tempest"
   },
   "deliver": "art/source/skill-icons/ART-SKL-frostweaver-moonfrost_tempest.png",
   "publishedAs": "/art/new/skill-icons/art-skl-frostweaver-moonfrost-tempest.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/glass_shard.png",
    "art/originals/icons/v4/skills/stillwater_seal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"frostweaver.moonfrost_tempest\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-frostweaver-moonfrost-tempest.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-frostweaver-moonfrost-tempest.webp\" on skills[id=\"frostweaver.moonfrost_tempest\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-frostweaver-rime_lance",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Rime Lance (Frostweaver, Rime Tome)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill frostweaver.rime_lance.",
   "output": {
    "file": "ART-SKL-frostweaver-rime_lance.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/glass-shard.webp",
    "/art/icons/skills/stillwater-seal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Rime Lance\" — Pale blue ice lance with frost motes, shatter puff on hit. Motion cue: tome open on the off-hand, palm slides across the page and pushes forward. Dominant colours #9ad4ff, #3f6f9e, #e8f4ff with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #9ad4ff #3f6f9e #e8f4ff"
   ],
   "source": {
    "kind": "skill",
    "id": "frostweaver.rime_lance"
   },
   "deliver": "art/source/skill-icons/ART-SKL-frostweaver-rime_lance.png",
   "publishedAs": "/art/new/skill-icons/art-skl-frostweaver-rime-lance.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/glass_shard.png",
    "art/originals/icons/v4/skills/stillwater_seal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"frostweaver.rime_lance\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-frostweaver-rime-lance.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-frostweaver-rime-lance.webp\" on skills[id=\"frostweaver.rime_lance\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-frostweaver-shatterpoint",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Shatterpoint (Frostweaver, Rime Tome)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill frostweaver.shatterpoint.",
   "output": {
    "file": "ART-SKL-frostweaver-shatterpoint.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/glass-shard.webp",
    "/art/icons/skills/stillwater-seal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Shatterpoint\" — Frost lattice spreads over the target then shatters into glass shards. Motion cue: open the tome, a single page tears out and flies; snap the book shut. Dominant colours #9ad4ff, #3f6f9e, #e8f4ff with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #9ad4ff #3f6f9e #e8f4ff"
   ],
   "source": {
    "kind": "skill",
    "id": "frostweaver.shatterpoint"
   },
   "deliver": "art/source/skill-icons/ART-SKL-frostweaver-shatterpoint.png",
   "publishedAs": "/art/new/skill-icons/art-skl-frostweaver-shatterpoint.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/glass_shard.png",
    "art/originals/icons/v4/skills/stillwater_seal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"frostweaver.shatterpoint\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-frostweaver-shatterpoint.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-frostweaver-shatterpoint.webp\" on skills[id=\"frostweaver.shatterpoint\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-oathkeeper-falling_moon",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Falling Moon (Oathkeeper, Glaive)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill oathkeeper.falling_moon.",
   "output": {
    "file": "ART-SKL-oathkeeper-falling_moon.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/reed-sweep.webp",
    "/art/icons/skills/bracepoint.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Falling Moon\" — Moon disc briefly visible behind the leap; impact forms a frozen crescent crater, ice spikes, frost mist. Motion cue: leap high, glaive drawn back over head in a full arc, falling downward cleave, kneel on impact. Dominant colours #bcd7ef, #5e86b8, #1e2733 with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #bcd7ef #5e86b8 #1e2733"
   ],
   "source": {
    "kind": "skill",
    "id": "oathkeeper.falling_moon"
   },
   "deliver": "art/source/skill-icons/ART-SKL-oathkeeper-falling_moon.png",
   "publishedAs": "/art/new/skill-icons/art-skl-oathkeeper-falling-moon.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/reed_sweep.png",
    "art/originals/icons/v4/skills/bracepoint.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"oathkeeper.falling_moon\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-oathkeeper-falling-moon.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-oathkeeper-falling-moon.webp\" on skills[id=\"oathkeeper.falling_moon\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-oathkeeper-moon_crescent",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Moon Crescent (Oathkeeper, Glaive)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill oathkeeper.moon_crescent.",
   "output": {
    "file": "ART-SKL-oathkeeper-moon_crescent.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/reed-sweep.webp",
    "/art/icons/skills/bracepoint.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Moon Crescent\" — Pale blue-white crescent wave with frost mist and ice glints. Motion cue: vertical rising spin of the glaive releasing a crescent of frost from the blade. Dominant colours #bcd7ef, #5e86b8, #1e2733 with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #bcd7ef #5e86b8 #1e2733"
   ],
   "source": {
    "kind": "skill",
    "id": "oathkeeper.moon_crescent"
   },
   "deliver": "art/source/skill-icons/ART-SKL-oathkeeper-moon_crescent.png",
   "publishedAs": "/art/new/skill-icons/art-skl-oathkeeper-moon-crescent.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/reed_sweep.png",
    "art/originals/icons/v4/skills/bracepoint.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"oathkeeper.moon_crescent\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-oathkeeper-moon-crescent.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-oathkeeper-moon-crescent.webp\" on skills[id=\"oathkeeper.moon_crescent\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-oathkeeper-oath_challenge",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Oath Challenge (Oathkeeper, Glaive)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill oathkeeper.oath_challenge.",
   "output": {
    "file": "ART-SKL-oathkeeper-oath_challenge.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/reed-sweep.webp",
    "/art/icons/skills/bracepoint.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Oath Challenge\" — Pale moon glyph ring on the ground, barrier shimmer over allies, taunt marks over enemies. Motion cue: slam the glaive butt into the ground, raise the other fist, shout the vow. Dominant colours #bcd7ef, #5e86b8, #1e2733 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #bcd7ef #5e86b8 #1e2733"
   ],
   "source": {
    "kind": "skill",
    "id": "oathkeeper.oath_challenge"
   },
   "deliver": "art/source/skill-icons/ART-SKL-oathkeeper-oath_challenge.png",
   "publishedAs": "/art/new/skill-icons/art-skl-oathkeeper-oath-challenge.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/reed_sweep.png",
    "art/originals/icons/v4/skills/bracepoint.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"oathkeeper.oath_challenge\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-oathkeeper-oath-challenge.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-oathkeeper-oath-challenge.webp\" on skills[id=\"oathkeeper.oath_challenge\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-oathkeeper-oathfall",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Oathfall (Oathkeeper, Glaive)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill oathkeeper.oathfall.",
   "output": {
    "file": "ART-SKL-oathkeeper-oathfall.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/reed-sweep.webp",
    "/art/icons/skills/bracepoint.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Oathfall\" — Pale moon arc, frost glyph circle, barrier shimmer on allies. Motion cue: spin the glaive overhead once, step in and drive the blade down two-handed. Dominant colours #bcd7ef, #5e86b8, #1e2733 with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #bcd7ef #5e86b8 #1e2733"
   ],
   "source": {
    "kind": "skill",
    "id": "oathkeeper.oathfall"
   },
   "deliver": "art/source/skill-icons/ART-SKL-oathkeeper-oathfall.png",
   "publishedAs": "/art/new/skill-icons/art-skl-oathkeeper-oathfall.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/reed_sweep.png",
    "art/originals/icons/v4/skills/bracepoint.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"oathkeeper.oathfall\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-oathkeeper-oathfall.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-oathkeeper-oathfall.webp\" on skills[id=\"oathkeeper.oathfall\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-oathkeeper-tidewalk",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Tidewalk (Oathkeeper, Glaive)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill oathkeeper.tidewalk.",
   "output": {
    "file": "ART-SKL-oathkeeper-tidewalk.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/reed-sweep.webp",
    "/art/icons/skills/bracepoint.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Tidewalk\" — Rippling water-frost trail, crescent cut. Motion cue: glaive held low-trailing, gliding dash with a sweeping cut through the path, skid to stop. Dominant colours #bcd7ef, #5e86b8, #1e2733 with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #bcd7ef #5e86b8 #1e2733"
   ],
   "source": {
    "kind": "skill",
    "id": "oathkeeper.tidewalk"
   },
   "deliver": "art/source/skill-icons/ART-SKL-oathkeeper-tidewalk.png",
   "publishedAs": "/art/new/skill-icons/art-skl-oathkeeper-tidewalk.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/reed_sweep.png",
    "art/originals/icons/v4/skills/bracepoint.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"oathkeeper.tidewalk\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-oathkeeper-tidewalk.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-oathkeeper-tidewalk.webp\" on skills[id=\"oathkeeper.tidewalk\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ringdancer-eclipse_reckoning",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Eclipse Reckoning (Ringdancer, Chakram)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ringdancer.eclipse_reckoning.",
   "output": {
    "file": "ART-SKL-ringdancer-eclipse_reckoning.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Eclipse Reckoning\" — Two silver-blue rings orbit tighter, crash into an eclipse flash, frost shards. Motion cue: throw both chakrams in opposing arcs, catch them as they return through each other. Dominant colours #cfd8e6, #7aa7d8, #232a36 with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #cfd8e6 #7aa7d8 #232a36"
   ],
   "source": {
    "kind": "skill",
    "id": "ringdancer.eclipse_reckoning"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ringdancer-eclipse_reckoning.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ringdancer-eclipse-reckoning.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ringdancer.eclipse_reckoning\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ringdancer-eclipse-reckoning.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ringdancer-eclipse-reckoning.webp\" on skills[id=\"ringdancer.eclipse_reckoning\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ringdancer-glass_crescent",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Glass Crescent (Ringdancer, Chakram)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ringdancer.glass_crescent.",
   "output": {
    "file": "ART-SKL-ringdancer-glass_crescent.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Glass Crescent\" — Frost-crystal ring trail, glass-shard spray on hits. Motion cue: overhand throw with a skip step; ring flies out frosted, curves back. Dominant colours #cfd8e6, #7aa7d8, #232a36 with warm bronze highlights. Element: cold. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #cfd8e6 #7aa7d8 #232a36"
   ],
   "source": {
    "kind": "skill",
    "id": "ringdancer.glass_crescent"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ringdancer-glass_crescent.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ringdancer-glass-crescent.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ringdancer.glass_crescent\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ringdancer-glass-crescent.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ringdancer-glass-crescent.webp\" on skills[id=\"ringdancer.glass_crescent\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ringdancer-hovering_halo",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Hovering Halo (Ringdancer, Chakram)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ringdancer.hovering_halo.",
   "output": {
    "file": "ART-SKL-ringdancer-hovering_halo.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Hovering Halo\" — Silver halo above head emitting faint light pulses. Motion cue: raise a ring above the head; it hovers as a halo; spin once. Dominant colours #cfd8e6, #7aa7d8, #232a36 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #cfd8e6 #7aa7d8 #232a36"
   ],
   "source": {
    "kind": "skill",
    "id": "ringdancer.hovering_halo"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ringdancer-hovering_halo.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ringdancer-hovering-halo.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ringdancer.hovering_halo\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ringdancer-hovering-halo.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ringdancer-hovering-halo.webp\" on skills[id=\"ringdancer.hovering_halo\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ringdancer-moonring_toss",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Moonring Toss (Ringdancer, Chakram)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ringdancer.moonring_toss.",
   "output": {
    "file": "ART-SKL-ringdancer-moonring_toss.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Moonring Toss\" — Moon-silver spinning disc, glints at bounces. Motion cue: wind-up spin, sidearm throw; ring ricochets and returns to the catching hand. Dominant colours #cfd8e6, #7aa7d8, #232a36 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #cfd8e6 #7aa7d8 #232a36"
   ],
   "source": {
    "kind": "skill",
    "id": "ringdancer.moonring_toss"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ringdancer-moonring_toss.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ringdancer-moonring-toss.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ringdancer.moonring_toss\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ringdancer-moonring-toss.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ringdancer-moonring-toss.webp\" on skills[id=\"ringdancer.moonring_toss\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ringdancer-orbit_ward",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Orbit Ward (Ringdancer, Chakram)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ringdancer.orbit_ward.",
   "output": {
    "file": "ART-SKL-ringdancer-orbit_ward.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Orbit Ward\" — Two silver rings orbiting with faint trails. Motion cue: flick both wrists upward; rings leave hands and settle into orbit; hands free. Dominant colours #cfd8e6, #7aa7d8, #232a36 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #cfd8e6 #7aa7d8 #232a36"
   ],
   "source": {
    "kind": "skill",
    "id": "ringdancer.orbit_ward"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ringdancer-orbit_ward.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ringdancer-orbit-ward.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ringdancer.orbit_ward\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ringdancer-orbit-ward.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ringdancer-orbit-ward.webp\" on skills[id=\"ringdancer.orbit_ward\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ringdancer-ricochet_storm",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Ricochet Storm (Ringdancer, Chakram)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ringdancer.ricochet_storm.",
   "output": {
    "file": "ART-SKL-ringdancer-ricochet_storm.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Ricochet Storm\" — Five silver trails zig-zag between enemies, bright ricochet sparks, converging return streaks. Motion cue: spin full circle releasing rings one after another from both hands, then raise arms to call them back. Dominant colours #cfd8e6, #7aa7d8, #232a36 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #cfd8e6 #7aa7d8 #232a36"
   ],
   "source": {
    "kind": "skill",
    "id": "ringdancer.ricochet_storm"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ringdancer-ricochet_storm.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ringdancer-ricochet-storm.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ringdancer.ricochet_storm\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ringdancer-ricochet-storm.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ringdancer-ricochet-storm.webp\" on skills[id=\"ringdancer.ricochet_storm\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-ringdancer-ring_step",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Ring Step (Ringdancer, Chakram)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill ringdancer.ring_step.",
   "output": {
    "file": "ART-SKL-ringdancer-ring_step.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Ring Step\" — Silver light line, ring flash at endpoint. Motion cue: throw ring forward, body dissolves into silver light, reforms at ring catching it mid-spin. Dominant colours #cfd8e6, #7aa7d8, #232a36 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #cfd8e6 #7aa7d8 #232a36"
   ],
   "source": {
    "kind": "skill",
    "id": "ringdancer.ring_step"
   },
   "deliver": "art/source/skill-icons/ART-SKL-ringdancer-ring_step.png",
   "publishedAs": "/art/new/skill-icons/art-skl-ringdancer-ring-step.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"ringdancer.ring_step\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-ringdancer-ring-step.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-ringdancer-ring-step.webp\" on skills[id=\"ringdancer.ring_step\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-stormcaller-heavens_pillar",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Heaven's Pillar (Stormcaller, Storm Staff)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill stormcaller.heavens_pillar.",
   "output": {
    "file": "ART-SKL-stormcaller-heavens_pillar.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/storm-circle.webp",
    "/art/icons/skills/arc-thread.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Heaven's Pillar\" — Massive violet-white pillar from the sky, beam sweeping like a lighthouse, scorch spiral. Motion cue: leap, drive staff into ground, kneel holding it as lightning hammers down; rise and pull the staff free. Dominant colours #8f6ad8, #e6e0ff, #2a2140 with warm bronze highlights. Element: lightning. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8f6ad8 #e6e0ff #2a2140"
   ],
   "source": {
    "kind": "skill",
    "id": "stormcaller.heavens_pillar"
   },
   "deliver": "art/source/skill-icons/ART-SKL-stormcaller-heavens_pillar.png",
   "publishedAs": "/art/new/skill-icons/art-skl-stormcaller-heavens-pillar.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/storm_circle.png",
    "art/originals/icons/v4/skills/arc_thread.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"stormcaller.heavens_pillar\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-stormcaller-heavens-pillar.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-stormcaller-heavens-pillar.webp\" on skills[id=\"stormcaller.heavens_pillar\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-stormcaller-judgement_bolt",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Judgement Bolt (Stormcaller, Storm Staff)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill stormcaller.judgement_bolt.",
   "output": {
    "file": "ART-SKL-stormcaller-judgement_bolt.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/storm-circle.webp",
    "/art/icons/skills/arc-thread.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Judgement Bolt\" — Blinding white bolt, branching violet forks, scorched ground. Motion cue: staff raised overhead, a breath, then pointed down at the target. Dominant colours #8f6ad8, #e6e0ff, #2a2140 with warm bronze highlights. Element: lightning. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8f6ad8 #e6e0ff #2a2140"
   ],
   "source": {
    "kind": "skill",
    "id": "stormcaller.judgement_bolt"
   },
   "deliver": "art/source/skill-icons/ART-SKL-stormcaller-judgement_bolt.png",
   "publishedAs": "/art/new/skill-icons/art-skl-stormcaller-judgement-bolt.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/storm_circle.png",
    "art/originals/icons/v4/skills/arc_thread.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"stormcaller.judgement_bolt\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-stormcaller-judgement-bolt.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-stormcaller-judgement-bolt.webp\" on skills[id=\"stormcaller.judgement_bolt\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-stormcaller-staff_cascade",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Staff Cascade (Stormcaller, Storm Staff)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill stormcaller.staff_cascade.",
   "output": {
    "file": "ART-SKL-stormcaller-staff_cascade.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/storm-circle.webp",
    "/art/icons/skills/arc-thread.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Staff Cascade\" — Wooden blur with storm-violet arcs at tips; final arc jumps. Motion cue: thrust, overhead spin (staff rotates across back), low sweep; feet pivot in a martial stance. Dominant colours #8f6ad8, #e6e0ff, #2a2140 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8f6ad8 #e6e0ff #2a2140"
   ],
   "source": {
    "kind": "skill",
    "id": "stormcaller.staff_cascade"
   },
   "deliver": "art/source/skill-icons/ART-SKL-stormcaller-staff_cascade.png",
   "publishedAs": "/art/new/skill-icons/art-skl-stormcaller-staff-cascade.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/storm_circle.png",
    "art/originals/icons/v4/skills/arc_thread.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"stormcaller.staff_cascade\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-stormcaller-staff-cascade.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-stormcaller-staff-cascade.webp\" on skills[id=\"stormcaller.staff_cascade\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-stormcaller-storm_mantle",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Storm Mantle (Stormcaller, Storm Staff)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill stormcaller.storm_mantle.",
   "output": {
    "file": "ART-SKL-stormcaller-storm_mantle.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/storm-circle.webp",
    "/art/icons/skills/arc-thread.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Storm Mantle\" — Crackling violet arcs crawling over shoulders and staff. Motion cue: staff planted, palm on top, lightning climbs the staff into the body. Dominant colours #8f6ad8, #e6e0ff, #2a2140 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8f6ad8 #e6e0ff #2a2140"
   ],
   "source": {
    "kind": "skill",
    "id": "stormcaller.storm_mantle"
   },
   "deliver": "art/source/skill-icons/ART-SKL-stormcaller-storm_mantle.png",
   "publishedAs": "/art/new/skill-icons/art-skl-stormcaller-storm-mantle.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/storm_circle.png",
    "art/originals/icons/v4/skills/arc_thread.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"stormcaller.storm_mantle\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-stormcaller-storm-mantle.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-stormcaller-storm-mantle.webp\" on skills[id=\"stormcaller.storm_mantle\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-stormcaller-thunderclap_vault",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Thunderclap Vault (Stormcaller, Storm Staff)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill stormcaller.thunderclap_vault.",
   "output": {
    "file": "ART-SKL-stormcaller-thunderclap_vault.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/storm-circle.webp",
    "/art/icons/skills/arc-thread.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Thunderclap Vault\" — Arc trail along vault path, landing thunderclap ring and sparks. Motion cue: plant staff and pole-vault over the ground, landing with staff slammed down. Dominant colours #8f6ad8, #e6e0ff, #2a2140 with warm bronze highlights. Element: lightning. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #8f6ad8 #e6e0ff #2a2140"
   ],
   "source": {
    "kind": "skill",
    "id": "stormcaller.thunderclap_vault"
   },
   "deliver": "art/source/skill-icons/ART-SKL-stormcaller-thunderclap_vault.png",
   "publishedAs": "/art/new/skill-icons/art-skl-stormcaller-thunderclap-vault.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/storm_circle.png",
    "art/originals/icons/v4/skills/arc_thread.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"stormcaller.thunderclap_vault\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-stormcaller-thunderclap-vault.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-stormcaller-thunderclap-vault.webp\" on skills[id=\"stormcaller.thunderclap_vault\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-twinblade-blade_rhythm",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Blade Rhythm (Twinblade, Dual Blades)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill twinblade.blade_rhythm.",
   "output": {
    "file": "ART-SKL-twinblade-blade_rhythm.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/twin-crossing.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Blade Rhythm\" — Rhythm pips (4) orbiting; ghost blades flash on trigger. Motion cue: spin blades in both hands (twirl), clash them once in front. Dominant colours #7fc4a6, #e8f3ea, #2f4a40 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7fc4a6 #e8f3ea #2f4a40"
   ],
   "source": {
    "kind": "skill",
    "id": "twinblade.blade_rhythm"
   },
   "deliver": "art/source/skill-icons/ART-SKL-twinblade-blade_rhythm.png",
   "publishedAs": "/art/new/skill-icons/art-skl-twinblade-blade-rhythm.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/twin_crossing.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"twinblade.blade_rhythm\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-twinblade-blade-rhythm.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-twinblade-blade-rhythm.webp\" on skills[id=\"twinblade.blade_rhythm\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-twinblade-cyclone_dance",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Cyclone Dance (Twinblade, Dual Blades)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill twinblade.cyclone_dance.",
   "output": {
    "file": "ART-SKL-twinblade-cyclone_dance.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/twin-crossing.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Cyclone Dance\" — Sand-jade cyclone column, ribbon spirals, sand kick-up. Motion cue: spinning dance moving forward 4 m: blades extended, alternating high/low, 5 revolutions, ends in a crouch with blades out. Dominant colours #7fc4a6, #e8f3ea, #2f4a40 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7fc4a6 #e8f3ea #2f4a40"
   ],
   "source": {
    "kind": "skill",
    "id": "twinblade.cyclone_dance"
   },
   "deliver": "art/source/skill-icons/ART-SKL-twinblade-cyclone_dance.png",
   "publishedAs": "/art/new/skill-icons/art-skl-twinblade-cyclone-dance.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/twin_crossing.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"twinblade.cyclone_dance\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-twinblade-cyclone-dance.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-twinblade-cyclone-dance.webp\" on skills[id=\"twinblade.cyclone_dance\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-twinblade-final_meridian",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Final Meridian (Twinblade, Dual Blades)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill twinblade.final_meridian.",
   "output": {
    "file": "ART-SKL-twinblade-final_meridian.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/twin-crossing.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Final Meridian\" — White-teal blade arcs around the target forming a meridian sphere, final X flash. Motion cue: spring up beside the target, spin cuts around it in mid-air, finish with both blades crossing downward. Dominant colours #7fc4a6, #e8f3ea, #2f4a40 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7fc4a6 #e8f3ea #2f4a40"
   ],
   "source": {
    "kind": "skill",
    "id": "twinblade.final_meridian"
   },
   "deliver": "art/source/skill-icons/ART-SKL-twinblade-final_meridian.png",
   "publishedAs": "/art/new/skill-icons/art-skl-twinblade-final-meridian.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/twin_crossing.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"twinblade.final_meridian\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-twinblade-final-meridian.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-twinblade-final-meridian.webp\" on skills[id=\"twinblade.final_meridian\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-twinblade-gale_step_slash",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Gale Step Slash (Twinblade, Dual Blades)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill twinblade.gale_step_slash.",
   "output": {
    "file": "ART-SKL-twinblade-gale_step_slash.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/twin-crossing.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Gale Step Slash\" — Wind slit line + afterimage silhouette. Motion cue: low lunge-dash with both blades trailing behind, slash on passing, skid turn. Dominant colours #7fc4a6, #e8f3ea, #2f4a40 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7fc4a6 #e8f3ea #2f4a40"
   ],
   "source": {
    "kind": "skill",
    "id": "twinblade.gale_step_slash"
   },
   "deliver": "art/source/skill-icons/ART-SKL-twinblade-gale_step_slash.png",
   "publishedAs": "/art/new/skill-icons/art-skl-twinblade-gale-step-slash.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/twin_crossing.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"twinblade.gale_step_slash\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-twinblade-gale-step-slash.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-twinblade-gale-step-slash.webp\" on skills[id=\"twinblade.gale_step_slash\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-twinblade-tempest_of_blades",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Tempest of Blades (Twinblade, Dual Blades)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill twinblade.tempest_of_blades.",
   "output": {
    "file": "ART-SKL-twinblade-tempest_of_blades.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/twin-crossing.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Tempest of Blades\" — Jade-white ghost swords orbit leaving ribbon trails, then drop like rain; final impact flashes on ground. Motion cue: cross blades overhead, spin once — spectral blades erupt; raise both blades skyward, then drive both down. Dominant colours #7fc4a6, #e8f3ea, #2f4a40 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7fc4a6 #e8f3ea #2f4a40"
   ],
   "source": {
    "kind": "skill",
    "id": "twinblade.tempest_of_blades"
   },
   "deliver": "art/source/skill-icons/ART-SKL-twinblade-tempest_of_blades.png",
   "publishedAs": "/art/new/skill-icons/art-skl-twinblade-tempest-of-blades.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/twin_crossing.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"twinblade.tempest_of_blades\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-twinblade-tempest-of-blades.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-twinblade-tempest-of-blades.webp\" on skills[id=\"twinblade.tempest_of_blades\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-twinblade-thousand_cuts",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Thousand Cuts (Twinblade, Dual Blades)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill twinblade.thousand_cuts.",
   "output": {
    "file": "ART-SKL-twinblade-thousand_cuts.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/twin-crossing.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Thousand Cuts\" — Dense fan of thin slash streaks with afterimages; final vertical streak. Motion cue: rapid alternating slashes in a flurry (8 hits in 1.2 s), arms blur, final rising double-slash. Dominant colours #7fc4a6, #e8f3ea, #2f4a40 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #7fc4a6 #e8f3ea #2f4a40"
   ],
   "source": {
    "kind": "skill",
    "id": "twinblade.thousand_cuts"
   },
   "deliver": "art/source/skill-icons/ART-SKL-twinblade-thousand_cuts.png",
   "publishedAs": "/art/new/skill-icons/art-skl-twinblade-thousand-cuts.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/twin_crossing.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"twinblade.thousand_cuts\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-twinblade-thousand-cuts.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-twinblade-thousand-cuts.webp\" on skills[id=\"twinblade.thousand_cuts\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-vanguard-bulwark_slam",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Bulwark Slam (Vanguard, Sword & Shield)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill vanguard.bulwark_slam.",
   "output": {
    "file": "ART-SKL-vanguard-bulwark_slam.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/shieldline-cut.webp",
    "/art/icons/skills/gate-reversal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Bulwark Slam\" — Bronze ring shockwave, crack decals, dust ring, taunt glyphs on enemies. Motion cue: leap 0.5 m, slam shield rim-first into ground with full body. Dominant colours #3f8f6b, #c9a24a, #24382e with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3f8f6b #c9a24a #24382e"
   ],
   "source": {
    "kind": "skill",
    "id": "vanguard.bulwark_slam"
   },
   "deliver": "art/source/skill-icons/ART-SKL-vanguard-bulwark_slam.png",
   "publishedAs": "/art/new/skill-icons/art-skl-vanguard-bulwark-slam.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/shieldline_cut.png",
    "art/originals/icons/v4/skills/gate_reversal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"vanguard.bulwark_slam\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-vanguard-bulwark-slam.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-vanguard-bulwark-slam.webp\" on skills[id=\"vanguard.bulwark_slam\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-vanguard-jade_aegis",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Jade Aegis (Vanguard, Sword & Shield)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill vanguard.jade_aegis.",
   "output": {
    "file": "ART-SKL-vanguard-jade_aegis.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/shieldline-cut.webp",
    "/art/icons/skills/gate-reversal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Jade Aegis\" — Hexagonal jade dome with flowing glyphs, impacts ripple on surface; detonation = expanding jade ring + light burst. Motion cue: shield raised overhead with both hands, kneel, jade light flows from shield into a dome; on end, stand and thrust shield forward. Dominant colours #3f8f6b, #c9a24a, #24382e with warm bronze highlights. Element: light. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3f8f6b #c9a24a #24382e"
   ],
   "source": {
    "kind": "skill",
    "id": "vanguard.jade_aegis"
   },
   "deliver": "art/source/skill-icons/ART-SKL-vanguard-jade_aegis.png",
   "publishedAs": "/art/new/skill-icons/art-skl-vanguard-jade-aegis.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/shieldline_cut.png",
    "art/originals/icons/v4/skills/gate_reversal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"vanguard.jade_aegis\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-vanguard-jade-aegis.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-vanguard-jade-aegis.webp\" on skills[id=\"vanguard.jade_aegis\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-vanguard-retribution_stance",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Retribution Stance (Vanguard, Sword & Shield)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill vanguard.retribution_stance.",
   "output": {
    "file": "ART-SKL-vanguard-retribution_stance.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/shieldline-cut.webp",
    "/art/icons/skills/gate-reversal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Retribution Stance\" — Jade-bronze barrier sheen on shield; counter-slash flashes. Motion cue: plant shield, tap sword on its rim twice, settle into guard. Dominant colours #3f8f6b, #c9a24a, #24382e with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3f8f6b #c9a24a #24382e"
   ],
   "source": {
    "kind": "skill",
    "id": "vanguard.retribution_stance"
   },
   "deliver": "art/source/skill-icons/ART-SKL-vanguard-retribution_stance.png",
   "publishedAs": "/art/new/skill-icons/art-skl-vanguard-retribution-stance.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/shieldline_cut.png",
    "art/originals/icons/v4/skills/gate_reversal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"vanguard.retribution_stance\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-vanguard-retribution-stance.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-vanguard-retribution-stance.webp\" on skills[id=\"vanguard.retribution_stance\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-vanguard-shield_charge",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Shield Charge (Vanguard, Sword & Shield)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill vanguard.shield_charge.",
   "output": {
    "file": "ART-SKL-vanguard-shield_charge.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/shieldline-cut.webp",
    "/art/icons/skills/gate-reversal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Shield Charge\" — Dust plume, shield flash, impact ring. Motion cue: shield raised, shoulder behind it, sprint 7 m, impact shove at end. Dominant colours #3f8f6b, #c9a24a, #24382e with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3f8f6b #c9a24a #24382e"
   ],
   "source": {
    "kind": "skill",
    "id": "vanguard.shield_charge"
   },
   "deliver": "art/source/skill-icons/ART-SKL-vanguard-shield_charge.png",
   "publishedAs": "/art/new/skill-icons/art-skl-vanguard-shield-charge.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/shieldline_cut.png",
    "art/originals/icons/v4/skills/gate_reversal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"vanguard.shield_charge\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-vanguard-shield-charge.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-vanguard-shield-charge.webp\" on skills[id=\"vanguard.shield_charge\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-vanguard-shield_verdict",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Shield Verdict (Vanguard, Sword & Shield)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill vanguard.shield_verdict.",
   "output": {
    "file": "ART-SKL-vanguard-shield_verdict.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/shieldline-cut.webp",
    "/art/icons/skills/gate-reversal.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Shield Verdict\" — Bronze shield flash, jade crack lines, thrust streak. Motion cue: shield brought up and slammed into the face, sword thrust through the opening, shove off. Dominant colours #3f8f6b, #c9a24a, #24382e with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #3f8f6b #c9a24a #24382e"
   ],
   "source": {
    "kind": "skill",
    "id": "vanguard.shield_verdict"
   },
   "deliver": "art/source/skill-icons/ART-SKL-vanguard-shield_verdict.png",
   "publishedAs": "/art/new/skill-icons/art-skl-vanguard-shield-verdict.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/shieldline_cut.png",
    "art/originals/icons/v4/skills/gate_reversal.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"vanguard.shield_verdict\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-vanguard-shield-verdict.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-vanguard-shield-verdict.webp\" on skills[id=\"vanguard.shield_verdict\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windmender-cleansing_breeze",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Cleansing Breeze (Windmender, War Fan)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windmender.cleansing_breeze.",
   "output": {
    "file": "ART-SKL-windmender-cleansing_breeze.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Cleansing Breeze\" — Cool mint-white breeze ring sweeping outward, ailment icons blown away. Motion cue: both fans fan gently in a circle around the body. Dominant colours #5fc4b0, #f0e2c0, #2f5f62 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5fc4b0 #f0e2c0 #2f5f62"
   ],
   "source": {
    "kind": "skill",
    "id": "windmender.cleansing_breeze"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windmender-cleansing_breeze.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windmender-cleansing-breeze.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windmender.cleansing_breeze\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windmender-cleansing-breeze.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windmender-cleansing-breeze.webp\" on skills[id=\"windmender.cleansing_breeze\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windmender-eye_of_the_storm",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Eye of the Storm (Windmender, War Fan)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windmender.eye_of_the_storm.",
   "output": {
    "file": "ART-SKL-windmender-eye_of_the_storm.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Eye of the Storm\" — Teal cyclone column with silk ribbons, downward gust ring. Motion cue: both fans sweep up in a spiral, then snap shut and chop down. Dominant colours #5fc4b0, #f0e2c0, #2f5f62 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5fc4b0 #f0e2c0 #2f5f62"
   ],
   "source": {
    "kind": "skill",
    "id": "windmender.eye_of_the_storm"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windmender-eye_of_the_storm.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windmender-eye-of-the-storm.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windmender.eye_of_the_storm\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windmender-eye-of-the-storm.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windmender-eye-of-the-storm.webp\" on skills[id=\"windmender.eye_of_the_storm\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windmender-fan_cut",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Fan Cut (Windmender, War Fan)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windmender.fan_cut.",
   "output": {
    "file": "ART-SKL-windmender-fan_cut.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Fan Cut\" — Two pale-teal silk crescents and a short wind ribbon. Motion cue: fans snap open, left cut, right cut crossing, flick the gust forward. Dominant colours #5fc4b0, #f0e2c0, #2f5f62 with warm bronze highlights. Element: wind. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5fc4b0 #f0e2c0 #2f5f62"
   ],
   "source": {
    "kind": "skill",
    "id": "windmender.fan_cut"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windmender-fan_cut.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windmender-fan-cut.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windmender.fan_cut\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windmender-fan-cut.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windmender-fan-cut.webp\" on skills[id=\"windmender.fan_cut\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windmender-healing_gale",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Healing Gale (Windmender, War Fan)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windmender.healing_gale.",
   "output": {
    "file": "ART-SKL-windmender-healing_gale.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Healing Gale\" — Warm gold-teal wind ribbon with leaves and silk threads, green motes on healed allies. Motion cue: one fan sweeps wide from low to high, releasing a long ribbon of wind. Dominant colours #5fc4b0, #f0e2c0, #2f5f62 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5fc4b0 #f0e2c0 #2f5f62"
   ],
   "source": {
    "kind": "skill",
    "id": "windmender.healing_gale"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windmender-healing_gale.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windmender-healing-gale.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windmender.healing_gale\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windmender-healing-gale.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windmender-healing-gale.webp\" on skills[id=\"windmender.healing_gale\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windmender-monsoon_blessing",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Monsoon Blessing (Windmender, War Fan)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windmender.monsoon_blessing.",
   "output": {
    "file": "ART-SKL-windmender-monsoon_blessing.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Monsoon Blessing\" — Dark teal storm clouds, warm rain circle on the ground, gust ring at cast. Motion cue: fans raised high, sweep down and outward to both sides as clouds gather. Dominant colours #5fc4b0, #f0e2c0, #2f5f62 with warm bronze highlights. Element: wind. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5fc4b0 #f0e2c0 #2f5f62"
   ],
   "source": {
    "kind": "skill",
    "id": "windmender.monsoon_blessing"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windmender-monsoon_blessing.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windmender-monsoon-blessing.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windmender.monsoon_blessing\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windmender-monsoon-blessing.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windmender-monsoon-blessing.webp\" on skills[id=\"windmender.monsoon_blessing\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windmender-updraft",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Updraft (Windmender, War Fan)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windmender.updraft.",
   "output": {
    "file": "ART-SKL-windmender-updraft.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Updraft\" — Upward teal vortex lifting dust and silk, launched enemies trail ribbons. Motion cue: crouch, spin once with both fans low, rise and fling them upward. Dominant colours #5fc4b0, #f0e2c0, #2f5f62 with warm bronze highlights. Element: wind. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5fc4b0 #f0e2c0 #2f5f62"
   ],
   "source": {
    "kind": "skill",
    "id": "windmender.updraft"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windmender-updraft.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windmender-updraft.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windmender.updraft\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windmender-updraft.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windmender-updraft.webp\" on skills[id=\"windmender.updraft\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-SKL-windmender-zephyr_glide",
   "category": "skill-icons",
   "priority": "P2",
   "title": "Skill icon — Zephyr Glide (Windmender, War Fan)",
   "usedIn": "Codex, hotbar, Atlas tooltips for skill windmender.zephyr_glide.",
   "output": {
    "file": "ART-SKL-windmender-zephyr_glide.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/skills/falling-wedge.webp",
    "/art/icons/skills/cinder-needle.webp"
   ],
   "current": "No icon yet; the wiki shows a generated placeholder glyph. Match the frame and painting style of the references exactly so the set looks unified.",
   "prompt": "Circular icon: an aged bronze ring with four small red-gem diamond studs at north/east/south/west (exactly like the reference icons), painted scene inside the ring on a dark warm vignette, everything outside the ring fully transparent. Subject: \"Zephyr Glide\" — Silk wing streaks and wind lines, petals scatter. Motion cue: fans open like wings, body tilts and glides low over the ground. Dominant colours #5fc4b0, #f0e2c0, #2f5f62 with warm bronze highlights. One bold focal shape that still reads at 48 px. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No text, no UI, no square border, no second ring, no watermark.",
   "acceptance": [
    "Same ring/stud design as references",
    "Readable at 48 px",
    "Transparent outside the ring",
    "Colours match build palette #5fc4b0 #f0e2c0 #2f5f62"
   ],
   "source": {
    "kind": "skill",
    "id": "windmender.zephyr_glide"
   },
   "deliver": "art/source/skill-icons/ART-SKL-windmender-zephyr_glide.png",
   "publishedAs": "/art/new/skill-icons/art-skl-windmender-zephyr-glide.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/skills/falling_wedge.png",
    "art/originals/icons/v4/skills/cinder_needle.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/skills.json",
     "where": "skills[id=\"windmender.zephyr_glide\"]",
     "field": "icon",
     "value": "/art/new/skill-icons/art-skl-windmender-zephyr-glide.webp"
    },
    "text": "art-sync sets icon = \"/art/new/skill-icons/art-skl-windmender-zephyr-glide.webp\" on skills[id=\"windmender.zephyr_glide\"] in packages/game-data/data/skills.json"
   }
  },
  {
   "id": "ART-WPN-ashroad_censer",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Ashroad Censer (Censer, T3, ilvl 33)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-ashroad_censer.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Censer already has icons; this base needs its own variant.",
   "prompt": "Single censer weapon \"Ashroad Censer\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a ashroad raider: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "ashroad_censer"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-ashroad_censer.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-ashroad-censer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"ashroad_censer\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-ashroad-censer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-ashroad-censer.webp\" on bases[id=\"ashroad_censer\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-ashroad_stiletto",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Ashroad Stiletto (Daggers, T3, ilvl 33)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-ashroad_stiletto.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Daggers already has icons; this base needs its own variant.",
   "prompt": "Single daggers weapon \"Ashroad Stiletto\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a ashroad raider: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "ashroad_stiletto"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-ashroad_stiletto.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-ashroad-stiletto.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"ashroad_stiletto\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-ashroad-stiletto.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-ashroad-stiletto.webp\" on bases[id=\"ashroad_stiletto\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-ashroot_longbow",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Ashroot Longbow (Bow, T3, ilvl 35)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-ashroot_longbow.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Bow already has icons; this base needs its own variant.",
   "prompt": "Single bow weapon \"Ashroot Longbow\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a ashroot pangolin: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "ashroot_longbow"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-ashroot_longbow.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-ashroot-longbow.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"ashroot_longbow\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-ashroot-longbow.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-ashroot-longbow.webp\" on bases[id=\"ashroot_longbow\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-ashroot_pipa",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Ashroot Pipa (Pipa, T3, ilvl 35)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-ashroot_pipa.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Pipa already has icons; this base needs its own variant.",
   "prompt": "Single pipa weapon \"Ashroot Pipa\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a ashroot pangolin: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "ashroot_pipa"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-ashroot_pipa.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-ashroot-pipa.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"ashroot_pipa\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-ashroot-pipa.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-ashroot-pipa.webp\" on bases[id=\"ashroot_pipa\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-basalt_gavel",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Basalt Gavel (Warhammer, T3, ilvl 39)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-basalt_gavel.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Warhammer already has icons; this base needs its own variant.",
   "prompt": "Single warhammer weapon \"Basalt Gavel\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a basaltsting scorpion: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "basalt_gavel"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-basalt_gavel.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-basalt-gavel.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"basalt_gavel\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-basalt-gavel.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-basalt-gavel.webp\" on bases[id=\"basalt_gavel\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-beetlelamp_scepter",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Beetle-lamp Scepter (Lantern Scepter, T5, ilvl 7)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-beetlelamp_scepter.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Lantern Scepter already has icons; this base needs its own variant.",
   "prompt": "Single lantern scepter weapon \"Beetle-lamp Scepter\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a duneplate beetle: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "beetlelamp_scepter"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-beetlelamp_scepter.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-beetlelamp-scepter.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"beetlelamp_scepter\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-beetlelamp-scepter.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-beetlelamp-scepter.webp\" on bases[id=\"beetlelamp_scepter\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-beetlelamp_thurible",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Beetlelamp Thurible (Censer, T5, ilvl 7)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-beetlelamp_thurible.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Censer already has icons; this base needs its own variant.",
   "prompt": "Single censer weapon \"Beetlelamp Thurible\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a duneplate beetle: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "beetlelamp_thurible"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-beetlelamp_thurible.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-beetlelamp-thurible.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"beetlelamp_thurible\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-beetlelamp-thurible.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-beetlelamp-thurible.webp\" on bases[id=\"beetlelamp_thurible\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-bellring_chakram",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Bellring Chakram (Chakram, T4, ilvl 25)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-bellring_chakram.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Chakram already has icons; this base needs its own variant.",
   "prompt": "Single chakram weapon \"Bellring Chakram\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a bellwhisker jerboa: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "bellring_chakram"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-bellring_chakram.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-bellring-chakram.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"bellring_chakram\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-bellring-chakram.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-bellring-chakram.webp\" on bases[id=\"bellring_chakram\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-brineshell_maul",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Brineshell Maul (Warhammer, T4, ilvl 23)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-brineshell_maul.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Warhammer already has icons; this base needs its own variant.",
   "prompt": "Single warhammer weapon \"Brineshell Maul\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a brineback tortoise: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "brineshell_maul"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-brineshell_maul.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-brineshell-maul.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"brineshell_maul\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-brineshell-maul.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-brineshell-maul.webp\" on bases[id=\"brineshell_maul\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-caravan_breaker",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Caravan-Breaker Greatsword (Greatsword, T3, ilvl 33)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-caravan_breaker.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Greatsword already has icons; this base needs its own variant.",
   "prompt": "Single greatsword weapon \"Caravan-Breaker Greatsword\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a ashroad raider: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "caravan_breaker"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-caravan_breaker.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-caravan-breaker.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"caravan_breaker\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-caravan-breaker.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-caravan-breaker.webp\" on bases[id=\"caravan_breaker\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-clayknuckle_maul",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Clayknuckle Maul (Warhammer, T5, ilvl 13)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-clayknuckle_maul.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Warhammer already has icons; this base needs its own variant.",
   "prompt": "Single warhammer weapon \"Clayknuckle Maul\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a clayclaw scorpion: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "clayknuckle_maul"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-clayknuckle_maul.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-clayknuckle-maul.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"clayknuckle_maul\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-clayknuckle-maul.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-clayknuckle-maul.webp\" on bases[id=\"clayknuckle_maul\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-dewhorn_pipa",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Dewhorn Pipa (Pipa, T5, ilvl 1)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-dewhorn_pipa.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Pipa already has icons; this base needs its own variant.",
   "prompt": "Single pipa weapon \"Dewhorn Pipa\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a dewhorn hare: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "dewhorn_pipa"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-dewhorn_pipa.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-dewhorn-pipa.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"dewhorn_pipa\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-dewhorn-pipa.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-dewhorn-pipa.webp\" on bases[id=\"dewhorn_pipa\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-dewleaf_primer",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Dewleaf Primer (Rime Tome, T5, ilvl 3)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-dewleaf_primer.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Rime Tome already has icons; this base needs its own variant.",
   "prompt": "Single rime tome weapon \"Dewleaf Primer\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a reed fox: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "dewleaf_primer"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-dewleaf_primer.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-dewleaf-primer.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"dewleaf_primer\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-dewleaf-primer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-dewleaf-primer.webp\" on bases[id=\"dewleaf_primer\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-dewring",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Dewring (Chakram, T5, ilvl 3)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-dewring.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Chakram already has icons; this base needs its own variant.",
   "prompt": "Single chakram weapon \"Dewring\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a reed fox: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "dewring"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-dewring.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-dewring.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"dewring\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-dewring.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-dewring.webp\" on bases[id=\"dewring\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-duneplate_greatblade",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Duneplate Greatblade (Greatsword, T5, ilvl 7)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-duneplate_greatblade.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Greatsword already has icons; this base needs its own variant.",
   "prompt": "Single greatsword weapon \"Duneplate Greatblade\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a duneplate beetle: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "duneplate_greatblade"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-duneplate_greatblade.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-duneplate-greatblade.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"duneplate_greatblade\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-duneplate-greatblade.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-duneplate-greatblade.webp\" on bases[id=\"duneplate_greatblade\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-duskfang_kris",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Duskfang Kris (Daggers, T4, ilvl 27)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-duskfang_kris.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Daggers already has icons; this base needs its own variant.",
   "prompt": "Single daggers weapon \"Duskfang Kris\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a duskfang hyena: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "duskfang_kris"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-duskfang_kris.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-duskfang-kris.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"duskfang_kris\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-duskfang-kris.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-duskfang-kris.webp\" on bases[id=\"duskfang_kris\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-emberhorn_wand",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Emberhorn Wand (Wand, T4, ilvl 17)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-emberhorn_wand.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Wand already has icons; this base needs its own variant.",
   "prompt": "Single wand weapon \"Emberhorn Wand\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a emberhorn viper: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "emberhorn_wand"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-emberhorn_wand.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-emberhorn-wand.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"emberhorn_wand\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-emberhorn-wand.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-emberhorn-wand.webp\" on bases[id=\"emberhorn_wand\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-jadecrest_halo",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Jadecrest Halo (Chakram, T3, ilvl 37)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-jadecrest_halo.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Chakram already has icons; this base needs its own variant.",
   "prompt": "Single chakram weapon \"Jadecrest Halo\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a jadecrest monitor: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "jadecrest_halo"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-jadecrest_halo.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-jadecrest-halo.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"jadecrest_halo\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-jadecrest-halo.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-jadecrest-halo.webp\" on bases[id=\"jadecrest_halo\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-jadeward_kite",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Jadeward Kite Shield (Sword & Shield, T3, ilvl 37)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-jadeward_kite.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Sword & Shield already has icons; this base needs its own variant.",
   "prompt": "Single sword & shield weapon \"Jadeward Kite Shield\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a jadecrest monitor: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "jadeward_kite"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-jadeward_kite.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-jadeward-kite.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"jadeward_kite\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-jadeward-kite.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-jadeward-kite.webp\" on bases[id=\"jadeward_kite\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-kilnfire_pipa",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Kilnfire Pipa (Pipa, T4, ilvl 19)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-kilnfire_pipa.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Pipa already has icons; this base needs its own variant.",
   "prompt": "Single pipa weapon \"Kilnfire Pipa\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a kilnback scarab: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "kilnfire_pipa"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-kilnfire_pipa.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-kilnfire-pipa.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"kilnfire_pipa\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-kilnfire-pipa.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-kilnfire-pipa.webp\" on bases[id=\"kilnfire_pipa\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-kilnsmoke_censer",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Kilnsmoke Censer (Censer, T4, ilvl 19)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-kilnsmoke_censer.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Censer already has icons; this base needs its own variant.",
   "prompt": "Single censer weapon \"Kilnsmoke Censer\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a kilnback scarab: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "kilnsmoke_censer"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-kilnsmoke_censer.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-kilnsmoke-censer.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"kilnsmoke_censer\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-kilnsmoke-censer.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-kilnsmoke-censer.webp\" on bases[id=\"kilnsmoke_censer\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-moonfall_glaive",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Moonfall Glaive (Glaive, T3, ilvl 39)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-moonfall_glaive.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Glaive already has icons; this base needs its own variant.",
   "prompt": "Single glaive weapon \"Moonfall Glaive\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a basaltsting scorpion: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "moonfall_glaive"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-moonfall_glaive.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-moonfall-glaive.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"moonfall_glaive\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-moonfall-glaive.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-moonfall-glaive.webp\" on bases[id=\"moonfall_glaive\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-moonfrost_grimoire",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Moonfrost Grimoire (Rime Tome, T3, ilvl 37)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-moonfrost_grimoire.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Rime Tome already has icons; this base needs its own variant.",
   "prompt": "Single rime tome weapon \"Moonfrost Grimoire\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a jadecrest monitor: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "moonfrost_grimoire"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-moonfrost_grimoire.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-moonfrost-grimoire.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"moonfrost_grimoire\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-moonfrost-grimoire.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-moonfrost-grimoire.webp\" on bases[id=\"moonfrost_grimoire\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-orchard_cleaver",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Orchard Tusk Cleaver (Greataxe, T5, ilvl 5)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-orchard_cleaver.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Greataxe already has icons; this base needs its own variant.",
   "prompt": "Single greataxe weapon \"Orchard Tusk Cleaver\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a orchard boar: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "orchard_cleaver"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-orchard_cleaver.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-orchard-cleaver.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"orchard_cleaver\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-orchard-cleaver.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-orchard-cleaver.webp\" on bases[id=\"orchard_cleaver\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-reedlatch_crossbow",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Reedlatch Crossbow (Crossbow, T5, ilvl 9)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-reedlatch_crossbow.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Crossbow already has icons; this base needs its own variant.",
   "prompt": "Single crossbow weapon \"Reedlatch Crossbow\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a reedscale lizard: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "reedlatch_crossbow"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-reedlatch_crossbow.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-reedlatch-crossbow.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"reedlatch_crossbow\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-reedlatch-crossbow.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-reedlatch-crossbow.webp\" on bases[id=\"reedlatch_crossbow\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-reedsilk_fan",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Reedsilk Fans (War Fan, T5, ilvl 9)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-reedsilk_fan.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family War Fan already has icons; this base needs its own variant.",
   "prompt": "Single war fan weapon \"Reedsilk Fans\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a reedscale lizard: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "reedsilk_fan"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-reedsilk_fan.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-reedsilk-fan.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"reedsilk_fan\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-reedsilk-fan.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-reedsilk-fan.webp\" on bases[id=\"reedsilk_fan\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-reedwater_glaive",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Reedwater Glaive (Glaive, T5, ilvl 11)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-reedwater_glaive.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Glaive already has icons; this base needs its own variant.",
   "prompt": "Single glaive weapon \"Reedwater Glaive\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a marsh wolf: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "reedwater_glaive"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-reedwater_glaive.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-reedwater-glaive.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"reedwater_glaive\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-reedwater-glaive.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-reedwater-glaive.webp\" on bases[id=\"reedwater_glaive\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-reedwater_staff",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Reedwater Staff (Storm Staff, T5, ilvl 9)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-reedwater_staff.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Storm Staff already has icons; this base needs its own variant.",
   "prompt": "Single storm staff weapon \"Reedwater Staff\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a reedscale lizard: incorporate its shell/fang/scale/feather motifs into the design, humble rough-forged materials. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T5"
   ],
   "source": {
    "kind": "weapon",
    "id": "reedwater_staff"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-reedwater_staff.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-reedwater-staff.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"reedwater_staff\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-reedwater-staff.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-reedwater-staff.webp\" on bases[id=\"reedwater_staff\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-saltglass_tome",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Saltglass Tome (Rime Tome, T4, ilvl 21)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-saltglass_tome.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Rime Tome already has icons; this base needs its own variant.",
   "prompt": "Single rime tome weapon \"Saltglass Tome\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a saltway bandit: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "saltglass_tome"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-saltglass_tome.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-saltglass-tome.webp",
   "status": "done",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"saltglass_tome\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-saltglass-tome.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-saltglass-tome.webp\" on bases[id=\"saltglass_tome\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-saltway_saber",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Saltway Saber (Dual Blades, T4, ilvl 21)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-saltway_saber.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Dual Blades already has icons; this base needs its own variant.",
   "prompt": "Single dual blades weapon \"Saltway Saber\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a saltway bandit: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "saltway_saber"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-saltway_saber.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-saltway-saber.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"saltway_saber\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-saltway-saber.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-saltway-saber.webp\" on bases[id=\"saltway_saber\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-saltwind_fan",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Saltwind Fans (War Fan, T4, ilvl 21)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-saltwind_fan.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family War Fan already has icons; this base needs its own variant.",
   "prompt": "Single war fan weapon \"Saltwind Fans\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a saltway bandit: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "saltwind_fan"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-saltwind_fan.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-saltwind-fan.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"saltwind_fan\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-saltwind-fan.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-saltwind-fan.webp\" on bases[id=\"saltwind_fan\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-siltlock_arbalest",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Siltlock Arbalest (Crossbow, T4, ilvl 15)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-siltlock_arbalest.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Crossbow already has icons; this base needs its own variant.",
   "prompt": "Single crossbow weapon \"Siltlock Arbalest\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a siltspit gecko: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "siltlock_arbalest"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-siltlock_arbalest.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-siltlock-arbalest.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"siltlock_arbalest\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-siltlock-arbalest.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-siltlock-arbalest.webp\" on bases[id=\"siltlock_arbalest\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-stormlatch_arbalest",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Stormlatch Arbalest (Crossbow, T3, ilvl 31)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-stormlatch_arbalest.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Crossbow already has icons; this base needs its own variant.",
   "prompt": "Single crossbow weapon \"Stormlatch Arbalest\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a stormwing kestrel: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "stormlatch_arbalest"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-stormlatch_arbalest.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-stormlatch-arbalest.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"stormlatch_arbalest\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-stormlatch-arbalest.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-stormlatch-arbalest.webp\" on bases[id=\"stormlatch_arbalest\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-stormquill_bow",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Ridgewind Longbow (Bow, T4, ilvl 29)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-stormquill_bow.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Bow already has icons; this base needs its own variant.",
   "prompt": "Single bow weapon \"Ridgewind Longbow\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a stormquill stalker: incorporate its shell/fang/scale/feather motifs into the design, refined bronze and lacquered fittings. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T4"
   ],
   "source": {
    "kind": "weapon",
    "id": "stormquill_bow"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-stormquill_bow.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-stormquill-bow.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"stormquill_bow\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-stormquill-bow.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-stormquill-bow.webp\" on bases[id=\"stormquill_bow\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-stormwing_fan",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Stormwing Fans (War Fan, T3, ilvl 31)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-stormwing_fan.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family War Fan already has icons; this base needs its own variant.",
   "prompt": "Single war fan weapon \"Stormwing Fans\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a stormwing kestrel: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "stormwing_fan"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-stormwing_fan.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-stormwing-fan.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"stormwing_fan\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-stormwing-fan.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-stormwing-fan.webp\" on bases[id=\"stormwing_fan\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "id": "ART-WPN-stormwing_talons",
   "category": "weapon-icons",
   "priority": "P2",
   "title": "Weapon icon — Stormwing Talons (Claws, T3, ilvl 31)",
   "usedIn": "Inventory, tooltips, blacksmith, drop labels.",
   "output": {
    "file": "ART-WPN-stormwing_talons.png",
    "size": "1024×1024",
    "alpha": true
   },
   "references": [
    "/art/icons/weapons/vesper-longsword.webp",
    "/art/icons/weapons/jadefall-greataxe.webp",
    "/art/concepts/weapons-alpha.webp"
   ],
   "current": "Family Claws already has icons; this base needs its own variant.",
   "prompt": "Single claws weapon \"Stormwing Talons\" on a fully transparent background, diagonal hero angle (handle bottom-left, tip top-right) like the references. Crafted from the remains of a stormwing kestrel: incorporate its shell/fang/scale/feather motifs into the design, masterwork bronze-jade inlay and fine engraving. Painterly semi-realistic dark caravan fantasy: Silkroad Online classic meets Path of Exile. Warm bronze/brass metal, aged brown leather, jade-green accents, lantern amber light, desert sandstone. Crisp readable silhouettes, subtle grime, no plastic shine, no anime, no photorealism, no text unless asked, no watermark, no logos of real games.",
   "avoid": "No hands, no background, no text, no glow aura (refine auras are runtime VFX).",
   "acceptance": [
    "Transparent background",
    "Silhouette identifies the family at 48 px",
    "Tier look matches T3"
   ],
   "source": {
    "kind": "weapon",
    "id": "stormwing_talons"
   },
   "deliver": "art/source/weapon-icons/ART-WPN-stormwing_talons.png",
   "publishedAs": "/art/new/weapon-icons/art-wpn-stormwing-talons.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/icons/v4/weapons/vesper_longsword.png",
    "art/originals/icons/v4/weapons/jadefall_greataxe.png",
    "art/originals/concepts/v3/weapons_alpha.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": {
     "file": "packages/game-data/data/weapons.json",
     "where": "bases[id=\"stormwing_talons\"]",
     "field": "icon",
     "value": "/art/new/weapon-icons/art-wpn-stormwing-talons.webp"
    },
    "text": "art-sync sets icon = \"/art/new/weapon-icons/art-wpn-stormwing-talons.webp\" on bases[id=\"stormwing_talons\"] in packages/game-data/data/weapons.json"
   }
  },
  {
   "category": "web-admin",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The staff console uses a plain icon; this file replaces it when delivered.",
   "id": "ART-ADM-app-icon",
   "priority": "P2",
   "title": "Staff console app icon (installable app)",
   "usedIn": "Home-screen icon of the installable staff console on phones and desktops (masked to a circle or rounded square).",
   "output": {
    "file": "adm_app_icon.png",
    "size": "1024×1024",
    "alpha": false,
    "exact": true,
    "slicing": "Keep the emblem inside the central 80 % (maskable safe zone)."
   },
   "references": [
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "An app icon: the ZOEN sun emblem (compass rays around a domed centre with a jade heart) in polished bronze on a deep lacquer-red field with a subtle tent-canvas texture, a thin brass inner ring, centred inside the central 80 % so circle and squircle masks never cut it. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1024×1024 px.",
   "acceptance": [
    "Exactly 1024×1024",
    "Emblem inside the central 80 %",
    "Readable at 48 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-admin/adm_app_icon.png",
   "publishedAs": "/art/new/web-admin/adm-app-icon.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-admin/adm-app-icon.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-admin read it from there."
   }
  },
  {
   "category": "web-admin",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The staff console uses a plain icon; this file replaces it when delivered.",
   "id": "ART-ADM-empty-broken-wheel",
   "priority": "P2",
   "title": "Console empty state — broken wheel",
   "usedIn": "Empty and error states in the staff console (120–200 px), light and dark themes.",
   "output": {
    "file": "adm_empty_broken_wheel.png",
    "size": "640×400",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A small calm spot illustration: a broken wagon wheel leaning on a crate with a small wrench (something went wrong). Muted bronze, sand and jade tones that work on both light and dark backgrounds, soft shadow inside the canvas, fully transparent background, simple shapes that read at 120 px. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 640×400 px.",
   "acceptance": [
    "Exactly 640×400, transparent background",
    "Reads at 120 px on light and dark",
    "Same family as the other empty states"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-admin/adm_empty_broken_wheel.png",
   "publishedAs": "/art/new/web-admin/adm-empty-broken-wheel.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-admin/adm-empty-broken-wheel.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-admin read it from there."
   }
  },
  {
   "category": "web-admin",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The staff console uses a plain icon; this file replaces it when delivered.",
   "id": "ART-ADM-empty-empty-map",
   "priority": "P2",
   "title": "Console empty state — empty map",
   "usedIn": "Empty and error states in the staff console (120–200 px), light and dark themes.",
   "output": {
    "file": "adm_empty_empty_map.png",
    "size": "640×400",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A small calm spot illustration: a blank map parchment with a compass and a pin (nothing found). Muted bronze, sand and jade tones that work on both light and dark backgrounds, soft shadow inside the canvas, fully transparent background, simple shapes that read at 120 px. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 640×400 px.",
   "acceptance": [
    "Exactly 640×400, transparent background",
    "Reads at 120 px on light and dark",
    "Same family as the other empty states"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-admin/adm_empty_empty_map.png",
   "publishedAs": "/art/new/web-admin/adm-empty-empty-map.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-admin/adm-empty-empty-map.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-admin read it from there."
   }
  },
  {
   "category": "web-admin",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The staff console uses a plain icon; this file replaces it when delivered.",
   "id": "ART-ADM-empty-quiet-road",
   "priority": "P2",
   "title": "Console empty state — quiet road",
   "usedIn": "Empty and error states in the staff console (120–200 px), light and dark themes.",
   "output": {
    "file": "adm_empty_quiet_road.png",
    "size": "640×400",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A small calm spot illustration: an empty caravan road at dawn with a single lantern post (nothing to do here). Muted bronze, sand and jade tones that work on both light and dark backgrounds, soft shadow inside the canvas, fully transparent background, simple shapes that read at 120 px. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 640×400 px.",
   "acceptance": [
    "Exactly 640×400, transparent background",
    "Reads at 120 px on light and dark",
    "Same family as the other empty states"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-admin/adm_empty_quiet_road.png",
   "publishedAs": "/art/new/web-admin/adm-empty-quiet-road.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-admin/adm-empty-quiet-road.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-admin read it from there."
   }
  },
  {
   "category": "web-admin",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The staff console uses a plain icon; this file replaces it when delivered.",
   "id": "ART-ADM-empty-sealed-scrolls",
   "priority": "P2",
   "title": "Console empty state — sealed scrolls",
   "usedIn": "Empty and error states in the staff console (120–200 px), light and dark themes.",
   "output": {
    "file": "adm_empty_sealed_scrolls.png",
    "size": "640×400",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A small calm spot illustration: a neat stack of sealed scrolls with bronze clasps (no messages). Muted bronze, sand and jade tones that work on both light and dark backgrounds, soft shadow inside the canvas, fully transparent background, simple shapes that read at 120 px. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 640×400 px.",
   "acceptance": [
    "Exactly 640×400, transparent background",
    "Reads at 120 px on light and dark",
    "Same family as the other empty states"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-admin/adm_empty_sealed_scrolls.png",
   "publishedAs": "/art/new/web-admin/adm-empty-sealed-scrolls.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-admin/adm-empty-sealed-scrolls.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-admin read it from there."
   }
  },
  {
   "category": "web-admin",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The staff console uses a plain icon; this file replaces it when delivered.",
   "id": "ART-ADM-login-tent",
   "priority": "P2",
   "title": "Staff console sign-in — command tent",
   "usedIn": "The staff console sign-in page beside the form (desktop) and as a header strip (phones).",
   "output": {
    "file": "adm_login_tent.png",
    "size": "1200×1600",
    "alpha": false,
    "exact": true
   },
   "references": [
    "/art/new/loading-screens/load-amber-gate.webp",
    "/art/maps/amber-basin-aligned.webp"
   ],
   "prompt": "Inside a caravan command tent at night: a large map of the Amber Basin on a table, brass instruments, ledgers and a hanging lantern, the tent flap open to the lights of Amber Gate. Quiet, focused mood, darker than the site art. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1200×1600 px.",
   "acceptance": [
    "Exactly 1200×1600",
    "Works cropped to a 1200×400 strip",
    "No readable writing"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-admin/adm_login_tent.png",
   "publishedAs": "/art/new/web-admin/adm-login-tent.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/loading-screens/load_amber_gate.png",
    "art/originals/concepts/v4/maps/amber_basin_aligned.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-admin/adm-login-tent.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-admin read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-404-dust-storm",
   "priority": "P2",
   "title": "Not-found page — lost in a dust storm",
   "usedIn": "The 404 page illustration.",
   "output": {
    "file": "web_404_dust_storm.png",
    "size": "1600×900",
    "alpha": false,
    "exact": true
   },
   "references": [
    "/art/new/loading-screens/load-amber-gate.webp",
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "prompt": "An illustration for the website: a lone Wayfarer and a pack camel lost in a swirling amber dust storm, a faint lantern glow ahead showing the way back. Calm composition with space at the top for a heading. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1600×900 px.",
   "acceptance": [
    "Exactly 1600×900",
    "Space at the top for a heading",
    "Same painterly style as the key art"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_404_dust_storm.png",
   "publishedAs": "/art/new/web-site/web-404-dust-storm.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/loading-screens/load_amber_gate.png",
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-404-dust-storm.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-community-campfire",
   "priority": "P2",
   "title": "Community page — campfire gathering",
   "usedIn": "The community page header.",
   "output": {
    "file": "web_community_campfire.png",
    "size": "1600×900",
    "alpha": false,
    "exact": true
   },
   "references": [
    "/art/new/loading-screens/load-amber-gate.webp",
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "prompt": "An illustration for the website: Wayfarers of different builds sharing stories around a big campfire outside Amber Gate, music from a pipa player, warm faces lit by the fire. Calm composition with space at the top for a heading. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1600×900 px.",
   "acceptance": [
    "Exactly 1600×900",
    "Space at the top for a heading",
    "Same painterly style as the key art"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_community_campfire.png",
   "publishedAs": "/art/new/web-site/web-community-campfire.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/loading-screens/load_amber_gate.png",
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-community-campfire.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-device-browser",
   "priority": "P2",
   "title": "Platform device — browser",
   "usedIn": "The platforms section (\"Play on Windows, Android, iOS and the browser\") and the download page.",
   "output": {
    "file": "web_device_browser.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/gameplay-scene.webp"
   ],
   "prompt": "A stylised a generic browser window frame with three round buttons, drawn as a bronze-and-lacquer game prop rather than a real product, its screen showing a small painted view of the Amber Basin. No brand marks or real product shapes, fully transparent background, same family as the other three devices. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "No trademarks or real product designs",
    "Same family as the other devices"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_device_browser.png",
   "publishedAs": "/art/new/web-site/web-device-browser.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/gameplay_scene.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-device-browser.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-device-desktop",
   "priority": "P2",
   "title": "Platform device — desktop",
   "usedIn": "The platforms section (\"Play on Windows, Android, iOS and the browser\") and the download page.",
   "output": {
    "file": "web_device_desktop.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/gameplay-scene.webp"
   ],
   "prompt": "A stylised a generic desktop monitor on a stand with a keyboard, drawn as a bronze-and-lacquer game prop rather than a real product, its screen showing a small painted view of the Amber Basin. No brand marks or real product shapes, fully transparent background, same family as the other three devices. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "No trademarks or real product designs",
    "Same family as the other devices"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_device_desktop.png",
   "publishedAs": "/art/new/web-site/web-device-desktop.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/gameplay_scene.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-device-desktop.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-device-phone",
   "priority": "P2",
   "title": "Platform device — phone",
   "usedIn": "The platforms section (\"Play on Windows, Android, iOS and the browser\") and the download page.",
   "output": {
    "file": "web_device_phone.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/gameplay-scene.webp"
   ],
   "prompt": "A stylised a generic modern smartphone, portrait, drawn as a bronze-and-lacquer game prop rather than a real product, its screen showing a small painted view of the Amber Basin. No brand marks or real product shapes, fully transparent background, same family as the other three devices. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "No trademarks or real product designs",
    "Same family as the other devices"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_device_phone.png",
   "publishedAs": "/art/new/web-site/web-device-phone.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/gameplay_scene.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-device-phone.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-device-tablet",
   "priority": "P2",
   "title": "Platform device — tablet",
   "usedIn": "The platforms section (\"Play on Windows, Android, iOS and the browser\") and the download page.",
   "output": {
    "file": "web_device_tablet.png",
    "size": "512×512",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/ui/gameplay-scene.webp"
   ],
   "prompt": "A stylised a generic tablet, landscape, drawn as a bronze-and-lacquer game prop rather than a real product, its screen showing a small painted view of the Amber Basin. No brand marks or real product shapes, fully transparent background, same family as the other three devices. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 512×512 px.",
   "acceptance": [
    "Exactly 512×512, transparent background",
    "No trademarks or real product designs",
    "Same family as the other devices"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_device_tablet.png",
   "publishedAs": "/art/new/web-site/web-device-tablet.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/ui/gameplay_scene.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-device-tablet.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-hero-layer-far",
   "priority": "P2",
   "title": "Hero parallax layer — far",
   "usedIn": "Optional slow parallax on the home hero (desktop only, off for reduced motion).",
   "output": {
    "file": "web_hero_layer_far.png",
    "size": "3200×1350",
    "alpha": false,
    "exact": true
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/new/loading-screens/load-amber-gate.webp"
   ],
   "prompt": "One layer of the wide hero split for parallax: the far sky, sun disc and distant mountains only. The three layers stack exactly into the same composition as ART-WEB-hero-wide; edges extend 100 px beyond the frame on each side so a small shift never shows a gap. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 3200×1350 px.",
   "acceptance": [
    "Exactly 3200×1350",
    "The three layers line up into one picture",
    "Clean alpha edges (no halo)"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_hero_layer_far.png",
   "publishedAs": "/art/new/web-site/web-hero-layer-far.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/source/loading-screens/load_amber_gate.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-hero-layer-far.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-hero-layer-mid",
   "priority": "P2",
   "title": "Hero parallax layer — mid",
   "usedIn": "Optional slow parallax on the home hero (desktop only, off for reduced motion).",
   "output": {
    "file": "web_hero_layer_mid.png",
    "size": "3200×1350",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/new/loading-screens/load-amber-gate.webp"
   ],
   "prompt": "One layer of the wide hero split for parallax: the mid ground: Amber Gate walls, pagodas and the river valley, transparent sky. The three layers stack exactly into the same composition as ART-WEB-hero-wide; edges extend 100 px beyond the frame on each side so a small shift never shows a gap. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 3200×1350 px with a transparent background.",
   "acceptance": [
    "Exactly 3200×1350",
    "The three layers line up into one picture",
    "Clean alpha edges (no halo)"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_hero_layer_mid.png",
   "publishedAs": "/art/new/web-site/web-hero-layer-mid.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/source/loading-screens/load_amber_gate.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-hero-layer-mid.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-hero-layer-near",
   "priority": "P2",
   "title": "Hero parallax layer — near",
   "usedIn": "Optional slow parallax on the home hero (desktop only, off for reduced motion).",
   "output": {
    "file": "web_hero_layer_near.png",
    "size": "3200×1350",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/art/new/branding/zoen-keyart-loading.webp",
    "/art/new/loading-screens/load-amber-gate.webp"
   ],
   "prompt": "One layer of the wide hero split for parallax: the foreground ridge with the three Wayfarers and dune grass, transparent above. The three layers stack exactly into the same composition as ART-WEB-hero-wide; edges extend 100 px beyond the frame on each side so a small shift never shows a gap. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 3200×1350 px with a transparent background.",
   "acceptance": [
    "Exactly 3200×1350",
    "The three layers line up into one picture",
    "Clean alpha edges (no halo)"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_hero_layer_near.png",
   "publishedAs": "/art/new/web-site/web-hero-layer-near.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/branding/zoen_keyart_loading.png",
    "art/source/loading-screens/load_amber_gate.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-hero-layer-near.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-lantern-lit",
   "priority": "P2",
   "title": "Road lantern — lit",
   "usedIn": "The lantern-lit waypoint road on the home page: lanterns light up as you scroll (40–64 px).",
   "output": {
    "file": "web_lantern_lit.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/popup-divider.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A small caravan road lantern on a short bronze post, seen straight on, glowing warmly: open shutters, a bright amber flame, soft light spill inside the canvas. Same shape and framing for the unlit and lit versions, dark brown outline so it reads at 40 px, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 256×256 px.",
   "acceptance": [
    "Exactly 256×256, transparent background",
    "Unlit and lit versions line up exactly",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_lantern_lit.png",
   "publishedAs": "/art/new/web-site/web-lantern-lit.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/ui/popup-divider.webp",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-lantern-lit.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-lantern-unlit",
   "priority": "P2",
   "title": "Road lantern — unlit",
   "usedIn": "The lantern-lit waypoint road on the home page: lanterns light up as you scroll (40–64 px).",
   "output": {
    "file": "web_lantern_unlit.png",
    "size": "256×256",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/popup-divider.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A small caravan road lantern on a short bronze post, seen straight on, dark and cold: closed shutters, no flame, dull bronze. Same shape and framing for the unlit and lit versions, dark brown outline so it reads at 40 px, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 256×256 px.",
   "acceptance": [
    "Exactly 256×256, transparent background",
    "Unlit and lit versions line up exactly",
    "Readable at 40 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_lantern_unlit.png",
   "publishedAs": "/art/new/web-site/web-lantern-unlit.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/ui/popup-divider.webp",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-lantern-unlit.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-maintenance-camp",
   "priority": "P2",
   "title": "Maintenance page — caravan camp",
   "usedIn": "The maintenance page while the game servers are down for an update.",
   "output": {
    "file": "web_maintenance_camp.png",
    "size": "1600×900",
    "alpha": false,
    "exact": true
   },
   "references": [
    "/art/new/loading-screens/load-amber-gate.webp",
    "/art/new/branding/zoen-keyart-loading.webp"
   ],
   "prompt": "An illustration for the website: a caravan resting at night: wagons in a circle, smiths repairing a wheel by lantern light, a campfire and sleeping camels. Calm composition with space at the top for a heading. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1600×900 px.",
   "acceptance": [
    "Exactly 1600×900",
    "Space at the top for a heading",
    "Same painterly style as the key art"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_maintenance_camp.png",
   "publishedAs": "/art/new/web-site/web-maintenance-camp.webp",
   "status": "pending",
   "referenceFiles": [
    "art/source/loading-screens/load_amber_gate.png",
    "art/source/branding/zoen_keyart_loading.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-maintenance-camp.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-road-divider",
   "priority": "P2",
   "title": "Caravan road divider",
   "usedIn": "Horizontal divider between home page sections (stretched across the content width).",
   "output": {
    "file": "web_road_divider.png",
    "size": "1600×64",
    "alpha": true,
    "exact": true,
    "slicing": "Left and right 200 px fade out; the middle can repeat horizontally."
   },
   "references": [
    "/ui/popup-divider.webp"
   ],
   "prompt": "A thin ornamental divider: a dusty caravan road seen from above as a line of worn cobbles with tiny wheel ruts, a small bronze lantern medallion in the centre, both ends fading softly into transparency. Warm sand and bronze tones, fully transparent background. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1600×64 px.",
   "acceptance": [
    "Exactly 1600×64, transparent background",
    "Ends fade out",
    "Middle section tiles without a seam"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_road_divider.png",
   "publishedAs": "/art/new/web-site/web-road-divider.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/ui/popup-divider.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-road-divider.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "category": "web-site",
   "avoid": "No text, no letters, no watermark, no UI, no logos of real games, products or platforms, no real-world brands.",
   "current": "The site uses a stand-in cut from accepted art; this file replaces it automatically (the site media pipeline reads it at full resolution).",
   "id": "ART-WEB-roster-scroll",
   "priority": "P2",
   "title": "Sign-up — the caravan roster scroll",
   "usedIn": "The \"Become a Wayfarer\" sign-up section beside the form.",
   "output": {
    "file": "web_roster_scroll.png",
    "size": "1024×1024",
    "alpha": true,
    "exact": true
   },
   "references": [
    "/ui/popup-divider.webp",
    "/brand/zoen-emblem.webp"
   ],
   "prompt": "A long parchment roster scroll partly unrolled across a caravan trunk, rows of blank signature lines (no writing), a brush and ink stone beside it, a bronze seal with the sun emblem shape, warm lantern light, fully transparent background around the props. Painterly Silk-Road fantasy in the style of the game key art: warm dusk light, amber and jade palette, bronze and lacquer details, readable silhouettes, no photorealism. Deliver exactly 1024×1024 px.",
   "acceptance": [
    "Exactly 1024×1024, transparent background",
    "No readable writing on the scroll",
    "Readable at 320 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/web-site/web_roster_scroll.png",
   "publishedAs": "/art/new/web-site/web-roster-scroll.webp",
   "status": "pending",
   "referenceFiles": [
    "apps/wiki/public/ui/popup-divider.webp",
    "apps/wiki/public/brand/zoen-emblem.webp"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/web-site/web-roster-scroll.webp and records it in packages/game-data/data/art-delivered.json; pages that show web-site read it from there."
   }
  },
  {
   "id": "ART-WIN-character-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Character window — mobile concept",
   "usedIn": "Layout target for the Character window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_character_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/character.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Character\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"CHARACTER\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: portrait with name, title and level badge; life, mana and ward numbers; a triad of three round attribute dials (STR red, AGI green, INT blue); a row of 13 skill icons (8 Mouse1 chain slots + Q E Z X C); a thin XP bar; tabs Offence / Defence / Misc / Buffs over a long two-column stat list. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_character_mobile.png",
   "publishedAs": "/art/new/windows/window-character-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/references/hud/character.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-character-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-codex-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Skill Codex window — mobile concept",
   "usedIn": "Layout target for the Skill Codex window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_codex_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/character.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Skill Codex\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"SKILL CODEX\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: 8 Mouse1 chain slots numbered 1–8 across the top, five quick slots Q E Z X C, then a grid of skill cards with rank pips and facet choices, and a picks counter 8/8. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_codex_mobile.png",
   "publishedAs": "/art/new/windows/window-codex-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/references/hud/character.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-codex-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-inventory-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Inventory window — mobile concept",
   "usedIn": "Layout target for the Inventory window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_inventory_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/inventory.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Inventory\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"INVENTORY\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: tabs Inventory / Cosmetics; an equipment paper doll on carved dark stone: tall main-hand and off-hand weapon slots left and right, helmet top centre, armour centre, rings either side of the armour, necklace and earring top corners, gloves bottom left, boots bottom right, belt under the armour; a row of 8 quick potion slots; gold and Zoe counters; an 8 × 4 bag grid. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_inventory_mobile.png",
   "publishedAs": "/art/new/windows/window-inventory-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/references/hud/inventory_.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-inventory-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-map-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Map window — mobile concept",
   "usedIn": "Layout target for the Map window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_map_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/maps/amber-basin.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Map\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"MAP\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: a painted region map of a desert trade basin filling the body, waypoint plinth markers, quest markers, a legend strip and a Teleport button. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_map_mobile.png",
   "publishedAs": "/art/new/windows/window-map-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/concepts/v4/maps/amber_basin.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-map-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-quests-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Quests window — mobile concept",
   "usedIn": "Layout target for the Quests window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_quests_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/settings.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Quests\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"QUESTS\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: left column list of chapters and quests with gold diamond (main) and jade diamond (side) markers; right column quest detail with story text, step checklist and rewards row; buttons Auto-Quest, Track, Abandon at the bottom. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_quests_mobile.png",
   "publishedAs": "/art/new/windows/window-quests-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/references/hud/settings.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-quests-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-settings-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Options window — mobile concept",
   "usedIn": "Layout target for the Options window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_settings_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/settings.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Options\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"OPTIONS\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: tabs Graphics / Game / Controls / Interface / Sound / Notifications; rows of label + dropdown field + small round info button, toggles and sliders; Save and Close buttons at the bottom. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_settings_mobile.png",
   "publishedAs": "/art/new/windows/window-settings-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/references/hud/settings.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-settings-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-social-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Social window — mobile concept",
   "usedIn": "Layout target for the Social window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_social_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Social\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"SOCIAL\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: party list of four members with portrait, level and class weapon icon, friends list with online dots, a channel dropdown, Invite and Leave Party buttons. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_social_mobile.png",
   "publishedAs": "/art/new/windows/window-social-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-social-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  },
  {
   "id": "ART-WIN-stash-mobile",
   "category": "windows",
   "priority": "P2",
   "title": "Stash window — mobile concept",
   "usedIn": "Layout target for the Stash window on mobile; compared on /windows next to the live mockup.",
   "output": {
    "file": "window_stash_mobile.png",
    "size": "2532×1170",
    "alpha": false
   },
   "references": [
    "/art/references/hud/inventory.webp",
    "/art/references/hud/window-header.webp",
    "/art/ui/sprites/window-frame-v2.webp",
    "/art/ui/hud-desktop.webp"
   ],
   "current": "The wiki shows a live HTML mockup of this window built from the UI kit (/windows). No painted concept exists yet.",
   "prompt": "Landscape phone screen (19.5:9) concept of the \"Stash\" window of a Silk Road caravan fantasy action MMORPG UI, shown full screen over a blurred game scene, large touch-friendly 44 px controls, two-column layout to fit the short screen, in the style of the references: ornate bronze window frame with engraved corners, a header with twin bronze wings, a brass title plaque reading \"STASH\", a round emblem medallion above it and a round red close button, dark tooled leather and carved stone panels, jade inlay accents, warm lantern light. Content: four tabs (Orbs, Gear, Materials, Consumables); a 12 × 10 grid of square cells holding stacked orbs with small stack numbers; a gold deposit field at the bottom. Use clean readable placeholder text and numbers, item and skill icons painted in the same style.",
   "avoid": "No real game logos, no Path of Exile text, no blue steel UI, no photographic textures, no watermark.",
   "acceptance": [
    "Layout matches the listed content",
    "Frame/header match the kit references",
    "Readable at phone size, touch targets ≥ 44 px"
   ],
   "source": {
    "kind": "manual"
   },
   "deliver": "art/source/windows/window_stash_mobile.png",
   "publishedAs": "/art/new/windows/window-stash-mobile.webp",
   "status": "pending",
   "referenceFiles": [
    "art/originals/references/hud/inventory_.png",
    "art/originals/references/hud/window-header.png",
    "art/originals/concepts/v4/ui/sprites/window-frame-v2.png",
    "art/originals/concepts/v4/ui/hud_desktop.png"
   ],
   "onDone": {
    "auto": true,
    "run": "node tools/art-sync.mjs",
    "update": null,
    "text": "art-sync publishes it to /art/new/windows/window-stash-mobile.webp and records it in packages/game-data/data/art-delivered.json; pages that show windows read it from there."
   }
  }
 ]
}
