Author: Michael Lynch <git@mtlynch.io>
Resume player sessions after reconnect Keep player identity, inventory, and private charcoal across transport loss and same-tab reloads. Fence stale channels, rebuild the client scene from each baseline, and cover the lifecycle with unit and browser tests.