{
  "version": 2,
  "purpose": "evaluation_samples_and_free_pack",
  "license_notice": "The free pack carries no Asset Yard rights claim. Provider model terms still apply. Check /licenses/ and the linked provider terms. Older Voidwake records can lack complete license metadata.",
  "command_note": "A printed command names no model. The server runs its current model for that kind of file. A new run can give a different file from the one published here.",
  "pack": {
    "id": "hollowreach",
    "name": "Hollowreach",
    "license": "Free for game use",
    "note": "Asset Yard claims no rights in these files and requires no attribution. Each pipeline keeps its own model terms. The manifest records the pipeline for every file."
  },
  "free_pack": [
    {
      "id": "arming-sword",
      "name": "Arming Sword",
      "type": "model",
      "group": "arms",
      "file": "arming-sword.glb",
      "provider": "3D modeler",
      "blurb": "A one-handed sword the 3D build puts in the shieldmaiden's hand.",
      "command": "assetyard generate model \\\n  --prompt \"One steel arming sword lying flat, straight double-edged blade, simple cross guard, leather wrapped grip and round pommel, whole sword visible, single object, game prop, plain background\" \\\n  --geometry-profile prop \\\n  --target-faces 6000 \\\n  --texture-resolution 1024 \\\n  --out assets/arming-sword.glb",
      "seconds": 516.8,
      "request_id": "8f407038-cfc2-43c5-a6b1-9f9940af5989",
      "bytes": 3625840,
      "sha256": "d612ff5f10b766053e26925b1b8df7f858733a7106d8622b48a96b048e33d7c1",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 5940,
        "vertices": 5014,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      },
      "size": null,
      "url": "/pack/files/arming-sword.glb",
      "src": "/pack/files/arming-sword.glb?v=d612ff5f10b7",
      "animated": false
    },
    {
      "id": "creature-direwolf",
      "name": "Marsh Direwolf",
      "type": "model",
      "group": "creatures",
      "file": "marsh-direwolf.glb",
      "provider": "3D modeler + rigger",
      "blurb": "A plain quadruped. If any non-humanoid rig works, this one should.",
      "command": "assetyard generate model \\\n  --prompt \"A large wolf standing square on all four legs in a neutral pose, full body head to tail, all four legs apart and each paw flat and fully visible, head forward and level, tail out behind and clear of the legs, no rider, side view, game creature reference sheet, plain background\" \\\n  --geometry-profile character \\\n  --rig \\\n  --target-faces 40000 \\\n  --texture-resolution 1024 \\\n  --out assets/marsh-direwolf.glb",
      "seconds": 474,
      "request_id": "a4da2490-04de-4a9d-9f59-ad325b84605f",
      "bytes": 5326024,
      "sha256": "9d5124a3fa6a61f9e87a6e80b8f802977dc9c5fcfbadf9d1d88ef82b9aeed55e",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 39798,
        "vertices": 33932,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 31,
        "rigged": true,
        "clips": [],
        "generator": "Khronos glTF Blender I/O v4.2.57"
      },
      "size": null,
      "url": "/pack/files/marsh-direwolf.glb",
      "src": "/pack/files/marsh-direwolf.glb?v=9d5124a3fa6a",
      "animated": false
    },
    {
      "id": "creature-dragon",
      "name": "Ashfen Dragon",
      "type": "model",
      "group": "creatures",
      "file": "ashfen-dragon.glb",
      "provider": "3D modeler + rigger",
      "blurb": "A winged quadruped: four legs, two wings, a neck and a tail. Seven limbs off one spine.",
      "featured": true,
      "command": "assetyard generate model \\\n  --prompt \"A dragon standing on all four legs in a neutral pose, full body head to tail, both wings spread wide and fully visible, all four legs apart and each foot flat and visible, long neck raised, long tail extended clear of the legs, horned head, side three quarter view, game creature reference sheet, plain background\" \\\n  --geometry-profile character \\\n  --rig \\\n  --target-faces 40000 \\\n  --texture-resolution 1024 \\\n  --out assets/ashfen-dragon.glb",
      "seconds": 414.7,
      "request_id": "d639179b-84a8-4a31-9541-8dcd9e9d483a",
      "bytes": 5620984,
      "sha256": "6b186fc59acc61dd7d678839542a8472ee825ad071a695e2cc7aa6f5b63e93eb",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 39634,
        "vertices": 33710,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 39,
        "rigged": true,
        "clips": [],
        "generator": "Khronos glTF Blender I/O v4.2.57"
      },
      "size": null,
      "url": "/pack/files/ashfen-dragon.glb",
      "src": "/pack/files/ashfen-dragon.glb?v=6b186fc59acc",
      "animated": false
    },
    {
      "id": "creature-gloom",
      "name": "Gloom Stalker",
      "type": "model",
      "group": "creatures",
      "file": "gloom-stalker.glb",
      "provider": "3D modeler + rigger + animator",
      "blurb": "A monster on a humanoid frame. Two arms, two legs, one head, so the existing packs apply.",
      "featured": true,
      "command": "assetyard generate model \\\n  --prompt \"A gaunt monstrous humanoid in a neutral A-pose, full body head to feet, arms away from the torso, long forearms and open clawed hands visible, legs apart, both feet flat and fully visible, elongated eyeless head, ridged hide over a lean frame, no weapon, game creature reference sheet, plain background\" \\\n  --geometry-profile character \\\n  --animation-pack humanoid_core \\\n  --animation-pack humanoid_combat \\\n  --target-faces 40000 \\\n  --texture-resolution 1024 \\\n  --out assets/gloom-stalker.glb\npython tools/rebuild_character_clips.py gloom-stalker.glb gloom-stalker.glb",
      "seconds": 1221.2,
      "request_id": "7aea36f5-7b5f-47cb-9ccb-e1d8e3b71863",
      "bytes": 5510768,
      "sha256": "969c84f4a81ad2b3a0eef0ed0bd14b59b2a75fb9d69549b3b9ae919bce0c1300",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 39957,
        "vertices": 31519,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 28,
        "rigged": true,
        "clips": [
          "idle",
          "walk_forward",
          "run_forward",
          "turn_left",
          "turn_right",
          "combat_idle",
          "punch_left",
          "punch_right",
          "kick",
          "dodge_back",
          "hit_reaction",
          "death_fall"
        ],
        "generator": "pygltflib@v1.16.5"
      },
      "size": null,
      "url": "/pack/files/gloom-stalker.glb",
      "src": "/pack/files/gloom-stalker.glb?v=969c84f4a81a",
      "animated": true
    },
    {
      "id": "creature-horned",
      "name": "Horned Stalker",
      "type": "model",
      "group": "creatures",
      "file": "hollow-wyrm.glb",
      "provider": "3D modeler + rigger",
      "blurb": "A biped with a tail. It rigs cleanly, and the humanoid namer still refuses it: a pelvis carrying two legs and a tail is not the shape it looks for.",
      "command": "assetyard generate model \\\n  --prompt \"A great serpent laid out straight from head to tail tip, full body visible end to end, horned head with open jaws, long unbroken segmented body, no legs, no arms, no wings, tapering tail clear of the body, side view, game creature reference sheet, plain background\" \\\n  --geometry-profile character \\\n  --rig \\\n  --target-faces 40000 \\\n  --texture-resolution 1024 \\\n  --out assets/hollow-wyrm.glb",
      "bytes": 6383152,
      "sha256": "3267d5c2a884c6ff60476a5f24aba26aa24c56f1ff88d43e5fa331cc68370413",
      "format": "glb",
      "status": "ok",
      "adopted": true,
      "geometry": {
        "meshes": 1,
        "triangles": 39896,
        "vertices": 33874,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 48,
        "rigged": true,
        "clips": [],
        "generator": "Khronos glTF Blender I/O v4.2.57"
      },
      "size": null,
      "url": "/pack/files/hollow-wyrm.glb",
      "src": "/pack/files/hollow-wyrm.glb?v=3267d5c2a884",
      "animated": false
    },
    {
      "id": "creature-wyrm",
      "name": "Marsh Python",
      "type": "model",
      "group": "creatures",
      "file": "marsh-python.glb",
      "provider": "3D modeler + rigger",
      "blurb": "A serpentine body: one long spine, no limbs. The first prompt drew a two-legged beast, so this one names a real snake.",
      "command": "assetyard generate model \\\n  --prompt \"A giant reticulated python snake lying fully stretched out in a straight line on flat ground, seen from directly above, the whole snake from the tip of its nose to the tip of its tail, a smooth round limbless body of even thickness, dark scales with pale diamond markings, game asset reference, plain background\" \\\n  --geometry-profile character \\\n  --rig \\\n  --target-faces 40000 \\\n  --texture-resolution 1024 \\\n  --out assets/marsh-python.glb",
      "seconds": 347.9,
      "request_id": "c01ca70b-9be3-4ff2-8788-f8411f14e835",
      "bytes": 4559596,
      "sha256": "b040023b3b66a0297aef511501a5a5b98cd10ccf24159c7a5928eb6ee327877d",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 39937,
        "vertices": 28077,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 21,
        "rigged": true,
        "clips": [],
        "generator": "Khronos glTF Blender I/O v4.2.57"
      },
      "size": null,
      "url": "/pack/files/marsh-python.glb",
      "src": "/pack/files/marsh-python.glb?v=b040023b3b66",
      "animated": false
    },
    {
      "id": "enemy-skeleton",
      "name": "Bone Sentry",
      "type": "image",
      "group": "dungeon",
      "file": "enemy-bone-sentry.png",
      "provider": "Image model",
      "blurb": "An enemy figure on a plain black field, ready to composite into a fight.",
      "command": "assetyard generate image \\\n  --prompt \"A single skeletal armored sentry standing facing the viewer, full body, centered, rusted helm and shield, painterly game enemy art, isolated on a plain pure black background, no scenery, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/enemy-bone-sentry.png",
      "seconds": 497.8,
      "request_id": "132acca9-cb54-4105-ae07-e1450eed75b5",
      "bytes": 252182,
      "sha256": "370b34e1448e8b0f7edb0cbf27aec1668bfe743f53e886b8fc92d8b8bc21b7ba",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/enemy-bone-sentry.png",
      "src": "/pack/files/enemy-bone-sentry.png?v=370b34e1448e",
      "animated": false
    },
    {
      "id": "enemy-warden",
      "name": "The Hollow Warden",
      "type": "image",
      "group": "dungeon",
      "file": "enemy-hollow-warden.png",
      "provider": "Image model",
      "blurb": "The boss, matching the rigged 3D character in the pack.",
      "command": "assetyard generate image \\\n  --prompt \"A single towering hollow knight in weathered plate armor and a tattered cloak facing the viewer, full body, centered, empty helm with faint light, painterly game boss art, isolated on a plain pure black background, no scenery, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/enemy-hollow-warden.png",
      "seconds": 466.4,
      "request_id": "ff470af0-e720-48fe-aafc-97b8b89f747f",
      "bytes": 711932,
      "sha256": "658f5a6eff97c8b820d31fbcfb0e7b2802626daebf6bece44d4d7a09b6c92721",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/enemy-hollow-warden.png",
      "src": "/pack/files/enemy-hollow-warden.png?v=658f5a6eff97",
      "animated": false
    },
    {
      "id": "enemy-wraith",
      "name": "Marsh Wraith",
      "type": "image",
      "group": "dungeon",
      "file": "enemy-marsh-wraith.png",
      "provider": "Image model",
      "blurb": "A second enemy from the same one-line pattern.",
      "command": "assetyard generate image \\\n  --prompt \"A single tattered hooded wraith hovering and facing the viewer, full body, centered, pale green inner light, painterly game enemy art, isolated on a plain pure black background, no scenery, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/enemy-marsh-wraith.png",
      "seconds": 434.8,
      "request_id": "b7a3993d-b697-4179-8adb-39591b42b422",
      "bytes": 1230319,
      "sha256": "09936ae937fef8ddfdc55e40d931f4b57bedf1b5d9e1734f2a55f5b5e6383d8e",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/enemy-marsh-wraith.png",
      "src": "/pack/files/enemy-marsh-wraith.png?v=09936ae937fe",
      "animated": false
    },
    {
      "id": "environment-hall",
      "name": "The Long Hall",
      "type": "model",
      "group": "environments",
      "file": "environment-hall.glb",
      "provider": "Environment backend",
      "blurb": "The picture beside it, rebuilt in 3D at metric scale, with the source camera and a walkable floor collider. The 3D build plays in it.",
      "command": "assetyard generate environment \\\n  --reference-image assets/environment-hall.png \\\n  --out assets/environment-hall.glb",
      "bytes": 5907324,
      "sha256": "679db9ba2b7aed8f951524be387d128f7fd01ef125b22dd60356206450814c68",
      "format": "glb",
      "status": "ok",
      "adopted": true,
      "provenance": "Made on one of our GPU hosts during the administrator canary, with the worker runtime, graph and checked post-process, not through the public API.",
      "geometry": {
        "meshes": 2,
        "triangles": 156008,
        "vertices": 80746,
        "materials": 1,
        "textures": 1,
        "images": 1,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "uncen.ai environment3d post-process"
      },
      "size": null,
      "url": "/pack/files/environment-hall.glb",
      "src": "/pack/files/environment-hall.glb?v=679db9ba2b7a",
      "animated": false
    },
    {
      "id": "environment-hall-picture",
      "name": "The Long Hall, Picture",
      "type": "image",
      "group": "environments",
      "file": "environment-hall.png",
      "provider": "Image model",
      "blurb": "The hall of the gloom stalkers, as one picture. A long floor between pillars gives the fight a lane.",
      "command": "assetyard generate image \\\n  --prompt \"Elevated wide view from high in one corner of a long vaulted stone dungeon hall. A broad flat flagstone floor fills the lower half of the frame. Thick square stone pillars stand along both sides. Iron wall sconces hold low orange flames. An arched doorway glows at the far end. Thin cold mist lies on the floor. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no skeletons, no text, no logo, no watermark.\" \\\n  --width 1664 \\\n  --height 928 \\\n  --seed 32 \\\n  --out assets/environment-hall.png",
      "bytes": 1645672,
      "sha256": "f9477e712d3f7647e18f52470952220b9a56d78abb0f376405288d64c303a988",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "6968c850-1a76-4b2b-bd96-5ad5a9c152b5",
      "geometry": null,
      "size": {
        "width": 1664,
        "height": 928
      },
      "url": "/pack/files/environment-hall.png",
      "src": "/pack/files/environment-hall.png?v=f9477e712d3f",
      "animated": false
    },
    {
      "id": "environment-town",
      "name": "The Last Gate",
      "type": "model",
      "group": "environments",
      "file": "environment-town.glb",
      "provider": "Environment backend",
      "blurb": "The picture beside it, rebuilt in 3D at metric scale, with the source camera and a walkable floor collider. The 3D build plays in it.",
      "command": "assetyard generate environment \\\n  --reference-image assets/environment-town.png \\\n  --out assets/environment-town.glb",
      "bytes": 4981504,
      "sha256": "2a3c36f9008b0d0f4171d1223858a5a4f750a1b072eb2031c0fa7c5cdd9a4cc1",
      "format": "glb",
      "status": "ok",
      "adopted": true,
      "provenance": "Made on one of our GPU hosts during the administrator canary, with the worker runtime, graph and checked post-process, not through the public API.",
      "geometry": {
        "meshes": 2,
        "triangles": 118914,
        "vertices": 63628,
        "materials": 1,
        "textures": 1,
        "images": 1,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "uncen.ai environment3d post-process"
      },
      "size": null,
      "url": "/pack/files/environment-town.glb",
      "src": "/pack/files/environment-town.glb?v=2a3c36f9008b",
      "animated": false
    },
    {
      "id": "environment-town-picture",
      "name": "The Last Gate, Picture",
      "type": "image",
      "group": "environments",
      "file": "environment-town.png",
      "provider": "Image model",
      "blurb": "The town square the 3D build opens in, as one picture. An elevated view keeps a wide floor in frame, so the player has room to walk.",
      "command": "assetyard generate image \\\n  --prompt \"Elevated wide view from an upper window over a small walled frontier town square at dusk. A broad open square of wet cobblestones fills the lower half of the frame. Market stalls with awnings line the left and right edges. Iron lanterns on wooden posts glow warm amber. A tall stone gatehouse with a closed iron portcullis stands in the far wall. Crenellated town walls, a violet dusk sky. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no animals, no text, no logo, no watermark.\" \\\n  --width 1664 \\\n  --height 928 \\\n  --seed 32 \\\n  --out assets/environment-town.png",
      "bytes": 1738380,
      "sha256": "d3f7e8c5644ad8c84c36f6fda6fd8f99a29db438bc844f447e05f79b1e53583d",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "307a4a5d-d1e6-45ed-96a2-c709e679d3b6",
      "geometry": null,
      "size": {
        "width": 1664,
        "height": 928
      },
      "url": "/pack/files/environment-town.png",
      "src": "/pack/files/environment-town.png?v=d3f7e8c5644a",
      "animated": false
    },
    {
      "id": "environment-vault",
      "name": "The Warden's Vault",
      "type": "model",
      "group": "environments",
      "file": "environment-vault.glb",
      "provider": "Environment backend",
      "blurb": "The picture beside it, rebuilt in 3D at metric scale, with the source camera and a walkable floor collider. The 3D build plays in it.",
      "command": "assetyard generate environment \\\n  --reference-image assets/environment-vault.png \\\n  --out assets/environment-vault.glb",
      "bytes": 5851096,
      "sha256": "f7a3d46e9086940824e9b02dd08b93b8eeca9515beda0da5d2547b1ee5e0d1d8",
      "format": "glb",
      "status": "ok",
      "adopted": true,
      "provenance": "Made on one of our GPU hosts during the administrator canary, with the worker runtime, graph and checked post-process, not through the public API.",
      "geometry": {
        "meshes": 2,
        "triangles": 147052,
        "vertices": 78731,
        "materials": 1,
        "textures": 1,
        "images": 1,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "uncen.ai environment3d post-process"
      },
      "size": null,
      "url": "/pack/files/environment-vault.glb",
      "src": "/pack/files/environment-vault.glb?v=f7a3d46e9086",
      "animated": false
    },
    {
      "id": "environment-vault-picture",
      "name": "The Warden's Vault, Picture",
      "type": "image",
      "group": "environments",
      "file": "environment-vault.png",
      "provider": "Image model",
      "blurb": "The boss room, as one picture. The seal in the middle of the floor is where the warden sleeps.",
      "command": "assetyard generate image \\\n  --prompt \"Elevated wide view from a stone gallery into a vast circular underground vault. A broad flat cracked stone floor fills the lower half of the frame. A round iron seal in the centre of the floor glows amber from below. Heavy chains hang from the dark domed ceiling. Arched alcoves ring the curved walls. Painterly realistic fantasy game environment, sharp detail, even depth of field. No people, no characters, no statues, no text, no logo, no watermark.\" \\\n  --width 1664 \\\n  --height 928 \\\n  --seed 32 \\\n  --out assets/environment-vault.png",
      "bytes": 1794837,
      "sha256": "ff45c6c6ddbcdeebaa36ab5a2be0bc158c491192c00d978804c7bcbdf70ee9c0",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "00ae0816-498c-4f72-af5e-1ea48e7e8b65",
      "geometry": null,
      "size": {
        "width": 1664,
        "height": 928
      },
      "url": "/pack/files/environment-vault.png",
      "src": "/pack/files/environment-vault.png?v=ff45c6c6ddbc",
      "animated": false
    },
    {
      "id": "market-stall",
      "name": "Market Stall",
      "type": "model",
      "group": "town",
      "file": "market-stall.glb",
      "provider": "3D modeler",
      "blurb": "A town prop, from the same one-line command.",
      "command": "assetyard generate model \\\n  --prompt \"One simple wooden market stall with a cloth awning and a counter\" \\\n  --geometry-profile prop \\\n  --out assets/market-stall.glb",
      "seconds": 458.3,
      "request_id": "8a21cd9a-02af-41c5-9600-ea5ef50f25ec",
      "bytes": 3973448,
      "sha256": "4b73546289b6759aff2f883fe6b0d8cd8601286e1968f875b95166a050e4f4aa",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 9559,
        "vertices": 8912,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      },
      "size": null,
      "url": "/pack/files/market-stall.glb",
      "src": "/pack/files/market-stall.glb?v=4b73546289b6",
      "animated": false
    },
    {
      "id": "npc-merchant",
      "name": "Merchant Figure",
      "type": "image",
      "group": "town",
      "file": "npc-merchant.png",
      "provider": "Image model",
      "blurb": "The merchant figure to match the merchant voice line.",
      "command": "assetyard generate image \\\n  --prompt \"A single stout hooded merchant, front view, facing the camera, face visible, full body from head to boots, centered, heavy travel coat, satchels and coiled rope, painterly game character art, cut out on black, every pixel of the background is solid pure black edge to edge, no backdrop panel, no painted band, no border, no frame, no vignette, no ground shadow, no scenery, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/npc-merchant.png",
      "seconds": 1128.4,
      "request_id": "fcc629d4-e60b-497a-a434-32dac3d11d59",
      "bytes": 376454,
      "sha256": "e77efc2b92a16984022d82fb60d0d2785839bd8fc72b3a8c143a1ba394a2b258",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/npc-merchant.png",
      "src": "/pack/files/npc-merchant.png?v=e77efc2b92a1",
      "animated": false
    },
    {
      "id": "prop-barrel",
      "name": "Barrel Figure",
      "type": "image",
      "group": "town",
      "file": "prop-barrel.png",
      "provider": "Image model",
      "blurb": "A prop on a black field. The demo composites it anywhere.",
      "command": "assetyard generate image \\\n  --prompt \"A single wooden supply barrel with iron bands, centered, three quarter view, painterly game prop art, isolated on a plain pure black background, no scenery, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/prop-barrel.png",
      "seconds": 139.3,
      "request_id": "3227b1dc-66fa-4c09-a2f6-47e1ce6ec69f",
      "bytes": 845277,
      "sha256": "715da4e15074b461a9f2a80881998e80eb8acff33d48f578a54500ba1bcb5c1f",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/prop-barrel.png",
      "src": "/pack/files/prop-barrel.png?v=715da4e15074",
      "animated": false
    },
    {
      "id": "prop-gate",
      "name": "Gate Figure",
      "type": "image",
      "group": "town",
      "file": "prop-gate.png",
      "provider": "Image model",
      "blurb": "The gate the player opens to leave town.",
      "command": "assetyard generate image \\\n  --prompt \"A single tall iron portcullis gate, front view, centered, painterly game prop art, cut out on black, every pixel of the background is solid pure black edge to edge, no backdrop panel, no painted band, no border, no frame, no vignette, no ground shadow, no scenery, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/prop-gate.png",
      "seconds": 1158.5,
      "request_id": "9f501fae-de26-4008-b691-1bd4304caa4a",
      "bytes": 685160,
      "sha256": "48dd5f01632d6dbce44be67a3224f5493c361651a088f6d403fae5c0b7af55df",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/prop-gate.png",
      "src": "/pack/files/prop-gate.png?v=48dd5f01632d",
      "animated": false
    },
    {
      "id": "room-chamber",
      "name": "Flooded Chamber",
      "type": "image",
      "group": "dungeon",
      "file": "room-chamber.png",
      "provider": "Image model",
      "blurb": "A second room for the crawler.",
      "command": "assetyard generate image \\\n  --prompt \"First person view of a flooded stone dungeon chamber, shallow black water, broken pillars, a single shaft of cold light from above, painterly game background, no characters, no text, no logo, no watermark\" \\\n  --width 1664 \\\n  --height 928 \\\n  --seed 32 \\\n  --out assets/room-chamber.png",
      "bytes": 1522142,
      "sha256": "062f541f7f29ea283b8131c44b89f2494193990cf4e47c2650b91fd76653e21a",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "51dde1e7-ef97-45b7-af18-548f33c36c7d",
      "geometry": null,
      "size": {
        "width": 1664,
        "height": 928
      },
      "url": "/pack/files/room-chamber.png",
      "src": "/pack/files/room-chamber.png?v=062f541f7f29",
      "animated": false
    },
    {
      "id": "room-corridor",
      "name": "Dungeon Corridor",
      "type": "image",
      "group": "dungeon",
      "file": "room-corridor.png",
      "provider": "Image model",
      "blurb": "A dungeon room plate. Swap the prompt for another floor.",
      "command": "assetyard generate image \\\n  --prompt \"First person view down a narrow stone dungeon corridor, wet flagstones, iron sconces with low flame, receding arches, painterly game background, no characters, no text, no logo, no watermark\" \\\n  --width 1664 \\\n  --height 928 \\\n  --seed 32 \\\n  --out assets/room-corridor.png",
      "bytes": 1662184,
      "sha256": "6dc2691aab176ea922961add004a63474c73031fd7f2ac22c9c6e7b847973578",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "19cf0a34-ce81-496e-b271-e825a63e76e6",
      "geometry": null,
      "size": {
        "width": 1664,
        "height": 928
      },
      "url": "/pack/files/room-corridor.png",
      "src": "/pack/files/room-corridor.png?v=6dc2691aab17",
      "animated": false
    },
    {
      "id": "room-vault",
      "name": "The Warden's Vault",
      "type": "image",
      "group": "dungeon",
      "file": "room-vault.png",
      "provider": "Image model",
      "blurb": "The boss room.",
      "command": "assetyard generate image \\\n  --prompt \"First person view of a vast circular stone vault with a cracked floor seal, hanging chains, faint amber glow from below, painterly game background, no characters, no text, no logo, no watermark\" \\\n  --width 1664 \\\n  --height 928 \\\n  --seed 32 \\\n  --out assets/room-vault.png",
      "bytes": 1784394,
      "sha256": "e37e15a348eac689c11c55cc8b07f486bcc50557d81b992d3df49b9d3ff3b292",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "ba80c1ca-06eb-4803-84e6-2c2bd26e216a",
      "geometry": null,
      "size": {
        "width": 1664,
        "height": 928
      },
      "url": "/pack/files/room-vault.png",
      "src": "/pack/files/room-vault.png?v=e37e15a348ea",
      "animated": false
    },
    {
      "id": "shield-face",
      "name": "Shield Face",
      "type": "image",
      "group": "arms",
      "file": "shield-face.png",
      "provider": "Image model",
      "blurb": "The painted face of the shieldmaiden's heater shield. A shield is a thin board, and image to 3D tore every one it built, so the 3D build cuts this picture to a heater outline with an iron rim.",
      "command": "assetyard generate image \\\n  --prompt \"Square texture of a painted medieval shield face, weathered dark green paint over vertical wooden planks, a pale gold stag head emblem in the center, a few iron rivets, scratches and chipped paint, fills the whole frame edge to edge, flat orthographic front view, even lighting, no shadows, no border, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/shield-face.png",
      "seconds": 128.2,
      "request_id": "94bafd21-8694-4ebb-915e-3a77d9db573f",
      "bytes": 1696509,
      "sha256": "99868d346430e8c560e0375216d23649bd029e36c3e54938c6e69d223488c176",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/shield-face.png",
      "src": "/pack/files/shield-face.png?v=99868d346430",
      "animated": false
    },
    {
      "id": "texture-floor",
      "name": "Dungeon Floor",
      "type": "image",
      "group": "dungeon",
      "file": "texture-floor.png",
      "provider": "Image model",
      "blurb": "A tiling floor texture. The model returns a photograph, not a wrapping tile, so one local pass flattens the baked light and closes the seam. Both steps are shown.",
      "command": "assetyard generate image \\\n  --prompt \"Seamless tiling texture of worn stone dungeon floor flagstones with grit, even lighting, flat orthographic view, no shadows, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/texture-floor.png\npython make_tileable.py texture-floor.png",
      "bytes": 2529706,
      "sha256": "ca3dbba8d6cf371e2c637bde2edbb3364db71bf2c6f4cc6e6fddefd092bb0fe9",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/texture-floor.png",
      "src": "/pack/files/texture-floor.png?v=ca3dbba8d6cf",
      "animated": false
    },
    {
      "id": "texture-road",
      "name": "Cobblestone Tile",
      "type": "image",
      "group": "town",
      "file": "texture-road.png",
      "provider": "Image model",
      "blurb": "A tiling ground texture for a town. The model returns a photograph, not a wrapping tile, so one local pass flattens the baked light and closes the seam. Both steps are shown.",
      "command": "assetyard generate image \\\n  --prompt \"Seamless tiling texture of worn grey granite cobblestones set in dark soil, even lighting, flat orthographic view, no shadows, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/texture-road.png\npython make_tileable.py texture-road.png",
      "seconds": 48.6,
      "request_id": "a1cb0206-f420-4053-89cd-21e4ef477649",
      "bytes": 2875364,
      "sha256": "cf32db9cd4400bd71ebee0cd1e67c905c336977c906e3b2f22a8e85084c173ec",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/texture-road.png",
      "src": "/pack/files/texture-road.png?v=cf32db9cd440",
      "animated": false
    },
    {
      "id": "texture-stone",
      "name": "Dungeon Stone",
      "type": "image",
      "group": "dungeon",
      "file": "texture-stone.png",
      "provider": "Image model",
      "blurb": "A tiling wall texture. The model returns a photograph, not a wrapping tile, so one local pass flattens the baked light and closes the seam. Both steps are shown.",
      "command": "assetyard generate image \\\n  --prompt \"Seamless tiling texture of damp medieval dungeon stone blocks, even lighting, flat orthographic view, no shadows, no text\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/texture-stone.png\npython make_tileable.py texture-stone.png",
      "bytes": 2441598,
      "sha256": "db7f702fff54caa08a2dd0cfb518b4407b223d10290822cc343b8a7ff46b6977",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/texture-stone.png",
      "src": "/pack/files/texture-stone.png?v=db7f702fff54",
      "animated": false
    },
    {
      "id": "town-square",
      "name": "Town Square",
      "type": "image",
      "group": "town",
      "file": "town-square.png",
      "provider": "Image model",
      "blurb": "The town plate the 2D demo opens on.",
      "command": "assetyard generate image \\\n  --prompt \"A small walled frontier town square at dusk, market stalls, lantern light, wet cobblestones, a closed iron gate at the far end, painterly game background art, wide establishing view, no people, no text\" \\\n  --width 1280 \\\n  --height 720 \\\n  --out assets/town-square.png",
      "seconds": 108.1,
      "request_id": "439746d1-9f83-4d3c-90be-393cf618ad5b",
      "bytes": 1169423,
      "sha256": "9cdc8b192ddeadc6ef51e945f6f7178b370b49c89c42a3ae5fc56ef49f75fb41",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1280,
        "height": 720
      },
      "url": "/pack/files/town-square.png",
      "src": "/pack/files/town-square.png?v=9cdc8b192dde",
      "animated": false
    },
    {
      "id": "ui-meter-frame",
      "name": "Strike Meter Frame",
      "type": "image",
      "group": "ui",
      "file": "ui-meter-frame.png",
      "provider": "Image model",
      "blurb": "The frame around the 2D crawler's strike meter. The game keys out the black field and the empty slot, then draws the miss, hit and critical zones behind the iron.",
      "command": "assetyard generate image \\\n  --prompt \"A long ornate horizontal fantasy RPG meter frame, dark forged iron with thin gold filigree and small rivets, one long empty black slot running through the middle, perfectly symmetrical, flat front view, centered, game interface asset, isolated on a pure black background\" \\\n  --width 1536 \\\n  --height 512 \\\n  --seed 11 \\\n  --out assets/ui-meter-frame.png",
      "bytes": 675079,
      "sha256": "002099e7cc581a5b670385425cdae23a6f9d590e52de2b920d410f2838610bc2",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "74336e25-a2d8-477c-8eba-ae6bbebcd8da",
      "geometry": null,
      "size": {
        "width": 1536,
        "height": 512
      },
      "url": "/pack/files/ui-meter-frame.png",
      "src": "/pack/files/ui-meter-frame.png?v=002099e7cc58",
      "animated": false
    },
    {
      "id": "ui-rune-ring",
      "name": "Rune Ring",
      "type": "image",
      "group": "ui",
      "file": "ui-rune-ring.png",
      "provider": "Image model",
      "blurb": "The ring that closes in on a parry. It glows, so the game adds it to the scene and the black field disappears with no cutout.",
      "command": "assetyard generate image \\\n  --prompt \"A thin circular ring of glowing golden runes, an engraved magic circle with small runic letters around its edge, completely empty black center, perfectly round and symmetrical, flat front view, centered, isolated on a pure black background\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --seed 12 \\\n  --out assets/ui-rune-ring.png",
      "bytes": 914469,
      "sha256": "83ead0432cf8177335baee150e03e33e71b3a0ce4703f21f7467d2684f3c29d3",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "cb0e97ef-93da-46dd-a089-8050aa541f5a",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/ui-rune-ring.png",
      "src": "/pack/files/ui-rune-ring.png?v=83ead0432cf8",
      "animated": false
    },
    {
      "id": "ui-ward-ring",
      "name": "Ward Ring",
      "type": "image",
      "group": "ui",
      "file": "ui-ward-ring.png",
      "provider": "Image model",
      "blurb": "The mark a parry aims at. The rune ring must meet it inside the glowing band.",
      "command": "assetyard generate image \\\n  --prompt \"A round ornate bronze ward emblem shaped like a ring, engraved knotwork band with four small studs, hollow empty black center, perfectly round, flat front view, centered, game interface asset, isolated on a pure black background\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --seed 13 \\\n  --out assets/ui-ward-ring.png",
      "bytes": 669243,
      "sha256": "48b2151667246f5a62eedccfd81d6496c8e99a02379e8a82d174b5521269ce7e",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "25e78936-7a2b-442d-990e-e1f9291287bc",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/ui-ward-ring.png",
      "src": "/pack/files/ui-ward-ring.png?v=48b215166724",
      "animated": false
    },
    {
      "id": "wall-torch",
      "name": "Wall Torch",
      "type": "model",
      "group": "arms",
      "file": "wall-torch.glb",
      "provider": "3D modeler",
      "blurb": "An iron wall sconce. A game adds the flame.",
      "command": "assetyard generate model \\\n  --prompt \"One iron wall sconce holding an unlit wooden torch wrapped in cloth, single object, game prop, plain background\" \\\n  --geometry-profile prop \\\n  --target-faces 6000 \\\n  --texture-resolution 1024 \\\n  --out assets/wall-torch.glb",
      "seconds": 586,
      "request_id": "71fc7448-e957-4dc9-9175-1dd8b02f2a14",
      "bytes": 3994652,
      "sha256": "09353894cf2e6258d5afa5bc35831f8aa9e1b6b592fcc2829375d8f6ce42d1e2",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 6026,
        "vertices": 5651,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      },
      "size": null,
      "url": "/pack/files/wall-torch.glb",
      "src": "/pack/files/wall-torch.glb?v=09353894cf2e",
      "animated": false
    },
    {
      "id": "warden-greatsword",
      "name": "Warden Greatsword",
      "type": "model",
      "group": "arms",
      "file": "warden-greatsword.glb",
      "provider": "3D modeler",
      "blurb": "The warden's two-handed blade.",
      "command": "assetyard generate model \\\n  --prompt \"One heavy two-handed greatsword lying flat, long dark iron blade, wide cross guard, long grip wrapped in black leather, whole sword visible, single object, game prop, plain background\" \\\n  --geometry-profile prop \\\n  --target-faces 6000 \\\n  --texture-resolution 1024 \\\n  --out assets/warden-greatsword.glb",
      "seconds": 451.4,
      "request_id": "64471bae-939a-4567-a889-366ef3332bfb",
      "bytes": 3698264,
      "sha256": "f33642623d69d8d1451cba57fa1a4e8d92cdeaefbe25345a91a19f092221cd3c",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 5992,
        "vertices": 5069,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      },
      "size": null,
      "url": "/pack/files/warden-greatsword.glb",
      "src": "/pack/files/warden-greatsword.glb?v=f33642623d69",
      "animated": false
    },
    {
      "id": "ranger",
      "name": "Ashfen Ranger",
      "type": "model",
      "group": "characters",
      "file": "ashfen-ranger.glb",
      "provider": "3D modeler + rigger + animator",
      "blurb": "A second cast member from the same one-line pattern. Change the prompt, keep the rig.",
      "command": "assetyard generate model \\\n  --prompt \"A wiry marsh ranger in a neutral A-pose, full body head to feet, arms away from the torso, forearms and open hands visible, legs apart, both feet flat and fully visible, hooded green leather coat, leather bracers, knee-high boots, no weapon, game character reference sheet, plain background\" \\\n  --geometry-profile character \\\n  --animation-pack humanoid_core \\\n  --target-faces 40000 \\\n  --texture-resolution 1024 \\\n  --out assets/ashfen-ranger.glb",
      "seconds": 1081.5,
      "request_id": "48a022a0-ac5d-4abc-8e8f-fdbc863d9ef1",
      "bytes": 5672640,
      "sha256": "1d38fa13a99c2aa9f928735be363e7a3f74a927d9bf00d3e691dfe496073df0f",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 39003,
        "vertices": 32848,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 34,
        "rigged": true,
        "clips": [
          "idle",
          "walk_forward",
          "run_forward",
          "turn_left",
          "turn_right"
        ],
        "generator": "pygltflib@v1.16.5"
      },
      "size": null,
      "url": "/pack/files/ashfen-ranger.glb",
      "src": "/pack/files/ashfen-ranger.glb?v=1d38fa13a99c",
      "animated": true
    },
    {
      "id": "shieldmaiden",
      "name": "Vale, Shieldmaiden",
      "type": "model",
      "group": "characters",
      "file": "vale-shieldmaiden.glb",
      "provider": "3D modeler + rigger + animator",
      "blurb": "Built from the reference picture beside it, with 100,000 triangles and a 2048 texture so the face holds up close. Locomotion and ten sword and shield clips ship inside one GLB.",
      "featured": true,
      "command": "assetyard generate model \\\n  --reference-image assets/vale-reference.png \\\n  --prompt \"Vale, a woman shieldmaiden in scale armor\" \\\n  --geometry-profile character \\\n  --animation-pack humanoid_core \\\n  --animation-pack humanoid_sword \\\n  --target-faces 100000 \\\n  --texture-resolution 2048 \\\n  --seed 21 \\\n  --out assets/vale-shieldmaiden.glb",
      "seconds": 961.3,
      "request_id": "800ed08c-e20c-423d-a4ac-2eadd4e0029a",
      "bytes": 17303480,
      "sha256": "06ff3473344df33d609cfb61560b7991441bf2376f63536270e685ca42db6d81",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 98258,
        "vertices": 80574,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 52,
        "rigged": true,
        "clips": [
          "idle",
          "walk_forward",
          "run_forward",
          "turn_left",
          "turn_right",
          "sword_idle",
          "sword_slash_horizontal",
          "sword_slash_overhead",
          "sword_thrust",
          "shield_block",
          "shield_bash",
          "parry",
          "stagger_back",
          "knocked_down",
          "get_up"
        ],
        "generator": "pygltflib@v1.16.5"
      },
      "size": null,
      "url": "/pack/files/vale-shieldmaiden.glb",
      "src": "/pack/files/vale-shieldmaiden.glb?v=06ff3473344d",
      "animated": true
    },
    {
      "id": "shieldmaiden-reference",
      "name": "Vale, Reference",
      "type": "image",
      "group": "characters",
      "file": "vale-reference.png",
      "provider": "Image model",
      "blurb": "The picture Vale's model starts from. Front light, open eyes and hair clear of the face give the 3D model a face to copy.",
      "command": "assetyard generate image \\\n  --prompt \"Full body 3D game character reference of one adult woman warrior, a Norse shieldmaiden, standing in a neutral A-pose and facing the camera straight on. Head to feet fully in frame with a small margin. Arms held out and away from the torso, open hands with separated fingers, legs apart, both feet flat and fully visible. Attractive, strong, friendly face with clear symmetric features, both eyes open and looking at the viewer, visible irises and whites of the eyes, defined eyebrows, relaxed closed mouth, calm confident expression, natural skin, no dark makeup. Hair pulled back into a tight braided bun behind the head, face, ears and neck uncovered. Practical fitted armor with full coverage: riveted steel scale shirt over a long-sleeved wool tunic, leather belt, leather bracers, wool trousers, knee-high boots. Soft even studio light from the front, no shadows on the face or in the eye sockets. Plain white background, no floor shadow. Clean stylized realism, sharp detail. One character only, no weapon, no shield, no cape, no text.\" \\\n  --width 1024 \\\n  --height 1536 \\\n  --seed 11 \\\n  --out assets/vale-reference.png",
      "bytes": 1323760,
      "sha256": "44f198c093906cc9681aed60383cd38820ad98d69e180e9497265e585c0f8942",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "335803dd-24ca-482c-99a6-4c35c4621d0b",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1536
      },
      "url": "/pack/files/vale-reference.png",
      "src": "/pack/files/vale-reference.png?v=44f198c09390",
      "animated": false
    },
    {
      "id": "warden",
      "name": "Hollow Warden",
      "type": "model",
      "group": "characters",
      "file": "hollow-warden.glb",
      "provider": "3D modeler + rigger + animator",
      "blurb": "A rigged, animated knight. Locomotion and ten sword clips ship inside the GLB, so the 3D build's boss really fights. The walk and run are the ranger's clips, copied onto this rig.",
      "featured": true,
      "command": "assetyard generate model \\\n  --prompt \"A lone hollow warden knight in a neutral A-pose, full body head to feet, arms away from the torso, forearms and open hands visible, legs apart, both feet flat and fully visible, weathered plate armor over a dark tabard, short cloak clear of the legs, no weapon, game character reference sheet, plain background\" \\\n  --geometry-profile character \\\n  --animation-pack humanoid_core \\\n  --animation-pack humanoid_sword \\\n  --target-faces 40000 \\\n  --texture-resolution 1024 \\\n  --out assets/hollow-warden.glb\npython tools/rebuild_character_clips.py hollow-warden.glb hollow-warden.glb \\\n  --from walk_forward=ashfen-ranger.glb --from run_forward=ashfen-ranger.glb",
      "seconds": 1243.9,
      "request_id": "5c590553-0457-4325-8a9b-8bada2ef50a0",
      "bytes": 6395292,
      "sha256": "b53d3edfb8c41c462e457647f87f733adc2db775938e113b6297e007e6ba9395",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 39251,
        "vertices": 32752,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 52,
        "rigged": true,
        "clips": [
          "idle",
          "walk_forward",
          "run_forward",
          "turn_left",
          "turn_right",
          "sword_idle",
          "sword_slash_horizontal",
          "sword_slash_overhead",
          "sword_thrust",
          "shield_block",
          "shield_bash",
          "parry",
          "stagger_back",
          "knocked_down",
          "get_up"
        ],
        "generator": "pygltflib@v1.16.5"
      },
      "size": null,
      "url": "/pack/files/hollow-warden.glb",
      "src": "/pack/files/hollow-warden.glb?v=b53d3edfb8c4",
      "animated": true
    },
    {
      "id": "crate",
      "name": "Supply Crate",
      "type": "model",
      "group": "props",
      "file": "supply-crate.glb",
      "provider": "3D modeler",
      "blurb": "The dull asset every game needs and nobody wants to model.",
      "command": "assetyard generate model \\\n  --prompt \"One sturdy closed wooden supply crate built from thick planks, iron corner brackets, sitting flat on the ground, three-quarter view, whole object visible, single object, game prop, plain background\" \\\n  --geometry-profile prop \\\n  --target-faces 8000 \\\n  --texture-resolution 1024 \\\n  --out assets/supply-crate.glb",
      "seconds": 873,
      "request_id": "ae61bc2c-8846-4c4a-aa29-e040fe0009e8",
      "bytes": 4620468,
      "sha256": "f813c5e135c2e5eb73dc372b0d2772711d34e48af626108a2c7a1d31d6f42363",
      "format": "glb",
      "status": "ok",
      "geometry": {
        "meshes": 1,
        "triangles": 7934,
        "vertices": 7209,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      },
      "size": null,
      "url": "/pack/files/supply-crate.glb",
      "src": "/pack/files/supply-crate.glb?v=f813c5e135c2",
      "animated": false
    },
    {
      "id": "lantern",
      "name": "Wayfarer Lantern",
      "type": "model",
      "group": "props",
      "file": "wayfarer-lantern.glb",
      "provider": "3D modeler",
      "blurb": "A prop-profile mesh. Small triangle budget, one texture, ready to place.",
      "command": "assetyard generate model \\\n  --prompt \"One hanging iron wayfarer lantern with amber glass panels and a ring handle, single object, game prop, plain background\" \\\n  --geometry-profile prop \\\n  --target-faces 12000 \\\n  --texture-resolution 1024 \\\n  --out assets/wayfarer-lantern.glb",
      "bytes": 3715420,
      "sha256": "16e5e092d8f4556d78fd09288aab4c674d329f67b8787c576158431438a65a22",
      "format": "glb",
      "status": "ok",
      "adopted": true,
      "geometry": {
        "meshes": 1,
        "triangles": 11792,
        "vertices": 9931,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      },
      "size": null,
      "url": "/pack/files/wayfarer-lantern.glb",
      "src": "/pack/files/wayfarer-lantern.glb?v=16e5e092d8f4",
      "animated": false
    },
    {
      "id": "shrine",
      "name": "Reach Shrine",
      "type": "model",
      "group": "props",
      "file": "reach-shrine.glb",
      "provider": "3D modeler",
      "blurb": "A landmark for set dressing. A hero prop takes a larger triangle budget.",
      "command": "assetyard generate model \\\n  --prompt \"One broken stone shrine pillar carved with spiral runes, moss on the base, single object, game prop, plain background\" \\\n  --geometry-profile prop \\\n  --target-faces 20000 \\\n  --texture-resolution 1024 \\\n  --out assets/reach-shrine.glb",
      "bytes": 4889532,
      "sha256": "f3507cb23bcccb0136e97a9e7543aad968afbfb69b1296f681dba4aed8562587",
      "format": "glb",
      "status": "ok",
      "adopted": true,
      "geometry": {
        "meshes": 1,
        "triangles": 19980,
        "vertices": 17334,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      },
      "size": null,
      "url": "/pack/files/reach-shrine.glb",
      "src": "/pack/files/reach-shrine.glb?v=f3507cb23bcc",
      "animated": false
    },
    {
      "id": "keyart",
      "name": "Hollowreach Key Art",
      "type": "image",
      "group": "art",
      "file": "hollowreach-key-art.png",
      "provider": "Image model",
      "blurb": "Title-screen key art. One prompt, one credit.",
      "command": "assetyard generate image \\\n  --prompt \"Wide fantasy game key art, a lone armored warden on a cliff road above a drowned valley of broken towers, storm light, cold teal and amber palette, painterly, cinematic\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/hollowreach-key-art.png",
      "seconds": 107.4,
      "request_id": "b8cc3bff-4a34-4ce1-803a-9da742ba66d3",
      "bytes": 1168470,
      "sha256": "7afce06dac3296575e7a5e8438fa04adc5c73612e3bf42f1fafaf5a87a402ee4",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/hollowreach-key-art.png",
      "src": "/pack/files/hollowreach-key-art.png?v=7afce06dac32",
      "animated": false
    },
    {
      "id": "marsh",
      "name": "The Ashfen",
      "type": "image",
      "group": "art",
      "file": "ashfen-marsh.png",
      "provider": "Image model",
      "blurb": "An environment plate. Use it as a loading screen or a modelling reference.",
      "command": "assetyard generate image \\\n  --prompt \"Fantasy game environment concept art, a drowned marsh of dead trees and sunken stone arches, low mist, pale green water, distant ruined tower, painterly, no characters, no text, no signature, no logo, no watermark\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --seed 32 \\\n  --out assets/ashfen-marsh.png",
      "bytes": 1226469,
      "sha256": "374ea3476b0f032b3e8414d54931e9cab002fd49d0f883f07449e6e32c940f8f",
      "format": "png",
      "status": "ok",
      "adopted": true,
      "request_id": "d666fea3-88b6-4ad5-b5fd-e334caaa54da",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/ashfen-marsh.png",
      "src": "/pack/files/ashfen-marsh.png?v=374ea3476b0f",
      "animated": false
    },
    {
      "id": "tavern",
      "name": "The Last Gate Inn",
      "type": "image",
      "group": "art",
      "file": "last-gate-inn.png",
      "provider": "Image model",
      "blurb": "An interior plate for a hub scene. Same command, different prompt.",
      "command": "assetyard generate image \\\n  --prompt \"Fantasy game interior concept art, a warm crowded stone tavern under a gatehouse arch, lantern light, long wooden tables, rain in the doorway, painterly, no characters\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --out assets/last-gate-inn.png",
      "seconds": 75.9,
      "request_id": "da3d19cb-ff89-4716-a287-e32f9bbcfa85",
      "bytes": 1307241,
      "sha256": "2c7ebd215341a01862243e551dfdd0652571b90b1c32401b71e1919b9df73e71",
      "format": "png",
      "status": "ok",
      "geometry": null,
      "size": {
        "width": 1024,
        "height": 1024
      },
      "url": "/pack/files/last-gate-inn.png",
      "src": "/pack/files/last-gate-inn.png?v=2c7ebd215341",
      "animated": false
    },
    {
      "id": "combat",
      "name": "The Warden Wakes",
      "type": "audio",
      "group": "music",
      "file": "warden-wakes.mp3",
      "provider": "Music model",
      "blurb": "A combat loop. The same command with a different kind and preset.",
      "command": "assetyard generate music \\\n  --prompt \"Driving fantasy boss battle music, heavy taiko and low brass, urgent string ostinato, choir stabs\" \\\n  --music-kind gameplay_loop \\\n  --preset high_octane_action \\\n  --duration 60 \\\n  --instrumental \\\n  --out assets/warden-wakes.mp3",
      "seconds": 220.8,
      "request_id": "3bc5fa5e-844e-4606-bab8-e3716f70b10f",
      "result": {
        "duration_seconds": 60
      },
      "bytes": 2032258,
      "sha256": "a8882d5757a27d57445b0e98b286aded79148b420a0de32ee464f16f932da6b2",
      "format": "mp3",
      "status": "ok",
      "geometry": null,
      "size": null,
      "url": "/pack/files/warden-wakes.mp3",
      "src": "/pack/files/warden-wakes.mp3?v=a8882d5757a2",
      "animated": false
    },
    {
      "id": "explore",
      "name": "Marshlight",
      "type": "audio",
      "group": "music",
      "file": "marshlight.mp3",
      "provider": "Music model",
      "blurb": "Exploration ambience for the Ashfen.",
      "command": "assetyard generate music \\\n  --prompt \"Quiet fantasy exploration ambience, sparse woodwind, low strings, soft percussion, wandering and unresolved\" \\\n  --music-kind ambient \\\n  --duration 60 \\\n  --instrumental \\\n  --out assets/marshlight.mp3",
      "seconds": 226.4,
      "request_id": "a3133e75-b852-4613-9a64-647dfcc3da5b",
      "result": {
        "duration_seconds": 60
      },
      "bytes": 1600258,
      "sha256": "5888c24982bb7d1e0697a66acdb989a9e25e2b3f0f2520bd46aea84ec139256e",
      "format": "mp3",
      "status": "ok",
      "geometry": null,
      "size": null,
      "url": "/pack/files/marshlight.mp3",
      "src": "/pack/files/marshlight.mp3?v=5888c24982bb",
      "animated": false
    },
    {
      "id": "menu",
      "name": "Hollowreach Theme",
      "type": "audio",
      "group": "music",
      "file": "hollowreach-theme.mp3",
      "provider": "Music model",
      "blurb": "A menu loop. Pick a preset, set the length, wait.",
      "command": "assetyard generate music \\\n  --prompt \"Solemn fantasy main theme, solo cello over harp, distant choir pad\" \\\n  --music-kind menu_loop \\\n  --preset fantasy_adventure \\\n  --duration 60 \\\n  --instrumental \\\n  --out assets/hollowreach-theme.mp3",
      "seconds": 276.1,
      "request_id": "90c43f00-7c32-4c53-9c9b-d3f3a1e0860f",
      "result": {
        "duration_seconds": 60
      },
      "bytes": 1661794,
      "sha256": "65305975a5b2bc3879cd03e9dd8341250c2544054821e64d98b0ef21f770dfd6",
      "format": "mp3",
      "status": "ok",
      "geometry": null,
      "size": null,
      "url": "/pack/files/hollowreach-theme.mp3",
      "src": "/pack/files/hollowreach-theme.mp3?v=65305975a5b2",
      "animated": false
    },
    {
      "id": "sfx-chest",
      "name": "Chest Open",
      "type": "audio",
      "group": "sfx",
      "file": "chest-open.wav",
      "provider": "Sound model",
      "blurb": "A loot cue. The sound nobody wants to search a forum for.",
      "command": "assetyard generate sfx \\\n  --prompt \"One heavy iron chest lid opening with a metal latch click, dry studio recording, no music\" \\\n  --duration 3 \\\n  --out assets/chest-open.wav",
      "bytes": 529244,
      "sha256": "3748e697691b8579e576c8b1458365b4083e974ed107826210398a61c7213e11",
      "format": "wav",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": null,
      "url": "/pack/files/chest-open.wav",
      "src": "/pack/files/chest-open.wav?v=3748e697691b",
      "animated": false
    },
    {
      "id": "sfx-gate",
      "name": "Gate Rise",
      "type": "audio",
      "group": "sfx",
      "file": "gate-rise.wav",
      "provider": "Sound model",
      "blurb": "A world-interaction cue with a longer tail.",
      "command": "assetyard generate sfx \\\n  --prompt \"One heavy iron portcullis winching upward over stone, chain ratchet, dry studio recording, no music\" \\\n  --duration 5 \\\n  --out assets/gate-rise.wav",
      "bytes": 882044,
      "sha256": "eb3bfb044f9f0106d8f1a206ac8a01ccbc6e592b1f421eb7a039b3b647234136",
      "format": "wav",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": null,
      "url": "/pack/files/gate-rise.wav",
      "src": "/pack/files/gate-rise.wav?v=eb3bfb044f9f",
      "animated": false
    },
    {
      "id": "sfx-potion",
      "name": "Potion Drink",
      "type": "audio",
      "group": "sfx",
      "file": "potion-drink.wav",
      "provider": "Sound model",
      "blurb": "An item-use cue.",
      "command": "assetyard generate sfx \\\n  --prompt \"One glass bottle uncorking and a short liquid gulp, dry studio recording, no music\" \\\n  --duration 2 \\\n  --out assets/potion-drink.wav",
      "bytes": 352844,
      "sha256": "fca80597147afb65c49f72053499d5061ada45c702d6343d32d45b126aa9bc75",
      "format": "wav",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": null,
      "url": "/pack/files/potion-drink.wav",
      "src": "/pack/files/potion-drink.wav?v=fca80597147a",
      "animated": false
    },
    {
      "id": "sfx-roar",
      "name": "Warden Roar",
      "type": "audio",
      "group": "sfx",
      "file": "warden-roar.wav",
      "provider": "Sound model",
      "blurb": "A creature cue for the boss entrance.",
      "command": "assetyard generate sfx \\\n  --prompt \"One deep hollow armored creature roar with a stone rumble tail, dry studio recording, no music\" \\\n  --duration 4 \\\n  --out assets/warden-roar.wav",
      "bytes": 705644,
      "sha256": "7b6c333fe0e5cfcede70b2d91cc0b7a84504f7dc3820454774da06feae621389",
      "format": "wav",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": null,
      "url": "/pack/files/warden-roar.wav",
      "src": "/pack/files/warden-roar.wav?v=7b6c333fe0e5",
      "animated": false
    },
    {
      "id": "sfx-sword",
      "name": "Sword Impact",
      "type": "audio",
      "group": "sfx",
      "file": "sword-impact.wav",
      "provider": "Sound model",
      "blurb": "A combat hit. One second, dry, ready for a mixer.",
      "command": "assetyard generate sfx \\\n  --prompt \"One heavy steel sword striking an iron shield, sharp metallic clang, dry studio recording, no music\" \\\n  --duration 2 \\\n  --out assets/sword-impact.wav",
      "bytes": 352844,
      "sha256": "bd051ae61b9d49a7979048da2102048b7453c941465f619b3d011fd815834981",
      "format": "wav",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": null,
      "url": "/pack/files/sword-impact.wav",
      "src": "/pack/files/sword-impact.wav?v=bd051ae61b9d",
      "animated": false
    },
    {
      "id": "sfx-ui",
      "name": "UI Confirm",
      "type": "audio",
      "group": "sfx",
      "file": "ui-confirm.wav",
      "provider": "Sound model",
      "blurb": "A menu click. Generate a set in one loop.",
      "command": "assetyard generate sfx \\\n  --prompt \"One short soft wooden UI confirmation click with a faint harp overtone, dry studio recording, no music\" \\\n  --duration 1 \\\n  --out assets/ui-confirm.wav",
      "bytes": 176444,
      "sha256": "5f39702f876930e99a2360a4e3d7d69c2ad3d3d9c3007e1167ba412653a6ace9",
      "format": "wav",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": null,
      "url": "/pack/files/ui-confirm.wav",
      "src": "/pack/files/ui-confirm.wav?v=5f39702f8769",
      "animated": false
    },
    {
      "id": "vo-merchant",
      "name": "Gate Merchant",
      "type": "audio",
      "group": "voice",
      "file": "gate-merchant.flac",
      "provider": "Speech model",
      "blurb": "A second character from the same catalog. The voice key is the only change.",
      "command": "assetyard generate tts \\\n  --voice ayhf2_granite_veteran_c1 \\\n  --text \"Rope, oil, and a dry blanket. Everything else out there is already spoken for.\" \\\n  --out assets/gate-merchant.flac",
      "bytes": 143550,
      "sha256": "17d28897a295c00013b0b070a84775bd6ba1f048e738e5948ebb8a76c11b1581",
      "format": "flac",
      "status": "ok",
      "adopted": true,
      "request_id": "eb247946-e3c3-4498-9d75-98d6ea5c6045",
      "geometry": null,
      "size": null,
      "url": "/pack/files/gate-merchant.flac",
      "src": "/pack/files/gate-merchant.flac?v=17d28897a295",
      "animated": false
    },
    {
      "id": "vo-narrator",
      "name": "Opening Narration",
      "type": "audio",
      "group": "voice",
      "file": "opening-narration.flac",
      "provider": "Speech model",
      "blurb": "A narrator line from the published catalog. Pick a voice key, pass your text.",
      "command": "assetyard generate tts \\\n  --voice ayv2_aud_lantern_c1 \\\n  --text \"The reach swallowed the old road, and everyone who walked it. You are going anyway.\" \\\n  --out assets/opening-narration.flac",
      "bytes": 122349,
      "sha256": "0b5953b6c8abea52ca9a2a77da79f5b14bde7fa6b48027425ddab76a947bd6c5",
      "format": "flac",
      "status": "ok",
      "adopted": true,
      "geometry": null,
      "size": null,
      "url": "/pack/files/opening-narration.flac",
      "src": "/pack/files/opening-narration.flac?v=0b5953b6c8ab",
      "animated": false
    },
    {
      "id": "vo-narrator-calm",
      "name": "Narration, Level",
      "type": "audio",
      "group": "voice",
      "file": "narration-level.flac",
      "provider": "Speech model",
      "blurb": "The warden's deep voice, reading as a storyteller. Low expressiveness, even delivery.",
      "command": "assetyard generate tts \\\n  --voice ayqhfy_deep_narrator_c2 \\\n  --expressiveness 0.05 \\\n  --text \"Three floors down, the water stops moving. That is how you know you are close.\" \\\n  --out assets/narration-level.flac",
      "bytes": 135648,
      "sha256": "1b80ee60afb0d693bfa131a6afbb82ac1a00f1554fbc87c7a428a97bf37665ad",
      "format": "flac",
      "status": "ok",
      "adopted": true,
      "request_id": "634343f0-1dcb-4d01-bf06-d1d2008e9677",
      "geometry": null,
      "size": null,
      "url": "/pack/files/narration-level.flac",
      "src": "/pack/files/narration-level.flac?v=1b80ee60afb0",
      "animated": false
    },
    {
      "id": "vo-warden",
      "name": "The Warden Speaks",
      "type": "audio",
      "group": "voice",
      "file": "warden-line.flac",
      "provider": "Speech model",
      "blurb": "A very deep bass voice from the catalog, chosen by key alone. A monster needs a low voice more than a monster category.",
      "command": "assetyard generate tts \\\n  --voice ayqhfy_deep_narrator_c2 \\\n  --text \"You carry a lantern into a place that ate the sun. Set it down.\" \\\n  --out assets/warden-line.flac",
      "bytes": 132115,
      "sha256": "145a6a67166eeb361902f35b9324ca37266e86839adcf4c8bec259bbfc611590",
      "format": "flac",
      "status": "ok",
      "adopted": true,
      "request_id": "5c93b64a-84d7-4ed4-8578-8532dd87e594",
      "geometry": null,
      "size": null,
      "url": "/pack/files/warden-line.flac",
      "src": "/pack/files/warden-line.flac?v=145a6a67166e",
      "animated": false
    },
    {
      "id": "vo-warden-cry",
      "name": "The Warden Roars",
      "type": "audio",
      "group": "voice",
      "file": "warden-battle-cry.flac",
      "provider": "Speech model",
      "blurb": "The same deep voice at full expressiveness. Compare it with the calm narration.",
      "command": "assetyard generate tts \\\n  --voice ayqhfy_deep_narrator_c2 \\\n  --expressiveness 0.95 \\\n  --text \"You should not have come down here. Put it down and run!\" \\\n  --out assets/warden-battle-cry.flac",
      "bytes": 86530,
      "sha256": "1ca6520481082711c613e09eb79815865ad672df6f63771e83104c6fe7ec13b6",
      "format": "flac",
      "status": "ok",
      "adopted": true,
      "request_id": "43183d47-f222-421e-bdd5-f58df1382c22",
      "geometry": null,
      "size": null,
      "url": "/pack/files/warden-battle-cry.flac",
      "src": "/pack/files/warden-battle-cry.flac?v=1ca652048108",
      "animated": false
    }
  ],
  "voidwake_samples": [
    {
      "id": "courier",
      "name": "Kite Courier",
      "type": "model",
      "group": "voidwake",
      "file": "kite-courier.glb",
      "provider": "3D modeler",
      "blurb": "+Y up, +Z forward, centered pivot. This ship flies in the playable demo.",
      "command": "assetyard generate model \\\n  --prompt \"One symmetric courier spacecraft with a pointed nose and two wings\" \\\n  --geometry-profile prop \\\n  --orientation-profile rigid_vehicle \\\n  --out assets/courier.glb",
      "bytes": 3727368,
      "sha256": "92f69cc96f4e7b940c99a73483b0701b76c91445f1c798bbd355f97927f3bc2b",
      "format": "glb",
      "url": "/samples/files/kite-courier.glb",
      "geometry": {
        "meshes": 1,
        "triangles": 9749,
        "vertices": 9155,
        "materials": 1,
        "textures": 3,
        "images": 3,
        "joints": 0,
        "rigged": false,
        "clips": [],
        "generator": "Asset Yard"
      }
    },
    {
      "id": "music",
      "name": "Meridian Flight",
      "type": "audio",
      "group": "voidwake",
      "file": "meridian-flight.mp3",
      "provider": "Music model",
      "blurb": "The exploration track that plays between stations.",
      "command": "assetyard generate music \\\n  --prompt \"Calm synthetic space exploration music\" \\\n  --music-kind ambient \\\n  --duration 45 \\\n  --instrumental \\\n  --out assets/flight.mp3",
      "bytes": 901005,
      "sha256": "5dc724c1ce9fbe887e8f42b6ce37b4cd2116738e66f0cf009a666726e81c85e9",
      "format": "mp3",
      "url": "/samples/files/meridian-flight.mp3"
    },
    {
      "id": "speech",
      "name": "Approach Control",
      "type": "audio",
      "group": "voidwake",
      "file": "approach-control.flac",
      "provider": "Speech model",
      "blurb": "A game dialogue line, not a reusable catalog reference.",
      "command": "assetyard generate tts \\\n  --voice VOICE_FROM_CATALOG \\\n  --text \"Courier, you are cleared for the inner ring.\" \\\n  --out assets/control.flac",
      "bytes": 110387,
      "sha256": "f02ae1b80fa1835f76c7e7317410241bde8e73153e32d6857e18abe5817c11d3",
      "format": "flac",
      "url": "/samples/files/approach-control.flac"
    },
    {
      "id": "sfx",
      "name": "Pulse Laser",
      "type": "audio",
      "group": "voidwake",
      "file": "pulse-laser.flac",
      "provider": "Sound model",
      "blurb": "A short weapon effect. Stability terms apply.",
      "command": "assetyard generate sfx \\\n  --prompt \"One short bright pulse laser shot, dry recording, no music\" \\\n  --duration 1 \\\n  --out assets/laser.wav",
      "bytes": 37064,
      "sha256": "4f0712f45cc362df8d646e1e1e5a6d5342f2352020b74a9a2b7e76d896a5dceb",
      "format": "flac",
      "url": "/samples/files/pulse-laser.flac"
    },
    {
      "id": "art",
      "name": "Meridian",
      "type": "image",
      "group": "voidwake",
      "file": "meridian.webp",
      "provider": "Image model",
      "blurb": "Generated location art from Voidwake.",
      "command": "assetyard generate image \\\n  --prompt \"A banded gas giant above a thin orbital ring, cold light\" \\\n  --out assets/meridian.png",
      "bytes": 69396,
      "sha256": "3226f922e95adfd1a043608098e7dc15396a85959f2758941e9c164356b2bb86",
      "format": "webp",
      "url": "/samples/files/meridian.webp"
    }
  ]
}