{
 "slug": "road-intersection-4way",
 "triangles": 6918,
 "texture_px": 4096,
 "triangles_light": null,
 "texture_px_light": null,
 "files": {
  "glb": {
   "name": "road-intersection-4way.glb",
   "bytes": 8107204
  },
  "blend": {
   "name": "road-intersection-4way.blend",
   "bytes": 8027633
  },
  "fbx": {
   "name": "road-intersection-4way.fbx",
   "bytes": 8274684
  },
  "obj": {
   "name": "road-intersection-4way-obj.zip",
   "bytes": 7960555
  },
  "usdz": {
   "name": "road-intersection-4way.usdz",
   "bytes": 8289099
  }
 },
 "extras": {
  "license": "CC0-1.0",
  "source": "grab3d.com",
  "dimensions_m": "11.800 x 11.800 x 0.350",
  "triangles": 6918,
  "generator": "Created by grab3d",
  "created": "2026-09-26",
  "real_size": "11.8 x 11.8 m four-way junction of two 7.5 m carriageways (2 x 3.5 m lanes + 0.25 m gutters), 150 mm granite kerbs with 150 mm upstand on 2.15 m corner radii, 2.0 m footway corners of 500 mm concrete slabs laid as a fan, 500 mm stop lines",
  "notes": "Connects to road-segment on all four sides: seam edges at x = +-5.9 m and y = +-5.9 m, identical cross-section (carriageway |t| <= 3.75, kerb 3.75-3.9, footway 3.9-5.9). Place road-segment centres at (+-10.9, 0) unrotated and at (0, +-10.9) rotated 90 deg about Z (asphalt texture phase matches exactly for +90 deg). Kerb returns start tangentially at the seams; footway ring joints at 0.5 m meet the slab rows of road-segment. Carriageway uses a unique 11.8 m asphalt map (gutter follows the kerb radii, wheel tracks of both roads, transverse paving joints) that equals the road-segment texture at every seam. Pivot on the carriageway surface (z = 0); footway +0.15 m, base -0.20 m. No bottom faces.",
  "set": "Urban Street Kit"
 },
 "origin": {
  "method": "procedural",
  "detail": "Built procedurally with Blender scripts. The scripts were written with the help of an AI coding assistant. No generative AI model produced the geometry or textures directly.",
  "ai_content": false,
  "ai_assisted_code": true
 }
}