New to wireframes? Start with UI Customization Concepts and the Template Variables overview.
Overview
The Recorder feature powers audio / video / screen recording inside comments and standalone playback. Variables below are available inside any<velt-recorder-...-wireframe> tag via three forms:
This feature uses the flat-config access pattern — every property lives directly on the root of
componentConfigSignal() (no nested appState / featureState / data / uiState). Reach values via {componentConfigSignal.<name>}. The shorter {<name>} form also works for any field at the root of the recorder’s componentConfig except for the names listed in the warning below.Naming conflicts — use full path. A few names collide with mappings used elsewhere. Inside a Recorder wireframe, prefer the explicit path on the right when reading these values:
Component Config — Recorder Button
State on the<velt-recorder-button> trigger.
Component Config — Recorder Pin
State on the<velt-recorder-pin> icon shown over a recorder annotation.
Component Config — Recorder Player (shared)
State shared by<velt-recorder-player> and every recorder-player-* inner primitive. Each tag receives the same componentConfigSignal carrying the active recording’s metadata + behaviour callbacks.
Player behaviour callbacks
The shared player config also exposes ~15 behaviour callbacks you can attach to your own buttons:Type Reference
Types referenced by the variables above:Subcomponents
Each subcomponent below has its own wireframe tag.recorder-button (root)
The record-trigger button.
- Public element:
<velt-recorder-button> - Wireframe tag: No direct wireframe slot — see child slots below.
- Children:
recorder-audio-tool,recorder-video-tool,recorder-screen-tool,recorder-all-tool— one per recorder type.
Children
recorder-control-panel
The control panel that appears during an active recording (record / pause / stop / discard).
- Public element:
<velt-recorder-control-panel> - Wireframe tag: No direct wireframe slot — see child slots below.
recorder-pin
The pin icon shown over a recorder annotation.
- Public element:
<velt-recorder-pin> - Wireframe tag: No direct wireframe slot — see child slots below.
recorder-player
The playback widget (audio + video). Composes ~20 sub-primitives — each with its own wireframe tag (see Recorder Player Internals below).
- Public element:
<velt-recorder-player> - Wireframe tag: No direct wireframe slot — see child slots below.
Recorder Player Internals
Each player primitive below has its own<velt-recorder-player-<name>-wireframe> tag. All receive the same shared componentConfigSignal.
recorder-player-overlay
The overlay UI on top of the playing video (controls + scrubber + buttons). Most controls live inside the overlay.
- Wireframe tag:
<velt-recorder-player-overlay-wireframe>
recorder-player-video-container / recorder-player-video
Container for the <video> element + the inline <video> itself.
- Wireframe tags:
<velt-recorder-player-video-container-wireframe>,<velt-recorder-player-video-wireframe>
- React / Next.js
- Other Frameworks
recorder-player-audio-container / recorder-player-audio
Container + inline <audio> for audio recordings.
- Wireframe tags:
<velt-recorder-player-audio-container-wireframe>,<velt-recorder-player-audio-wireframe>
recorder-player-audio-waveform
Animated waveform visualization for audio recordings.
- Wireframe tag:
<velt-recorder-player-audio-waveform-wireframe>
recorder-player-audio-toggle
Play / pause button group with separate play and pause icon tags.
- Wireframe tags:
<velt-recorder-player-audio-toggle-wireframe>,<velt-recorder-player-audio-toggle-play-wireframe>,<velt-recorder-player-audio-toggle-pause-wireframe>
recorder-player-timeline
The scrubber timeline.
- Wireframe tag:
<velt-recorder-player-timeline-wireframe> - Children:
<velt-recorder-player-timeline-seek-bar-wireframe>(the draggable seek bar).
recorder-player-time
The current / total time labels.
- Wireframe tag:
<velt-recorder-player-time-wireframe>
- React / Next.js
- Other Frameworks
recorder-player-name
The recording’s name / title.
- Wireframe tag:
<velt-recorder-player-name-wireframe>
Action buttons
Action buttons on the player overlay. Each has its own wireframe tag.recorder-player-subtitles / recorder-player-subtitles-button
Subtitles overlay + toggle button.
- Wireframe tags:
<velt-recorder-player-subtitles-wireframe>,<velt-recorder-player-subtitles-button-wireframe>
recorder-player-transcription
The transcript panel.
- Wireframe tag:
<velt-recorder-player-transcription-wireframe>
The full set of transcription-specific variables (
vttFileTextArray, highlightedTextIndex, etc.) lives on the Transcription feature config when the transcription panel is in standalone mode. Inside the recorder player, a subset of those values is exposed via the shared player config.Deeply-Nested Wireframe Tags
The recorder feature has a large set of overridable surfaces, particularly in the control panel (during recording) and the expanded full-screen player.Recorder tool tags
Control panel tags (during recording)
The control-panel renders during an active recording. It has floating, thread, and collapsed modes plus an action bar with stop / pause / clear / time / waveform indicators.Expanded player tags (full-screen playback)
The expanded (full-screen) player has its own control bar with separate tags for each control.Related
- Recorder Tool — wireframe overview for the trigger button.
- Control Panel — wireframe overview for the recording-in-progress panel.
- Recorder Player — wireframe overview for the playback widget.
- Recorder Player Expanded — wireframe overview for the full-screen player.
- Subtitles, Transcription — wireframe overviews for the subtitles / transcription overlays.
- Template Variables — overview of the
velt-data/velt-if/velt-classsystem.

