{
  "schema_version": 1,
  "article_slug": "a-star-pathfinding-in-godot-and-unity",
  "artifact": "Godot GDScript A* starter Web export",
  "generated_at_utc": "2026-07-16T10:58:00Z",
  "passed": true,
  "engine": {
    "string": "4.7.1-stable (official)",
    "build": "a13da4feb",
    "renderer": "Compatibility",
    "webassembly": "wasm32",
    "thread_support": false,
    "gdextension_support": false
  },
  "source_binding": {
    "source_zip": "/downloads/pathfinding/a-star-pathfinding-starter-godot-gdscript-source.zip",
    "source_zip_sha256": "e98e6528d6c6259f2e1104b0d8fc78e456b8b89046db9460606db4eb14dde502",
    "source_receipt": "/downloads/pathfinding/a-star-pathfinding-starter-godot-gdscript-verification.json",
    "source_receipt_sha256": "78f3e990e8c53351c6a1eb2970795f56823b5ffa397ac20b8c6e9bac905d5397",
    "main_scene": "res://scenes/articles/astar_starter_gdscript.tscn"
  },
  "hosting": {
    "public_app": "/demos/pathfinding/a-star-godot-gdscript/app/",
    "embed_entrypoint": "/demos/pathfinding/a-star-godot-gdscript/app/index.html",
    "r2_prefix": "demos/a-star-pathfinding-starter-godot-gdscript/2026-07-16/",
    "wasm_content_type": "application/wasm",
    "brotli_negotiation": true,
    "wasm_raw_bytes": 39513091,
    "wasm_brotli_bytes": 7094628
  },
  "browser_smoke": {
    "browser": "Chromium via Playwright",
    "viewport": {
      "width": 1280,
      "height": 720
    },
    "passed": true,
    "checks": [
      "single-threaded Godot Web export boots without console or page errors",
      "canvas initializes at 1280 by 720",
      "initial authored route is visible",
      "clicking another open cell changes the visible route",
      "clicking the isolated cell at (12, 1) shows the no-path state",
      "pressing R restores the initial route"
    ],
    "screenshot_sha256": {
      "initial": "f024e03276ab2ebb40da0f9492b491a1d7d6cf83e6a1d02e608fb1d1bd166e1b",
      "changed_route": "ae2124f6be8f992b40dd67d5c2c599036e4aaeb1e3b5e777132c78cac34c2a69",
      "no_path": "0a5b48e3bffb4a1ed186010360f4a4d0e083d8f755b77f6f0835e51d31e68bf4",
      "reset": "c87027aff7eb1ee44023e5730a597d7a2e29f3f234f89e26e2974929b8881685"
    }
  },
  "files": {
    "index.apple-touch-icon.png": {
      "bytes": 11944,
      "sha256": "01d4f63e525941e06ce74f5187dad030d20a8d52a07ce365ae4e94af97a3b1f5"
    },
    "index.audio.position.worklet.js": {
      "bytes": 2973,
      "sha256": "be33985bc7160d6bf9646f259cd86b259cd67b02ccb297ee5c44f8ac84327bc8"
    },
    "index.audio.worklet.js": {
      "bytes": 7298,
      "sha256": "5b476a9c9ce642c0ee4256436d1bc31d9c38f868aca0f9a8e2a57c18d2dec2a3"
    },
    "index.html": {
      "bytes": 5469,
      "sha256": "d165e746ce082bc41656a37798a41c4b8b4b6360d213abdd83a60fbbed6f6b3f"
    },
    "index.icon.png": {
      "bytes": 5700,
      "sha256": "ad3c35ad0facf487c618204bd98db543034fc95224eadc7f08c7a9ff38d5b3b5"
    },
    "index.js": {
      "bytes": 279815,
      "sha256": "68586d6daafc93c6e697b3fb258976874aa7459b8931165ebb1dc3c9614cc42c"
    },
    "index.pck": {
      "bytes": 30108,
      "sha256": "7f0ee314d51122e6f7dcfe555eee5e7724fb3fa9529b61021fa6e05a6f7f0aa0"
    },
    "index.png": {
      "bytes": 21443,
      "sha256": "3cb4495c0b98dfbe4b663cbf2b6836473572339beb66d902367893162a70be0e"
    },
    "index.wasm": {
      "bytes": 39513091,
      "sha256": "35116f68540ac41acf7d71ea457added91b5e960a9cca3e2acc72918eaf01277"
    },
    "index.wasm.br": {
      "bytes": 7094628,
      "sha256": "f7dd48dab45a89c0e2e11409dc86b2133e4d0e922ca464eba60d57319cc0948d"
    }
  },
  "proof_boundary": {
    "verified_here": "Web export boot, visible route interaction, deliberate no-path state, reset behavior, artifact hashes, and the exact source ZIP binding.",
    "not_verified": "Cross-browser performance, mobile performance, Godot C# Web export, Unity WebGL, weighted terrain, diagonals, smoothing, dynamic blockers, crowds, or production-game suitability."
  }
}
