# 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.