aboutsummaryrefslogtreecommitdiff
path: root/tests/gallery-probes
Commit message (Collapse)AuthorAgeFilesLines
* feat(gallery): add the ABC entry keypadCraig Jennings11 days1-1/+149
| | | | | | | | | | The kit entered digits three ways and text no way at all, so the panels that need a WiFi password had nothing to reach for. R57 takes free alphanumeric text. A-Z is laid out alphabetically rather than QWERTY, the industrial convention wherever the operator isn't assumed to touch-type, and what makes this a faceplate instead of a keyboard. I followed two reference plates and departed from both, arguing each departure at its site. Their letters are blue and the kit has no blue control colour, so letters take the standard pale cap and digits a darker one: the photos' two-tone grouping without the foreign hue. Letters sit left and digits right so the alphabet reads down one unbroken block. With the digits on the left it stops column-aligning with itself halfway down. DEL is new, because without a backspace one mistyped character costs the whole entry. It sits beside the digits in amber while CLR is exiled to the corner in red. DEL is constant and costs a character, CLR is rare and costs everything, so the safe key gets the good spot and the colour grades the cost before the legend is read. CANCEL is gone: on a plate that is the whole terminal it has a transaction to abandon, but here it did exactly what CLR does. The window draws spaces as ␣. SVG collapses whitespace, and past the truncation boundary there are no pad dots left for a space to displace, so SPACE was a keypress with no feedback at all. The buffer keeps the real character.
* feat(gallery): rework the console-key and slide-toggle colour vocabularyCraig Jennings11 days1-0/+140
| | | | | | | | Console keys read SCAN before LIVE, and LIVE is green. The palette already defines --pass as "run lamps, gear greens, monitor bars, LIVE lamps", so the widget contradicted the language it draws from. Its note asserted the old colours too. The per-key `red` boolean became a `tone` field, since a boolean can't express three states. The slide toggle gains red and warn on its `on` axis, so the engaged state can be the notable one (mute, record, airplane mode). Red was reachable only on the `off` axis before, which paints the disengaged state: the opposite claim. A new onText axis makes the ON ink reachable at all. `on` had bundled background and ink together, so "dark pill, green legend" couldn't be expressed. Presets name a combination (panel, run, armed, caution, dark), which is what a consumer reaches for. The axes are how one gets built.
* feat(gallery): bake widget validation progress into the sourceCraig Jennings11 days1-0/+209
| | | | | | | | The validation walk's per-card state lived only in browser localStorage, so a cache clear would lose it and the other machine never saw it. VSTATUS now carries the record in source, read as a fallback behind localStorage. The live walk wins on the machine doing it, and a deliberate un-check beats a baked green, because 'off' is a stored value like any other. I build the export's text by hand rather than through JSON.stringify, which hoists canonical integer keys ('12' ahead of '01') and would reshuffle the whole block on every bake. Copying it out never touches the clipboard. navigator.clipboard is denied outright on file://, and execCommand returns true while writing nothing. So the export lands in a selected textarea instead: a selection is readable as the PRIMARY selection, and that's the one path that works here.
* docs(tests): record CDP probe-writing traps in the probes READMECraig Jennings2026-07-121-0/+13
|
* 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-122-3/+5
| | | | The committed probes asserted the pre-sprint gallery: default size 3 (now 2/M since 16da33e) 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-123-0/+195
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.