feat(macos): open OpenWorlds play surface - #126
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (6)
📜 Recent review details🧰 Additional context used🧬 Code graph analysis (2)macos/ClawDnDApp/Sources/ClawDnDApp/Views/MonitorView.swift (1)
macos/ClawDnDApp/Sources/ClawDnDApp/Services/AppProcessService.swift (1)
🔇 Additional comments (7)
📝 WalkthroughWalkthroughThe PR replaces dashboard terminology with Play Surface/openworlds: adds LocalEndpoint.openWorldsURL, uses it in AppProcessService viewer/provider startup and logs, and updates view labels and WebView error text to Surface / Play Surface. ChangesDashboard to Play Surface Terminology Update
🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues:
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
233ef64 to
e1061f2
Compare
e1061f2 to
d754c3a
Compare
Summary
This is the stacked PR C from the OpenWorlds fidelity rollout. It changes the native macOS shell to open the viewer-hosted OpenWorlds play surface in
WKWebViewinstead of defaulting Play/Campaign launches to the legacy dashboard route.LocalEndpoint.openWorldsURL.AppProcessService.startViewer(...)return/openworlds.AppProcessService.startProviderSession(...)return/openworlds.LocalEndpoint.dashboardURLavailable as the fallback/debug route./monitor.Stacked on #125 because
/openworlds/is introduced there. Refs #82, #113, #114.Architecture Boundary
SwiftUI remains the native supervisor/control center:
WKWebView;The macOS app does not become a game-state writer. Game-state authority remains in the engine and the browser write lane remains the existing
/moveplayer-intent endpoint. This PR only changes which same-origin viewer route the app loads after launch.Route Behavior
startViewer(...)->http://127.0.0.1:<port>/openworldsstartProviderSession(...)->http://127.0.0.1:<port>/openworldsstartViewer(... campaignID:)->http://127.0.0.1:<port>/openworldsviewerEndpoint.monitorURL->http://127.0.0.1:<port>/monitorLocalEndpoint.dashboardURL.Validation
Local validation from
/Volumes/LEXAR/repos/ClawDnD-openworlds-webview-route:swift build --package-path macos/ClawDnDApp./script/build_and_run.sh --verifypython3 -m py_compile viewer/server.pypython3 -m unittest viewer.tests.test_openworlds_static -qpython3 scripts/license_check.pygit diff --checkThe verify command launched
dist/ClawDnD.app; I stopped the launched app process afterward and confirmed nodist/or build artifacts are staged.Review Notes
This PR is intentionally narrow. It does not add new SwiftUI game screens, rewrite the OpenWorlds UI, change provider contracts, or touch engine/rules/voice/story/QA lanes.
Summary by CodeRabbit
New Features
Style