{
  "repository": "https://github.com/cehinds/AshenSpire",
  "readAt": "2026-10-02",
  "assets": [
    {
      "id": "assets/painted-outfits/reaver/menu.webp",
      "file": "canonical/assets/painted-outfits/reaver/menu.webp",
      "source": "assets/painted-outfits/reaver/menu.webp",
      "sha256": "a08d20dbcc37a7086ecd7c58840c0691359b6b17161eca54fac168fa1275bc1b",
      "width": 640,
      "height": 800,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/reaver/portrait.webp",
      "file": "canonical/assets/painted-outfits/reaver/portrait.webp",
      "source": "assets/painted-outfits/reaver/portrait.webp",
      "sha256": "da39138efc69d52d09135de103ab35f2ae472c8398657d6d158a55e2d4ae17ac",
      "width": 512,
      "height": 512,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/reaver/idle.webp",
      "file": "canonical/assets/painted-outfits/reaver/idle.webp",
      "source": "assets/painted-outfits/reaver/idle.webp",
      "sha256": "4c8d40907be3afde589d91be34a4394668ebb39751ccfc4f8f20a643df9c64e0",
      "width": 640,
      "height": 640,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/rogue/menu.webp",
      "file": "canonical/assets/painted-outfits/rogue/menu.webp",
      "source": "assets/painted-outfits/rogue/menu.webp",
      "sha256": "c3cc94b423652d3d2a8acee734ccce1202f833d7d56f8394c19c60467acd4fdb",
      "width": 640,
      "height": 800,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/rogue/portrait.webp",
      "file": "canonical/assets/painted-outfits/rogue/portrait.webp",
      "source": "assets/painted-outfits/rogue/portrait.webp",
      "sha256": "ab1fd335d876d47894cf6c94de6d863c5d52f577cd2cedad8b0b32f7125a4c12",
      "width": 512,
      "height": 512,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/rogue/idle.webp",
      "file": "canonical/assets/painted-outfits/rogue/idle.webp",
      "source": "assets/painted-outfits/rogue/idle.webp",
      "sha256": "9323c4cf682ae3224610fd05f82025447d658051f78b87468b89efcac72388a3",
      "width": 640,
      "height": 640,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/starseer/menu.webp",
      "file": "canonical/assets/painted-outfits/starseer/menu.webp",
      "source": "assets/painted-outfits/starseer/menu.webp",
      "sha256": "3ffc6e350236602eb7b260be65ce7639ffa294232d4060ed4df78a73e4a312e3",
      "width": 640,
      "height": 800,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/starseer/portrait.webp",
      "file": "canonical/assets/painted-outfits/starseer/portrait.webp",
      "source": "assets/painted-outfits/starseer/portrait.webp",
      "sha256": "63699271f69016b47f4d1d0086565b9ea6d026e4c9161c8d546274aad8085ca6",
      "width": 512,
      "height": 512,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/starseer/idle.webp",
      "file": "canonical/assets/painted-outfits/starseer/idle.webp",
      "source": "assets/painted-outfits/starseer/idle.webp",
      "sha256": "72586d4f9abce7c71b0a403bea9944b35f7e46a91ca63fb9845622f5470c6611",
      "width": 640,
      "height": 640,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/herald/menu.webp",
      "file": "canonical/assets/painted-outfits/herald/menu.webp",
      "source": "assets/painted-outfits/herald/menu.webp",
      "sha256": "7c727d4db70e144497cb04b400034c5fea9fbba28230a413ce3edbb0d983fbf2",
      "width": 640,
      "height": 800,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/herald/portrait.webp",
      "file": "canonical/assets/painted-outfits/herald/portrait.webp",
      "source": "assets/painted-outfits/herald/portrait.webp",
      "sha256": "a6e17ed23bcdf5aef48356f104d3e364c5e688676d63b1c7c8e3b75f35a4abc5",
      "width": 512,
      "height": 512,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/painted-outfits/herald/idle.webp",
      "file": "canonical/assets/painted-outfits/herald/idle.webp",
      "source": "assets/painted-outfits/herald/idle.webp",
      "sha256": "85dbaebfc0778951a6f07551cb05daf1907f63c8df653036d74f436e8b3acd79",
      "width": 640,
      "height": 640,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/prologue/road-desktop.webp",
      "file": "canonical/assets/prologue/road-desktop.webp",
      "source": "assets/prologue/road-desktop.webp",
      "sha256": "e778df0d41ff7f7fa148dedf69327ae42d9c2b2db1316bfc2c6a67416a91fdc2",
      "width": 1280,
      "height": 801,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/prologue/road-mobile.webp",
      "file": "canonical/assets/prologue/road-mobile.webp",
      "source": "assets/prologue/road-mobile.webp",
      "sha256": "55d10c85f4577ebfe1389e25cfbaee59f3ddc705480687e587b8e0606e2edaec",
      "width": 768,
      "height": 1365,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/prologue/warmth-desktop.webp",
      "file": "canonical/assets/prologue/warmth-desktop.webp",
      "source": "assets/prologue/warmth-desktop.webp",
      "sha256": "61189fa731ad59ab81d9a2afa48469282989f5a845171cd951ef0afe0987d045",
      "width": 1280,
      "height": 801,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/prologue/warmth-mobile.webp",
      "file": "canonical/assets/prologue/warmth-mobile.webp",
      "source": "assets/prologue/warmth-mobile.webp",
      "sha256": "daefe83ef44a6e387080f4b59d877e68b2ac38c720f812f9da54a156e7f095fa",
      "width": 767,
      "height": 1365,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/prologue/carry-reaver-desktop.webp",
      "file": "canonical/assets/prologue/carry-reaver-desktop.webp",
      "source": "assets/prologue/carry-reaver-desktop.webp",
      "sha256": "be5ecd5f7bfa3324f8eee6770b351ae86e567ad870f4acef420124fac96e9a31",
      "width": 1586,
      "height": 992,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/prologue/carry-reaver-mobile.webp",
      "file": "canonical/assets/prologue/carry-reaver-mobile.webp",
      "source": "assets/prologue/carry-reaver-mobile.webp",
      "sha256": "e9606c3e220edd98ff294c2fd360bf66d4d53d75a27841e230b86c45be93c4ca",
      "width": 940,
      "height": 1672,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/the-fractured-realm-world.webp",
      "file": "canonical/assets/environments/the-fractured-realm-world.webp",
      "source": "assets/environments/the-fractured-realm-world.webp",
      "sha256": "586cf178c6f74dfaf658de5d550bce53561761394773774775958205884d41fd",
      "width": 341,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/fractured-realm-square.webp",
      "file": "canonical/assets/environments/fractured-realm-square.webp",
      "source": "assets/environments/fractured-realm-square.webp",
      "sha256": "c6e9b78bb9eb595db4303d8bf875dceaa12a65232ab0802ad977e8ab57f81b7a",
      "width": 512,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/crownfall-local.webp",
      "file": "canonical/assets/environments/crownfall-local.webp",
      "source": "assets/environments/crownfall-local.webp",
      "sha256": "b67723d327006a4bd1d37b064fdde2137e23d431bda51cebf965a533852e8c6e",
      "width": 512,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/crownfall-landmark.webp",
      "file": "canonical/assets/environments/crownfall-landmark.webp",
      "source": "assets/environments/crownfall-landmark.webp",
      "sha256": "f48390f10943fee390bd94b8edf10610009c05757bb612ff13b0f7d0616a1388",
      "width": 1254,
      "height": 1254,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/cinder-reach-map.webp",
      "file": "canonical/assets/environments/cinder-reach-map.webp",
      "source": "assets/environments/cinder-reach-map.webp",
      "sha256": "fad3f2178b41ac935baf65f017bfba9ad776f7674052a4a3435b416bc1d21139",
      "width": 341,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/cinder-reach-combat.webp",
      "file": "canonical/assets/environments/cinder-reach-combat.webp",
      "source": "assets/environments/cinder-reach-combat.webp",
      "sha256": "a51a2acd8a3848a0ca03911b6f544b5b0709c646188b300cf40bb24af9e9d187",
      "width": 1536,
      "height": 1024,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/ashen-crown-map.webp",
      "file": "canonical/assets/environments/ashen-crown-map.webp",
      "source": "assets/environments/ashen-crown-map.webp",
      "sha256": "79de624bec69f00b7067306a92566ffaf6f4b4f0526f014db491a86a2ae4f63c",
      "width": 341,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/ashen-crown-combat.webp",
      "file": "canonical/assets/environments/ashen-crown-combat.webp",
      "source": "assets/environments/ashen-crown-combat.webp",
      "sha256": "276ce546a4265ec54ad814731fa028ce90675e2a7d970e0ab6eacb7fe4a77d8f",
      "width": 1536,
      "height": 1024,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/hollow-weald-map.webp",
      "file": "canonical/assets/environments/hollow-weald-map.webp",
      "source": "assets/environments/hollow-weald-map.webp",
      "sha256": "dabbe3fd953ed18784e8dab0ecefab30b84d36b3a368421fc33424d6ae840e05",
      "width": 341,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/hollow-weald-combat.webp",
      "file": "canonical/assets/environments/hollow-weald-combat.webp",
      "source": "assets/environments/hollow-weald-combat.webp",
      "sha256": "6b4f989e73277fd005d7939681f011b68d35f094b1c6e5ee0ea8675eee77d9d3",
      "width": 1536,
      "height": 1024,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/pale-marches-map.webp",
      "file": "canonical/assets/environments/pale-marches-map.webp",
      "source": "assets/environments/pale-marches-map.webp",
      "sha256": "f6ba98f70675b78048d4338d574e14347e9fc94560a57fa16b0ff76c550c1cbc",
      "width": 341,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/pale-marches-combat.webp",
      "file": "canonical/assets/environments/pale-marches-combat.webp",
      "source": "assets/environments/pale-marches-combat.webp",
      "sha256": "9a788d19a77a4af0a91630fe78076022fe0af18f0ed5144bf7172e35632f8b5f",
      "width": 1536,
      "height": 1024,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/drowned-coast-map.webp",
      "file": "canonical/assets/environments/drowned-coast-map.webp",
      "source": "assets/environments/drowned-coast-map.webp",
      "sha256": "7f8706fffe88a43f9bd910e1f7e9fbbe6236b81bb3ad729fc4b98fd02a5f8c9d",
      "width": 341,
      "height": 512,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/drowned-coast-combat.webp",
      "file": "canonical/assets/environments/drowned-coast-combat.webp",
      "source": "assets/environments/drowned-coast-combat.webp",
      "sha256": "fbec9e5aff0cf79948d9d890dd022d0ef56a60b5e9d1200898a5edcb11e3cf2e",
      "width": 1536,
      "height": 1024,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/legacy/MAP-03-furnace-chapel.webp",
      "file": "canonical/assets/environments/legacy/MAP-03-furnace-chapel.webp",
      "source": "assets/environments/legacy/MAP-03-furnace-chapel.webp",
      "sha256": "4a1ff48eba60bf10c4c1d0d600089888093fad5c9f459f228e82bb1f1f567272",
      "width": 1536,
      "height": 1024,
      "mode": "RGB",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/legacy/FC-ENV-01-background.webp",
      "file": "canonical/assets/environments/legacy/FC-ENV-01-background.webp",
      "source": "assets/environments/legacy/FC-ENV-01-background.webp",
      "sha256": "eba00a5b9b325fca4fdb504dbf3b4e9282ca61077a83037132f9db5d891f4162",
      "width": 1536,
      "height": 1024,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/environments/legacy/FC-ENV-01-floor.webp",
      "file": "canonical/assets/environments/legacy/FC-ENV-01-floor.webp",
      "source": "assets/environments/legacy/FC-ENV-01-floor.webp",
      "sha256": "2fad4bf17d204abf272c377fe37b02e2f4806f4e8bee6da2eb4feefde84a85fd",
      "width": 1536,
      "height": 1024,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/equipment/weapon_straightSword.webp",
      "file": "canonical/assets/equipment/weapon_straightSword.webp",
      "source": "assets/equipment/weapon_straightSword.webp",
      "sha256": "3b4bfc137c22da423e99e743870303c04bdabcaeeb13925e41fe59bcfe29f603",
      "width": 450,
      "height": 570,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/equipment/weapon_roundShield.webp",
      "file": "canonical/assets/equipment/weapon_roundShield.webp",
      "source": "assets/equipment/weapon_roundShield.webp",
      "sha256": "7c92bb9923dfa579a4eaf338f0538fdcf3887fbb96bb63b628492624278260e5",
      "width": 450,
      "height": 570,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/equipment/weapon_warhammer.webp",
      "file": "canonical/assets/equipment/weapon_warhammer.webp",
      "source": "assets/equipment/weapon_warhammer.webp",
      "sha256": "c922fb478ab5eec484461c7e37de790c4d67eebada2c353f44ad9339ec36a358",
      "width": 450,
      "height": 570,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/equipment/weapon_battleaxe.webp",
      "file": "canonical/assets/equipment/weapon_battleaxe.webp",
      "source": "assets/equipment/weapon_battleaxe.webp",
      "sha256": "f3114ff4955c9cbf1a48086733f5bb08abc2bba07bd572eb27cc3fd85a0844ba",
      "width": 450,
      "height": 570,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/equipment/weapon_greatsword.webp",
      "file": "canonical/assets/equipment/weapon_greatsword.webp",
      "source": "assets/equipment/weapon_greatsword.webp",
      "sha256": "9b0e2adf76eba4c8f580659f58f2a85e6e7ec96229fba019c9332f00e88dd950",
      "width": 450,
      "height": 570,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/equipment/weapon_dagger.webp",
      "file": "canonical/assets/equipment/weapon_dagger.webp",
      "source": "assets/equipment/weapon_dagger.webp",
      "sha256": "9c4020db97d5787802877f6d70611ecf009b97cf8d5e486fb85c92f6c982d52a",
      "width": 450,
      "height": 570,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/relics/crackedLantern.webp",
      "file": "canonical/assets/relics/crackedLantern.webp",
      "source": "assets/relics/crackedLantern.webp",
      "sha256": "6228e82667c983d9c7c33de21be90a8718bb7052a8752a5bbf3082e5acfaf335",
      "width": 256,
      "height": 256,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/relics/forsakenMedallion.webp",
      "file": "canonical/assets/relics/forsakenMedallion.webp",
      "source": "assets/relics/forsakenMedallion.webp",
      "sha256": "951d0f04bc9e1b452d8f8669a420126ac7d447562b2f6666a88a2c1365214980",
      "width": 256,
      "height": 256,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/relics/cutpursesCoin.webp",
      "file": "canonical/assets/relics/cutpursesCoin.webp",
      "source": "assets/relics/cutpursesCoin.webp",
      "sha256": "d887fb81174a11a93df995110743e61ffc0180826a00195c9df69ddf5c9ae8c0",
      "width": 256,
      "height": 256,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/ui/flasks/flask-crimson.webp",
      "file": "canonical/assets/ui/flasks/flask-crimson.webp",
      "source": "assets/ui/flasks/flask-crimson.webp",
      "sha256": "6213059958c97bae1830c611d558e751440878b7067db9ada76400de8d6360d9",
      "width": 128,
      "height": 128,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/ui/flasks/flask-azure.webp",
      "file": "canonical/assets/ui/flasks/flask-azure.webp",
      "source": "assets/ui/flasks/flask-azure.webp",
      "sha256": "73eeb1bed7126c58cc14c447c8b2147d834afe8f43cfb1141c8b94d5df62c5b4",
      "width": 128,
      "height": 128,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/enemy-poses/wanderingSoldier_idle.webp",
      "file": "canonical/assets/enemy-poses/wanderingSoldier_idle.webp",
      "source": "assets/enemy-poses/wanderingSoldier_idle.webp",
      "sha256": "7834d23440085f9d4aa35992d94fc7ea3d4018ea8383184354933a3bb3b73e7c",
      "width": 384,
      "height": 384,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/enemy-poses/blightHound_idle.webp",
      "file": "canonical/assets/enemy-poses/blightHound_idle.webp",
      "source": "assets/enemy-poses/blightHound_idle.webp",
      "sha256": "1daac5975c059efeaf54c8b0400fcdc57bd82994a6333b8cc13f4a65d20d318f",
      "width": 384,
      "height": 384,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    },
    {
      "id": "assets/enemy-poses/charredColossus_idle.webp",
      "file": "canonical/assets/enemy-poses/charredColossus_idle.webp",
      "source": "assets/enemy-poses/charredColossus_idle.webp",
      "sha256": "fc440b76bf35bda594eccb8298632d4664bb79da7cb17948007c46e588f73e8e",
      "width": 384,
      "height": 384,
      "mode": "RGBA",
      "origin": "canonical-repository-copy",
      "transformed": false
    }
  ],
  "note": "Curated copies only. Runtime must continue resolving original ids through assetUrl and existing outfit/equipment/environment models. Source CREDITS.md applies; new kit credit does not relicense canonical files."
}
