Skip to main content
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>

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>

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.