3.3 KiB
Phase 2: Calendar Display - Discussion Log
Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
Date: 2026-06-04 Phase: 2-Calendar Display Areas discussed: Visual model / theming, Default view & per-device, Color & shared-vs-personal, Event detail density
Visual model → Theming architecture
Initial framing (pick one aesthetic) was reformulated after the user clarified they want a modular approach: start clean, but be able to switch to a Skylight/tablet "display" theme later as family members are added — the real end goal being a legible tablet wall-display.
| Option | Description | Selected |
|---|---|---|
| Token layer + clean theme only | Design tokens (CSS vars + theme object); ship only clean; future display theme = token swap; no switcher UI yet | ✓ |
| Token layer + two themes + toggle now | Build clean + first-cut display theme + runtime toggle now | |
| Hardcode clean, refactor later | No abstraction; retrofit theming at v2 |
User's choice: Token layer + clean theme only. Notes: Claude flagged that building two themes + a switcher now is v2 gold-plating (wall-display is deferred in PROJECT.md); the disciplined "modular" is a token layer with one clean theme. Also agreed the clean theme must stay legible/informational at tablet distance (D-03), and the color model must scale past two members.
Default view & per-device
| Option | Description | Selected |
|---|---|---|
| Phone→Agenda, Tablet/Desktop→Month | Device-adaptive default; remember last-used per device | ✓ |
| Month everywhere | Consistent grid; cramped on phone | |
| Agenda everywhere | List-first; underuses tablet/desktop |
User's choice: Phone→Agenda, Tablet/Desktop→Month.
Color & shared-vs-personal
| Option | Description | Selected |
|---|---|---|
| Per-member fill + reserved shared color | Phase-1 member colors; shared calendar gets one distinct color | ✓ |
| Per-member fill + shared marked by icon | Icon instead of reserved color | |
| Per-calendar color | Hue per Fastmail collection, member secondary |
User's choice: Per-member fill + reserved shared color. Notes: Per-member show/hide filter deferred until >2 members; a color legend is shown.
Event detail density
| Option | Description | Selected |
|---|---|---|
| Informational + tap-to-expand | Bars w/ title (month), time+title (week/day), +location (agenda); read-only popover reused for Phase 3 edit | ✓ |
| Minimal | Dots + agenda titles, no popover | |
| Maximal inline | time+title+location everywhere |
User's choice: Informational + tap-to-expand.
Claude's Discretion
- Rendering library choice (must be token-styleable, headless-friendly, all 4 views, server-expanded occurrences, good iOS touch) — researcher decides.
- Week start day — default Sunday (US locale), exposed as a token.
- Skeleton/loading + empty states — build, polished for the "slick" constraint.
Deferred Ideas
- Tablet/wall-display kiosk mode + Skylight display theme + runtime theme-switcher — v2.
- Per-member show/hide filter — when membership > 2.
- Secondary timezone toggle — v1.x.
- Single-occurrence recurring edits — v1.x.