CardOp
A card mutation broadcast over the seam.
Encrypt and Strip carry the base sets (Encrypt.baseEncryptedBy/ Encrypt.baseStrippedBy, likewise on Strip) of the card state the sender computed the op against. A receiver reconstructs the sender's resulting CardState from them and folds it in via CardState.merge, so application is order-independent: Seam.incoming guarantees only per-sender FIFO, and ops from different senders may interleave differently at different peers.
Inheritors
Types
A quorum member's strip on another member's private-copy reveal track (QuorumTrack) of a partial multi-member quorum card. player stripped their layer from forMember's track; newCiphertext is the resulting track ciphertext. Broadcast like every other op — the intermediate values are ciphertexts still carrying at least forMember's layer, so making them public reveals nothing a quorum-revealed single-reader card doesn't.