Validates a joint descriptor against §28, plan P6-1's shipped tier, and the
world's dimension (§21).
Checked, in this order: the type ships at all (staged and unknown types fail
loudly here, so a JavaScript caller cannot slip past the compile-time
narrowing of JointDescriptor); the type is legal in this dimension
(spherical is "3d" only); the two bodies differ; the anchors lie in the
world's plane; the break thresholds are positive; and every parameter the
specific type carries — axis direction, limit ordering, motor effort, rope
length, spring constants, cone half-angle.
Anchors and axes are in body-local space here — see JointDescriptorBase
— because that is the space a descriptor is stated in; the world-space
conversion happens before this is ever called.
Validates a joint descriptor against §28, plan P6-1's shipped tier, and the world's dimension (§21).
Checked, in this order: the type ships at all (staged and unknown types fail loudly here, so a JavaScript caller cannot slip past the compile-time narrowing of
JointDescriptor); the type is legal in this dimension (sphericalis"3d"only); the two bodies differ; the anchors lie in the world's plane; the break thresholds are positive; and every parameter the specific type carries — axis direction, limit ordering, motor effort, rope length, spring constants, cone half-angle.Anchors and axes are in body-local space here — see
JointDescriptorBase— because that is the space a descriptor is stated in; the world-space conversion happens before this is ever called.