From 721185f10d1e389ae3816734b7b8174d33900314 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 5 Jul 2026 07:21:07 -0500 Subject: docs(timer): record the shipped redesign and flip spec to IMPLEMENTED 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. --- .../2026-07-02-timer-panel-prototype-1.html | 693 +++++++++++++++++++++ .../2026-07-02-timer-panel-prototype-2.html | 553 ++++++++++++++++ .../2026-07-02-timer-panel-prototype-3.html | 556 +++++++++++++++++ 3 files changed, 1802 insertions(+) create mode 100644 docs/prototypes/2026-07-02-timer-panel-prototype-1.html create mode 100644 docs/prototypes/2026-07-02-timer-panel-prototype-2.html create mode 100644 docs/prototypes/2026-07-02-timer-panel-prototype-3.html (limited to 'docs/prototypes') diff --git a/docs/prototypes/2026-07-02-timer-panel-prototype-1.html b/docs/prototypes/2026-07-02-timer-panel-prototype-1.html new file mode 100644 index 0000000..6b199f9 --- /dev/null +++ b/docs/prototypes/2026-07-02-timer-panel-prototype-1.html @@ -0,0 +1,693 @@ + + + + + +Timer panel — three redesigns · dupre instrument console + + + +
+
+
archsetup · dupre panel family · timer
+

Timer panel — three redesigns

+

Three ways to shape the timer dropdown, all in the shipped instrument-console faceplate language + (same tokens, lamps, console keys, engraved labels, and tabular readouts as the net / bt / sound panels). + Each is a working prototype over one shared engine that mirrors wtimer + the PanelModel: add / cancel / pause / + resume, promote to the bar slot, per-type presets (add and delete chips), freeform entry with the same validation, + stopwatch lap + stop-and-save, the soonest-fire queue sort, the 10-item cap, and a real completion + notify on fire. + Try each: add a timer, watch one count down and fire, promote a row, pause a stopwatch, delete a preset chip.

+
+ +

A Rack unit — the faithful list

+

The closest sibling to the net / audio panels: a vertical stack you scan top-down. Header with the live + count and CLEAR ALL; one output-well row per item, soonest-firing on top; each row carries a lamp, glyph, label, + the big countdown, and inline pause / promote / cancel keys. Create strip lives at the bottom — pick a type, tap a preset + or type a duration, name it, ADD. Safest port of what already shipped.

+
+ +

B Transport deck — one hero, a track list

+

A cassette-transport shape. The primary item (the one in the bar glyph slot) gets a hero readout with a + progress ring and chunky transport keys; everything else is a compact track list underneath. Click a track to promote it into + the hero seat; the ‹ › keys cycle the primary. Puts the timer you care about front-and-centre, the rest one glance away.

+
+ +

C Channel-strip board — a mixing desk of timers

+

The mixing-console metaphor: every item is a vertical channel strip on a board, its fader draining from the top + as time runs out (a stopwatch fills instead, tinted slate). Read all your timers at once like meters on a desk. Click a strip + header to promote it; the trailing + NEW strip is the create surface. The most spatial, most stereo of the three.

+
+ +
+ + + + diff --git a/docs/prototypes/2026-07-02-timer-panel-prototype-2.html b/docs/prototypes/2026-07-02-timer-panel-prototype-2.html new file mode 100644 index 0000000..ffd4521 --- /dev/null +++ b/docs/prototypes/2026-07-02-timer-panel-prototype-2.html @@ -0,0 +1,553 @@ + + + + + +Timer panel — hero + rack (iteration 2) · dupre instrument console + + + +
+
+
archsetup · dupre panel family · timer · iteration 2
+

Timer panel — hero + rack

+

The rack unit reshaped: the hero from the transport deck rides on top (the primary / bar-slot item, big), + the create strip sits under it, and the queue list runs below. Pomodoro is now a real configurable cycle — + work and rest each with a short and a long duration, a long break every N cycles, auto-advance, and progress dots — + with its default preset locked so it can't be deleted. Everything is live: add, count down, fire + notify, pause, promote, + lap / stop-save. Ideas pulled from Pomofocus, Todoist, and the classic technique (see the notes column).

+
+ +
+
+
+

What changed this pass

+
    +
  • Layout flipped: hero on top → create strip → list (was list → create).
  • +
  • Pomodoro is configurable: Work short/long, Rest short/long, long break every N, auto-advance toggle.
  • +
  • Deep cycle: every Nth pomodoro uses the long work + long rest; the rest fill mark the long dots.
  • +
  • Default cycle is locked — shipped presets have no ×; only chips you add are deletable.
  • +
  • Cycle dots in the hero + row show where you are in the set.
  • +
+

Borrowed from good pomodoro apps

+
    +
  • Pomofocus: separate work / short-break / long-break lengths + long-break interval.
  • +
  • Auto-start next (Pomofocus, Pomodo): auto-advance rolls into the next phase; off = wait and press start.
  • +
  • Todoist / the technique: long break of 15–30m after 4 pomodoros; all durations adjustable.
  • +
  • Preset cycles: Classic 25/5/15, Deep 50/10/30, Sprint 15/3/10 — one tap loads the fields.
  • +
  • Task label on every item; cycle progress shown as dots.
  • +
+
+
+ +
+ + + + diff --git a/docs/prototypes/2026-07-02-timer-panel-prototype-3.html b/docs/prototypes/2026-07-02-timer-panel-prototype-3.html new file mode 100644 index 0000000..98778fa --- /dev/null +++ b/docs/prototypes/2026-07-02-timer-panel-prototype-3.html @@ -0,0 +1,556 @@ + + + + + +Timer panel — iteration 3 (waybar + hero-right) · dupre instrument console + + + +
+
+
archsetup · dupre panel family · timer · iteration 3
+

Timer panel — waybar + hero-right

+

Third pass. The hero donut moved to the right of the readout; the redundant "bar slot" badge is gone + (the hero is the bar slot). Above the panel sits a live, accurate preview of the actual waybar module — + the same glyph + countdown + "+N" and state colours wtimer render emits, with its hover tooltip. + Presets (renamed from "chips") flash the fields on load instead of toasting, alarms gain a half-past preset, + and each type picked up create-strip ideas from its category's best apps: timers repeat, alarms carry + recurring days + snooze (with a ringing state), pomodoro keeps its configurable cycle.

+
+ +
+
+
the waybar module · live
+
+
+
+
+
+

This pass

+
    +
  • Donut on the right of the hero info; no "bar slot" label.
  • +
  • Live waybar preview — mirrors wtimer render: glyph + countdown + "+N", state colour, tooltip.
  • +
  • "Preset" replaces "chip"; loading one flashes the field(s), no toast.
  • +
  • Half-past alarm preset — next X:30, the sibling of top-of-hour's X:00.
  • +
+

Borrowed per category

+
    +
  • Timer (MultiTimer, Multi Timer): auto-repeat — restart on finish. Toggle in the create row.
  • +
  • Alarm (Alarm Clock Xtreme, Alarmy): recurring weekdays + snooze; fires into a ringing state with SNOOZE / DISMISS.
  • +
  • Stopwatch (Stopwatch Timer): sweep dial + infinite laps with the last lap beside the count; run-save deferred to a vNext.
  • +
  • Pomodoro (Pomofocus): configurable work/rest short+long, long-break interval, auto-advance, cycle dots.
  • +
+
+
+
+ + + + -- cgit v1.2.3