Calendar Widget
🏔️ Calendar Widget
Objective
Bastion needs a calendar. Phase 2 will wire it to the noosphere's
~/Public/Black/Temporal/Daily Notes/ cascade so clicking a date opens that
day's note. Phase 1 builds the calendar as a pure UI element, machine- and
data-independent. The boundary matters: the widget should hold its own state
(current month, cursor date) and emit events when the user navigates — it does
not know what a daily note is.
This is also a useful test case for the plugin contracts (M4): a Calendar
plugin registers a Panel and a Command (calendar.jump-to-today,
calendar.next-month, etc.) and that's it.
Success Criteria
crates/bastion-plugin-calendar/implementsPanelPlugin- Monthly grid with day-of-week headers (Mon-Sun or Sun-Sat — configurable via Settings)
- Today's date is visibly distinct from other dates (DPN_GOLD accent recommended)
- Cursor date is visibly distinct from today (DPN_CYAN highlight recommended)
- Keys when calendar pane is focused:
h/lor arrow Left/
No due date
100% Completed