71 lines
3.3 KiB
Markdown
71 lines
3.3 KiB
Markdown
# 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.
|