Accumulated angular friction impulse around the contact normal for the entire manifold (used for warm starting next step).
contact normal in body B's local space
contact points (max 4 for stable manifold)
flags bitfield (@see CachedManifoldFlags)
Accumulated friction impulse along tangent1 for the entire manifold (used for warm starting next step).
Accumulated friction impulse along tangent2 for the entire manifold (used for warm starting next step).
number of contact points (0-4)
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.