Documentation
    Preparing search index...

    Type Alias ShippedJointType

    ShippedJointType:
        | "fixed"
        | "spring"
        | "revolute"
        | "prismatic"
        | "spherical"
        | "rope"

    The joint types this phase actually ships (plan P6-1), which is what JointDescriptor can express.

    §28 names nine types; JOINT_TYPES keeps that vocabulary because PhysicsCapabilities.jointTypes is string[] and an adapter may implement more than the engine builds. The descriptor union is narrower on purpose — the joint counterpart of the §24 shape list PH-22a completed:

    §28 type Status
    fixed ships, both dimensions
    revolute/hinge ships, both dimensions, with limits and a motor
    prismatic/slider ships, both dimensions, with limits and a motor
    rope ships, both dimensions
    spring ships, both dimensions
    spherical/ball ships, "3d" only — a plane has no ball joint
    distance staged (plan P6-1)
    gear staged (plan P6-1)
    motorized not a type here — see below

    distance and gear are staged because no solver this repository ships can honour them: Rapier 0.19.3 has no rigid distance joint (its rope caps a maximum distance only, and emulating a rigid one with a very stiff spring would misrepresent §28) and no gear joint at all. They are absent from the union rather than present-and-rejected, so { type: "distance", … } is a compile error; validateJointDescriptor also rejects them at runtime for JavaScript callers, citing plan P6-1.

    motorized is not a joint type in this API. §28 lists it beside the others, but a motor is a property of a joint that has a driven degree of freedom — which is what §28's own example shows, a HingeJoint carrying a motor record. It is therefore expressed as RevoluteJointDescriptor.motor and PrismaticJointDescriptor.motor (decision, WP-6.1).