Optionaloptions: ConstraintSystemOptionsExecution order key (§39); default PRIORITY_CONSTRAINTS.
Whether ConstraintSystem.dispose has run. Disposal is terminal
(§83): a disposed system refuses its mutating entry points with
INVALID_APPLICATION_STATE (§89) rather than silently working.
Tracked nodes, in the order they will be processed.
Number of tracked nodes.
Stops constraining every node. The system stays registered.
Drops every tracked node (§39 teardown).
Places and aims every tracked node, using time.fixedDeltaTime.
No per-registration setup is needed (§39).
Runs every tracked node's rigs and constraints once per fixed step, as §42's
"constraint"authority (§39 step 7).Tracking mirrors
KinematicSystem's mechanism exactly, for the reasons documented there: components are looked up every step (so attaching, detaching or replacing one needs no re-tracking), the tracked set is iterated in insertion order (§33), a node withenabled === falseis skipped, and mutating the set during a step followsSetiteration semantics. Stepping allocates nothing (plan D7).Per tracked node, in order:
CameraShakehas no target and is never idle while attached;warnAuthorityConflict— the owner keeps the transform, and the rigs are left frozen rather than stepped, so granting authority later resumes from where the rig stopped;OrbitRig, thenFollowRig;LookAtConstraint;CameraShake— additive, after placement and aim.