ReviewOS

stacks/the-settlers-iii-remake

[S3-084] Complete building and economic inspection panels

#86
Open chris opened this 8 days ago ·
8 days ago

S3-084: Complete building and economic inspection panels

Parent and ownership

Parent epic: https://github.com/stacksjs/the-settlers-iii-remake/issues/13 Source owner: stacksjs/the-settlers-iii-remake. Master roadmap: https://github.com/stacksjs/the-settlers-iii-remake/issues/4.

Problem and observable result

Expose real inventories and worker status. Control construction, recruitment, distribution, and temples. Keep displayed state synchronized with simulation.

The current application is a browser prototype. Passing the Riverlands campaign does not establish original-game or native parity. This issue is complete only when its stated behavior has retained evidence.

Evidence and interfaces

Shared stx controls read player views and issue commands. Browser/native render adapters consume the same projection, assets, animation state, and input coordinates. Sound follows actual events.

Pin the inspected revisions and fixture hashes in the implementation evidence. Original-game observations govern rules and timing. JSettlers is implementation evidence, not an authoritative balance specification. Unknown values remain explicitly unverified.

Acceptance criteria

  • Expose real inventories and worker status.
  • Control construction, recruitment, distribution, and temples.
  • Keep displayed state synchronized with simulation.
  • The visible result agrees with the underlying simulation or platform state, including failure paths.
  • Tests exercise the maintained public interface and retain reproducible fixtures or execution receipts.

Test matrix

  • Inspect a stalled building and change its controls.
  • Verify panel state after save and selection changes.
  • Exercise invalid input, cancellation or interruption, and repeated execution where this interface permits them.
  • Verify determinism/conservation for simulation changes and resource ownership/disposal for platform changes.
  • Run owning-repository lint, relevant type checks and tests. Capture actual native output for native capability claims.

Scope constraints

Implement this behavior as a complete verifiable slice. Do not silently expand into adjacent tickets or substitute simplified gameplay. Keep the shared TypeScript simulation, shared stx signals, and ts-css conventions. Native gameplay and HUD must not depend on a WebView. HomeOS reuse must not introduce a kernel dependency into the game. Existing unrelated edits and authored guidance must be preserved.

Blocked by

Upstream release and adoption

Application behavior belongs here. If a reproduction identifies a framework defect, repair and release its owning source first, update Stacks where affected, then install the verified packages here.

No node_modules edits, copied runtimes, generated-source string patches, fabricated globals, successful no-op implementations, or skipped release gates. Push tested conventional commits as Chris to the owning origin/main without coauthor trailers or force pushes.

Completion evidence

  • Implementation commits and relevant upstream issue links.
  • Exact checks and results, fixture hashes, and screenshots/native execution evidence where applicable.
  • Published package versions, downstream lockfile identity, and release receipts when affected.
  • Remaining limitations stated explicitly. Partial work does not close this issue.
7 days ago

Normal tutorial play exposed a storage selection problem: Enter at an area's passable center opens no panel, while a blocked edge tile opens it. The controller uses the movement-blocking index for inspection. #208 tracks a selection fix that preserves passable storage ground and routing, with keyboard and pointer coverage.

7 days ago

Storage areas can now be inspected from their passable centers and protected ground, using either Enter or a pointer click. The movement-blocking geometry is unchanged. #208 has the original-map reproduction, 354 unit tests, 472 browser checks and passing CI. Broader inspection controls and original Gold comparison remain open.

8 days ago

Implemented a browser recruitment-control slice in 2313aef, pushed normally to main as Chris without coauthors.

The military panel can now cancel one waiting order per class. A validated shared session command prevents negative queues, refuses malformed or excessive cancellation, and leaves assigned enlistment jobs, recruited soldiers, other classes and physical goods intact. Empty queues disable Cancel. Save/reload retains the remaining orders.

Evidence: committed receipt. The pinned Menus in the Game manual describes arrow controls for choosing recruitment counts. This supports the control, without establishing original timing or Gold Edition balance.

Local verification using the normal project Bun 1.4.4: 243 unit tests passed, 22498 assertions, zero failures; Pickier zero errors/warnings; app/tools/STX and Buddy type checks passed; production build passed. Actual isolated Chrome scenarios passed 25 steps each at 1440x960 and 320x568, with zero console or network errors. They exercise add, cancel, save, real page reload, retained count, clear, disabled empty controls and HUD containment. Engine and original-template failures were retained before the fixes.

Full main CI is running. This issue stays open for its remaining panel coverage and native acceptance. No original executable observation or complete Gold Edition parity is claimed.

8 days ago

Full main CI for gameplay commit 2313aef passed: https://github.com/stacksjs/the-settlers-iii-remake/actions/runs/40178778347

The original diagnostics artifact 12593556609 was independently checked: 15481 bytes, GitHub SHA256 fe3d598294a292c08084320eca6340f3b74f5f525aa3865e6268a94c9abda828, all ZIP CRCs valid. It includes successful 25-step recruitment scenarios at 1440x960 and 320x568 with zero console/network errors.

