{
  "asset": "hover-cargo-skiff",
  "verified_at_utc": "2026-10-16T20:23:30.124169+00:00",
  "status": "PASS",
  "clean_build": {
    "script_sha256": "5a39d888ed38bdab3686f78202c0a1675031c03b2f47bd9d64ec0f613e1d928d",
    "blender": "5.2.0",
    "device": "NVIDIA RTX 4000 SFF Ada / Cycles GPU OptiX",
    "completed_seconds": 125.0,
    "remote_local_artifact_hashes_match": true
  },
  "contract": {
    "sha256": "b87752eceb73e4cd87ff00f16cde2464b42fede43a7ad6606f998c2fad3b02a0",
    "bytes": 9391320,
    "triangles_instanced": 83326,
    "bounds": {
      "min": [
        -1.9000000953674316,
        0.6000000238418579,
        -4.5
      ],
      "max": [
        1.9000000953674316,
        2.999971866607666,
        4.5
      ],
      "size": [
        3.8000001907348633,
        2.399971842765808,
        9.0
      ]
    },
    "materials": [
      "RotorMetal",
      "Dark",
      "Paint",
      "Metal",
      "Rust",
      "Lamps",
      "Engines",
      "Glass",
      "Crates"
    ],
    "mesh_nodes": [
      "Fan_FL",
      "Fan_FR",
      "Fan_RL",
      "Fan_RR",
      "Hull"
    ],
    "sockets": [
      "Seat_Driver",
      "Hand_L",
      "Hand_R",
      "Foot_L",
      "Foot_R",
      "Camera_Chase",
      "Light_Head_L",
      "Light_Head_R",
      "Light_Tail_L",
      "Light_Tail_R",
      "Lift_1",
      "Lift_2",
      "Lift_3",
      "Lift_4",
      "Thruster_1",
      "Thruster_2"
    ],
    "textures": [
      {
        "name": "RotorMetal_Normal",
        "size": [
          512,
          512
        ],
        "bytes": 385087
      },
      {
        "name": "RotorMetal_ORM",
        "size": [
          512,
          512
        ],
        "bytes": 279392
      },
      {
        "name": "RotorMetal_BaseColor",
        "size": [
          512,
          512
        ],
        "bytes": 17455
      },
      {
        "name": "Dark_Normal",
        "size": [
          512,
          512
        ],
        "bytes": 331737
      },
      {
        "name": "Dark_ORM",
        "size": [
          512,
          512
        ],
        "bytes": 161248
      },
      {
        "name": "Dark_BaseColor",
        "size": [
          512,
          512
        ],
        "bytes": 11667
      },
      {
        "name": "Paint_Normal",
        "size": [
          1024,
          1024
        ],
        "bytes": 1123950
      },
      {
        "name": "Paint_ORM",
        "size": [
          512,
          512
        ],
        "bytes": 259595
      },
      {
        "name": "Paint_BaseColor",
        "size": [
          1024,
          1024
        ],
        "bytes": 96182
      },
      {
        "name": "Metal_Normal",
        "size": [
          1024,
          1024
        ],
        "bytes": 1298632
      },
      {
        "name": "Metal_ORM",
        "size": [
          512,
          512
        ],
        "bytes": 260795
      },
      {
        "name": "Metal_BaseColor",
        "size": [
          1024,
          1024
        ],
        "bytes": 197246
      },
      {
        "name": "Rust_Normal",
        "size": [
          512,
          512
        ],
        "bytes": 304300
      },
      {
        "name": "Rust_ORM",
        "size": [
          512,
          512
        ],
        "bytes": 80538
      },
      {
        "name": "Rust_BaseColor",
        "size": [
          512,
          512
        ],
        "bytes": 30556
      },
      {
        "name": "Lamps_Normal",
        "size": [
          64,
          64
        ],
        "bytes": 412
      },
      {
        "name": "Lamps_ORM",
        "size": [
          64,
          64
        ],
        "bytes": 3284
      },
      {
        "name": "Lamps_BaseColor",
        "size": [
          64,
          64
        ],
        "bytes": 708
      },
      {
        "name": "Engines_Normal",
        "size": [
          64,
          64
        ],
        "bytes": 412
      },
      {
        "name": "Engines_ORM",
        "size": [
          64,
          64
        ],
        "bytes": 3285
      },
      {
        "name": "Engines_BaseColor",
        "size": [
          64,
          64
        ],
        "bytes": 708
      },
      {
        "name": "Glass_Normal",
        "size": [
          64,
          64
        ],
        "bytes": 412
      },
      {
        "name": "Glass_ORM",
        "size": [
          64,
          64
        ],
        "bytes": 3284
      },
      {
        "name": "Glass_BaseColor",
        "size": [
          64,
          64
        ],
        "bytes": 707
      },
      {
        "name": "Crates_Normal",
        "size": [
          1024,
          1024
        ],
        "bytes": 1271418
      },
      {
        "name": "Crates_ORM",
        "size": [
          512,
          512
        ],
        "bytes": 91127
      },
      {
        "name": "Crates_BaseColor",
        "size": [
          1024,
          1024
        ],
        "bytes": 196921
      }
    ],
    "checks": "PASS: bounds, axes, ride height, budgets, portable textures, neutral tintable Paint, emission, glass, fan pivot clearance and required nodes"
  },
  "strict_glb_audit": {
    "file": "hover-cargo-skiff.glb",
    "sha256": "b87752eceb73e4cd87ff00f16cde2464b42fede43a7ad6606f998c2fad3b02a0",
    "bytes": 9391320,
    "primitive_count": 11,
    "material_count": 9,
    "embedded_images": 27,
    "external_uris": [],
    "primitives": [
      {
        "mesh": "Swept impeller blade",
        "primitive": 0,
        "triangles": 1608,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Swept impeller blade",
        "primitive": 1,
        "triangles": 1024,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 0,
        "triangles": 4282,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 1,
        "triangles": 32810,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 2,
        "triangles": 14660,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 3,
        "triangles": 584,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 4,
        "triangles": 1528,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 5,
        "triangles": 280,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 6,
        "triangles": 12258,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 7,
        "triangles": 28,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      },
      {
        "mesh": "Welded displacement hull",
        "primitive": 8,
        "triangles": 6368,
        "zero_area_triangles": 0,
        "nonfinite_attribute_components": 0
      }
    ],
    "duplicate_primitives": [],
    "note": "Mesh-local counts, before node transforms/instances. Degenerate threshold: cross-product magnitude < 1e-12 in asset units squared. Not a source-topology or visual-quality verdict.",
    "triangles": 75430,
    "zero_area_triangles": 0,
    "nonfinite_attribute_components": 0,
    "findings": []
  },
  "runtime": {
    "engine": "three.js 0.180.0 GLTFLoader / WebGLRenderer",
    "capture": "runtime.png",
    "software_webgl": true,
    "performance_claim": false,
    "load_report": {
      "assetTriangles": 83326,
      "bounds": {
        "min": [
          -1.9000000953674316,
          0.6000000238418579,
          -4.5
        ],
        "max": [
          1.9000000953674316,
          2.999971866607666,
          4.5
        ]
      },
      "drawCalls": 37,
      "triangles": 166684,
      "renderer": "WebKit WebGL",
      "loaded": true,
      "pageErrors": []
    },
    "paint_recolour_visually_verified": true,
    "fan_30_degree_rotation_visually_verified": true
  },
  "visual_review": {
    "reviewer": "independent Gemini CLI image inspection",
    "verdict": "PASS",
    "image_inputs": [
      "sheet.jpg",
      "final.png",
      "side.png",
      "clay.png"
    ],
    "result": "No major visible blockers; modern game quality and reference parts confirmed."
  },
  "artifacts": {
    "hover-cargo-skiff.glb": {
      "sha256": "b87752eceb73e4cd87ff00f16cde2464b42fede43a7ad6606f998c2fad3b02a0",
      "bytes": 9391320
    },
    "build_hover-cargo-skiff.py": {
      "sha256": "5a39d888ed38bdab3686f78202c0a1675031c03b2f47bd9d64ec0f613e1d928d",
      "bytes": 45999
    },
    "final.png": {
      "sha256": "6cc07faa6b43749bdf199e205e9feb3a6125f8ce0a89365b57206d6f96bc72d1",
      "bytes": 2123437,
      "pixels": [
        1920,
        1080
      ]
    },
    "side.png": {
      "sha256": "b20f1ea0e742db358b1c296d33e390af72d9528180543b56bf37f5502d66a584",
      "bytes": 1898727,
      "pixels": [
        1920,
        1080
      ]
    },
    "clay.png": {
      "sha256": "2716f3a8b56013955155ce9f5f3abfb071838e2ef7a03eeae353295102b0511a",
      "bytes": 1846839,
      "pixels": [
        1920,
        1080
      ]
    },
    "paints.png": {
      "sha256": "d9a6ee6be6d475e15185ca34386ceca0904bae88b4a0793372c1c7ee5a39d436",
      "bytes": 1693237,
      "pixels": [
        1920,
        720
      ]
    },
    "fan_test.png": {
      "sha256": "ac3fe72bcdb63de9fb585db6b32d9294234db22767cdb9370be55cc9b0c0ed4c",
      "bytes": 974198,
      "pixels": [
        1280,
        720
      ]
    },
    "runtime.png": {
      "sha256": "ac57743b8dbee18d2addb56f62ae644d2ee4516267157969daa2ab7f51a2437c",
      "bytes": 253090,
      "pixels": [
        1600,
        900
      ]
    },
    "nodes.json": {
      "sha256": "5e7f17ce01ba6a2a7dfbd493fd99a16a538d42cf5d534e3d8433c343495f42a6",
      "bytes": 5846
    },
    "NOTES.md": {
      "sha256": "658098022912a9a0d3cc028ef4fc696543313bdbbec1b4c05de8253b62131780",
      "bytes": 1125
    }
  }
}
