rubble
GPU rigid-body physics with destruction. One Slang solver (AVBD) is compiled to WGSL and runs here in your browser on WebGPU; the same source runs natively on Metal, wgpu and CUDA. Boxes, spheres, capsules, convex hulls, D6 joints, vehicles and fracture, with island sleeping.
Checking WebGPU…
Demos
ScenesBrick rings, walls, piles and columns up to 506k bodies; joints and ragdolls
VehiclesDrive cars, tanks and motorcycles; break parts off (WASD, Space, B)
Meteor gauntletA game: drive a street under a meteor shower; directed debris lands the wreckage around you, not on you (G toggles it)
vibe-land garageAll seven of vibe-land's vehicles: buggy, trophy truck, rally car, monster truck, derby sedan, sprint car and a semi with its trailer
Dune buggiesvibe-land's sand rail: lamps, seats, bumpers and wheels tear off when their mounts are overloaded
Soft-body vehiclesNode–beam cars that crumple and tear (Rigs of Rods .truck import); wall, pole, side and head-on crash tests
Fracture labShardwright houses and arches: shoot them, break bonds
CCD gallery250 m/s balls vs thin walls, CCD off and on
CharacterGPU capsule controller: stairs, slopes, platforms (WASD, Space)
BulletsProjectiles piercing five walls
TerrainHeightfield collider: thousands of bodies on editable hills, craters (C)
Meteor impactDeformable terrain: GPU MPM sand digs a 300 m crater live at 1×; cross-section of the strata, a tracked ejecta parcel, then a truck in the baked crater
Meteor runThird person behind a dune buggy at 120 Hz: meteors land beside and ahead of it, and it drives over the rims and blankets while the sand still moves (the ground is rebuilt from the sand each frame; only what is thrown flies as debris)
Meteor run: surviveYou drive (keys, or touch on a phone); meteors land around you, beside, ahead and on your line, faster the longer you last, and you can drop your own anywhere you click or tap. Endless: craters you leave behind bake into the ground
Meteor run: behind the scenesSlow motion, side by side: the engine's sand particles, parcels, region box and a cut, and the game view of the same moment
BroadsideA Shardwright oak and pine galleon stern, every member split along its grain, shot apart by 24-pounder broadsides while the captain walks down the quarterdeck stairs (threshold fracture in the world API, stepped in Rust on WebGPU; offline film: record-broadside.mjs)
Legacy rubble scenes, on the new engine
The twelve 3D scenes of the original rubble web demo, rebuilt body for body (same sizes, masses, velocities and per-body friction), so the two engines can be compared on the same scenarios.
Pyramid136 boxes
Stack10 dropped cubes
Stack RatioCubes 1–8 m, equal mass
Dynamic FrictionSliding boxes, μ 5 → 0
Static FrictionBoxes on a 30° ramp, μ 0.25 → 0.5
Scatter3k spheres, boxes and capsules
Scatter Boxes4k random boxes
Grid Boxes1.5k jittered cubes
Slanted Grid3.2k cubes in leaning columns
10k Grid10,000 cubes
100k GridThe 10k grid ×10: 100,000 cubes (not in legacy)
GroundOne box dropped
EmptyNothing; the fixed per-step cost