Summary
Map the OpenWorlds Chronicles screen into the real ClawDnD app home. Chronicles is
the campaign browser, start/resume surface, live/stale run monitor, and first
screen for non-technical play.
Current State
/openworlds/campaigns.json provides a read-only campaign catalog.
screen-launcher.jsx renders campaign rows and a selected campaign preview.
- Resume currently navigates with local browser behavior and still needs the native
bridge for process-aware start/resume.
Target Architecture
- OpenWorlds renders campaign cards from
/openworlds/campaigns.json.
- Swift bridge handles process-aware start/resume.
- QA/story runs are visible read-only unless launched by this app.
- Starting a game runs through existing provider/player flow.
- No browser code writes campaign snapshots or state files directly.
Required Fields
Campaign cards should show:
- title
- world/system
- day/time
- location/region
- party count/names where known
- provider/run metadata where known
- live/stale/current status
- last update
Acceptance Criteria
- Chronicles is the default app home.
- User can answer what is running and what is stale from this screen.
- User can resume/open a campaign without Safari.
- Start/resume controls fail closed when native bridge or provider setup is missing.
- All unavailable prototype actions are marked
Display-only or Unavailable.
Validation
python3 -m unittest viewer.tests.test_openworlds_static -q
python3 -m py_compile viewer/server.py
swift build --package-path macos/ClawDnDApp
./script/build_and_run.sh --verify
git diff --check
Original-Agent Handoff
Inspect first:
viewer/openworlds/screen-launcher.jsx
viewer/openworlds/app.jsx
viewer/server.py
macos/ClawDnDApp/Sources/ClawDnDApp/Services/AppProcessService.swift
macos/ClawDnDApp/Sources/ClawDnDApp/Services/ProviderAdapters.swift
Summary
Map the OpenWorlds Chronicles screen into the real ClawDnD app home. Chronicles is
the campaign browser, start/resume surface, live/stale run monitor, and first
screen for non-technical play.
Current State
/openworlds/campaigns.jsonprovides a read-only campaign catalog.screen-launcher.jsxrenders campaign rows and a selected campaign preview.bridge for process-aware start/resume.
Target Architecture
/openworlds/campaigns.json.Required Fields
Campaign cards should show:
Acceptance Criteria
Display-onlyorUnavailable.Validation
Original-Agent Handoff
Inspect first:
viewer/openworlds/screen-launcher.jsxviewer/openworlds/app.jsxviewer/server.pymacos/ClawDnDApp/Sources/ClawDnDApp/Services/AppProcessService.swiftmacos/ClawDnDApp/Sources/ClawDnDApp/Services/ProviderAdapters.swift