docs: close out Θ-W6 and Phase Θ, and file two legibility-pass deferrals
This commit is contained in:
+27
-53
@@ -115,6 +115,9 @@ drag/drop defects that block getting captures into it.
|
||||
|
||||
**Consolidates items** 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16.
|
||||
|
||||
**All six waves have landed — Phase Θ is complete.** W1 through W6 each carry their own
|
||||
landed note above; see `docs/COMPLETED.md` for every track's full narrative.
|
||||
|
||||
**The organizing constraint.** Three surfaces in the instrument are single-writer by
|
||||
nature and dictate the wave shape:
|
||||
|
||||
@@ -253,60 +256,30 @@ as the boundary.
|
||||
**One track.** Both items repaint essentially every surface in the editor; concurrent
|
||||
tracks would collide everywhere.
|
||||
|
||||
#### Θ-W6-T1 — `legibility-and-antialiasing`
|
||||
**Θ-W6-T1 has landed** — `legibility-and-antialiasing` — see `docs/COMPLETED.md` for the
|
||||
full narrative. It shipped both halves together: knobs grew 28→40 px (inner curve dial
|
||||
14→20), the deck cell 48×58→60×74, and the label band 12→16 px, now drawn in
|
||||
`Font::Label` rather than `Font::Micro` — group captions and toggle segments deliberately
|
||||
stayed `Font::Micro`, since bumping them would outgrow row 1's headroom at the floor
|
||||
width. The editor's default/minimum size grew 840×620→980×680 to fit the wider deck at
|
||||
floor width; an existing saved instance's window grows on open, and the floor is
|
||||
validated by a derived test rather than literals. All fourteen time-constant labels now
|
||||
read in ms (display-only; internal representation untouched) — `holdFraction` knobs,
|
||||
`Len %`, and the bank panel's duration readout stayed out of scope. Double-click resets
|
||||
each ring independently — outer ring resets the value, inner dial resets the exponent to
|
||||
1.0 — reaching the chrome's preview-velocity knob too via a shared `inKnobFace` rule.
|
||||
|
||||
**Goal.** Make the editor legible — bigger knobs and labels, time constants in ms,
|
||||
double-click reset per ring — then audit every drawn surface for high-DPI clean rendering.
|
||||
The antialiasing audit fixed knob arcs and needle, the inner dial arc and needle, staged
|
||||
and spline envelope slopes, the spline contour, the velocity-popup trace, the waveform
|
||||
outline, and the preview triangle; node handles, curve knots, knob discs, buttons, piano
|
||||
keys, loop markers, borders, gradients, and text were already clean. The disposition
|
||||
table is a standing artifact in `docs/product/visual-design-language.md` §8. The
|
||||
piano-key open question is answered: not aliasing — every key is an axis-aligned
|
||||
`LICE_FillRect`, so the earlier width defect was integer-division residue in the tiling,
|
||||
not a sloped edge. High-DPI host scaling itself is unverified (deferred, see
|
||||
`docs/TODO.md`).
|
||||
|
||||
**Consolidates items 10, 13.** Sequence internally: sizing first, audit second.
|
||||
|
||||
**Surface boundary — owns:** `core/instrument/ui/knob_deck` (sizing geometry),
|
||||
`shell/panel/draw_kit` (the shared LICE draw shell — arcs, lines, slopes), and all three
|
||||
Sample-face bands for repaint-level changes. **Note the blast radius:** `draw_kit` is
|
||||
shared with the docked bank panel, so an antialiasing change there lands on the extension
|
||||
UI too. That is desirable, but it puts the panel in this track's verification scope.
|
||||
|
||||
**Behavior — sizing and ergonomics (item 10).**
|
||||
- **Radial knobs and their text labels grow** — both are currently too small. No target
|
||||
size was given; this is a visual-judgment change accepted by eye.
|
||||
- **Time-constant labels display in ms, not seconds.** A display-unit change; this makes
|
||||
no claim about internal representation.
|
||||
- **Double-click on any radial knob resets it to its default value.**
|
||||
- **On dual-ring knobs, each ring is its own reset target**: double-click the outer ring
|
||||
resets the time/level value; double-click the inner curve dial resets the exponent to
|
||||
**1.0** (the settled linear neutral) — each independently, without touching the other.
|
||||
|
||||
**Behavior — antialiasing audit (item 13).**
|
||||
- **A review pass, not a point fix.** Audit each class of drawn surface and confirm it
|
||||
renders with antialiasing (or an equivalent) suitable for high-DPI, high-resolution
|
||||
displays. Where one renders visibly aliased, bring it to the smooth standard.
|
||||
- Daniel named the visibly pixely surfaces: **radial arcs, waveform lines, envelope
|
||||
segment slopes.** By the time this runs, those include the inner dials (W3), the stereo
|
||||
lanes (W2-T2), the staged *and* spline segment slopes (W3, W5), the loop markers
|
||||
(W4-T1), and the piano key edges (W2-T3).
|
||||
- The outcome is observable, not procedural.
|
||||
|
||||
**Acceptance criteria.**
|
||||
- Knobs and labels are legibly larger; **Daniel signs off on the result by eye.**
|
||||
- **Every** time-constant label reads in ms.
|
||||
- Double-click resets any radial knob to its default; on dual-ring knobs, double-clicking
|
||||
the inner dial resets **only** the exponent (to 1.0) and double-clicking the outer ring
|
||||
resets **only** the value.
|
||||
- Radial arcs (including the inner dials), waveform lines (including the stereo lanes),
|
||||
and envelope segment slopes (staged **and** spline) render smooth — **no visible jaggies
|
||||
at 100% scale or on a high-DPI display.**
|
||||
- **The audit produces a short disposition list**: surfaces checked, which needed work,
|
||||
which were already clean. A required deliverable, not a side effect — it is what makes
|
||||
the audit re-runnable.
|
||||
- Daniel signs off by eye on the named surfaces.
|
||||
- The docked bank panel is re-verified for regression, since `draw_kit` is shared.
|
||||
|
||||
**Open questions.**
|
||||
- **Target sizes [verify by eye].** No numeric target was given; item 10's own note is
|
||||
that sizing is judged by eye. Bring a build, not a spec.
|
||||
- **Whether the piano-key width defect was aliasing [verify].** W2-T3 fixes uniform width
|
||||
regardless of cause; this audit confirms whether aliasing was the cause and whether the
|
||||
fix survives DPI scaling.
|
||||
All visual outcomes remain pending Daniel's by-eye sign-off on `dev`.
|
||||
|
||||
---
|
||||
|
||||
@@ -327,7 +300,8 @@ independent of the editor chain — which is what makes Ξ-W1 concurrency-safe w
|
||||
bakes — "filtering, pitching, amp all set up nice" is the instrument items 1, 2, 3, and 14
|
||||
build — and its settled reset scope enumerates the filter parameters, the spline contours,
|
||||
and the loop points by name. Baking a processing chain that does not exist yet is not a
|
||||
schedule preference; the feature is not expressible.
|
||||
schedule preference; the feature is not expressible. Phase Θ landed as of Θ-W6-T1 (see
|
||||
`docs/COMPLETED.md`); this gate is satisfied.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user