Open supported optional modules through normal lobby previews

This commit is contained in:
Quintine committed 2026-10-17 17:22:08 +11:00
1 parent b8ad2f011f
commit 210aa04811
17 files changed
+275 -78

No files matched your search

+27 -21
View File
@@ -7,18 +7,19 @@ the rules-completion or publication criteria.
## Select and start
1. On the home page, choose **Rules → Advanced preview**, then **Create a room**.
2. Invite players or add AI seats. The preview supports two through six of the
six classic factions: Atreides, Harkonnen, Fremen, Emperor, Guild and Bene Gesserit.
3. Optionally enable **Tech Tokens** with at least three players, or
**Stronghold Cards** in the lobby.
2. Choose the desired expansion families, then invite players or add AI seats.
Games support two through six players from the selected families and classics.
3. Optionally choose **Leader Skills**, **Ecaz Treachery Cards**, **Nexus Cards**,
**Discoveries**, **Homeworlds**, **Tech Tokens** (three or more players) or
**Stronghold Cards**. Supported module/roster combinations use their existing
setup; unsupported selections reject at start with a reason.
4. Each human chooses **Ready for Advanced preview**. The host chooses
**Begin Advanced preview**.
The host can also change **Rules** in an existing base-game lobby. Changing modes
clears human readiness; native AI seats remain ready. Switching to Basic removes
unused Stronghold Cards and keeps Tech Tokens. Rules cannot change after setup
starts. Selecting Advanced on the home page clears expansion selections, which
are outside this preview. Joining a room uses that room's existing rules.
The host can also change **Rules** in an existing lobby. Changing modes or module
selections clears human readiness; native AI seats remain ready. Switching to
Basic removes unused Stronghold Cards and keeps Tech Tokens. Rules cannot change
after setup starts. Joining a room uses that room's existing rules.
The warning remains visible throughout Advanced play, including older Advanced
development saves. Games use the existing room save, reconnect and private seat
@@ -30,23 +31,28 @@ Normal room creation already stores `advanced: boolean`; the same request format
and exact tab retry are retained. The host-only lobby action
`{type: 'rules', advanced: boolean}` changes the mode. The ordinary start action
must contain `advancedPreview: true` for Advanced; a bare start remains rejected.
Only a successful explicit start writes `Game.advancedPreview: true`.
`GameView.advancedPreview` projects the marker as a boolean.
Core Advanced starts record `Game.advancedPreview: true`, projected as a boolean.
Expansion/module starts retain their own setup markers instead: some module
profiles deliberately exclude the core-only marker. The explicit Advanced
opt-in remains required for every Advanced start.
Start calls the genuine shared setup pipeline, including prediction, Traitors,
starting forces, advisors, elites and the starting Treachery deal at their normal
stages. The live API never dispatches a test/audit initializer. Fresh-lobby and
unused-module checks prevent accidental redealing. Restored preview markers must
still match their supported mode and roster. Mode changes, starts and ordinary
stages. Public starts now call the same genuine setup entries as development
tools; this is not permission to dispatch arbitrary initializer/profile names.
Fresh-lobby and unused-module checks still prevent accidental redealing. Restored
core preview markers must match their mode and roster. Mode changes and ordinary
continuation retain the existing version/CAS fence and private views.
Expansion factions/decks, Homeworlds, Nexus, Discoveries, Leader Skills, the Ecaz
Treachery variant and separate audit profiles remain rejected by normal starts.
Enabling Advanced cannot bypass those gates. For compatibility with exact older
create retries, the create API still accepts the pre-existing expansion lobby
format; those unsupported lobbies cannot start and have no expansion-removal
control yet. The preview creation UI prevents that combination. No pending ruling is resolved by
this access change; see the [decision index](RULE_DECISIONS.md).
The 17 October lobby-access pass opens expansion factions and supported optional
modules as previews; it does not remove their existing composition guards.
Skills and the independent Ecaz cards use lobby-only selections consumed during
start; the other modules retain their existing undealt lobby shape. Every
selected module must be honoured or the start rejected. Ecaz with Homeworlds
alone remains unavailable because its combined Occupy battle is not supported.
Special development profiles remain separate. No pending rules ruling or
complete-mode/publication gate is resolved by opening these controls; see the
[decision index](RULE_DECISIONS.md).
## Evidence and limits
+27 -5
View File
@@ -1,8 +1,8 @@
# Current development status
Updated 17 October 2026. **The full twelve-faction goal is unfinished. Basic
is playable and the six classic factions have a user-authorized Advanced preview.
Expansion starts and full rules/publication acceptance remain gated.**
is playable. Advanced, expansion-faction and supported optional-module starts
are labelled previews; complete rules/publication acceptance remains gated.**
The user-supplied `UNOFFICIAL_Revised_Dune_Rulebook_v.2.3_web.pdf` is now
an [authorized Advanced source of truth](RULE_DECISIONS.md#authorized-source-amendment--1-october-2026),
@@ -25,15 +25,37 @@ Advanced standalone core-function inventories are closed at prototype level.
Bounded classic/expansion mapping plus the connected follow-ups below found
no further absent standalone faction primitive in the examined paths.
This is not complete-mode acceptance: exceptional custody, timing variants,
optional skill bands, combinations and public expansion starts remain open.
optional skill bands and combinations remain open.
Rules implementation continues; comprehensive assurance and administration
remain deferred until all rules are implemented.
**Optional modules from the normal lobby — 17 October (user-directed speed pass).**
The host can now tick Leader Skills, Ecaz Treachery Cards, Nexus Cards,
Discoveries and Homeworlds as labelled previews alongside Tech Tokens and
Stronghold Cards. A normal start routes to the existing genuine setup for that
selection; each module's own admission still decides what combinations are
supported, and an unsupported choice is rejected at start with its reason. Ecaz
with Homeworlds alone stays unavailable (no combined Occupy composition yet).
Lobby choices for Skills and the independent cards live in `lobbyOptions` and
are consumed at start. A 240-start sweep (Basic/Advanced × classic/Ix/CHOAM/Ecaz
× ten selections, repeated three times) exercised 183 all-AI games to turn 3 or
an earlier win; the other 57 starts were explicit admission rejections. It found
no runtime crash after two fixes: Basic won Ecaz Occupy carries variable-army
casualties through mandatory card disposal, and bots with untyped forces round
fractional target dials to legal whole counters. Unsupported independent-card
combinations now reject the whole start instead of dropping the card selection.
Final proof: types/lint, **9,866/9,866 offline tests** and build pass. Seven
post-integration gameplay samples reach turn 3 or an earlier win with selected
modules active. Real390px lobby rejection/correction/start/skill assignment has
no browser errors or overflow. Ecaz setup now checks its existing combined
Occupy admission before starting, including World+Skills choices. Local QA only;
no deployed claim or full-combination certification.
**Expansion-faction lobby starts open — 17 October (user-directed speed pass).**
Hosts may now start Basic or Advanced-preview games with Ix, CHOAM and/or Ecaz
factions from the normal lobby; the start routes through the existing native
faction setup. Optional Tech Tokens follow the native profile; Stronghold Cards,
Homeworlds, Nexus, Discovery, Skills and independent cards keep their dev entries.
faction setup. Optional modules now use the labelled lobby controls described
above, retaining each native setup's supported roster and composition limits.
Eight all-AI 10-turn games (Basic/Advanced × Ix, CHOAM, Ecaz, all-three six-seat)
finished with no stuck or rejected actions. The lobby note warns of unfinished
interactions. **Regression triage (17 October):** the 133 failures that began
+32
View File
@@ -1,5 +1,37 @@
# Dune implementation status
## 17 October 2026 — Normal-lobby module previews and legal continuation
Hosts can select Leader Skills, the independent three-card Ecaz variant,
Nexus Cards, Discoveries and Homeworlds beside Tech Tokens and Stronghold
Cards. Normal starts reuse the genuine fresh setup entries and retain their
roster/module constraints; Advanced still requires explicit preview opt-in.
Lobby-only Skills/card selections are consumed at start rather than saved as
dealt components. Unsupported combined selections reject without dropping an
option. Ecaz admission also checks that the selected setup can resolve its
mandatory allied Occupy battle before committing setup.
Changed-path gameplay exposed two real defects: a Basic Occupy winner's named
variable-army casualties were missing from mandatory card-disposal validation,
and ordinary Basic bots could copy a fractional target dial into an illegal
whole-counter plan. Both now continue legally. A next-turn Salusa shipment test
now uses Polar Sink rather than a sector which the genuine next Storm may block.
Earlier bounded sweep: 183 played runs and 57 explicit admission rejections
across 240 attempts. Final seven-game lobby smoke reaches turn 3 or an earlier
win with every requested module active. A real 390px local browser journey
rejects incompatible cards+Nexus with both checkboxes retained, clears readiness
on correction, starts Skills+independent cards and assigns a real offered skill
before reaching Traitor selection. No browser errors or horizontal overflow.
Final types/lint, all **9,866 offline tests** and production build pass. Existing
Node deprecation, client chunk-size and Vinext route-classification warnings
remain. The full suite is a justified integration check for the newly opened
start paths, not a new per-prototype schedule. Only dedicated local QA rooms
were created/advanced; no game was reset or deleted and nothing was deployed.
Complete combinations, custody/recovery assurance and release acceptance remain
open. See [lobby access and limits](ADVANCED_PREVIEW.md).
## 17 October 2026 — Mandatory normal Banker default
An ordinary supported all14 Skills setup previously completed a Bank-four