When true, step is a no-op (editor edit mode freezes the sim).
Resolves with the world once Jolt has initialized.
Run cb with the world once it's ready (skipped if init failed).
Register a per-frame callback run after each world step (e.g. transform sync).
Register a callback run BEFORE each world step — for accumulating forces (buoyancy, thrusters) that Jolt integrates during the step and then clears. Skipped while paused / pre-init, exactly like step.
Associate a body-id key (from PhysicsWorld.bodyKey) with its GameObject.
Drop a body-id key's owner association (on body removal / detach).
Subscribe to pause-state transitions. The editor toggles pause on play/stop, so components use this to snapshot their authored pose when play starts and restore it when play stops. Fires only on an actual change.
Set the pause state, notifying onPauseChange subscribers on a change.
Step the world then run every ticker. No-op while paused or pre-init.
The shared world, or null until its async init resolves.