{
  "schemaVersion": 1,
  "date": "2026-10-05",
  "project": "3JPCS",
  "sourceDirectory": "3JPCS",
  "sourceVersion": "2.0.0",
  "node": "18.19.1",
  "npm": "9.2.0",
  "buildCommand": "npm run build -- --outDir <release>/ready-to-run/3JPCS/site",
  "assetFilesVerifiedAgainstSource": 38,
  "headlessCheck": {
    "project": "3JPCS",
    "status": "passed",
    "browser": "Chromium 117.0.5938.62",
    "url": "http://127.0.0.1:35127/",
    "server": "Packaged serve.py, started from /tmp, loopback only",
    "actions": "Created a project from bundled NPY/descriptor; loaded the installed catalogue; placed a demo prefab; saved project JSON through the public File menu.",
    "consoleErrors": [],
    "networkFailures": [],
    "warnings": [],
    "screenshots": "None captured",
    "limitations": "Headless SwiftShader check; real-GPU graphics, pointer lock and desktop feel not verified."
  },
  "files": [
    {
      "path": "PROJECT_README.md",
      "bytes": 17596,
      "sha256": "ed4ad3819452c5a5ec75bd290d10c9ea95ea13d3fcbe5c03da49d7d137baa2c9"
    },
    {
      "path": "README.md",
      "bytes": 1853,
      "sha256": "8de6d10c4fddb1b9820f751d7186b068c6484873176c7be402490fca41aaa4e9"
    },
    {
      "path": "examples/asset_catalog.json",
      "bytes": 671,
      "sha256": "5fd43e5fafe4bc9144cef37d05f014e57325c8600b8018591a9c5055af4b206d"
    },
    {
      "path": "examples/catalog.json",
      "bytes": 460,
      "sha256": "44cdb4e403224ff88924c7cc4b8f40edc91ffd325821043679a5b72117761f36"
    },
    {
      "path": "examples/terrain-demo/terrain-descriptor.json",
      "bytes": 723,
      "sha256": "83229fa3d03fe3e23a21d48a4a184d6c9f2ade575bfa2e29e9f847d622cae36b"
    },
    {
      "path": "examples/terrain-demo/terrain-v1-c.npy",
      "bytes": 164,
      "sha256": "c2013f1b8a7ea1a0bb6f325484795d231e98d9dd8505cb9b5fa94f056f4ef27f"
    },
    {
      "path": "launch.cmd",
      "bytes": 173,
      "sha256": "9597cad006df07a2a8ec0a1c5d833980ef62a62e183a81c9a4ec77cb2b076210"
    },
    {
      "path": "launch.sh",
      "bytes": 117,
      "sha256": "51c94f86dca08c0bb0afb8b4411f350e1cece782292ff02a867760309f702183"
    },
    {
      "path": "serve.py",
      "bytes": 1913,
      "sha256": "bf40b79341a5a7a07cfbb756a15519dbdd54de4471db3beba80130ce2e576c88"
    },
    {
      "path": "site/LICENSE",
      "bytes": 34675,
      "sha256": "203c10ae2f92356d658522ee61db97e5daad634c5dc4190bc0bd23a1511a33b4"
    },
    {
      "path": "site/assets/LICENSE.md",
      "bytes": 566,
      "sha256": "d88e44c3fbe17ad595390b49bb5d052f825083c4afa4ee8b284e8e6d92879146"
    },
    {
      "path": "site/assets/buildings/bungalow.glb",
      "bytes": 127424,
      "sha256": "7ff032bdc357bd6d1e5cd64550f57c100fa4de8869297f26dc638f72949ee5ca"
    },
    {
      "path": "site/assets/buildings/city.glb",
      "bytes": 1861164,
      "sha256": "739272be16cbcb77d25e8fc19059294e359b31ab6a06eff3e744831181c12b11"
    },
    {
      "path": "site/assets/buildings/cottage.glb",
      "bytes": 120488,
      "sha256": "a3ce8bada427b155d18a88fd9b82967cb388365b217d24a725432c7914c4d7c7"
    },
    {
      "path": "site/assets/buildings/country_chapel.glb",
      "bytes": 148124,
      "sha256": "955f1b5b7c250dbb211ee8103c7d95a9a06b955bf24d0f630e403965712dec11"
    },
    {
      "path": "site/assets/buildings/house_demo_01-optimized.glb",
      "bytes": 119400,
      "sha256": "a0bc7a2fe27d6f6aecfd637260bbaaae6c3a9fa32d109ccf9fbcf88aff3f0b02"
    },
    {
      "path": "site/assets/buildings/house_demo_01.glb",
      "bytes": 5052,
      "sha256": "2c6ab00d7cb7cd8b5cbd47052752fe06e458ea31e755483ccdeeaa0b3ce1e19d"
    },
    {
      "path": "site/assets/buildings/milcheckpoint.glb",
      "bytes": 210444,
      "sha256": "e7fecdefa94debd568298e2dda2474a4ffd7ef4681e2acfdb3385958cd252b38"
    },
    {
      "path": "site/assets/buildings/milpatrolbase.glb",
      "bytes": 564196,
      "sha256": "604f6fd8cc92b42693d510cdd8780145eff99306be9726002433c514a5046619"
    },
    {
      "path": "site/assets/buildings/modern_worship_hall.glb",
      "bytes": 215012,
      "sha256": "42fc48f5ef1962f151528c8b598e0b2084b87b3d09be22c83de8cf4101689942"
    },
    {
      "path": "site/assets/buildings/parish_church.glb",
      "bytes": 220428,
      "sha256": "3c8112cf7b8efb185b8c9c6b1a146313d276600ac67b697b34d0d810363b5dd9"
    },
    {
      "path": "site/assets/buildings/townhouse.glb",
      "bytes": 193040,
      "sha256": "b71e8ad6afe7d29fded6aa9906ec88a7ced44cf6f2d3409e9b37146aad7dcf9d"
    },
    {
      "path": "site/assets/catalog.json",
      "bytes": 1645,
      "sha256": "8264991c49fa85ed23cfeb14a78277ae2979e06ff55bd1935f6b4751cb7d352d"
    },
    {
      "path": "site/assets/countyBuildWorker-a0wDJMKB.js",
      "bytes": 71591,
      "sha256": "b46292edc313b107998387472d00bf3b54ca3eea99f10ca07eacb844da6d9e4e"
    },
    {
      "path": "site/assets/countyBuildWorker-a0wDJMKB.js.map",
      "bytes": 309892,
      "sha256": "5f8e874d84ba69f8f2eb3b0eebd95e04ceb9f348a777430c368d1437bf7da5c1"
    },
    {
      "path": "site/assets/index-BgM-DsM6.css",
      "bytes": 31079,
      "sha256": "407ad035d6114f7a4d66d104457226be7cd21bda5d370460a9e91b78cdfd2e79"
    },
    {
      "path": "site/assets/index-BspN0YMi.js",
      "bytes": 797435,
      "sha256": "3cf9611a7f3792b6c352f5f3620af1f690a1e718eb1ef83d31b3c16593d0189c"
    },
    {
      "path": "site/assets/index-BspN0YMi.js.map",
      "bytes": 3857082,
      "sha256": "c48758ac9d9027d9f5e34f30cbb2e32ccd82284a73f4c9a624a8a7677842a596"
    },
    {
      "path": "site/assets/roadRoutingWorker-CFZ1UZu2.js",
      "bytes": 12703,
      "sha256": "32af64725a3f35c3569b754003f3f0cc8f4750a274ba82de3a35ea398395d2ee"
    },
    {
      "path": "site/assets/roadRoutingWorker-CFZ1UZu2.js.map",
      "bytes": 53914,
      "sha256": "f04501b24eece561a1d0b3434d521ab4300ae07819fe30c126779d7afb8d6a04"
    },
    {
      "path": "site/assets/roads/README.md",
      "bytes": 2943,
      "sha256": "f2c831875b5c4077c820b177bf335c2b4a9122f9c03885782c1c4a7cf9b5e399"
    },
    {
      "path": "site/assets/roads/dirt-road-tile-v1.png",
      "bytes": 647196,
      "sha256": "93505918bd8cb80a136e8b6d07149d22e655998bbc96b6fd7d6a56078d2c2ad3"
    },
    {
      "path": "site/assets/roads/gravel-road-tile-v1.png",
      "bytes": 693979,
      "sha256": "b1610cd1cbe28c28f5ef27e0909ed09e1f4edc2d84476f844dc6fe335129c839"
    },
    {
      "path": "site/assets/roads/paved-road-tile-v1.png",
      "bytes": 672050,
      "sha256": "bd26b74893222f990bfbb9483bd51dd90b11bb1c785cb010c0ffbab3d792f56f"
    },
    {
      "path": "site/assets/spheremaps/README.md",
      "bytes": 788,
      "sha256": "b90271fc8ee8e69368a8bfe2add9e3ae5bb531bd8bada34e6e19b109051da6f5"
    },
    {
      "path": "site/assets/spheremaps/spheremap1.png",
      "bytes": 4822315,
      "sha256": "094f052e44d2796aa5bba100fbeecdff327587bc277d68ac9efe8000cf780e35"
    },
    {
      "path": "site/assets/syntheticScene-DCr641s1.js",
      "bytes": 4902,
      "sha256": "6ec65256b3c94415f34ef02f26f6e6d378520f4f083b0d47afa1fdc5e19f3a68"
    },
    {
      "path": "site/assets/syntheticScene-DCr641s1.js.map",
      "bytes": 17245,
      "sha256": "d7c962e719e986c63924588704d41bd3a7dd58ba43dc4ed0a8f7af19ad639a63"
    },
    {
      "path": "site/assets/terrain/README.md",
      "bytes": 2119,
      "sha256": "e51e479ee4c29211360070bdbc90c5ac88d507f37d6b31f0b0ce264a845ad876"
    },
    {
      "path": "site/assets/terrain/colourground.png",
      "bytes": 706934,
      "sha256": "7b7435a727d3e4e479196d85a663aaf79e70a43e4b5a4a388069947bdbdec259"
    },
    {
      "path": "site/assets/terrain/gr_groundmap.png",
      "bytes": 619857,
      "sha256": "17d0bcf7afec5d5f598d479f4d7060a85b9888a07e213955bdc386dabe812b22"
    },
    {
      "path": "site/assets/terrain/grass-tile-v1.png",
      "bytes": 3579998,
      "sha256": "d673369297cbcdc7522fda456b20dccc5d1fc14d53cd7dd56f051f820746b497"
    },
    {
      "path": "site/assets/terrain/ground_detail.png",
      "bytes": 120700,
      "sha256": "d5e91690a13de1b3319bd24e009a785daf609cce6b6917fd13306edddca03bad"
    },
    {
      "path": "site/assets/terrain/sand-tile-v1.png",
      "bytes": 3267464,
      "sha256": "66444315a1d428300d31aac5a04153898b23d266537716da0eee5d97fd9130cd"
    },
    {
      "path": "site/assets/terrain/seabed-tile-v1.png",
      "bytes": 3397451,
      "sha256": "ffefe25f29f31311b9da767825b072a91b9d43bd6bf884b4b9ab4296c3dd810d"
    },
    {
      "path": "site/assets/terrain/woodland-floor-tile-v1.png",
      "bytes": 557910,
      "sha256": "5f68c51e2b9d8542277ebf037a236dca797cb7720a4d467c2a1a92a2786f5d77"
    },
    {
      "path": "site/assets/vegetation/README.md",
      "bytes": 3337,
      "sha256": "501232c0657a4f8b1c781da01397abf9a742c825bfa1628e85b1b78090340e77"
    },
    {
      "path": "site/assets/vegetation/birch-01.glb",
      "bytes": 24952,
      "sha256": "c90e4991e828ce0ede95ba9bfef91c21b3f9bea5b7025ee194c420b592bebf64"
    },
    {
      "path": "site/assets/vegetation/birch-card-foliage-v1.png",
      "bytes": 2170822,
      "sha256": "fa8e2a18141027a1e7a2a1b3e9d6ca2c1d8040af9443443528439d7ee2a9613a"
    },
    {
      "path": "site/assets/vegetation/birch-trunk-bark-v1.png",
      "bytes": 476850,
      "sha256": "6141a81d0bc6682888b5fe821d6c4a34178554470d1343174f0a49b7b1ed49eb"
    },
    {
      "path": "site/assets/vegetation/oak-01.glb",
      "bytes": 61540,
      "sha256": "580d5657990ff9d552213090ab6dc0e31cd0dcc988ed949df1e53ca1d89192fc"
    },
    {
      "path": "site/assets/vegetation/oak-card-foliage-v1.png",
      "bytes": 2499668,
      "sha256": "91e8cdb70f86ee8c608a9067963f67c73208ecdfe0744d2b063ab387820dfeab"
    },
    {
      "path": "site/assets/vegetation/oak-trunk-bark-v1.png",
      "bytes": 505592,
      "sha256": "4b36e446945443cf9795eac5c350d7d2905fffa3dcecbc2b06934d474c803ca4"
    },
    {
      "path": "site/assets/vegetation/pine-01.glb",
      "bytes": 68692,
      "sha256": "b2db4d83fbf95b0123b33165940419388bd83150f36fb59fcdf20f7e1a386d3d"
    },
    {
      "path": "site/assets/vegetation/pine-card-foliage-v1.png",
      "bytes": 2283717,
      "sha256": "1ac807a144d8a596920c76020fd5e4c71bcc3a0aad0f22e5649042c7b9790d4a"
    },
    {
      "path": "site/assets/vegetation/pine-trunk-bark-v1.png",
      "bytes": 469401,
      "sha256": "933b0013e8972617bbfa1759da70a83531c3de493739e0974ddb3f8707d3d1d1"
    },
    {
      "path": "site/assets/vegetation/shrub-card-foliage-v1.png",
      "bytes": 2133760,
      "sha256": "05ae7ffaabc2f880504f21b64193d924fbe3727306214f205ac4e7b1439ee576"
    },
    {
      "path": "site/index.html",
      "bytes": 1252,
      "sha256": "6a0e1291295a8c6608e019fb236d7ddfe46596618cd2f99e9e9500fa2179751c"
    },
    {
      "path": "site/licenses/third-party/DEPENDENCIES.json",
      "bytes": 236,
      "sha256": "2cc2c3da80e569abe47065f833274889af09f7dda4a3beaa387b2075259c1b99"
    },
    {
      "path": "site/licenses/third-party/fflate/LICENSE",
      "bytes": 1069,
      "sha256": "0a1df3a083d0c010560aa342e87959c8c1070e6fd54545741f083f22d0c8b551"
    },
    {
      "path": "site/licenses/third-party/three/LICENSE",
      "bytes": 1081,
      "sha256": "bfe119ea4fd413f5f7ca3fcd63adb0c4a073ed39daa2fe7d3e6b769e21272601"
    }
  ]
}
