pub fn select(
adapter: &dyn EngineAdapter,
bb: &Bitboard,
position_id: &str,
seed: Option<u64>,
) -> Result<(Move, MoveObservation), String>Expand description
Time, validate, and record an engine call (port of
EngineAdapter.select). Rust’s &Bitboard makes input mutation
impossible by construction; legality and terminality are still checked.