{
  "schema_version": 1,
  "article_slug": "3d-pathfinding-in-godot",
  "artifact": "3D Pathfinding Starter for Godot Web export",
  "generated_at_utc": "2026-07-17T03:38:20Z",
  "passed": true,
  "engine": {
    "string": "4.7.1-stable (official)",
    "build_hash": "a13da4feb8d8aefc283c3763d33a2f170a18d541",
    "renderer": "WebGL 2 / Compatibility",
    "webassembly": true,
    "thread_support": false,
    "gdextension_support": false
  },
  "source_binding": {
    "source_zip": {
      "path": "/downloads/pathfinding/3d-pathfinding-starter-godot-source.zip",
      "bytes": 13833,
      "sha256": "bcfb590993cfd025b810f745bf0303d39061cdf6c177f0c27bf66be637104d1c"
    },
    "source_receipt": {
      "path": "/downloads/pathfinding/3d-pathfinding-starter-godot-verification.json",
      "bytes": 12346,
      "sha256": "a8a2a17a512edf3b28d6a533593c27988fd53f633be53919f15c5f7abf456dc5",
      "check_count": 21
    },
    "main_scene": "res://scenes/main.tscn"
  },
  "hosting": {
    "public_app": "/demos/pathfinding/3d-pathfinding-starter-godot/app/",
    "embed_entrypoint": "/demos/pathfinding/3d-pathfinding-starter-godot/app/index.html",
    "r2_prefix": "demos/3d-pathfinding-starter-godot/2026-07-17/",
    "route_function": "/functions/demos/pathfinding/3d-pathfinding-starter-godot/app/[[path]].ts",
    "wasm_content_type": "application/wasm",
    "brotli_content_encoding": "br",
    "precompressed_wasm_present": true,
    "wasm_raw_bytes": 39513091,
    "wasm_brotli_bytes": 7997319,
    "brotli_quality": 9,
    "brotli_round_trip_matches_raw_wasm": true
  },
  "browser_smoke": {
    "browser": "Chromium 149.0.7827.55",
    "viewport": "1280x800",
    "passed": true,
    "checks": [
      {
        "id": "web_export_loads",
        "passed": true
      },
      {
        "id": "godot_canvas_is_visible",
        "passed": true
      },
      {
        "id": "click_and_reset_frames_are_distinct",
        "passed": true
      }
    ],
    "errors": [],
    "screenshots": [
      {
        "name": "initial",
        "bytes": 59790,
        "sha256": "6b9ac796eef42416be35bba6e300c112a6fc8d8ee52d4e216d7f4c04a12bc786"
      },
      {
        "name": "clicked",
        "bytes": 56561,
        "sha256": "b40d076fb0e534c0f84f490f767f4e46323ecf805e7d5a175c4a7ebea4949c4d"
      },
      {
        "name": "reset",
        "bytes": 54908,
        "sha256": "910840eec095d22e885f89dd278c6d69b5c315e9eb8dba6b97408ba8a5a0eada"
      }
    ]
  },
  "files": [
    {
      "path": "index.apple-touch-icon.png",
      "bytes": 11944,
      "sha256": "01d4f63e525941e06ce74f5187dad030d20a8d52a07ce365ae4e94af97a3b1f5",
      "content_type": "image/png",
      "content_encoding": null
    },
    {
      "path": "index.audio.position.worklet.js",
      "bytes": 2973,
      "sha256": "be33985bc7160d6bf9646f259cd86b259cd67b02ccb297ee5c44f8ac84327bc8",
      "content_type": "application/javascript; charset=utf-8",
      "content_encoding": null
    },
    {
      "path": "index.audio.worklet.js",
      "bytes": 7298,
      "sha256": "5b476a9c9ce642c0ee4256436d1bc31d9c38f868aca0f9a8e2a57c18d2dec2a3",
      "content_type": "application/javascript; charset=utf-8",
      "content_encoding": null
    },
    {
      "path": "index.html",
      "bytes": 5451,
      "sha256": "197a46155c093518decc0d6001429310cf33482ab974996179c24a7ea64ec7aa",
      "content_type": "text/html; charset=utf-8",
      "content_encoding": null
    },
    {
      "path": "index.icon.png",
      "bytes": 5700,
      "sha256": "ad3c35ad0facf487c618204bd98db543034fc95224eadc7f08c7a9ff38d5b3b5",
      "content_type": "image/png",
      "content_encoding": null
    },
    {
      "path": "index.js",
      "bytes": 279815,
      "sha256": "68586d6daafc93c6e697b3fb258976874aa7459b8931165ebb1dc3c9614cc42c",
      "content_type": "application/javascript; charset=utf-8",
      "content_encoding": null
    },
    {
      "path": "index.pck",
      "bytes": 27464,
      "sha256": "ceb04195d36a8851f610d2f4cdd14e7b2892a271676f9090e30eb245e819d23a",
      "content_type": "application/octet-stream",
      "content_encoding": null
    },
    {
      "path": "index.png",
      "bytes": 21443,
      "sha256": "3cb4495c0b98dfbe4b663cbf2b6836473572339beb66d902367893162a70be0e",
      "content_type": "image/png",
      "content_encoding": null
    },
    {
      "path": "index.wasm",
      "bytes": 39513091,
      "sha256": "35116f68540ac41acf7d71ea457added91b5e960a9cca3e2acc72918eaf01277",
      "content_type": "application/wasm",
      "content_encoding": null
    },
    {
      "path": "index.wasm.br",
      "bytes": 7997319,
      "sha256": "bbe4231b5d8aaf7ffc13e07a6b5abf93f76757b48a8c8304a230a580ab95b719",
      "content_type": "application/wasm",
      "content_encoding": "br"
    }
  ],
  "proof_boundary": {
    "verified": [
      "single-threaded Godot Web export loads in Chromium",
      "Godot canvas renders at 1280x800",
      "click-to-move and R-reset produce distinct rendered states",
      "precompressed index.wasm.br decodes byte-for-byte to index.wasm",
      "R2 bundle contains only the ten allowlisted runtime files"
    ],
    "not_verified": [
      "production R2 upload or live-route response headers",
      "mobile-browser controls or performance",
      "crowd throughput or production scalability",
      "hard dynamic-blocker correctness"
    ]
  }
}
