Refine party, timer, and Extension mechanics
This commit is contained in:
+15
-9
@@ -23,14 +23,16 @@ Twitch identities; they do not require credentials.
|
||||
1. Run `npm run dev` and open `http://localhost:3000`.
|
||||
2. Confirm the exact dormant banner appears and no timer runs.
|
||||
3. Use **Local viewer login** to spawn and bind a viewer.
|
||||
4. Confirm 3 HP, 2 AP, no Guard, a ready heal, and a 25-second phase.
|
||||
5. Exercise movement, invalid walls, Attack, Heal, and Pass. Invalid actions
|
||||
4. Confirm 3 HP, 2 AP, no Guard, a ready heal, and a five-second phase.
|
||||
5. Confirm the viewer's first accepted action resets the timer to five seconds
|
||||
and their second accepted action does not reset it again.
|
||||
6. Exercise movement, invalid walls, Attack, Heal, and Pass. Invalid actions
|
||||
must not consume AP.
|
||||
6. Open a second browser/private window with a different ID. Confirm both
|
||||
7. Open a second browser/private window with a different ID. Confirm both
|
||||
characters share the dungeon but each controller spends only its own AP.
|
||||
7. Refresh during a phase. Confirm a snapshot restores the map/log and no
|
||||
8. Refresh during a phase. Confirm a snapshot restores the map/log and no
|
||||
command replays.
|
||||
8. Run `npm run build && npm start` and repeat the smoke test against the built
|
||||
9. Run `npm run build && npm start` and repeat the smoke test against the built
|
||||
server.
|
||||
|
||||
The local-only endpoints `/api/dev/spawn` and `/api/dev/redemption` exist only while
|
||||
@@ -52,7 +54,8 @@ cyan control-region boundary and a pink controller boundary. Both switches are
|
||||
accepted only on `localhost`, `127.0.0.1`, or `[::1]`, so the diagnostics cannot
|
||||
be enabled on the deployed Extension origin.
|
||||
|
||||
Verify at 1920×1080, 1280×720, and a narrower or 4:3 viewport:
|
||||
Verify at 1920×1080, 1280×720, a narrower or 4:3 viewport, and a mobile-width
|
||||
viewport:
|
||||
|
||||
- the document and empty overlay canvas remain transparent;
|
||||
- controls stay within the upper-left debug boundary and remain readable;
|
||||
@@ -61,7 +64,9 @@ Verify at 1920×1080, 1280×720, and a narrower or 4:3 viewport:
|
||||
- Up, Down, Left, Right, Attack, Heal, and Pass reach the same backend routes;
|
||||
- missing character, dead character, non-player phase, and zero-AP states still
|
||||
disable the controls; and
|
||||
- loading `/` still presents the full local game and controller.
|
||||
- loading `/` still presents the full local game and controller;
|
||||
- mobile identity/color, HP, AP, and heal status remains visible; and
|
||||
- mobile directional buttons are at least 56px and action buttons at least 52px.
|
||||
|
||||
Remove the query string for the production-shaped local view. Twitch-hosted
|
||||
testing still must cover identity sharing, player ownership, theater mode,
|
||||
@@ -69,15 +74,16 @@ fullscreen, embeds, ads/pauses, and Twitch player-control safe zones.
|
||||
|
||||
## Live-channel campaign
|
||||
|
||||
After completing `docs/twitch-setup.md`, use two follower accounts and one
|
||||
After completing `docs/twitch-setup.md`, use five follower accounts and one
|
||||
non-follower account. Capture redacted evidence for:
|
||||
|
||||
- eligible, ineligible, and duplicate `!spawn` attempts;
|
||||
- matching and mismatched Extension identities;
|
||||
- independent commands from two viewers;
|
||||
- four deterministic party slots/colors and a rejected fifth viewer;
|
||||
- phase expiry and AutoGuard while one viewer is disconnected;
|
||||
- death and a configured Channel Points reward redemption from the same user;
|
||||
- escape with the Goblin alive, floor revival, and total-party defeat dormancy;
|
||||
- escape with the Goblin alive, complete next-floor reparty, and total-party defeat dormancy;
|
||||
- refresh/reconnect during a phase and transition; and
|
||||
- repeated floors and a short soak session.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user