Clock Widget

🏔️ Clock Widget

Objective

A persistent clock. Useful in practice — Nathan's daily-note workflow times
sections of the day — and useful in design: the smallest possible plugin that
still implements PanelPlugin + a tick-driven update. If the clock plugin can
be written in 50-100 lines, that's evidence the trait contracts are at the
right grain.

The clock is the second concrete consumer of the M4 traits (after the
Calendar) and the second test of "is the plugin model actually pleasant to
write against."

Success Criteria

  • crates/bastion-plugin-clock/ implements PanelPlugin
  • Renders current local time in HH:MM:SS or HH:MM (configurable)
  • Updates on a tick — recommend 1 Hz for HH:MM:SS, 1/60 Hz for HH:MM
  • Tick mechanism is documented in the plugin API (this Milestone may force a small M4 amendment to add a tick() trait method, that is expected and fine)
  • Optional: configurable strip of additional timezones loaded from ~/Settings/clock.md
  • Plugin code stays under 150 LoC excludin
No due date
100% Completed
#2 by n8k99 was closed 2026-05-19 15:19:39 -04:00 0 / 15