docs(TODO-1.0): fold third answer round — spline point ceiling 128, right-click delete; doc fully settled

This commit is contained in:
2026-07-28 19:04:36 -04:00
parent 678274c19b
commit 35f02cece2
+43 -17
View File
@@ -17,8 +17,12 @@ questions**.
A **second follow-up round** (2026-07-28, same day) settled nearly all of the A **second follow-up round** (2026-07-28, same day) settled nearly all of the
remainder. Each item carries that round's verbatim as a third provenance block; remainder. Each item carries that round's verbatim as a third provenance block;
answers are folded the same way (marked *settled by second follow-up*). Items 1 answers are folded the same way (marked *settled by second follow-up*).
and 2 now have no open questions; item 3 retains two narrow ones.
A **third follow-up round** (2026-07-28, same day) settled item 3's last two
questions (point-count ceiling; delete gesture — reversing the second round's
alt-click answer back to right-click). **All three items now have no open
questions; the document is fully settled at the product level.**
Ordering note: item 1's curve/overlay treatment explicitly anticipates item 2's Ordering note: item 1's curve/overlay treatment explicitly anticipates item 2's
filter envelope ("filter to be added"), and item 3 layers on both. They can land filter envelope ("filter to be added"), and item 3 layers on both. They can land
@@ -277,6 +281,14 @@ AHDSR envelope, and make the knob-deck row read in signal-flow order.
> left click add, alt-click delete, cntrl-click toggles point hard or soft. > left click add, alt-click delete, cntrl-click toggles point hard or soft.
> spline active -> stage knobs disabled. > spline active -> stage knobs disabled.
**Daniel's third follow-up (verbatim, 2026-07-28).**
> oh, maybe 64? is that way too much? I don't want to limit from long rhythmic
> phrases, which require a high resolution to be interesting
>
> oh, do right click delete instead for the spline
> 128 then
**Intent.** Offer a free-drawn alternative to every staged envelope: the user **Intent.** Offer a free-drawn alternative to every staged envelope: the user
switches any EG from Staged to Spline mode and draws the contour directly, with switches any EG from Staged to Spline mode and draws the contour directly, with
the monotonic-spline machinery already proven by the velocity curve — enhanced the monotonic-spline machinery already proven by the velocity curve — enhanced
@@ -299,11 +311,22 @@ so sharp corners are possible, not everything smoothed.
the actual sample visually 1:1** — the contour's full width maps directly the actual sample visually 1:1** — the contour's full width maps directly
onto the displayed sample. Consequently a different-length capture rescales onto the displayed sample. Consequently a different-length capture rescales
the stored contour to its own length. *(Settled by second follow-up.)* the stored contour to its own length. *(Settled by second follow-up.)*
- **Point-editing grammar.** **Left-click adds a point; alt-click deletes a - **Point-editing grammar.** **Left-click adds a point; right-click deletes a
point; control-click toggles a point hard/smooth.** Alt-click-delete point; control-click toggles a point hard/smooth.** *(Settled by third
supersedes the earlier speculation that the velocity-curve popup's follow-up; control-click hard/smooth confirms the original ask.)* Note for
right-click-delete grammar would be reused. *(Settled by second follow-up; readers of the prior revision: the second follow-up answered alt-click
control-click hard/smooth confirms the original ask.)* delete; the third follow-up **supersedes that** with right-click delete —
which matches the velocity-curve popup's already-shipped right-click node
delete, giving one point-editing grammar across both spline consumers.
- **Point-count ceiling: 128.** A spline contour holds at most **128 points**
(floor: the two endpoints implied by full-length coverage). Daniel floated
64 and raised it to 128 explicitly so the cap does not limit **long rhythmic
phrases, which require high resolution to be interesting** — at roughly two
points per articulation event, 64 points is about two bars of 16ths and 128
about four. The ceiling is a musical bound, not a performance one (segment
lookup is logarithmic; on-screen the editor's 8 px minimum node separation
is the practical density limit anyway). **An engineer tempted to lower this
number should read that motivation first.** *(Settled by third follow-up.)*
- **Staged controls disabled while Spline is active.** While a Spline EG is - **Staged controls disabled while Spline is active.** While a Spline EG is
active, that envelope's **staged segment knobs are disabled** — inert, not active, that envelope's **staged segment knobs are disabled** — inert, not
merely inaudible — including their item-1 inner curve dials (the dial is merely inaudible — including their item-1 inner curve dials (the dial is
@@ -338,25 +361,26 @@ so sharp corners are possible, not everything smoothed.
**Open questions.** **Open questions.**
- **Point-count bounds.** The add/delete/toggle gestures are settled, but any - None remaining — both prior questions closed by the third follow-up round.
minimum/maximum point count is unstated (a floor of two endpoints seems Point-count bounds: ceiling 128, floor two endpoints. Gesture convergence:
implied by full-length coverage; a ceiling, if any, is Daniel's call). resolved by the delete-gesture reversal itself — the Spline EG's right-click
- **Velocity-curve popup gesture convergence.** The Spline-EG grammar is delete now matches the velocity-curve popup's shipped right-click node
alt-click delete, but the existing velocity-curve popup shipped with delete, so **no migration is needed on either side**; one grammar serves
right-click node delete. Since the enhanced spline serves both, does the both consumers.
popup migrate to the alt-click grammar for consistency, keep right-click, or
accept both?
**Acceptance criteria.** **Acceptance criteria.**
- Each of the pitch, filter, and amp EGs offers a Staged/Spline mode switch; - Each of the pitch, filter, and amp EGs offers a Staged/Spline mode switch;
in Spline mode the overlay (via the item-1 radio switch) shows and edits the in Spline mode the overlay (via the item-1 radio switch) shows and edits the
drawn contour, and played notes audibly follow it. drawn contour, and played notes audibly follow it.
- Left-click on the contour adds a point at that position; alt-click on a - Left-click on the contour adds a point at that position; right-click on a
point deletes it; control-click toggles it hard/smooth. Points are smooth by point deletes it; control-click toggles it hard/smooth. Points are smooth by
default; a hard point renders a visible sharp angle with no smoothing on default; a hard point renders a visible sharp angle with no smoothing on
either adjacent segment, and the discontinuous slope is audible where the either adjacent segment, and the discontinuous slope is audible where the
modulation target makes it so (e.g. a pitch EG corner). modulation target makes it so (e.g. a pitch EG corner).
- A contour accepts points up to the **128-point ceiling**; attempting to add
beyond it is refused without disturbing the existing contour. The two
endpoints cannot be deleted (full-length coverage always holds).
- A contour of several segments joined at hard points plays back over the full - A contour of several segments joined at hard points plays back over the full
sample length exactly as drawn — including contours that rise and fall sample length exactly as drawn — including contours that rise and fall
freely (no globally-monotone restriction), with no overshoot between any freely (no globally-monotone restriction), with no overshoot between any
@@ -375,4 +399,6 @@ so sharp corners are possible, not everything smoothed.
switch back — the staged values are exactly as left; switch forward again — switch back — the staged values are exactly as left; switch forward again —
the spline contour is exactly as drawn. Both survive save/reload. the spline contour is exactly as drawn. Both survive save/reload.
- The velocity→amp transfer-curve editor supports the same control-click - The velocity→amp transfer-curve editor supports the same control-click
hard/smooth toggle with identical rendering behavior. hard/smooth toggle with identical rendering behavior, and its existing
right-click node delete matches the Spline EG's delete gesture unchanged —
one point-editing grammar across both consumers.