aboutsummaryrefslogtreecommitdiff
path: root/docs/prototypes
Commit message (Collapse)AuthorAgeFilesLines
* feat(gallery): add svg.el renderer proving the Emacs target, fix gauge ticksCraig Jennings17 hours3-2/+186
| | | | | | | | | | gallery-widget.el is the proof-of-concept Emacs renderer: it reads the generated tokens.el and renders the needle gauge (card 10) as SVG via svg.el. Rasterized through librsvg (the renderer Emacs itself uses), it matches the web card side by side: same arc, ticks, glowing amber needle, half-dome hub, and readout from the same tokens. That closes the riskiest unknown in the three-target plan, so the component pattern can now scale widget by widget. The comparison surfaced a real gallery bug: the web gauge's ticks were invisible. Their transform-origin put the rotation center 40px below the dial, so the rotated ticks landed outside the clipped area. I moved the ticks to the arc's top edge with the origin at the pivot, and all three now show at -60/0/+60. The parseability test caught a second bug: the mono token's font stack carries double quotes, which broke the font-family XML attribute. The renderer swaps them to single quotes. Tests are ERT (tests/gallery-widgets/), covering token resolution, angle math (normal/boundary/error), and the rendered document's structure. make test-unit now runs the elisp suites alongside the python ones, and make test-elisp runs them alone.
* refactor(gallery): extract design tokens to one source for 3 targetsCraig Jennings18 hours5-40/+370
| | | | | | | | | | | | The colors, glows, gradient ramp, and pulse rate were hardcoded literals scattered across ~40 sites in the gallery. Retuning the amber meant a find-and-replace through the whole file. I pulled them into tokens.json as the single source. gen_tokens.py reads that source and emits three targets: web CSS custom properties (into the gallery :root, between markers), waybar GTK @define-color declarations, and an elisp alist for the future svg.el renderer. The three genuinely differ (CSS --vars with rgb-triple glows, GTK @define-color with underscore names, elisp hex alist), which is why one generator beats three hand-maintained copies. The amber hue is defined once, and its glow triples are derived from the hex, so retuning it means editing one line and rerunning the generator. The gallery render is unchanged. I verified it pixel-identical against the prior commit with reduced-motion forced and the live clock masked (diff of 0). Tests cover hex conversion, the three emitters, marker replacement, and idempotency: 27 tests, 100% line coverage, wired into make test-unit.
* fix(gallery): repair broken widgets, standardize pulses, retune to amberCraig Jennings18 hours2-54/+39
| | | | | | | | | | | | | | I wrapped the status-lamp and jewel-pilot indicators in an inline-flex row so they render. Their sub-elements were bare inline spans, so the fixed width/height were ignored and the widgets collapsed to empty stages. The other multi-element widgets already use this pattern. The transport cluster looked dead because the reel spokes were near-black on a near-black reel, so the rotation was invisible. Steel spokes plus one amber index spoke make the spin legible. The button logic was already correct. All pulses now run at 1s ease-in-out. The busy lamp was 0.7s, fast enough to read as a flash rather than a pulse. I marked 1s as the standard cadence so new widgets inherit it. I shifted the gold accent to a warm amber across the tokens, glow colors, and lit gradients together, so nothing stays yellow next to amber. I removed the magic-eye tube, dropped from the instrument-panel design that draws from this gallery. I renamed the file to panel-widget-gallery.html (the living catalogue now, not a dated prototype) and updated the two inbound links.
* feat(gallery): make every widget interactive and add instrument idiomsCraig Jennings28 hours1-115/+839
| | | | Turn the panel widget gallery into a driveable kit. Drag the faders, rotary and concentric knobs, encoder, crossfader, thumbwheel, jog wheel, and the gauge needles; click the switches, keys, DIP bank, keyed switch, transport, radio bank, patch-bay, and lamps. Every card shows a live readout that tracks the control. Adds a batch of new console idioms across controls, meters, and readouts (oscilloscope, EQ bars, strip-chart, split-flap, VFD marquee, annunciator, jewel lamps, tape counter, and more).
* feat(gallery): add rotary selector, slide-rule dial, and tube readoutsCraig Jennings28 hours1-0/+64
| | | | Bring the hi-fi selector and vacuum-tube idioms from the Takuzu design pass into the panel widget kit: a rotary selector, a slide-rule tuner dial, a nixie tube, and a magic-eye tube.
* docs: add maintenance console design + interactive prototypesCraig Jennings5 days9-0/+5139
| | | | | | | | The design doc replaces the install-health framing in system-monitor-design-ideas.org with a maintenance console: dense metric subpanels behind a persistent selector, a doctor that streams into a results wall, determinate remedies only (guard-armed updates, curation lifecycles for noise, listeners, containers, and orphans), rotary band selectors on the tall subpanels, and a CLI-first build with a four-layer test strategy. Every decision is dated in the doc. Prototypes A-E5 keep the exploration path: five divergent layouts converging into E5, a fully interactive simulation whose GOOD/BAD snapshots become the build's test fixtures. todo.org gains the spec-create task, the panel keybinding-family task, and scope notes on the net/bt doctor retrofit.
* docs: PTT waybar-indicator prototypeCraig Jennings6 days1-0/+133
| | | | | | | Design prototype for the push-to-talk bar indicator: an always-present outline tag (account-voice glyph) left of the mic — dim grey when off so the bar never reflows, gold + glow when armed, brighter while transmitting, click-to-toggle. The states and icon were settled against this before wiring it into waybar.
* docs(timer): record the shipped redesign and flip spec to IMPLEMENTEDCraig Jennings7 days3-0/+1802
| | | | | | The timer-panel UI/UX redesign built and shipped to dotfiles across five phased commits. This captures the archsetup-side records. The three design prototypes (the three-directions study, the hero-rack iteration, and the final) land under docs/prototypes, which the spec's Prototype iterations section links. The spec flips DOING to IMPLEMENTED with a history line summarizing the build. The manual-testing checklist is rebuilt around the redesigned panel (repeat timers, recurring alarms with snooze and a ringing state, the configurable pomodoro cycle, the stopwatch sweep dial, locked presets, and bar-tooltip parity), and the two obsolete fuzzel-dialog tests are marked superseded. A dated entry under the closed feature task records the redesign.
* docs: gather panel design prototypes into docs/prototypes/Craig Jennings8 days6-0/+2707
I gathered all five self-contained HTML/CSS design prototypes into one home: the instrument-console pair (moved from assets/), plus the net-panel rescan, sound panel, widget gallery, and waybar redesign (moved out of working/). Added a README index and updated every inbound link: build summary, the instrument-console and audio specs, and todo.org. Also fixed a broken link the earlier sort left in the build summary. It still pointed at the instrument-console spec's old docs/design/ path after the move to docs/specs/.