/**
 * Bit-flags carried on {@link RigidBody}.
 *
 * - {@link IsSensor}: contacts are detected and events fired, but no impulses are
 *   applied. Useful for triggers.
 * - {@link LockRotX}/{@link LockRotY}/{@link LockRotZ}: the corresponding angular
 *   degree of freedom is fixed. Implemented by zeroing the matching inverse-inertia
 *   component during solve.
 * - {@link DisableSleep}: this body never enters the sleeping set. Bodies near it
 *   may still sleep when stable.
 * - {@link CCD}: opt-in continuous collision detection. After the solver, the
 *   body's net step translation is shape-cast against the broadphase and the
 *   body is stopped at the first blocker, so a fast mover can't tunnel through
 *   thin geometry between discrete steps. Off by default — it costs one swept
 *   query per fast-moving flagged body per step. See `ccd/linear_sweep.js`.
 *
 * @readonly
 * @enum {number}
 */
export const RigidBodyFlags = {
    None: 0,
    IsSensor: 1,
    LockRotX: 2,
    LockRotY: 4,
    LockRotZ: 8,
    DisableSleep: 16,
    CCD: 32,
};
