crashcat docs
    Preparing search index...

    Type Alias CachedManifold

    Cached manifold data — the per-step state we read from last frame and write to this frame.

    Each Contact double-buffers this (see Contact.manifolds) so reads from the previous step don't alias writes to the current step. This matters for warm-start lambda matching, which compares new contact-point local positions against the previous step's positions.

    type CachedManifold = {
        angularFrictionLambda: number;
        contactNormal: Vec3;
        contactPoints: CachedContactPoint[];
        flags: number;
        frictionLambda1: number;
        frictionLambda2: number;
        numContactPoints: number;
    }
    Index

    Properties

    angularFrictionLambda: number

    Accumulated angular friction impulse around the contact normal for the entire manifold (used for warm starting next step).

    contactNormal: Vec3

    contact normal in body B's local space

    contactPoints: CachedContactPoint[]

    contact points (max 4 for stable manifold)

    flags: number

    flags bitfield (@see CachedManifoldFlags)

    frictionLambda1: number

    Accumulated friction impulse along tangent1 for the entire manifold (used for warm starting next step).

    frictionLambda2: number

    Accumulated friction impulse along tangent2 for the entire manifold (used for warm starting next step).

    numContactPoints: number

    number of contact points (0-4)