Expand description
<RecorderPage /> — the live recorder surface that composes the
ui-storybook presentational 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).
The presentational components stay pure (they take view-models +
optional callbacks). This module owns the live state — RwSignals
seeded from the *_ipc modules — and converts each tick of state
into the matching view-model.
IPC contracts (camera_ipc, mic_ipc, screen_ipc,
system_audio_ipc, recording_ipc) are NOT touched. This is a
pure render-layer rewire so the existing TCC / permission flows
keep working exactly as before.
Structs§
- Display
Error 🔒Props - Props for the
DisplayErrorcomponent. - Display
Summary 🔒 - View-model for the display selector row.
- Live
Audio 🔒AppList Props - Props for the
LiveAudioAppListcomponent. - Live
Device 🔒Picker Props - Props for the
LiveDevicePickercomponent. - Live
OnScreen 🔒Popover Props - Props for the
LiveOnScreenPopovercomponent. - Live
Source 🔒RowProps - Props for the
LiveSourceRowcomponent. - Live
System 🔒Audio RowProps - Props for the
LiveSystemAudioRowcomponent. - Recorder
Page Props - Props for the
RecorderPagecomponent.
Enums§
- Open
Picker 🔒 - Which expandable picker, if any, is currently open. Mutually exclusive so opening one closes the others.
Functions§
- Display
Error 🔒 - Required Props
- Live
Audio 🔒AppList - Live, click-wired system-audio app list. All / None / Suggested
filter chips fire
on_filter; clicking an app row fireson_app_toggle(bundle_id). - Live
Device 🔒Picker - Live, click-wired device-picker (camera + mic). Each row is a real
<button>that fireson_select(id)when clicked. - Live
OnScreen 🔒Popover - Live on-screen options popover with click-wired toggles. Mirrors
the storybook
OnScreenOptionsPopoverHTML so CSS stays shared. - Live
Source 🔒Row - Live, click-wired equivalent of
ui_storybook::components::recorder::CaptureSourceRow. - Live
System 🔒Audio Row - Live, click-wired system-audio row. Mirrors
SystemAudioRow’s HTML for visual fidelity but routes the toggle - Recorder
Page - The full Recorder surface — exact match to the design mock.
- app_
color_ 🔒for - app_
monogram 🔒 - aspect_
ratio_ 🔒for - audio_
app_ 🔒view_ list - camera_
device_ 🔒options - camera_
subtitle 🔒 - capture_
mode_ 🔒slug - default_
on_ 🔒screen_ options - device_
state_ 🔒for - display_
label 🔒 - Display row label (AUT-271) — the source’s real name, or a generic fallback when the platform reports an empty label. Pure + unit-tested.
- format_
display_ 🔒size - gcd 🔒
- install_
status_ 🔒listener - is_
suggested_ 🔒app - mic_
device_ 🔒options - mic_
subtitle 🔒 - monogram_
for 🔒 - refresh_
audio_ 🔒apps - refresh_
cameras 🔒 - refresh_
displays 🔒 - refresh_
mics 🔒 - save_
panel_ 🔒visible - Whether the post-record Save panel (M-SAVE.3) should replace the
record/stop footer. True while a recording is awaiting export
(
has_pending) or an export just succeeded and is showing its “Saved → Reveal” confirmation (has_saved, dismissed via “Done”). - selected_
camera_ 🔒label - selected_
mic_ 🔒label - show_
as_ 🔒recording - Whether the recorder controls should render the “recording” state
(the RECORDING pill + Stop button). True only when the backend
reports an active session (
backend_recording) and the user hasn’t just requested a stop (stop_requested).