{
 "slug": "road-curve-90",
 "triangles": 20802,
 "texture_px": 3072,
 "triangles_light": 13767,
 "texture_px_light": 1024,
 "files": {
  "glb": {
   "name": "road-curve-90.glb",
   "bytes": 4845036
  },
  "blend": {
   "name": "road-curve-90.blend",
   "bytes": 4394271
  },
  "fbx": {
   "name": "road-curve-90.fbx",
   "bytes": 5039692
  },
  "obj": {
   "name": "road-curve-90-obj.zip",
   "bytes": 4184527
  },
  "usdz": {
   "name": "road-curve-90.usdz",
   "bytes": 5102816
  },
  "glb_light": {
   "name": "road-curve-90-light.glb",
   "bytes": 1315220
  },
  "fbx_light": {
   "name": "road-curve-90-light.fbx",
   "bytes": 1738844
  }
 },
 "extras": {
  "license": "CC0-1.0",
  "source": "grab3d.com",
  "dimensions_m": "23.600 x 23.600 x 0.350",
  "triangles": 20802,
  "generator": "Created by grab3d",
  "created": "2026-09-26",
  "real_size": "90 deg curve, 23.6 x 23.6 m footprint (2 x 11.8 m grid): centre-line radius 17.7 m, kerb radii 13.95 m (inside) and 21.45 m (outside), road-segment cross-section (7.5 m carriageway, 150 mm granite kerbs, 2.0 m footways)",
  "notes": "Model origin = centre of the 23.6 m square; curve centre at (-11.8, 11.8). Seam A: x = -11.8 m, cross-section y = -11.8..0, centre line y = -5.9, traffic along +X -> place road-segment centre at (-16.8, -5.9), unrotated. Seam B: y = +11.8 m, cross-section x = 0..11.8, centre line x = 5.9, traffic along +Y -> road-segment centre (5.9, 16.8) rotated +90 deg about Z. Used as a right turn: rotate the whole tile. Both seams are identical to road-segment in geometry, height, markings (edge lines continuous; 3 centre dashes evenly spaced so both seams sit mid-gap) and asphalt texture phase. Footways in 0.5 m radial rows matching the slab rows at the seams, slabs ~0.5 m long with radial joints; curved 1 m kerb stones. 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
 }
}