What a RigidBody emits (§29, §32) — §29's five body-facing names,
minus the two trigger names, which belong to the sensor collider
(ColliderEventMap).
Declared here with the two §32 sleep names; collider.ts merges the three
§29 collision names in (declaration merging). Their payload,
RigidBodyCollisionEvent, names Collider, and importing that type here —
even type-only — would close an import cycle: collider.ts already imports
RigidBody at runtime to resolve Collider.body. Everywhere the
package is consumed the five keys read as one interface, exactly as
@fourjs/input's pointer names merge into NodeEventMap.
Emission is package-internal (see the module header): PhysicsSystem
dispatches these after the fixed step, never during it (§6b, §39 step 9).
What a RigidBody emits (§29, §32) — §29's five body-facing names, minus the two trigger names, which belong to the sensor collider (
ColliderEventMap).Declared here with the two §32 sleep names;
collider.tsmerges the three §29 collision names in (declaration merging). Their payload,RigidBodyCollisionEvent, namesCollider, and importing that type here — even type-only — would close an import cycle:collider.tsalready imports RigidBody at runtime to resolveCollider.body. Everywhere the package is consumed the five keys read as one interface, exactly as@fourjs/input's pointer names merge intoNodeEventMap.Emission is package-internal (see the module header):
PhysicsSystemdispatches these after the fixed step, never during it (§6b, §39 step 9).