ludic/packages/ludic.physics/index.ludic
Orkuncakilkaya b4af12025d physics: Jolt's floor sized for what moves - pairs 4096, contacts 2048 and a 4 MB temp heap by default (phys_open_sized for more), and a body past max_bodies or a step past the pairs or contacts is Mem.over, never a quiet -1; world.ludic split from shapes.ludic
An empty world at the game's size held 51839 KB of Jolt's heap (200000 bodies, 65536 pairs, 20480
contacts, a 32 MB temp heap), the jolt= floor under every walk. Pairs and contacts come from what
moves - drops, boats, a few walkers - and a valley's still things make none. Now 11743 KB at 200000
bodies and 8461 KB at the 98304 the game opens for (jolt_floor_test holds it under 16 MB). The temp heap
still falls back to malloc for a step that wants more.

lib/macos-arm64 rebuilt; lib/windows-x64 needs native/build.sh on the PC (jph_world_new's new sizes).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 16:18:42 +03:00

18 lines
539 B
Text

# ludic.physics - a physics world over Jolt: shapes as handles it keeps, bodies by id, queries,
# water that floats a body, and the contacts that matter as facts. Fixed 1/60 steps.
module ludic_physics uses ludic_base
numbers float
import "ludic.base"
import "native.ludic"
import "state.ludic"
import "fact_pool.ludic"
import "shape_ids.ludic"
import "owned.ludic"
import "world.ludic"
import "shapes.ludic"
import "bodies.ludic"
import "queries.ludic"
import "water.ludic"
import "walker.ludic"
import "hull.ludic"
import "system.ludic"