aboutsummaryrefslogtreecommitdiff
path: root/tests/gallery-probes/probe-fams.mjs
Commit message (Collapse)AuthorAgeFilesLines
* feat(gallery): bring the decade-through-EQ ten to the extraction barCraig Jennings2026-07-181-3/+3
| | | | | | | | decadeBox, twoHandSafety, voiceLoop, miniSig, fuelBar, radialRing, sparkline, waveStrip, scope, and eqBars each get the contract comment. The eight DOM builders take dupre- prefixes across their markup and CSS blocks. voiceLoop's inner bar becomes dupre-vk-bar to stay clear of fuelBar's dupre-bar, and miniSig and eqBars move their cell modifiers to the shared dupre-on, dupre-hot, and dupre-clip. Domain gates land where a handle could wedge: decadeBox coerces and clamps its digits, twoHandSafety ignores sides other than L and R, voiceLoop keeps the demo state to the stock loop set (a caller's shorter list used to crash on it), the meters clamp set() to their documented ranges, and sparkline and scope guard the one-sample case that drew NaN coordinates. Two probe checks cover the gates and drive voiceLoop's grammar through the prefixed DOM. probe-fams follows scope's rename. Extraction audit: 74/111 contract comments.
* feat(gallery): bring ten core controls to the extraction barCraig Jennings2026-07-181-4/+4
| | | | | | | | Batch 2 of the extraction sweep: consoleKeys, abcKeypad, indexPlate, faderH, faderV, knob, segmented, chipToggle, armButton and lampRow now carry the split-flap-shape contract comment. Every class they own wears the dupre- prefix, internals and modifiers included (dupre-key dupre-green, dupre-fader dupre-cap), with every in-kit consumer updated in the same pass: the dsky and annunciator pads, the rotarySelector and encoder spindles, the page's size bar, and the probe selectors. I also removed indexPlate's dead '#dupre-defs' lookup (nothing ever created that id) and dropped the unused .key.off rule. The faders, knob and lampRow now cache their element refs instead of re-querying every set(), and segmented and lampRow clamp set() the way consoleKeys does. The audit's contract count moves from 14 to 24 of 111.
* refactor(gallery): rename GW namespace to DUPRE, kit to The Dupre KitCraig Jennings2026-07-181-2/+2
| | | | | | The gallery and its library are now The Dupre Kit, named for the dupre color theme. GW was too opaque to remember. The stylesheet id is now dupre-css, the card handle property is .dupre, and page prose says instrument instead of widget. File names stay put. Renaming them is a separate decision. Historical log entries in todo.org keep their GW references as a record.
* fix(test): stop a failing screen-family check orphaning its browserCraig Jennings2026-07-161-38/+75
| | | | | | probe-fams.mjs had no try/finally, so a throw skipped chrome.kill() and left the headless browser alive on its port. The next run connected to that survivor and reported results from a stale page: old widgets.js, chips already clicked. It cost me a debug loop today, insisting a card's default ink was green and another's chips were missing, neither of which was true of the page on disk. A probe that answers from the previous run is worse than one that crashes. Its two siblings already had the guard.
* refactor(gallery): extract indicators R10, R11, R25, R26, R30, R31 into GW ↵Craig Jennings2026-07-121-7/+7
| | | | builders
* refactor(gallery): extract meters R01, R07-R09, R13, R17 into GW buildersCraig Jennings2026-07-121-2/+2
| | | | The VU ballistics chase stays page-side and drives mcVu.set(t); the R17 trace animation is widget-owned so it moves into the builder with its reduced-motion gate. The R17 face gradient keeps instance-local defs because its stops read screen-family vars from the widget subtree; probe-fams selectors follow the retired rcrt ids to the card handle.
* refactor(gallery): extract controls R16, R18-R24 into GW buildersCraig Jennings2026-07-121-4/+4
| | | | Entry keypad, thumb-slide pair, waveform region editor, drum roller, LED program row, three-position slide, spun knob, and stomp switch. The drum roller's per-instance clip paths get a uid() helper so two instances can coexist; the region editor's screen-family chips now reach the widget through the card handle (card.gw.el) instead of a stage id, and probe-fams drives its post-recolor check through the handle's set(). Behavioral pass now 78 checks; both probes green.
* test(gallery): repair stale probe assertionsCraig Jennings2026-07-121-1/+2
| | | | The committed probes asserted the pre-sprint gallery: default size 3 (now 2/M since 482cd5b) and five .famchips rows (card 01's option capsules reuse the class, so six exist). The zoom test now clicks 3x explicitly instead of assuming it as the default, and the family count filters to rows labeled 'screen' so future option-group cards don't break it.
* test(gallery): commit the CDP behavioral probesCraig Jennings2026-07-121-0/+63
The full-regression and screen-family probes lived in session scratch; the widgets.js extraction uses them as its per-batch no-regression gate, so they become repo tooling.