Continuous N-body simulation primitive. Owns a RAF loop and a velocity-Verlet
integrator; forces are pluggable functions matching d3-force's protocol so
d3-force's bundled forces work without translation.
The kit is adapter-agnostic — onTick(nodes) fires after each integration
step and the consumer decides how (and whether) to write through to scene
state. Per-tick history bypass and settle-commit semantics are consumer
concerns; the kit doesn't have an opinion.
Continuous N-body simulation primitive. Owns a RAF loop and a velocity-Verlet integrator; forces are pluggable functions matching d3-force's protocol so d3-force's bundled forces work without translation.
The kit is adapter-agnostic —
onTick(nodes)fires after each integration step and the consumer decides how (and whether) to write through to scene state. Per-tick history bypass and settle-commit semantics are consumer concerns; the kit doesn't have an opinion.