Skip to content

Milestone 9b: choose hulls and assemble the wing before launch - #32

Merged
sbddesign merged 2 commits into
mainfrom
feat/lobby
Sep 6, 2026
Merged

sbddesign merged 2 commits into
mainfrom
feat/lobby

Conversation

@sbddesign

@sbddesign sbddesign commented Sep 6, 2026 •

Copy link
Copy Markdown
Contributor

Players can choose a hull before joining and see the same wing roster while the host prepares to launch. ?host keeps two seats; ?host=3 or ?host=4 adds seats. Host hull changes and departures reach every waiting browser. Launch preserves each reserved seat and hull, including gaps left by departing peers; late arrivals take over an existing AI ship without changing its hull.

The headless lobby owns reservations over the existing WebRTC channel. Protocol v2 adds a hull to HELLO and a revisioned LOBBY frame. Repeated hellos repair lost roster/launch messages, older rosters cannot roll back newer choices, and incompatible versions prompt a reload. Returning the host to the hangar closes the old wing and creates a fresh code. Hangar controls retain native Tab/Space behavior; flight keeps its target-switch keys.

Merged current main's BFG change at a45858d. Both the BFG and lobby tests are retained, with the combined assertion count resolved to 699. The BFG controls and native menu keyboard handling are preserved.

Validation:

  • At a45858d: typecheck, 699 simulation checks, balance contract and production build pass. Full mutation gate: 132/132 caught, zero survivors or untestable cases.
  • At the original lobby head e74a47c: real Chrome/WebRTC workflow passed on one Mac: keyboard copy/select, matching rosters, host hull update, leave → AI, rejoin → launch in reserved Drone seat, and host abort → fresh code. Desktop, phone-width and joined-state captures reviewed; all three UI review findings resolved.
  • The follow-on weapon fix at 1dac6ae, incorporating this exact lobby merge, also passes real Chrome/WebRTC join, launch, Wasp firing and BFG gun interlock checks in separate browser processes with 100 ms each-way delay.

Two separate physical devices have not been retested. The existing ICE recovery behavior is unchanged.

Try ?host=4, copy the join link, pick Drone in the joining browser, and press JOIN WING. Both lists should show P2 / Drone / JOINED. Change the host hull, leave/rejoin, then launch: the guest should enter flight in that Drone.

Signed-off-by: Stephen DeLorme <stephen@d.elor.me>
@vercel

vercel Bot commented Sep 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
neon-orbit Ready Ready Preview Sep 6, 2026 7:25pm UTC

Request Review

@sbddesign
sbddesign marked this pull request as ready for review September 6, 2026 18:16
Signed-off-by: Stephen DeLorme <stephen@d.elor.me>
@sbddesign
sbddesign merged commit fe0caa7 into main Sep 6, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — a45858d8 Deployed Sep 6, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant