yasuki_core.engine.intents.apply_intent#
- apply_intent(state, seat, intent)[source]#
Validate and apply one intent, mutating
statein place and returning the events produced.Pure apart from the in-place mutation: no I/O, deterministic given the state, seat, and intent (shuffles derive their order from the intent’s explicit seed). Ownership, side, and capacity violations are rejected and leave the state untouched, returning an empty list;
seqadvances only when the table actually changes.- Parameters:
- state
TableState The authoritative table; mutated in place on an accepted intent.
- seat
PlayerId The seat attempting the action.
- intent
Intent The operation to apply.
- state