The pre-seed state is snapshotted before the seed is applied, so
RngLease.restore rewinds to the precise stream position the game was at
— not a fresh entropy seed — leaving no observable perturbation once the tour
ends. This is deliberately a lease: the restore closure is created at the same
moment as the seed so the caller can register it as a finally-style hook that
cannot be skipped.
Seed an sohl.entity.random.Rng for the duration of a driven tour and return the RngLease that restores it.
The pre-seed state is snapshotted before the seed is applied, so RngLease.restore rewinds to the precise stream position the game was at — not a fresh entropy seed — leaving no observable perturbation once the tour ends. This is deliberately a lease: the restore closure is created at the same moment as the seed so the caller can register it as a
finally-style hook that cannot be skipped.