Files
youle_cocos/docs/superpowers/plans/2026-09-07-room-entry-template.md
T

2.7 KiB

Room entry template implementation

Spec: ../specs/2026-09-07-room-entry-template-design.md (approved).

Constraints: server zero changes; opaque subgame-owned roomtype; no serialized asset text edits; preserve working tree; main checkout branch; no automatic commits.

Task 1: platform create-room lifecycle

Implement exact create_room request and independent response parsing, state construction traced to Desk.create_room, runtime command/session routing and room scene handoff. Test precise fields, denial, duplicate outcomes and module lifecycle. Own framework protocol/platform files and corresponding tests. Do not edit Startup or UI. Expose runtime.createRoom({roomtype,location,ip}). Existing self_join_room remains compatible. Report source evidence and API changes.

Task 2: template entry and room UI

Implement pre-room page contract and template rules adapter; JoinRoom input and template create page components with source behavior. Wire LobbyAssets, lobby panel, Startup and usable template room shell through existing GameHost. Use Cocos editor for prefab references/components. No invented gameplay. Test source keypad and exact template array, roomtype validation and host disposal.

Task 3: integration verification

Run framework tests, strict Cocos typecheck, import boundaries, local fixture preview for keypad/create options/wait/close and successful room handoff/exit. Review combined feature against spec. Document actual server test limitations.

Progress / rulings

  • Initial: no implementation yet. Existing working tree snapshot stored in YouleNexus/temp/room-entry-baseline.
  • Task 1 produces createRoom consumed by Task 2; no shared edits beyond read-only imports. Task 3 consumes both. Each task matches the approved spec.
  • Ruling: use the main checkout branch and preserve dirty state, as required by repository/user preference; no worktree or automatic commit.
  • Task 1: complete. Separate create parser/store/session/command paths and numeric join; 223 combined targeted tests pass after review correction for immutable resolver input.
  • Task 2: complete. Serialized page controls, subgame CreateRoomPage contract, template entry/room shell, Startup and lobby wiring. Source template capacity is 10 via Desk.Create and Game_Config.Max.PlayerCnt; no roomtype index inference.
  • Task 3: complete. Cocos 30 checks pass, both strict typechecks and import boundaries pass. Full suite 770/775; five existing login path/channel fixture failures documented in integration report. Reviewed protocol and integration fixes; no remaining scoped findings.
  • Ruling: closed pages cancel callbacks and loading but cannot cancel a server request already sent. The platform continues to accept authoritative success replies; no invented correlation IDs or cancellation RPCs.