Files
Dune/docs/FORCE_INSPECTION.md
T
Quintine 537da4a12c Add public force counter inspectors and all-faction gallery
Each player summary opens enlarged original counter diagrams and public physical
pools. The inventory separates reserves, Tanks, board locations and foreign
Homeworld deployments. Native Homeworlds break down existing reserves; elites
and advisor stances remain subsets. The reference gallery covers all twelve
factions, including Suboids/Cyborgs, Sardaukar, Fedaykin and BG advisor faces.

Actual force keys retain unplaced Mobile Stronghold and Discovery groups.
Basic Homeworld special identity comes from public typed pools, not mode alone.
Concealed No-Fields expose only a separate marker/location; no value or future
materialization is inferred. Temporary battle strength creates no physical
counter. Invalid projections show a refresh notice instead of invented totals.
Inspection updates from current props and submits no action or saved mutation.

Independent review found no material issue and clarified No-Field wording:
revelation draws from reserves available then, without earmarking counters.
Eleven new focused cases cover faction identity, typed pools, advisors, genuine
Basic Homeworld public views, native/foreign splits, genuine Ix setup before HMS
placement, a controlled Discovery position, JSON continuation, input immutability,
concealed0/3/5 equivalence, named controls and malformed projection feedback.
A test-only Homeworld projection initially omitted its card identity; corrected
before final checks. Lint's semantic status element was corrected to output.

Types, lint, all 4984 offline tests and production build passed on stable
source. No HTTP/auth/schema/persistence behavior changed, so no additional HTTP
suite was required. Browser QA reused an isolated existing three-human Basic
Nexus without game actions. All three public inspectors showed correct pools;
Escape restored trigger focus, Enter opened inspection and PageDown scrolled the
labelled region. At390px the dialog359px fit, body text16px and Close44px high.
All twelve gallery choices rendered named160px diagrams without gallery overflow.
Internal guide, Back and refresh worked; viewport reset and preview retained.
Screenshot capture timed out. Full visual/screen-reader/200% zoom, manufactured
component fidelity and all-configuration browser acceptance remain open.

All 1499 original rooms, 3171 seats and auxiliary rows are
unchanged; SQLite integrity and foreign keys pass. The healthy server was reused
without restart, migration, reset or automation. AI strategy/calibration remains
deferred until non-AI features are complete; no mode/publication gate was opened.

Private evidence: 20260921-force-inspection.
Verified source tree: 5d7ffd471229faa13224fd5a87d33c3ac5af866446241a7881926a54c1ee49eb
2026-09-21 11:07:07 +10:00

3.0 KiB
Raw Blame History

Public force counter inspection

21 September 2026. Each live player summary now opens Inspect forces. The enlarged diagrams and public location list work during other players’ decisions without submitting an action. The internal reference has a faction selector covering all twelve sets, including special and advisor faces.

The inventory projection consumes public player force fields and the existing public Homeworld table. Reserves, Tanks, nonzero board groups and foreign Homeworld deployments count physical counters. Elites are subsets, never additional counters; native Homeworld groups subdivide the reserve pool. Emperor’s two worlds remain separate in that breakdown. The existing Homeworld custody and public table define those identities.

Ixian ordinary forces are Suboids; special names reuse the combat registry. Physical special identity comes from the public elite pools, including Basic Homeworld games. Ordinary Basic tables that combine Emperor/Fremen counts do not fabricate a starred distribution. Bene Gesserit advisor stance applies across a territory’s sectors and does not create an extra counter. Reserves and Tanks have no deployed stance. Temporary Sardaukar powers, support, leaders and Kwisatz do not change this physical inventory.

The projection iterates actual force locations, including the unplaced Mobile Stronghold during genuine Ix setup and named Discovery locations. It does not filter away pieces because their location is outside the current map. Native worlds stay separate from board location keys. Invalid counts or unreconciled native reserves show a refresh notice instead of invented totals.

A deployed No-Field contributes only a separate concealed marker and its public location. No hidden face, inventory, last-used value or future force quantity is read or inferred. Revelation draws from the reserves available then; it does not reserve particular counters. Effective presence helpers are deliberately excluded from physical counting.

Focused tests cover twelve faction identities, mixed pools, multi-sector advisors, native and foreign Homeworlds, actual Basic Homeworld projections, genuine Ix setup before HMS placement, a controlled Discovery location, identical 0/3/5 concealed-marker results, immutable input and JSON continuation. Rendering tests cover named live triggers, the reference gallery, readable details and invalid-state feedback. This is read-only inspection, so no AI action or strategy was added. Existing legal participation and saves remain authoritative.

Source-bound checks, independent review, browser observations, preservation and Git delivery are recorded in the private checkpoint. These are original diagrammatic faces, not certification of the manufactured components’ layout. Full visual/accessibility acceptance and combined-game verification remain open; mode and publication gates are unchanged.