Description:
Introduce an explicit control-type setting for continuous controllers on the canvas (e.g. “Slider” vs “Dial”), so that resizing a widget—especially making it more square—does not automatically change its visual type. Users should be able to freely adjust the aspect ratio of a control without it turning from a slider into a dial (or vice versa) unless they explicitly choose to change its style.
Problem:
Right now, when working in the canvas editor, sliders that are resized into a more square shape can automatically change into dials. This creates several issues:
  • Unexpected behavior:
    Users carefully shape a layout with sliders, only to see them change into dials when they tweak size or proportions.
  • Design constraints:
    If someone wants a compact, almost-square slider (for space reasons or for a specific visual style), the auto-conversion to a dial prevents that.
  • Inconsistent UI:
    Two controls with the same function may end up with different visual types (one slider, one dial) purely because of small sizing differences.
  • Frustrating iteration:
    Fine-tuning layout becomes trial-and-error: adjust size → widget flips to a dial → undo or fight the aspect ratio, instead of focusing on musical workflow.
In short, the visual type of a control is currently tied to shape, which makes UI design less predictable and more annoying than it needs to be.
Proposed Solution:
Decouple
widget type
from
widget aspect ratio
and give the user explicit control:
  • Add a
    “Control Type”
    setting in the widget inspector for continuous controls, for example:
- Type:
Slider
/
Dial
(and any other relevant variants).
  • When resizing:
- The widget keeps its chosen type regardless of width/height ratio.
- No automatic conversion just because it is square or nearly square.
  • Optional advanced behavior:
- A small, explicit “Convert to Dial / Convert to Slider” command in the context menu, so quick type changes are still easy—but always deliberate.
- If the current auto-switch logic is considered useful by some users, make it a
toggleable preference
, e.g.:
- “Automatically convert sliders to dials when square: On/Off” (default: Off).
  • Ensure that:
- Duplicating or copying widgets preserves their type.
- Templates remain visually stable when edited on different devices or aspect ratios.
Benefits:
  • Predictable layouts:
    Designers know that if they choose “Slider”, it stays a slider, no matter how they resize it.
  • More flexible UI design:
    Users can create compact, nearly square sliders or wide dials without fighting automatic conversions.
  • Cleaner aesthetics:
    A consistent visual language can be maintained across a project, independent of layout tweaks.
  • Less frustration in the editor:
    Small alignment or size adjustments no longer risk changing the control type, making canvas editing smoother and faster.
Examples:
  • A performance layout with a tight grid of level controls:
- The user wants short, almost square
sliders
for volume, arranged in a neat matrix.
- With explicit control type, they set all controls to “Slider” and freely resize them to fit the grid; none of them turn into dials unexpectedly.
  • A sound-design page:
- Cutoff and resonance are shown as
dials
, while volume and sends are
sliders
.
- The user tweaks sizes for better spacing on iPad vs iPhone, and the dial/slider distinction always remains intact.
  • A template shared across devices:
- On one device, the user adjusts some widgets to better fit a different screen size.
- Even after resizing, sliders remain sliders and dials remain dials, so the template looks and feels consistent across all devices.
This summary was automatically generated by GPT-5.1 Thinking on 2025-11-20
.