?walk on a slug whose world never publishes terrain, buildings, or a ground sampler leaves you
in orbit silently, forever. tryBuildWalk returns early on if (!buildings || !terrain || !groundAt) return;, the controller is never built, onWalkReady never fires, and the auto-walk
effect never runs. Nothing is logged and nothing in the UI says why.
Not a regression and not made worse by the deadlock fix — this shape predates it and is what the
deadlock looked like from the outside, which is part of why the deadlock took so long to
identify: the two are indistinguishable to the player.
Cheap improvement worth considering: after N seconds of unmet walk intent, a dev-only
console.warn naming which of the three inputs is still missing. That single line would have
identified the deadlock in seconds.
?walkon a slug whose world never publishes terrain, buildings, or a ground sampler leaves youin orbit silently, forever.
tryBuildWalkreturns early onif (!buildings || !terrain || !groundAt) return;, the controller is never built,onWalkReadynever fires, and the auto-walkeffect never runs. Nothing is logged and nothing in the UI says why.
Not a regression and not made worse by the deadlock fix — this shape predates it and is what the
deadlock looked like from the outside, which is part of why the deadlock took so long to
identify: the two are indistinguishable to the player.
Cheap improvement worth considering: after N seconds of unmet walk intent, a dev-only
console.warnnaming which of the three inputs is still missing. That single line would haveidentified the deadlock in seconds.