VOLTAreference

Reference / Work in Studio

Read Studio's visual feedback

Work in Studio

Open in the workbench →
On this page · 12 sections

Understand the visual cues that connect controls, patterns, signals and musical state across the workbench.

Track identity#

Timeline, the Bench arrangement strip, Bay arrangement clips and Mixer strips share the same declaration-index palette. Each Mixer strip opens with a colour cap — a tinted band carrying the name under a solid edge in the track's lane colour — that identifies the track even when it is stopped; the activity dot in that band and the meters still report playback. Rack wiring retains signal-rate colors. Design: Workbench Visual Refinement.

Timeline track cards#

Cycles centers each track name over its play/stop, solo and mute controls. The instrument name has a separate subtitle, followed by a recessed live meter. A fine track-color seam connects the card to its notes even while stopped. Long names shorten with an ellipsis; hover the name for the full track and instrument names and click it to open Track.

Track buttons follow Interface size: 16 px in Compact, 24 px in Standard and 32 px in Stage. The card and gutter grow with them. Hover raises the button surface, pressing offsets its mark slightly, and keyboard focus has an explicit outline. Manual mute fills its button; muting inherited from Solo or a group uses a quieter outline. Active colors retain readable marks in light and dark themes.

Timeline places view and zoom controls first, then Follow, page navigation and Snap. Selection actions use the same control styles as the rest of Studio. The master meter fits the actual panel width; compact readouts retain momentary loudness and true peak, with all four measurements explained on hover. The Patch Inspector disclosure uses a larger, visibly focused or hovered row.

Rack graph labels#

Graph cards have wider bodies and taller text wells. Automatic fit keeps its existing zoom floor while scaling names toward 11 screen points at Standard density; tiny address metadata disappears at small zoom. Captions use operational ink, and the waveform, envelope and filter glyphs retain their own space. Narrow Rack panels gather the six layouts in View, keeping Fit and Float beside it; wider panels retain the individual view chips.

Mixer#

Channel strips carry a compact dB scale beside their fader and meter, sharing one travel rect and the −60…+6 dB mapping. Unity is labelled first, then each 12 dB down to −48 and the floor (inf); +6 and −6 are labelled only where they clear the others. The fader cap is a raised key with grip ribs and a centre line in the channel colour. The meter is the shared segmented ladder (widgets::level_meter): unlit ghost segments show the colour zones in silence, each lit segment takes the colour of its own dB position, and the peak span, peak-hold tick and clip lamp keep their meanings.

Dragging, Shift-dragging, double-click reset and typed dB entry use the same controls and source transactions as before. Master aligns its fader travel with the strips and keeps compact tabular LUFS/dBTP readouts.

Bench / Notebook#

Notes, declaration cells and Flow headings share a 12-point horizontal inset. Quiet mode changes vertical spacing without moving this alignment. A fine margin rule with terminal marks gives notes and code cells a common datum; the focused editor raises its rule to the primary color. Source wells and attached viewers have fine connecting seams drawn in the existing row gaps. Flow section headings have stable numbers in dataflow order.

The rules do not capture input or add scroll height. Notebook source, quiet, story, grid and Flow presentations keep their existing source and navigation models.

Bay#

Cables leave sockets along short straight leads before bending. Forward ports close together shorten their leads. The shared route points drive the stroke, hit testing, selection and signal packets, including pending/dragged cable previews. The sampling budget and routing cache remain bounded. The socket finish runs after route selection, preserving the chosen trunks and interior bends.

Full-detail sockets have a recessed center and fine outer ring; connected outputs retain their plug dot and dangling sockets stay hollow. Mini cards use a simpler socket; constellation cards omit it. The full-detail board adds sparse registration crosses to the existing dot grid. A selected cable has a thin inner highlight in addition to its semantic route color.

Source, Rack and Timeline#

The focused Source editor brackets the current declaration beside its existing gutter, using the same fold boundaries and wrapped/folded row map as the text. The bracket falls back to the current line outside a declaration. It consumes no layout space and does not change selections or hit targets.

Rack graph nodes have fine corner registration at readable zoom levels. Modulation parameter spans add quarter divisions between their existing measured low/high bounds. An unknown base/range remains explicitly unknown; no guessed default or modulation depth is drawn.

