feat(openworlds): add acts chronicle read model - #202
Merged
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
Cache: Disabled due to Reviews > Disable Cache setting 📝 WalkthroughWalkthroughThis PR introduces a new Acts chronicle surface endpoint ( ChangesActs Surface and Component Integration
Sequence Diagram(s)sequenceDiagram
participant Browser as Browser (ScreenActs)
participant Server as ViewerServer (build_acts_surface)
participant Snapshot as SnapshotStore
Browser->>Server: GET /acts-surface (optional campaign)
Server->>Snapshot: Read snapshot
Snapshot-->>Server: snapshot
Server->>Server: _acts_from_path / _acts_major_choices
Server->>Browser: Respond with acts surface JSON
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related issues
Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
Comment |
100yenadmin
force-pushed
the
viewer/campaign-director-acts-surface
branch
from
May 26, 2026 18:48
6805da7 to
2431b2a
Compare
100yenadmin
marked this pull request as ready for review
May 26, 2026 18:48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Turns the OpenWorlds Acts screen from a prototype-only page into a real read-only campaign-director/payoff surface. The surface shows compiled
adventure_pathstate when the engine snapshot has it, and otherwise renders an explicit "Acts not tracked yet" empty state instead of presenting demo acts as campaign truth.What Changed
GET /acts-surfacevia the existing viewer simple-surface dispatcher.screen-acts.jsxto poll/acts-surfaceand use prototype data only before the first fetch./acts-surface.Architecture
This PR is deliberately read-only. It does not compile adventure paths, evaluate branch predicates, apply outcome overlays, advance acts, or mutate campaign state. It gives the future #71/#73 engine work a visible payoff surface while preserving the engine/viewer boundary:
/moveremains the only general player-intent write lane.OSS Research Tie-In
The roadmap-squeeze research found no external VTT/campaign-director repo worth importing directly for this lane. Owlcat-style campaign payoff is a ClawDnD-native architecture problem: structured decisions, path state, callback consequences, and director debts already live in the engine. This PR exposes those facts rather than importing a foreign campaign runtime.
Validation
Run from
/Volumes/LEXAR/repos/ClawDnD-campaign-director:All listed checks passed locally before opening this draft PR.
Rollback
Revert this PR to remove only
/acts-surfaceand the OpenWorlds Acts binding. Existing journal/quest-evolution/director advisory behavior remains unchanged.Refs #120, #59, #71, #73.
Summary by CodeRabbit