Skip to content

feat: add source-backed Studio patch editing - #1

Merged
samohovets merged 4 commits into
mainfrom
feat/studio-patch-editor
Jul 19, 2026
Merged

feat: add source-backed Studio patch editing#1
samohovets merged 4 commits into
mainfrom
feat/studio-patch-editor

Conversation

@samohovets

@samohovets samohovets commented Jul 19, 2026

Copy link
Copy Markdown
Member

Summary

  • Replace the visualizer-only Studio with a React and Vite serial patch editor.
  • Preview scalar changes live and write supported literal and structural edits back to the configured TypeScript patch with revision-guarded undo and redo.
  • Keep computed expressions read-only while preserving loopback capability security, keyboard performance, watcher-driven runtime activation, and oxfmt-formatted source output.
  • Stabilize CLI lifecycle tests and avoid duplicate push and pull request validation jobs.

Changelog

Public summary:

  • Patchwave Studio can now preview and write supported synth parameter and signal-chain edits directly back to consistently formatted TypeScript patches, with undo and conflict protection.

Context:

  • TypeScript remains the source of truth; Studio only edits a conservative grammar of direct literals and inline patch structure.
  • The browser sends closed semantic operations rather than paths, source code, or AST locations, and the CLI retains filesystem authority.
  • Studio formats edited source with oxfmt, re-parses it, and only then performs the revision-guarded atomic write.
  • This also adds the React device rack, inspector, device browser, source diagnostics, and automation-ready editor metadata.
  • CI validation now uses deadline-based async test polling with guaranteed harness cleanup, and branch pushes with an open pull request no longer create duplicate jobs.

Verification

  • pnpm validate
  • pnpm validate:release
  • pnpm --filter @patchwave/studio test
  • pnpm --filter @patchwave/cli test
  • Focused backpressure cleanup test passed 20 consecutive runs.
  • pnpm check
  • actionlint
  • git diff --check
  • Real-browser smoke: add Filter, observe source reload/native acceptance, undo, and verify the source SHA-256 is restored exactly.

@samohovets
samohovets merged commit 43f7841 into main Jul 19, 2026
1 check passed
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