SSPACEAGEDOCUMENTATION/
DSP and Instruments

Redshift Multi-Page UI Plan

Updated Aug 27, 2026   |   4.3 KB   |   docs/Redshift_Multi_Page_UI_Plan.md

Redshift Multi-Page UI Plan

See Redshift_Motion_System_Integration_Plan.md for the staged expansion of the Tone page's A/B motion routes into cycle, trigger, skew, step, and MSEG modes.

Created: 2026-06-22

Decision

Redshift should not be a single crowded dashboard. The one-page approach produced inconsistent knob sizes, cramped controls, and a poor visual experience.

The new direction is:

One top-level REDSHIFT synth tab, containing Redshift-specific internal pages.

The goal is larger knobs, consistent spacing, and a calmer page that feels like a real instrument.

Layout Rules

  • Use one consistent Redshift dial size across all pages.
  • Target rotary bounds: 96-112 px.
  • Label above each knob: approximately 18 px.
  • Value readout below each knob: approximately 18 px.
  • Minimum gutter between controls: 16-24 px.
  • Prefer 3 or 4 knobs per row.
  • Do not shrink knobs to make everything fit.
  • If a page needs more space, use a second page or scroll intentionally.

Proposed Redshift Pages

Voice

Purpose: oscillator and tone-source identity.

Controls:

  • Waveform
  • Base Freq
  • Osc 2 Level
  • Osc 2 Ratio
  • Detune
  • Sub Body
  • Noise

Notes:

  • Waveform is already part of Redshift patch identity but currently lives elsewhere. It should be brought into the Redshift Voice page.

Tone

Purpose: filter, drive, and physical/spectral color.

Controls:

  • Cutoff
  • Resonance
  • Drive
  • Filter Model
  • Filter Mode
  • Slope (6/12/18/24 dB/oct where supported)
  • Vel Filter
  • Filter Envelope
  • Filter Decay
  • Bit Depth
  • Rate Reduction

Notes:

  • Body Comb and Metal Shimmer can eventually benefit from PASP-style damping/resonator thinking.
  • Cutoff, Resonance, Drive, Velocity Filter, Filter Envelope, Filter Decay, Bit Depth, and Rate Reduction each expose an M editor with A, B, Depth, tempo Sync, shared Shape, and shared Key Reset. Depth blends the manual knob toward the complete A-to-B trajectory; it does not change the endpoints.
  • The former single Filter LFO is retired from this page and from Redshift DSP.
  • Filter Model, Mode, and Slope remain separate. Slope is contextual: available for truthful LP/HP combinations and disabled for modes without a meaningful order choice. Switching slope is click-free and preserves all Tone motion.
  • An orange M state means both a sync rate and nonzero Depth are active for that destination on the currently edited instrument instance.
  • Main rotaries progressively ghost according to Motion Depth and become non-editable only at 100%. An orange display arc shows the live result while preserving the stationary manual anchor value.

Envelope

Purpose: amplitude shape and performance contour.

Controls:

  • ADSR visual editor
  • Attack
  • Decay
  • Sustain
  • Release

Notes:

  • The ADSR graph needs generous room. Do not force it to share a cramped row with unrelated controls.

Motion

Purpose: time-varying animation and stereo behavior.

Controls:

  • Vibrato Rate
  • Vibrato Depth
  • Vibrato Fade
  • Vibrato Sync
  • Osc Spread
  • Wave Fold
  • Width
  • X-Mod
  • Gate Depth
  • Gate Rate
  • Gate Pattern
  • Glide / Portamento editor

Notes:

  • This page is a candidate for future "Motion Blocks" reuse.
  • Gate settings must be added to Redshift patch save/load if not already included.
  • Portamento expands the existing Glide path with mode, Time/Rate timing, tempo sync, curve, direction, legato envelope behavior, and poly handling.

Space

Purpose: sends and patch housekeeping.

Controls:

  • Aux Reverb
  • Aux Delay
  • Save Patch
  • Load Patch
  • Patch Readout
  • Starting Point

Notes:

  • This page can eventually expose useful routing context, but should not duplicate mixer controls unnecessarily.

Implementation Risks

  • Redshift code currently uses legacy poly* member names. Avoid broad renaming during this UI pass.
  • Saved patch coverage should be audited before the Motion page goes live.
  • Waveform ownership must be clarified: Redshift either owns the waveform selector or should not save waveform as part of its patch identity.
  • This should be implemented as a small Redshift-specific internal page system first, then generalized if it proves clean.

Future Reuse

The Redshift page system can become the template for:

  • Propulsion 1
  • Liftoff
  • Glass Moon
  • Moonshadow
  • Lunacy
  • Quasar

This is also a chance to establish SpaceAge's synth-editor visual language before skinning gets serious.