{
  "schemaVersion": 1,
  "asset": "/assets/crash-hero.glb",
  "height": 3.0,
  "bodyCoreHeight": 2.6,
  "up": "+Y",
  "forward": "+Z",
  "feetAt": 0,
  "bounds": {
    "min": [
      -1.3805592060089111,
      0,
      -0.6362435221672058
    ],
    "max": [
      1.380557656288147,
      3,
      0.6356710195541382
    ]
  },
  "bodyMesh": "HeroBody",
  "bodyMaterial": "HeroBody",
  "palette": {
    "red": "#ed514c",
    "blue": "#318ddc",
    "yellow": "#f2bb39",
    "green": "#50bf8c"
  },
  "deformation": {
    "method": "root bone/object affine scale plus protected face/sticker nodes",
    "normal": [
      1,
      1,
      1
    ],
    "squash": [
      2,
      0.5,
      2
    ],
    "stretch": [
      1,
      1.5,
      1
    ],
    "faceAnchor": "FaceAnchor",
    "faceSquashCompensation": "(1/sx, mix(1,.8,charge)/sy, 1/sz)",
    "bellyAnchor": "BellyAnchor",
    "bellySquashCompensation": "none: keep local scale (1,1,1); conforming print follows body affine deformation",
    "faceSurfaceFit": "src/hero-face-fit.ts uses measured rest skin profile; apply after expression transforms"
  },
  "bones": {
    "body": {
      "gltf": "DEF-body",
      "three": "DEF-body",
      "position": [
        0,
        0.76,
        0
      ],
      "parent": null
    },
    "arm.L": {
      "gltf": "DEF-arm.L",
      "three": "DEF-armL",
      "position": [
        -0.73,
        1.21,
        0
      ],
      "parent": "DEF-body"
    },
    "arm.R": {
      "gltf": "DEF-arm.R",
      "three": "DEF-armR",
      "position": [
        0.73,
        1.21,
        0
      ],
      "parent": "DEF-body"
    },
    "leg.L": {
      "gltf": "DEF-leg.L",
      "three": "DEF-legL",
      "position": [
        -0.46,
        0.55,
        0
      ],
      "parent": "DEF-body"
    },
    "leg.R": {
      "gltf": "DEF-leg.R",
      "three": "DEF-legR",
      "position": [
        0.46,
        0.55,
        0
      ],
      "parent": "DEF-body"
    },
    "ear.L": {
      "gltf": "DEF-ear.L",
      "three": "DEF-earL",
      "position": [
        -0.51,
        2.5,
        0
      ],
      "parent": "DEF-body"
    },
    "ear.R": {
      "gltf": "DEF-ear.R",
      "three": "DEF-earR",
      "position": [
        0.51,
        2.5,
        0
      ],
      "parent": "DEF-body"
    }
  },
  "face": {
    "eyes": [
      "EyeL",
      "EyeR"
    ],
    "pupils": [
      "PupilL",
      "PupilR"
    ],
    "brows": [
      "BrowL",
      "BrowR"
    ],
    "smile": "MouthSmile",
    "scream": "MouthO",
    "blinkAxis": "local Y in Three, local Z in Blender; eye groups contain whites/pupils/sparkles",
    "gaze": "PupilL/R.position.x += gazeX*.045; position.y += gazeY*.035"
  },
  "contacts": {
    "soleVertexIndicesSource": {
      "L": [
        0,
        1,
        78,
        209,
        215,
        285,
        286,
        287,
        431,
        715,
        1652,
        1681,
        1732,
        1733,
        2031,
        2032,
        2351,
        2352,
        2438,
        2470,
        2712,
        2743,
        2791,
        3200,
        3526,
        4084,
        4135,
        4191,
        4193,
        4431,
        4432,
        4433,
        4434,
        4435,
        4436,
        4444,
        4445,
        4446,
        4447,
        4448,
        4454,
        4455,
        4456,
        4457,
        4461,
        4462,
        4463,
        4467,
        4468,
        4472,
        4473,
        4474,
        4477,
        4478,
        4485,
        4489,
        4490,
        4491,
        4492,
        4493,
        4500,
        4501,
        4502,
        4503,
        4504,
        4505,
        4506,
        4507,
        4508,
        4509,
        4510,
        4511,
        4512,
        4513,
        4514,
        4515,
        4516,
        4517,
        4518,
        4519,
        4520,
        4521
      ],
      "R": [
        889,
        890,
        892,
        893,
        894,
        895,
        928,
        938,
        990,
        992,
        993,
        996,
        1289,
        1290,
        1292,
        1294,
        1297,
        1298,
        1851,
        1894,
        2243,
        2527,
        2528,
        2529,
        2863,
        3257,
        3562,
        3661,
        3919,
        3989,
        4005,
        4370,
        4437,
        4438,
        4439,
        4440,
        4441,
        4442,
        4443,
        4449,
        4450,
        4451,
        4452,
        4453,
        4458,
        4459,
        4460,
        4464,
        4465,
        4466,
        4469,
        4470,
        4471,
        4475,
        4476,
        4479,
        4480,
        4481,
        4482,
        4483,
        4484,
        4486,
        4487,
        4488,
        4494,
        4495,
        4496,
        4497,
        4498,
        4499,
        4522,
        4523,
        4524,
        4525,
        4526,
        4527,
        4528,
        4529,
        4530,
        4531,
        4532,
        4533,
        4534,
        4535,
        4536,
        4537,
        4538,
        4539,
        4540,
        4541
      ]
    },
    "runtimeSampling": "Imported GLB vertex order may be split by UV seams. Sample skin vertices with rest y<0.035 and DEF-legL/R weights; include the continuous support surface.",
    "grips": {
      "L": [
        -1.28,
        1.25,
        0.07
      ],
      "R": [
        1.28,
        1.25,
        0.07
      ]
    }
  },
  "meshStats": {
    "bodyVertices": 4542,
    "bodyTriangles": 9080,
    "bodyConnectedComponentsExpected": 1
  },
  "rigify": {
    "addon": "Blender bundled rigify",
    "version": "4.3.2",
    "generator": "bpy.ops.pose.rigify_generate",
    "types": [
      "basic.super_copy"
    ],
    "source": "assets/source/hero/crash-catcher-rigify.blend"
  },
  "animations": {
    "cc0": "/assets/hero-locomotion.json",
    "authored": [
      "procedural-brace",
      "procedural-ear-settle",
      "procedural-shuffle"
    ]
  }
}