The draw
How the plot that breaks through is chosen.
Commit
When a shift opens the keeper generates a random 32-byte seed and publishes only its hash, seed_hash = sha256(seed). The solo plots are derived from seed_hash too, which is why you can see them before you deploy.
Reveal
When the shift closes the keeper reads the latest finalized Solana blockhash and reveals the seed. The plot that breaks through is:
winning_tile = sha256(seed + ":" + blockhash) mod 25
The seed is fixed before anyone deploys and the blockhash is produced by Solana validators after the shift closes, so neither the keeper nor any digger can choose the outcome. The animation in the pit shows the result. It does not decide it.
Check it yourself
Every settled shift on Explore shows seed_hash, seed and blockhash. Hash the seed to check it matches seed_hash, then recompute the plot.