docs(02): capture phase context

This commit is contained in:
Lucas Berger
2026-06-04 14:14:07 -04:00
parent 6e74b3fc05
commit dbec9b510c
2 changed files with 212 additions and 0 deletions
@@ -0,0 +1,70 @@
# 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.