Fixed (commit 95cb5694, ships in the next build/installer). Thanks for the precise wording — "just restart the laser animation, don't change to the next/prev item" pointed straight at it.
Root cause (src/lib/herodeck/stage.src.js, the go() navigator): a hero transition is exit-then-enter and takes about 2 seconds. Each arrow click re-ran the exit (dismiss/laser) on the SAME still-visible hero, while cancelling the pending step that flips the rig and reveals the NEXT hero. So as long as you kept clicking, the laser kept restarting and the hero never advanced — exactly what your video shows. All 19 heroes are baked correctly; this was an interaction bug, not missing data.
Fix: go() is now interrupt-safe. While a transition is already playing, extra clicks only RETARGET where it will land (no second exit, no laser restart); the single animation in flight then lands on the final hero. One clean transition, and every click still counts (click next 3x fast → you advance 3 and land smoothly, instead of watching the laser stutter in place). Also guards the degenerate single-item case.
One honest note: I reproduced this from your description + a read of the source rather than from the video frames directly, so if after the next build the billboards still misbehave in a way this doesn't cover, please re-share and I'll get on it.