Skip to content

Feat/studio override outcomes UI - #7

Open
92Infinitus92 wants to merge 3 commits into
developfrom
feat/studio-override-outcomes-ui
Open

Feat/studio override outcomes UI#7
92Infinitus92 wants to merge 3 commits into
developfrom
feat/studio-override-outcomes-ui

Conversation

@92Infinitus92

@92Infinitus92 92Infinitus92 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator
  • Show whether scenario overrides were applied or skipped.
  • Display failure reasons for skipped overrides.
  • Preserve sparse scenario-relative slots during playback.
  • Surface override outcomes in Studio notifications and playback state.

Requires LimeChain/surfpool#6.

Greptile Summary

The PR adds scenario override outcome reporting and preserves sparse scenario-relative slots during playback.

  • Displays applied and skipped override outcomes with failure reasons.
  • Coordinates playback cleanup before replacement scenarios begin.
  • Advances playback using preserved relative slot heights and synchronizes shared clock state.
  • Adds tests for outcome parsing, sparse slots, cleanup serialization, scenario remounting, and slot widgets.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/studio/src/components/svm/scenario-editor.tsx Integrates sparse-slot playback, override outcomes, notifications, and serialized cleanup; the previously reported replacement-playback race is no longer reachable.
apps/studio/src/lib/scenarios-playback.ts Adds playback coordination, slot validation, outcome parsing, and presentation helpers.
apps/studio/src/lib/scenarios-playback.test.ts Covers cleanup gating, outcome parsing, stable override identities, timeline positions, and sparse slot behavior.
apps/studio/src/components/svm/scenarios-bento.tsx Propagates backend slot numbers and maintains scenario-specific editor remounting.
packages/svm/src/compact-slot-widget.tsx Synchronizes the compact slot display with absolute slot and clock pause events.
apps/studio/src/app/layout.tsx Mounts the global Sonner notification toaster used by scenario playback.

Sequence Diagram

sequenceDiagram
    participant Old as Previous ScenarioEditor
    participant Gate as Playback Cleanup Gate
    participant RPC as Surfnet RPC
    participant New as Replacement ScenarioEditor
    Old->>Gate: begin cleanup
    Gate->>RPC: cancel overrides
    RPC-->>Gate: cancellation result
    Gate->>RPC: resume clock
    RPC-->>Gate: resumed
    New->>Gate: wait for cleanup
    Gate-->>New: cleanup complete
    New->>RPC: pause clock
    New->>RPC: register scenario
    RPC-->>New: override outcomes and base slot
Loading

Reviews (2): Last reviewed commit: "fix(studio): serialize playback cleanup" | Re-trigger Greptile

@92Infinitus92 92Infinitus92 self-assigned this Aug 14, 2026
Comment thread apps/studio/src/components/svm/scenario-editor.tsx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant