editor: the material panel cannot author ratio_scatter or amplitude_tilt #59

Open
opened 2026-09-05 12:31:37 +00:00 by bcox · 0 comments
Owner

Patch format minor 30 added two MaterialSpec fields on the modal-cymbals
branch -- ratio_scatter and amplitude_tilt -- and editor/patch_view.h's
material panel has no widget for either. grep -c "ratio_scatter\|amplitude_tilt" editor/patch_view.h is 0.

Not a data-loss bug. OpenModeTable copies the whole stored spec into
navigation->material, the panel edits that struct in place, and Generate
applies all eight fields -- so opening crash.dsppatch, changing the aspect
and regenerating preserves ratio_scatter = 0.02 and amplitude_tilt = 0.125.

What is missing is authoring. A new plate cannot be given either knob from the
UI, and the crash cymbal's two defining parameters are invisible in the only
surface that authors a MaterialSpec. That sits badly against the panel's own
stated principle, which is that 160 numbers is not a control surface --
editor/patch_view.h's header now says MGEN "gives an author their eight
knobs back" and two of the eight are C++-only.

Both fields are declared "Every material" in materials/spec.h, so they belong
in the material-independent block beside Damping tilt rather than in any
per-material group.

Two SliderFloats, or a sentence in that header saying two of the eight are
authorable only from patches/.

Found by the whole-branch review of modal-cymbals.

Patch format minor 30 added two `MaterialSpec` fields on the `modal-cymbals` branch -- `ratio_scatter` and `amplitude_tilt` -- and `editor/patch_view.h`'s material panel has no widget for either. `grep -c "ratio_scatter\|amplitude_tilt" editor/patch_view.h` is 0. Not a data-loss bug. `OpenModeTable` copies the whole stored spec into `navigation->material`, the panel edits that struct in place, and Generate applies all eight fields -- so opening `crash.dsppatch`, changing the aspect and regenerating preserves `ratio_scatter = 0.02` and `amplitude_tilt = 0.125`. What is missing is authoring. A new plate cannot be given either knob from the UI, and the crash cymbal's two defining parameters are invisible in the only surface that authors a `MaterialSpec`. That sits badly against the panel's own stated principle, which is that 160 numbers is not a control surface -- `editor/patch_view.h`'s header now says MGEN "gives an author their eight knobs back" and two of the eight are C++-only. Both fields are declared "Every material" in `materials/spec.h`, so they belong in the material-independent block beside Damping tilt rather than in any per-material group. Two `SliderFloat`s, or a sentence in that header saying two of the eight are authorable only from `patches/`. Found by the whole-branch review of `modal-cymbals`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/tymbal#59
No description provided.