Package-level declarations
Types
The generic rules contract a game engine exposes so a domain-agnostic search (see Ismcts) can drive self-play without knowing the concrete rules. View is the redacted/secrecy-safe projection of State a Policy is allowed to see (produced by redact) — kept as its own type parameter (rather than derived from State) because the secrecy boundary is a distinct type in every engine that adopts this contract.
Generic Information-Set Monte Carlo Tree Search shell. Knows nothing about any specific game — every domain concept (rules, leaf evaluation, rollout policy) is injected by the caller.
Search-time budget for Ismcts.search: iteration count and wall-clock time, whichever cap is hit first. rolloutHorizon is the base rollout depth in plies a caller passes through to Ismcts.search — scaling it for domain-specific factors (e.g. table/player count) is the caller's job, not this shell's; this type only carries the budget, it does not interpret it.
A move-keyed UCB1 tree node. Exposed so callers can read visit/reward stats after a Ismcts.search.