The same scenarios also pass after normal installation of the verified Stacks 0.75.305 / STX 0.2.691 / Craft 0.0.341 / Pantry 0.11.127 cohort, now pushed in 8a1daa3. That dependency commit is receiving its own main CI. This remains partial progress on the full panel issue, without claiming original executable or native-game parity.

8 days ago

Added physical barracks weapon figures in 54e2642, pushed normally to main as Chris without coauthors.

Each military recruitment row now identifies its weapon and shows its physical quantity at the player's barracks. Warehouse, carried, ground, equipped and other-player weapons are excluded. The pinned manual's Recruiting Soldiers section explicitly describes the barracks weapon figures; no original timing or balance values were added.

Committed receipt. A public-session/projection regression fails before the change and now verifies real command-driven construction/delivery, another player's7 weapons excluded,3 swords/2 bows delivered,2 swords after enlistment, matching restore and0 at barracks after demolition while2 swords remain on the ground.

Local checks on pinned Bun1.4.4:244 unit tests,22508 assertions, zero failures; Pickier zero errors/warnings; app/tools/STX/Buddy types passed (250 STX expressions); production build passed. Desktop1440x960 and phone320x568 each pass34 actual browser steps with no console, network or collection errors. Those browser scenarios construct a real barracks, confirm its zero starting weapon stock, edit recruitment orders, save/reload the actual game and check HUD containment. Positive delivery/enlistment quantities are covered at the simulation/projection boundary, not claimed as a positive-stock browser playthrough.

Full main CI is running. This issue remains open for its complete inspection-panel and native acceptance criteria.

8 days ago

Full main CI40181502965 passed for 54e2642.

The original non-media diagnostics artifact 12594213195 was independently verified: 15,736 bytes, GitHub SHA-256 880e6df79137847ec4f1fad8c72c76f60b4922fc5407fa6eaad29967d429c809, all ZIP CRCs valid. All 292 browser scenario steps passed, including 34 recruitment steps each at 1440x960 and 320x568. Recorded console, network and collection errors are empty. The other campaign, guide/control-frame, resize, production, selection, working-area and checkpoint scenarios also passed. Unit checks passed 244 tests / 22,508 assertions.

The positive physical-stock quantities remain covered by the public simulation/projection test; the actual browser scenarios construct a barracks and verify zero starting stock and persisted recruitment controls. The full inspection-panel issue remains open.

8 days ago

Pushed the verified framework adoption and another inspection correction to main as Chris, without coauthor trailers:

  • f4a3507 normally upgrades to Stacks 0.75.308 with STX 0.2.691, Craft 0.0.341, Pantry 0.11.127 and Bun 1.4.4. The published actions verifier checked all 95 selected original archives against installed files, exact source/release gates and seven successful application scripts. All 292 steps in the complete dedicated production browser suite passed with no recorded console, network or collection errors.
  • 64dd8b0 corrects inspection after restoring an older saved game. The engine retained 0.2.0 rules, while the inspector invented today's 11-soldier castle garrison and newer tower slots. Building metadata and descriptions now use the restored session profile. A retained format 1 save and normal command/save/restore scenario reproduce and guard the correction; current-game capacity remains unchanged. All 245 unit tests with 22,513 assertions, types, lint and the 19-step production browser scenario pass.

A fresh native-input browser playthrough also completed the actual mine, sawmill/charcoal, smelter, weapon smith and barracks chain. The delivered sword appeared as 1 at the barracks, recruiting consumed it and produced 1 rank 1 swordsman, and that unit survived a real save/reload. The scenario used normal starting materials and demolition refunds. It establishes the implemented chain, not a sustainable settlement or original Gold timings/balance.

Committed receipts:

Issue 86 remains open for complete inspection-panel acceptance and native delivery. The separate original tutorial-map garrison observation is unchanged. No original executable parity is claimed.

Final main CI is successful on exact head 64dd8b04506e0b6b2c577590315b852b121d2568. Downloaded the original campaign-browser-check artifact 12595958336 (15,740 bytes), matched GitHub SHA-256 22aec373984d22c02a5be1baf57aebb935ee91f6ffead460a99812bd1c660baa, checked every ZIP entry CRC, and independently confirmed all 292 successful browser steps with zero recorded console errors, failed requests or collection errors.

8 days ago

Additional control and inspection evidence is committed in ed19489. The map's accessible instruction now follows real pointer completion and tool changes, including the working-area control; the browser no longer announces that an already-completed working-area action is still active. The keyboard building search also finds legal owned sites beyond the former 13-tile cap.

Correction receipt records the failing reproductions, public engine fixtures, 57-step working-area/control scenario, actual CUA pointer result and farther-site construction. Economy execution receipt records real displayed worker/buffer behavior, resumed production after transport, and seven saved/restored resource ledgers. Issue 86 remains open for complete inspection-panel and native acceptance.

Final main CI is successful on exact source ed194896a7128a0f2a4027bde69f558ddd2cbdfb. Independently downloaded the original diagnostics artifact 12596993813 (16,026 bytes), matched GitHub SHA-256 e5d9e7a04ae43f7e33693b52dedb12fac3a258fdc7af4def978433aa15928dad, verified every ZIP CRC, and confirmed all 313 successful browser steps with zero recorded console errors, failed requests or collection errors.

Sign in to comment on this issue.