Expand description
app-ui β the Leptos CSR app served by Trunk into the Tauri webview.
Composes the workshopped components from
ui_storybook::components into the recorderβs shell surface:
RecordingToolbarat top.DropZonewhen no recording is loaded.PlayerControls+ placeholder preview when a recording is loaded.StatusBarat the bottom.
As of M-PLAY.2, the shell drives the screen-app player via Tauri IPC:
the file-drop event opens the file, the transport buttons toggle
play/pause, and a pushed player-status event keeps the UI in sync
with the Rust-side player. See player_ipc for the JS-bridge
extern declarations and the player_ipc::PlayerStatus mirror.
ModulesΒ§
- app
- Top-level
Appcomponent for the recorder shell. - app_
shell_ πmount AppShellRootβ root component for the tray-launched main window (M-TRAY.3 / AUT-252) and the in-appNavigationRailsurface routing (M-TRAY.4 / AUT-253).- bubble
<BubbleRoot />β the Leptos tree mounted into thewebcam-bubbleTauri window (M-BUBBLE.0 / AUT-273 + the M-QUAL.4 overlay redesign).- bubble_
ipc - JS bridge for the webcam-bubble toggle command (M-BUBBLE.0 / AUT-273).
- camera_
ipc - JS-bridge bindings for the M-CAM.2 Tauri camera commands (M-CAM.4 / AUT-258 + M-REC.1 / AUT-260).
- camera_
picker <CameraPicker />β live-data dropdown selector for the Recorder surface (M-CAM.4 / AUT-258 + M-REC.1 / AUT-260).- camera_
preview <CameraPreview />β Leptos canvas painted by raw BGRA frames pulled from theCameraFrameSlot(M-PIX.8 of M-RECORD-EXPORT-REAL-PIXELS).- clip_
inspector - Clip inspector β per-segment controls (ED.14: speed) (M-EDIT).
- cursor_
inspector - Cursor inspector β cursor styling (ED.19 / M-EDIT).
- editor_
edits - Timeline editing β split + undo/redo (ED.11 / M-EDIT).
- editor_
ipc - Leptos-side bindings for the editor IPC (ED.5 / M-EDIT).
- editor_
preview_ canvas - Live editor preview canvas wiring (AUT-510 / ED.6b).
- editor_
surface EditorSurfaceβ the live editor surface (ED.5/ED.7 / M-EDIT).- export_
bar - Export bar β start / progress / cancel for the edited export (ED.22).
- filmstrip
- Video track filmstrip + clip selection (ED.9 / M-EDIT).
- framing_
inspector - Framing inspector β output aspect ratio + crop (ED.15 / M-EDIT).
- mic_ipc
- JS-bridge bindings for the M-MIC.1 / AUT-278 microphone commands (M-MIC.2 / AUT-279).
- mic_
picker <MicPicker />β live-data dropdown selector for microphones in the Recorder surface (M-MIC.2 / AUT-279).- player_
ipc - Leptos-side bindings for the screen-app player IPC.
- recorder_
page <RecorderPage />β the live recorder surface that composes theui-storybookpresentational components into the design shown in the Screen-Studio-style mock (workspace badge, capture-mode tabs, display source card, camera / mic / system-audio rows with inline expandable pickers, on-screen options summary, and the recording-controls footer).- recording_
ipc - JS-bridge bindings for the M-RECORD.1 coordinated-recording
commands (start / stop / status) + the
recording-statusevent. - recordings_
library - Recordings library β open a finished recording in the editor (ED.24).
- routing
- Pure-Rust URL-routing helpers (M-TRAY.4 / AUT-253, M-BUBBLE.0 / AUT-273).
- screen_
ipc - JS-bridge bindings for the M-SCK.1 / .2 / .4 screen-capture commands (AUT-268 / AUT-269 / AUT-271).
- screen_
picker <ScreenPicker />β screen / window source picker for the Recorder surface (M-SCK.4 / AUT-271 + M-SCK.0.1 / AUT-291).- screen_
preview_ canvas - Live screen-capture preview canvas (AUT-269).
- settings_
ipc - JS-bridge bindings for the M-SAVE.0 recorder settings β the persisted output directory + the native folder picker.
- style_
inspector - Style inspector β background framing (ED.18 / M-EDIT).
- system_
audio_ ipc - JS-bridge bindings for the M-AUDIO-SYS.2 / AUT-282 system-audio commands.
- system_
audio_ picker <SystemAudioPicker />β live-data picker for the speaker / per-app audio capture in the Recorder surface (M-AUDIO-SYS.2 / AUT-279 / AUT-282).- timeline_
view - Timeline coordinate system + ruler (ED.8 / M-EDIT).
- waveform
- Audio waveform lane (ED.10 / M-EDIT).
- zoom_
dopesheet - Zoom dopesheet β keyframes + Easy Ease for the selected zoom (ED.13).
- zoom_
lane - Zoom lane β author cinematic punch-ins on the timeline (ED.12 / M-EDIT).
FunctionsΒ§
- mount_
default π - mount_
point_ from_ query - Pull the live page URLβs query string, parse it via
routing::parse_mount_point. Falls back torouting::MountPoint::DropZoneoutside a browser so the calling siteβs match arm has a sensible default. - parse_
surface_ from_ query - Parse the live page URLβs
?surface=query β thin wrapper aroundrouting::parse_surfacethat pulls the string fromwindow.location.search(). ReturnsNoneoutside a browser (so the calling site falls through to the default mount path). - run
- Trunk entry point β installs panic hooks and mounts the app to
<body>. - surface_
to_ query - Convert an
AppSectionto its URL slug β thin wrapper aroundrouting::surface_slug.