{
  "assets": {
    "mount-geometry:90e5fd72b6a1fff71a07733b90b39b50b45d0a3505cba7fae428098691a0912a": {
      "kind": "mount-geometry",
      "path": "geometry/mounts/mount-r892-9acdabb1ddc6.glb",
      "sha256": "90e5fd72b6a1fff71a07733b90b39b50b45d0a3505cba7fae428098691a0912a",
      "sizeBytes": 143044,
      "source": {
        "path": "ride/model/r892.nif",
        "sha256": "9acdabb1ddc66f1ea633ee36937285571aaf918071e31a98f69ec53876f83682",
        "sizeBytes": 91683
      },
      "url": "/models/geometry/mounts/mount-r892-9acdabb1ddc6.glb"
    },
    "mount-recipe:8245229796a99bc4ddd8a8f0b6a70e57b7467cdf6c8155a25c40daf6df9c1323": {
      "kind": "mount-recipe",
      "path": "recipes/mounts/5c3cb804a1fad90344028c88d223bb2d35b55571c5accc9e9323d4ff9858d1f6.json",
      "sha256": "8245229796a99bc4ddd8a8f0b6a70e57b7467cdf6c8155a25c40daf6df9c1323",
      "sizeBytes": 97969,
      "source": {
        "line": 456,
        "path": "data/db/ridelist.ini",
        "registryKey": "DB451",
        "section": "Table",
        "sha256": "096fc45e8060160592856ba7f03e3f2bc67597d0b076ff26b56d47a64c4a00ab"
      },
      "url": "/models/recipes/mounts/5c3cb804a1fad90344028c88d223bb2d35b55571c5accc9e9323d4ff9858d1f6.json"
    },
    "texture:e9d1fb61e2ce0a760532a9b511bf663e6e44bd90e07870b2c966ab0614df8572": {
      "kind": "texture",
      "path": "textures/3d7b2dbf8f04a7cd526cfaf0b65e94e5b12b86586dc58bcf4dda33eeb2dc0f0b.png",
      "sha256": "e9d1fb61e2ce0a760532a9b511bf663e6e44bd90e07870b2c966ab0614df8572",
      "sizeBytes": 177739,
      "source": {
        "path": "ride/texture/r89201.dds",
        "sha256": "3d7b2dbf8f04a7cd526cfaf0b65e94e5b12b86586dc58bcf4dda33eeb2dc0f0b",
        "sizeBytes": 262272
      },
      "url": "/models/textures/3d7b2dbf8f04a7cd526cfaf0b65e94e5b12b86586dc58bcf4dda33eeb2dc0f0b.png"
    }
  },
  "association": {
    "availablePoseIds": [
      "female:ride01",
      "female:ride02",
      "female:ride03",
      "female:ride04",
      "female:ride05",
      "female:ride06",
      "female:ride07",
      "female:ride08",
      "female:ride09",
      "female:ride10",
      "female:ride11",
      "female:ride12",
      "female:ride13",
      "female:ride21",
      "female:ride22",
      "female:ride23",
      "female:ride24",
      "female:ride25",
      "female:ride26",
      "female:ride27",
      "female:ride28",
      "female:ride29",
      "female:ride30",
      "female:ride31",
      "female:ride32",
      "female:ride33",
      "female:ride34"
    ],
    "availableRiderPoseIds": [
      "female:ride01",
      "female:ride02",
      "female:ride03",
      "female:ride04",
      "female:ride05",
      "female:ride06",
      "female:ride07",
      "female:ride08",
      "female:ride09",
      "female:ride10",
      "female:ride11",
      "female:ride12",
      "female:ride13",
      "female:ride21",
      "female:ride22",
      "female:ride23",
      "female:ride24",
      "female:ride25",
      "female:ride26",
      "female:ride27",
      "female:ride28",
      "female:ride29",
      "female:ride30",
      "female:ride31",
      "female:ride32",
      "female:ride33",
      "female:ride34"
    ],
    "bodyId": "female",
    "category": "mounted-character",
    "geometryAssetIds": [],
    "holsterStatus": "USER_REQUESTED_SLOT_POLICY_TRANSFORMS_UNRESOLVED",
    "mountAppearanceCode": "r892010",
    "mountGeometryAssetId": "mount-geometry:90e5fd72b6a1fff71a07733b90b39b50b45d0a3505cba7fae428098691a0912a",
    "mountGeometryAssetIds": [
      "mount-geometry:90e5fd72b6a1fff71a07733b90b39b50b45d0a3505cba7fae428098691a0912a"
    ],
    "mountRecipeAssetId": "mount-recipe:8245229796a99bc4ddd8a8f0b6a70e57b7467cdf6c8155a25c40daf6df9c1323",
    "mountRecipeId": "data/db/ridelist.ini:L456:Table:DB451:r892010",
    "mountTextureAssetId": "texture:e9d1fb61e2ce0a760532a9b511bf663e6e44bd90e07870b2c966ab0614df8572",
    "mountTextureAssetIds": [
      "texture:e9d1fb61e2ce0a760532a9b511bf663e6e44bd90e07870b2c966ab0614df8572"
    ],
    "recipeId": "mounted:female:data/db/ridelist.ini:L456:Table:DB451:r892010",
    "riderPoseSelectionStatus": "UNRESOLVED_ENGINE_MOUNT_TO_RIDER_POSE",
    "riderSourceParameters": {
      "chairModRows": [],
      "field2Raw": "1",
      "field3Raw": "1",
      "interpretationStatus": "SOURCE_FIELDS_EXTRACTED_SEMANTICS_AND_ENGINE_UNITS_UNVALIDATED",
      "otherFieldsRaw": [
        "0",
        "0",
        "1",
        "1"
      ],
      "vectorField5Raw": "0.0;0.0;0.0",
      "vectorField6Raw": "0.0;0.0;0.0"
    },
    "seatStatus": "UNRESOLVED_ENGINE_SEAT",
    "selectionContract": "Explicit poseId and seat/attachment transforms may be supplied to export-cdn-riding.py --selection.",
    "source": {
      "line": 456,
      "path": "data/db/ridelist.ini",
      "registryKey": "DB451",
      "section": "Table",
      "sha256": "096fc45e8060160592856ba7f03e3f2bc67597d0b076ff26b56d47a64c4a00ab"
    },
    "status": "PARTIAL_RIDER_POSE_SEAT_HOLSTER_UNRESOLVED",
    "textureAssetIds": []
  },
  "baseUrl": "/models/",
  "clientId": "origin",
  "holsterPolicy": {
    "handFramesAreHolsterFrames": false,
    "requestedRules": {
      "oneHandedLeft": "leftHip",
      "oneHandedRight": "rightHip",
      "twoHanded": "back",
      "weaponWithCosmeticShield": "bothBack",
      "weaponWithShield": "bothBack"
    },
    "sourceFrames": {
      "female": [
        "Bip01 Prop1",
        "Bip01 Prop2"
      ],
      "male": [
        "Bip01 Prop1",
        "Bip01 Prop2"
      ]
    },
    "sourceGap": "No native universal back/hip holster frames or runtime transforms were identified in BXA00/GXA00. B1308/G1308 Prop3 is an equipment-specific weighted frame under Bip02 Pelvis.",
    "status": "USER_REQUESTED_SLOT_POLICY_TRANSFORMS_UNRESOLVED",
    "transformPolicy": "EXPLICIT_ATTACHMENT_ANCHOR_AND_LOCAL_MATRIX_REQUIRED_NO_GUESSED_OFFSET"
  },
  "itemRefs": [],
  "schemaVersion": "gf-cdn-riding-association/1",
  "selectionContract": {
    "attachments": "[{slot:head|back|rightHip|leftHip|backWeapon|backShield,geometryAssetId,textureAssetId?,anchorSourceName,localMatrixGltf:16-column-major floats}]. Each selected transform is supplied explicitly.",
    "bodyId": [
      "male",
      "female"
    ],
    "bodyRecipeIds": "Existing catalog/characters.json bodyRecipes for the selected body; choose one recipe per replacement slot. Full outfits replace torso/legs/hands/feet, and conflicting selections are rejected. Default uses the four bare parts.",
    "commonOriginReference": "Default fixtures combine seated rider and mount at their authored scene origins, with UNRESOLVED_ENGINE_SEAT status.",
    "format": "gf-cdn-riding-selection/1",
    "hairId": "Existing presentationEligible hair id; null omits hair.",
    "materialPolicy": "Default GLBs preserve authored source materials. applySelectedBodyBaseTextures:true changes only matching targetMaterials, keeping the authored base-map UV/transform. Multi-UV BASE/DECAL blending remains source metadata; explicit attachment texture selection also requires targetMaterials.",
    "mountRecipeId": "recipes/mounts.json recipeId or unique appearanceCode.",
    "poseId": "male:ride01 or female:ride01",
    "seat": "{sourceBlock:int, localMatrixGltf?:16-column-major floats, alignRiderFrame?:source name} OR {matrixGltf:16-column-major floats}. Explicit joins retain unvalidated engine semantics."
  }
}
