ReviewOS

stacks/the-settlers-iii-remake

[S3-080] Complete both Amazon campaign paths

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

S3-080: Complete both Amazon campaign paths

Parent and ownership

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

Problem and observable result

Adapt both original campaign perspectives. Match conditions, briefings, and outcomes. Retain per-mission branch evidence.

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

Decoded mission data drives a bounded declarative objective runtime. Save mission progress with the world. Editing and import/export use the same validated map representation.

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

  • Adapt both original campaign perspectives.
  • Match conditions, briefings, and outcomes.
  • Retain per-mission branch evidence.
  • 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.
  • Include a per-mission table covering original identifier, starting state, objectives, special triggers, save/load, failure, victory, and retained evidence. A generic victory is insufficient.

Test matrix

  • Run both complete campaign paths.
  • Verify distinct objectives and progression.
  • 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.

Per-mission acceptance ledger

These are planning slots. Original file identifiers, revisions, names, starting conditions, objectives, timings, and evidence are unverified until S3-002/006/007 establish them. Reconcile counts and add any missing original missions before closing this issue. Do not convert an unchecked cell into a passing result without a retained fixture and receipt.

The preserved original manual identifies the tutorial, base factions, Mission CD, Amazons and Three Gods paths. The campaign index supplies the provisional eight-mission and twelve-mission slot counts; it is secondary evidence, not authority for mission behavior.

For every row, record the original map ID/hash and rules revision; starting players, terrain, goods and units; exact objectives/triggers and failure conditions; briefing, voice/cinematic and localization; checkpoint restoration mid-trigger; victory, unlocks/branches and ending; and links to original observation plus browser/native captures.

Planning slotOriginal ID/hash and startObjectives/triggers/failureMedia/localizationSave/restoreVictory/progression and evidence
amazons-01 (Amazons path 1)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-02 (Amazons path 2)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-03 (Amazons path 3)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-04 (Amazons path 4)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-05 (Amazons path 5)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-06 (Amazons path 6)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-07 (Amazons path 7)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-08 (Amazons path 8)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-09 (Amazons path 9)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-10 (Amazons path 10)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-11 (Amazons path 11)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
amazons-12 (Amazons path 12)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-01 (Three Gods path 1)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-02 (Three Gods path 2)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-03 (Three Gods path 3)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-04 (Three Gods path 4)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-05 (Three Gods path 5)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-06 (Three Gods path 6)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-07 (Three Gods path 7)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-08 (Three Gods path 8)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-09 (Three Gods path 9)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-10 (Three Gods path 10)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-11 (Three Gods path 11)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified
three-gods-12 (Three Gods path 12)[ ] unverified[ ] unverified[ ] unverified[ ] unverified[ ] unverified

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.

Sign in to comment on this issue.