pubmodcard;pubmodturn;/// These are uniquely assigned to players and *never* change.
// (Thus they should *not* be present in BoardState)
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]pubstructPlayerId(ulid::Ulid);/// The kinds of actions that exist
pubenumActionPayload{}/// Represents an action that a player may take
structAction{payload: ActionPayload,
player: PlayerId,
}#[cfg(test)]modtests{}