Catalog
The UI Kit publishes presenters, not Custom Elements. Pick a functional group below, then mount the presenter against any compatible Headless object, store, controller or binding. Each card links to the entry’s own page. The groups describe UI responsibilities; they do not change npm import paths. Presenters with no current Score or Audio Element consumer are independently usable.
Transport and navigation
Playback, seeking, visible ranges and selection through playlists or indexed rows.
Parameters and modulation
Parameter editing, macro controls, envelopes, modulation and equalizer curves.
Mixing and capture
Channel mixing, realtime metering and record/play/export workflows.
Note input
Piano, grid and chord surfaces with reusable musical input interaction.
Views and analysis
Pitch and harmony readouts, analytical reports and interactive signal inspection tools.
Layout and feedback
Shared panels, rendering hosts, workbench shells and loading or failure feedback.
How Score and Audio Elements compose these presenters
These relationships show which presenter to reuse when replacing part of a Score or Audio Element. Declaration-only Elements have no visible UI, so the presenter column is not applicable to them.
Owns clocks, audio graphs, analysis sessions, view state and resource lifecycle. No DOM.
Owns tokens, accessible primitives, presenters and reusable DOM bindings. No domain resources.
The concrete Element class maps its own public API and directly composes the two layers.
Score · Play 6
| Web Component | Headless / model | UI Kit composition | Headless status | Published UI |
|---|---|---|---|---|
<score-player> | ScorePlayer / RackTransportController | @webmusic/ui transport · seek · preset/rack shell | Composed | Yes |
<score-rack-control> | Rack | @webmusic/ui mixer · master/member faders · labels | Composed | Yes |
<score-rack-part> | Rack member (score + Sound) | Declaration only; renders nothing — documented on the desk it belongs to | Behavior only | Not applicable |
<score-recorder> | ScoreRecorderSession + recordedNotesToScore | @webmusic/ui recorder · record/play/export · status | Composed | Yes |
<score-note-input> | note-input-model · piano/grid/chord/QWERTY pitch mapping | @webmusic/ui note surface · presenter-owned pointer/chord/QWERTY interaction | Composed | Yes |
<score-synth-panel> | LfoController + EqController + SynthPanelAudioGraph + parameter descriptors | @webmusic/ui section panel · parameter rack · macro rack · envelope · EQ · LFO | Composed | Yes |
Score · Analyze 2
| Web Component | Headless / model | UI Kit composition | Headless status | Published UI |
|---|---|---|---|---|
<score-live-chord-analysis> | LiveChordTracker + sounding chord spelling | @webmusic/ui harmony · current-chord interpretation | Composed | Yes |
<score-chord-analysis> | AnalysisSession + chord segmentation + key-relative probe | @webmusic/ui harmony · selectable harmonic lane | Composed | Yes |
Score · View 3
| Web Component | Headless / model | UI Kit composition | Headless status | Published UI |
|---|---|---|---|---|
<score-view> | createScoreView + createScoreMap + createPianoRollLayout + player binding | @webmusic/ui stage · timeline · five score surfaces | Composed | Yes |
<score-pitch-view> | ActiveNoteTracker + pitch projections + player binding | @webmusic/ui pitch · keyboard/staff/fretboard | Composed | Yes |
<score-sheet-view> | OSMD renderer binding + MusicXML serializer | @webmusic/ui stage · status; optional OSMD engraving surface | Composed | Yes |
Audio · Play 4
| Web Component | Headless / model | UI Kit composition | Headless status | Published UI |
|---|---|---|---|---|
<audio-player> | AudioPlayer + selected clip/queue/mix backend | @webmusic/ui transport · seek · time · status | Composed | Yes |
<audio-playlist> | AudioPlaylist | @webmusic/ui playlist · queue selection · per-entry state | Composed | Yes |
<audio-mixer> | AudioMixer | @webmusic/ui mixer · master/member strips · mute/solo | Composed | Yes |
<audio-recorder> | AudioRecorder | @webmusic/ui recorder · record · live meter · status | Composed | Yes |
Audio · Analyze 5
| Web Component | Headless / model | UI Kit composition | Headless status | Published UI |
|---|---|---|---|---|
<audio-level-analyzer> | createRealtimeAnalyzer + borrowed player analyser | @webmusic/ui level-analyzer · sampled dynamics · threshold · freeze | Composed | Yes |
<audio-meter> | AudioMeterController + owned/borrowed analyser | @webmusic/ui meter · quick level/peak/spectrum monitor | Composed | Yes |
<audio-oscilloscope> | createRealtimeAnalyzer + borrowed player analyser | @webmusic/ui oscilloscope · trigger · timebase · freeze · probe | Composed | Yes |
<audio-spectrum-analyzer> | createRealtimeAnalyzer + borrowed player analyser | @webmusic/ui spectrum-analyzer · log FFT · frequency probe · peak hold | Composed | Yes |
<audio-transient-analyzer> | createTransientDetector + borrowed player analyser | @webmusic/ui transient-analyzer · attack strength · threshold · freeze | Composed | Yes |
Audio · View 2
| Web Component | Headless / model | UI Kit composition | Headless status | Published UI |
|---|---|---|---|---|
<audio-view> | AudioTimeline + renderer binding | @webmusic/ui stage · SurfaceSlider · status; waveform/spectrogram/meter surface | Composed | Yes |
<audio-live-view> | LiveViewController + LiveScrollBuffer over a borrowed analyser | @webmusic/ui CanvasStage · RAF/DPR/status; live render adapter | Composed | Yes |