{
  "schemaVersion": 1,
  "character": "Miff",
  "characterId": "B8DC9B4E.322",
  "source": "site/hormuzian-model.mjs and site/hormuzian-toy.bundle.mjs; existing fixture in scripts/verify-hormuzian-customization.py",
  "rights": {
    "status": "Existing create/share invitation; commercial reuse decision pending",
    "rulesUrl": "/create/rules",
    "note": "The Three.js software license does not grant rights to HORMUZ character artwork."
  },
  "build": {
    "command": "node scripts/pilot/build-creative-assets.mjs",
    "rendererSha256": "e36d6464c68f24d5f28107b8e39b156c34d0aec393307e4cf4597e2491cb6db6",
    "heroSha256": "5b159da481062b8044b19f0e7b2712fad24ff6be97ecea36d7c98a7295bb7a51",
    "episodeSha256": "fff7cab39e01095b9615d43d47ab1abd914c7a65443202b530e5010bc2c364d5"
  },
  "assets": [
    {
      "width": 1080,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "neutral",
      "action": "classic",
      "usageNotes": "Transparent cutout without a contact shadow. Existing Sleepy face used as the neutral baseline. Preserve identity; see /create/rules.",
      "bytes": 453050,
      "sha256": "e1620aee43dbf36a1d1d790237e062836ca3e642202780a175307529a82900a6",
      "filename": "miff-neutral.png",
      "url": "/creator-kit/miff-neutral.png",
      "dimensions": [
        1080,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "angry",
      "action": "crossed",
      "usageNotes": "Transparent cutout without a contact shadow. Existing Grumpy face with arms crossed. Preserve identity; see /create/rules.",
      "bytes": 438151,
      "sha256": "622218d38c9a5d3a793c87f9f7e8c6a990cfe6cdb884510482c72bc26a79cf58",
      "filename": "miff-angry.png",
      "url": "/creator-kit/miff-angry.png",
      "dimensions": [
        1080,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "confused",
      "action": "shrug",
      "usageNotes": "Transparent cutout without a contact shadow. Existing Curious face and shrug. Preserve identity; see /create/rules.",
      "bytes": 440943,
      "sha256": "0c75c182fead0d0c85187e4a72ea427933af86e5dd34e0a12eac5e95e7b7ff3d",
      "filename": "miff-confused.png",
      "url": "/creator-kit/miff-confused.png",
      "dimensions": [
        1080,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "suspicious",
      "action": "crossed",
      "usageNotes": "Transparent cutout without a contact shadow. Existing Skeptical face with arms crossed. Preserve identity; see /create/rules.",
      "bytes": 437294,
      "sha256": "3d98778b27da237cc7b76ff38a82fe0ec81e2af869a74c7885853ee69b9a5008",
      "filename": "miff-suspicious.png",
      "url": "/creator-kit/miff-suspicious.png",
      "dimensions": [
        1080,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "delighted",
      "action": "celebrate",
      "usageNotes": "Transparent cutout without a contact shadow. Existing Joyful face and celebration pose. Preserve identity; see /create/rules.",
      "bytes": 426361,
      "sha256": "1d43344fecb01281067f59be34974701648c4cc81edd970467bb040318b2fe0f",
      "filename": "miff-delighted.png",
      "url": "/creator-kit/miff-delighted.png",
      "dimensions": [
        1080,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "defeated",
      "action": "sit",
      "usageNotes": "Transparent cutout without a contact shadow. Editorial defeated reaction combines the existing Sleepy face and seated pose; no new rig. Preserve identity; see /create/rules.",
      "bytes": 398208,
      "sha256": "1c5377893948b7bc6fb431befff4547fafb561ef56215f2ceced592fada264ba",
      "filename": "miff-defeated.png",
      "url": "/creator-kit/miff-defeated.png",
      "dimensions": [
        1080,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 360,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "approved",
      "usageNotes": "Transparent fictional reaction stamp, sentence case. No actual approval or authority is implied.",
      "bytes": 41654,
      "sha256": "8140cbc7d8a9af633287dd4491e4e43dc99d5381888ec996eadebc46f2bed46d",
      "filename": "stamp-approved.png",
      "url": "/creator-kit/stamp-approved.png",
      "dimensions": [
        1080,
        360
      ]
    },
    {
      "width": 1080,
      "height": 360,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "denied",
      "usageNotes": "Transparent fictional reaction stamp, sentence case. No actual approval or authority is implied.",
      "bytes": 36802,
      "sha256": "220c20761de390dd6a2cbe1178c6b586975ae8f4c97861ee959df30a87ab7d74",
      "filename": "stamp-denied.png",
      "url": "/creator-kit/stamp-denied.png",
      "dimensions": [
        1080,
        360
      ]
    },
    {
      "width": 1080,
      "height": 360,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "inconvenient",
      "usageNotes": "Transparent fictional reaction stamp, sentence case. No actual approval or authority is implied.",
      "bytes": 41719,
      "sha256": "c3e6d6db1b9f84e209dde91e8a7705024d134ffbe2792fbec3016e9421b4d5b9",
      "filename": "stamp-inconvenient.png",
      "url": "/creator-kit/stamp-inconvenient.png",
      "dimensions": [
        1080,
        360
      ]
    },
    {
      "width": 1080,
      "height": 360,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "filed",
      "usageNotes": "Transparent fictional reaction stamp, sentence case. No actual approval or authority is implied.",
      "bytes": 34236,
      "sha256": "47e0f68dac1facf8092857ab64373cd343fb6feca8a5053ccef3f16748f8eb85",
      "filename": "stamp-filed.png",
      "url": "/creator-kit/stamp-filed.png",
      "dimensions": [
        1080,
        360
      ]
    },
    {
      "width": 1080,
      "height": 360,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "under-review",
      "usageNotes": "Transparent fictional reaction stamp, sentence case. No actual approval or authority is implied.",
      "bytes": 42700,
      "sha256": "f44a670f9a225ac072cebee40b1ac102207eb585038d542b6851f31d825539b8",
      "filename": "stamp-under-review.png",
      "url": "/creator-kit/stamp-under-review.png",
      "dimensions": [
        1080,
        360
      ]
    },
    {
      "width": 1080,
      "height": 360,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "absurd",
      "usageNotes": "Transparent fictional reaction stamp, sentence case. No actual approval or authority is implied.",
      "bytes": 37625,
      "sha256": "9a217c67009ec1b45d54974bdc47a07091b5e3a888cbefff9b7bb4c8dfe7eefe",
      "filename": "stamp-absurd.png",
      "url": "/creator-kit/stamp-absurd.png",
      "dimensions": [
        1080,
        360
      ]
    },
    {
      "width": 1080,
      "height": 360,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "explain-yourself",
      "usageNotes": "Transparent fictional reaction stamp, sentence case. No actual approval or authority is implied.",
      "bytes": 43814,
      "sha256": "325fc43729c6c5bccd031ed544f975d1e0a175a11ae29a3a1730af3ab2a06dd6",
      "filename": "stamp-explain-yourself.png",
      "url": "/creator-kit/stamp-explain-yourself.png",
      "dimensions": [
        1080,
        360
      ]
    },
    {
      "width": 1080,
      "height": 720,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "blank-speech-bubble",
      "usageNotes": "Empty fictional speech bubble; write into the open central space.",
      "bytes": 6690,
      "sha256": "320e5651f39e1fcfd69a8a38a5323c434ef36699dc9126d9620fe3d149b8b250",
      "filename": "blank-speech-bubble.png",
      "url": "/creator-kit/blank-speech-bubble.png",
      "dimensions": [
        1080,
        720
      ]
    },
    {
      "width": 1080,
      "height": 1350,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "blank-form",
      "usageNotes": "Blank fictional prop. No real seals, addresses, barcodes or usable identifiers. Write in the open ruled areas.",
      "bytes": 38950,
      "sha256": "ca9061906907ea10b294b8ce00594fe06e6c28f9ef33678aa4dbef0875492f18",
      "filename": "blank-form.png",
      "url": "/creator-kit/blank-form.png",
      "dimensions": [
        1080,
        1350
      ]
    },
    {
      "width": 1080,
      "height": 1350,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "blank-notice",
      "usageNotes": "Blank fictional prop. No real seals, addresses, barcodes or usable identifiers. Write in the open ruled areas.",
      "bytes": 33928,
      "sha256": "e24926da5ba6eab2c8cca6fc517405b724a019e3f1fbb62265941141f7f6334e",
      "filename": "blank-notice.png",
      "url": "/creator-kit/blank-notice.png",
      "dimensions": [
        1080,
        1350
      ]
    },
    {
      "width": 1080,
      "height": 720,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "blank-inspection-sticker",
      "usageNotes": "Blank fictional prop. No real seals, addresses, barcodes or usable identifiers. Write in the open ruled areas.",
      "bytes": 39704,
      "sha256": "afa328e34191196ac3053d73c13b179288a13c0187b29848206838a9e7eaf7e6",
      "filename": "blank-inspection-sticker.png",
      "url": "/creator-kit/blank-inspection-sticker.png",
      "dimensions": [
        1080,
        720
      ]
    },
    {
      "width": 1080,
      "height": 720,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "blank-shipping-label",
      "usageNotes": "Blank fictional prop. No real seals, addresses, barcodes or usable identifiers. Write in the open ruled areas.",
      "bytes": 42411,
      "sha256": "72f225591d7d6324b23d05e5c21f6314dfbdb8f70ef8cf3b9c940ace13836413",
      "filename": "blank-shipping-label.png",
      "url": "/creator-kit/blank-shipping-label.png",
      "dimensions": [
        1080,
        720
      ]
    },
    {
      "width": 1080,
      "height": 1350,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "blank-citation",
      "usageNotes": "Blank fictional prop. No real seals, addresses, barcodes or usable identifiers. Write in the open ruled areas.",
      "bytes": 35022,
      "sha256": "310fbb855eecb3bf9c6f9024188ca27e734a0c6f9a88326d68c49772248bbe46",
      "filename": "blank-citation.png",
      "url": "/creator-kit/blank-citation.png",
      "dimensions": [
        1080,
        1350
      ]
    },
    {
      "width": 1080,
      "height": 1350,
      "mimeType": "image/png",
      "character": null,
      "characterId": null,
      "expression": null,
      "action": "blank-permit",
      "usageNotes": "Blank fictional prop. No real seals, addresses, barcodes or usable identifiers. Write in the open ruled areas.",
      "bytes": 32532,
      "sha256": "c5e8074a61ddf0181ed2903213b1184776632ac81a1149752284b92d35805305",
      "filename": "blank-permit.png",
      "url": "/creator-kit/blank-permit.png",
      "dimensions": [
        1080,
        1350
      ]
    },
    {
      "width": 1080,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "suspicious",
      "action": "introduction-square",
      "usageNotes": "Ready-to-share Miff introduction. No token pitch. Preserve the complete face and sentence-case copy.",
      "bytes": 266097,
      "sha256": "a2345db4bbfab26d69e276820fede7a843ed6810865cf511aaac9783719022e1",
      "filename": "miff-square.png",
      "url": "/creator-kit/miff-square.png",
      "dimensions": [
        1080,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 1350,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "suspicious",
      "action": "introduction-portrait",
      "usageNotes": "Ready-to-share Miff introduction. No token pitch. Preserve the complete face and sentence-case copy.",
      "bytes": 367929,
      "sha256": "a4f1616d8ff42b612808a8e21c7988e9d58b54920c09accba9303f2470360bed",
      "filename": "miff-portrait.png",
      "url": "/creator-kit/miff-portrait.png",
      "dimensions": [
        1080,
        1350
      ]
    },
    {
      "width": 1080,
      "height": 1920,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "suspicious",
      "action": "introduction-story",
      "usageNotes": "Ready-to-share Miff introduction. No token pitch. Preserve the complete face and sentence-case copy.",
      "bytes": 445309,
      "sha256": "dddf28811377eccceef8bf8b931d1a85214258478fa80c329875b6763be916b7",
      "filename": "miff-story.png",
      "url": "/creator-kit/miff-story.png",
      "dimensions": [
        1080,
        1920
      ]
    },
    {
      "width": 1920,
      "height": 1080,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "suspicious",
      "action": "introduction-landscape",
      "usageNotes": "Ready-to-share Miff introduction. No token pitch. Preserve the complete face and sentence-case copy.",
      "bytes": 427802,
      "sha256": "ae21483a32bb479bec5f2fe82744d92abd5bada5165732b4e827698e9f9f95c3",
      "filename": "miff-landscape.png",
      "url": "/creator-kit/miff-landscape.png",
      "dimensions": [
        1920,
        1080
      ]
    },
    {
      "width": 1080,
      "height": 1920,
      "mimeType": "image/png",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "angry",
      "action": "green-screen",
      "usageNotes": "1080×1920 chroma-green still for video placement. Key with a narrow green range to preserve the mint outfit; the transparent PNG is the lossless alternative.",
      "bytes": 444008,
      "sha256": "02e6f1e821dde89f526ddac950c8570119b52d113f1cd2f9a5a8eeb8d253829c",
      "filename": "miff-green-screen.png",
      "url": "/creator-kit/miff-green-screen.png",
      "dimensions": [
        1080,
        1920
      ]
    },
    {
      "width": 384,
      "height": 384,
      "mimeType": "image/gif",
      "character": "Miff",
      "characterId": "B8DC9B4E.322",
      "expression": "neutral",
      "action": "blink",
      "usageNotes": "2.8-second blink loop from the existing eyelid rig. Blue background avoids GIF transparency halos. No autoplay required.",
      "bytes": 37498,
      "sha256": "0b3583eaa53f9ddd71705c9831d6d6eb2e2ef403435bc98e6aa4cb3d3c53dffd",
      "filename": "miff-blink.gif",
      "url": "/creator-kit/miff-blink.gif",
      "dimensions": [
        384,
        384
      ]
    }
  ]
}
