Documentation
    Preparing search index...

    Class MotionSystem

    Advances every tracked node's MotionComponent once per fixed step (§39 step 4).

    const system = new MotionSystem();
    registry.register(system);
    node.addComponent(new MotionComponent({ linearVelocity: new Vector3(2, 0, 0) }));
    node.transformAuthority = "kinematic"; // §42 — required, see below
    system.track(node);

    See the module documentation for the update rule, the angular-velocity convention, the §42 authority check, and why tracking is explicit. Stepping allocates nothing: the two quaternion temporaries are owned by the system and overwritten in place.

    Implements

    Index
    priority: number

    Execution order key (§39); default PRIORITY_KINEMATICS.

    • get disposed(): boolean

      Whether MotionSystem.dispose has run. Disposal is terminal (§83): a disposed system refuses its mutating entry points with INVALID_APPLICATION_STATE (§89) rather than silently working.

      Returns boolean

    • get nodes(): IterableIterator<Node>

      Tracked nodes, in the order they will be advanced.

      Returns IterableIterator<Node>

    • get size(): number

      Number of tracked nodes.

      Returns number

    • Stops advancing every node. The system stays registered.

      Returns void

    • Drops every tracked node (§39 teardown).

      Returns void

    • Whether node is tracked.

      Parameters

      Returns boolean

    • No per-registration setup is needed (§39).

      Returns void

    • Starts advancing node. Idempotent — tracking a node twice keeps its original position in the iteration order. Returns node.

      The node need not have a MotionComponent yet; it is looked up every step, so tracking first and attaching later is fine.

      Parameters

      Returns Node

    • Stops advancing node. Returns whether it was tracked.

      Parameters

      Returns boolean