ShitboxInfinity/tools
m3ultra 65da434678 Real terrain: DEM elevation under every level
tools/fetch_dem.py pulls the open AWS terrarium elevation tiles for each
level's bbox (derived from the OSM geometry itself -- the fetch bboxes were
never recorded) and writes an f32 heightmap. The builder bilinear-samples it:
roads/footpaths/crossings drape (subdivided to ~8 m so long OSM segments stop
chording across curved ground), buildings lift rigidly to the lowest terrain
under their footprint with a 2 m foundation skirt, trees/props/planters ride
their own base heights, and the flat ground slab becomes a real terrain mesh.
Bridges get an explicit deck profile (lerp between end heights plus a hump)
instead of draping down into the river, the truss follows the deck, and the
Bradfield Highway now genuinely flies over Kemp Place -- the game has an
underpass. Kangaroo Point's cliffs are an actual 20 m drop, Edward Street
climbs to 55 m at Spring Hill.

Junction events bake spawn/convoy heights (osm_junction.py grew a pure-python
DEM sampler); the game respects marker heights everywhere it used to hardcode
ground=0.

Bugs the terrain surfaced, all found by measurement:
- Long road segments chorded across curved ground: the car visually sank to
  its windows mid-block. Fixed by subdividing draped ribbons.
- The 9 m terrain grid aliases cliff edges and bulged metres ABOVE the finely
  draped roads: a car spawning there was inside the terrain sheet and got
  depenetrated through the floor into the void (y = -710). Fixed by giving
  roads real collision and carving the terrain grid down wherever a draped
  road sample lands (11k+ carve samples on Kangaroo Point alone).
- The junction validator and tuner drove throttle-only, which cross-slope
  drift turned into 40-86 m misses; they now hold aim like a player would.
- Edward x Elizabeth launched down a 17% grade, went airborne at the crest
  and wedged off-street: unwinnable geometry, not a bug. Swapped for
  Elizabeth x George on the flat lower CBD. All 9 junctions validate.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 15:08:42 +10:00
..
build_all_junctions.sh Real terrain: DEM elevation under every level 2026-07-30 15:08:42 +10:00
build_all_levels.sh Smashable street furniture; fix levels losing every texture on rebuild 2026-07-28 18:53:05 +10:00
build_cars.py Fleet expansion: ute, wagon, muscle coupe, microcar (34 cars) 2026-07-30 13:44:40 +10:00
build_level_osm.py Real terrain: DEM elevation under every level 2026-07-30 15:08:42 +10:00
check_textures.py Scenery overhaul: real OSM street furniture, FLUX texture set v2, lighting pass 2026-07-28 14:13:29 +10:00
crop_poster.py Scenery v4: traffic signals, power lines, local FLUX fallback 2026-07-28 17:21:35 +10:00
fetch_dem.py Real terrain: DEM elevation under every level 2026-07-30 15:08:42 +10:00
flux_local.py Dusk and night: FLUX sky panoramas, working street lamps, headlights 2026-07-30 13:54:34 +10:00
flux_texture.sh Scenery v4: traffic signals, power lines, local FLUX fallback 2026-07-28 17:21:35 +10:00
gen_sounds.py Procedural sound kit: the whole game has audio, no recordings 2026-07-29 13:05:48 +10:00
gen_textures.sh Pursuit, drag and derby modes; crash-damage paint; junction fixes 2026-07-28 23:07:41 +10:00
import_all.sh Batch-import the whole shitboxes stash: 13 more real models 2026-07-27 22:47:38 +10:00
import_shitbox.py Batch-import the whole shitboxes stash: 13 more real models 2026-07-27 22:47:38 +10:00
osm_junction.py Real terrain: DEM elevation under every level 2026-07-30 15:08:42 +10:00
osm_level_args.py Four more Brisbane levels + FLUX textures: these scenes pop 2026-07-27 23:48:55 +10:00
osm_xml_to_json.py Scenery v4: traffic signals, power lines, local FLUX fallback 2026-07-28 17:21:35 +10:00
tune_junctions.gd Pursuit, drag and derby modes; crash-damage paint; junction fixes 2026-07-28 23:07:41 +10:00
tune_junctions.gd.uid Pursuit, drag and derby modes; crash-damage paint; junction fixes 2026-07-28 23:07:41 +10:00