Timeline gives every fourth bar a stronger label and rule, groups four bars with a fine ruler bracket, and registers loop starts/ends with short clip caps. These marks use the existing time window and clip geometry. They do not create arrangement sections or change loop/seek behavior.

Scopes and Lens#

Scope waveforms have quarter-window and ±0.5 amplitude grid lines, with ±1 labels at readable sizes. The time label derives from the displayed sample count and reported sample rate. Embedded Learn panes, which receive samples without a rate, state the sample count instead of inventing milliseconds.

Spectrum marks use the actual 48-bar, power-warped FFT-bin mapping and existing −100…−20 dB display range. Known sample rates permit 1 kHz and 10 kHz labels where those frequencies are represented; narrow panes omit those labels. Existing retained-sample/peak-hold and active, quiet, re-arming and stopped states remain authoritative. State words paint above grids and traces.

Lens adds a fixed pitch circle with semitone registration and quieter minor divisions. Thirds, fourths and fifths within the sounding set have stronger connections; the legend names that hierarchy. Pitch-class, chord, energy-center and tension readouts use aligned rows. The former clock-driven rotating dot is removed, so silence does not imply activity.

Resources, learning and Reference#

Sample waveform windows have endpoint and quarter-span registration, plus a small cap on the actual audition playhead. Audition, stop, insert and drag continue through their existing controls.

Songs and Shelf use mirrored geometric identity stamps. Catalog songs use a portable filename key, workspace rows their relative path, and Shelf patches their captured source. The hash is specified FNV-1a, producing the same stamp on native and Wasm. These marks identify items; they are not audio thumbnails or quality scores. Existing metadata and provenance remain the source of facts.

Course rails show each completed lesson independently. A lesson's rail counts only required goals, matching its GOALS · n OF m heading; stretch goals keep their separate checklist marks. Completion is never inferred from elapsed time.

Reference signature/runnable-example blocks carry fine registered edges. Copilot candidate frames add a source identity and PROPOSED EDIT label above the real diff. Existing compilation/verification controls still own successful verification and application; the new marks confer no approval.

Song selector and macros#

The transport's SONG(title ▾) ornament joins the category and current song in one control. Parentheses frame the title, with a small downward caret inside the closing parenthesis. Click anywhere on the ornament to open the song chooser; hover to read the full title. It stays together when the transport wraps and has one keyboard focus target.

Macro cards share equal column widths, with the name and MIDI-learn socket on one head row. Long names truncate in place and remain available on hover. Calibrated dial marks and a recessed face distinguish the control from its live effective-value dot. The recent effective values draw as a breathing band on the ring (cleared when the transport stops), and the knob glows while its shown value is travelling, then settles. Drag to adjust, hold Shift for finer movement, or double-click to reset.

Shared and social surfaces#

Community feed and Radio queue use the same item-ID stamp, with title space bounded by real stats and controls. Radio's rail reflects its actual scheduled auto-advance countdown and disappears when playback is off or still tuning. The room dialog shows an identity stamp when its room name is known; existing connection, roster, permissions and reconnecting readouts stay authoritative.

Appearance → Theme shows cached specimens of each theme's actual conditioned screen, ink and accent colors beside the existing radio choices, in a bounded scrolling menu. Shared cards, First Run choices and offline states have quiet corner registration; filled chips gain a fine upper edge while retaining their keyboard focus outlines and existing role/selected-state semantics.

Implementation#

  • ui/src/mixer.rs: colour cap, fader and dB scale painters; ui/src/widgets.rs: the shared level meter.
  • ui/src/bench.rs: notebook insets, margin datum, seams and Flow labels.
  • ui/src/benchbay.rs: grid, socket and selected-route painters.
  • ui/src/benchbay/layout.rs: shared cable geometry.
  • ui/src/finish.rs: shared edge, identity, completion-rail and theme-specimen painters.
  • ui/src/{editor,rack,timeline,scopes,lens}.rs: instrument-view details.
  • ui/src/{assets,shelf,learnview,docsview,aicanvas,community,widgets}.rs and ui/src/app/{workspace,header,room}.rs: resource, social and shell integration.

These are native egui primitives in the shared volta-ui crate, also built for the browser. Theme roles supply every color; no new assets, animation or dependencies are required. All six stages in the staged plan are complete.