Skip to content

studio: introduce studio device UX#44

Merged
Yona-Appletree merged 62 commits into
mainfrom
feature/studio
Jun 23, 2026
Merged

studio: introduce studio device UX#44
Yona-Appletree merged 62 commits into
mainfrom
feature/studio

Conversation

@Yona-Appletree

Copy link
Copy Markdown
Member

Created from branch feature/studio

Adds lpa-link, fw-host, and fw-browser runtime proof crates for the Studio foundation.

Includes browser smoke/test recipes and records the link/runtime boundary in docs/adr/2026-06-17-studio-link-and-local-runtimes.md.

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-17-lp-studio-foundation/00-m0-prereqs/plan.md
Adds README coverage for lpa-link and firmware/runtime crates introduced or clarified by the Studio M0 foundation.
Hard-rename link provider IDs toward the environment-mechanism-target convention, add host-serial-esp32, and route CLI hardware serial sessions through lpa-link.

ADR: docs/adr/2026-06-18-link-provider-id-convention.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-17-lp-studio-foundation/00c-m0c-serial-esp32-link/plan.md
Add lp-studio-core, lp-studio-runtime, and lp-studio-web for the first local Studio flow. The slice includes the action/effect/event core model, host-process and browser-worker runtime paths, a static Dioxus shell, Studio build recipes, and an ADR for the action/session architecture.

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-17-lp-studio-foundation/01-m1-local-studio-foundation/plan.md
Add a feature-gated Dioxus storybook for the Studio UI, a local PNG capture command named studio-story-pngs, and documentation for the workflow.

ADR: docs/adr/2026-06-18-studio-native-storybook.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-17-lp-studio-foundation/01a-m1a-studio-storybook/plan.md
Add committed story-images baselines, check/update commands, and agent guidance for running visual baseline generation when Studio UI files change.

Use Chrome DevTools Protocol to capture the marked story canvas content instead of full viewport screenshots.
Adds the browser-serial-esp32 link/provider shape, Studio hardware actions and access state, shared demo project upload helpers, and the browser Web Serial runtime shim path.

Includes story image baselines for the new hardware access states.

ADR: docs/adr/2026-06-18-browser-serial-shim.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-17-lp-studio-foundation/02-m2-hardware-reality/plan.md
Split the core server protocol client from host/Tokio adapters, expose link server connections, and move host Studio/CLI paths onto the adapter boundary.

ADR: docs/adr/2026-06-18-portable-lpa-client.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-17-lp-studio-foundation/02b-m2b-portable-lpa-client-architecture/plan.md
Move CLI initial deploy paths onto lpa-client stop/write/load helpers and adapt Studio browser serial to the portable lpa-client protocol driver over Web Serial.

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-17-lp-studio-foundation/02c-m2c-hardware-client-flow-hardening/plan.md
Add DeviceManagerState, provider catalog, provisioning flow state, typed issues, recovery actions, progress, and target probe vocabulary to lp-studio-core.

Replace LinkSelection as canonical Studio provider state and update runtime/web scaffold callers to use the provider catalog.

ADR: docs/adr/2026-06-18-studio-provisioning-core-model.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-18-provisioning-flow/01-m1-provisioning-core-model/plan.md
Add an I/O-free lp-studio-runtime scenario layer for deterministic provisioning flow tests and future UI stories.

Generalize the runtime harness over EffectExecutor, add typed core handling for permission cancellation and endpoint connection failure, and document the scenario boundary.

ADR: docs/adr/2026-06-18-studio-runtime-scenarios.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-18-provisioning-flow/02-m2-scenario-fakes-flow-tests/plan.md
Add project-state and recovery flow semantics, make browser-worker a real EffectExecutor, route Studio web through an incremental browser provisioning controller, and replace the demo device panel with provider/flow/issue/log UX and journey story baselines.

ADR: docs/adr/2026-06-18-studio-web-provisioning-controller.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-18-provisioning-flow/03-m3-provisioning-ui-journey-stories/plan.md
- make LinkSession a provider-neutral record and move session operations onto LinkProvider

- move browser worker, Web Serial, and ESP32 probe/flash resource ownership into lpa-link providers

- thin Studio runtime/web to provider configuration and Studio event mapping

ADR: docs/adr/2026-06-21-lpa-link-provider-owned-resources.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-21-lpa-link-provider-owned-resources/plan.md
Replace the Studio action wrapper stack with UxAction, UxNodeId, UxOp, UxNode, and UxContext primitives. Migrate LinkAction and ProjectAction to concrete LinkOp and ProjectOp dispatch while keeping StudioUx as the explicit owner and router.

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-22-ux-action-registry-cleanup/plan.md
Add BrowserSerial server I/O for Studio UX, open the serial protocol before server attach, and let Studio attach to already-running projects. Update the Project pane to offer running-project attach alongside loading the demo project.

Refresh Studio story baselines for the neutral shell header and project attach actions.
Add tertiary disconnect operations for project, server, and link UX nodes. Wire the Server pane into the generic action surface and refresh Studio story baselines for connected states.
Promote DeviceUx as the user-facing connection workflow, add reusable stack view primitives, render Device/Project panes in the web shell, and refresh Studio story baselines.

ADR: docs/adr/2026-06-22-studio-device-ux-workflow.md

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-22-device-ux-view-model/plan.md
Keep Project pane for loaded project state while offering running-project attach, loaded-project selection, and demo loading from the Device open-project step.
Add a browser-side ESP32 device controller for Web Serial lifecycle, reset/read handling, and debug-page reuse.

Document the provider boundary in docs/adr/2026-06-22-browser-esp32-device-controller.md.

Plan: /Users/yona/Dropbox/Documents/PersonalNotes/Planning/lightplayer/2026-06-22-browser-serial-connect-reset/plan.md
@Yona-Appletree Yona-Appletree merged commit 4460c22 into main Jun 23, 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