Files
calendula/.planning/STATE.md
Jean-Luc Makiola 6a90bade8a feat(ui): month card grid + week timeline, wire view switcher
Replace the throwaway debug screen with the first real calendar UI and a
functional Month <-> Week switcher, on Material 3 Expressive.

Month view (S1):
- Material 3 Expressive card-per-day grid; only the current month's weeks
  render (neighbouring days left blank)
- per-day event dots with "+N" overflow, today via primaryContainer
- spring-based press feedback from the active motion scheme
- swipe + drawer navigation, Loading/Failure/Success states

Week view (S2):
- vertical time schedule with overlap-resolved lanes (per-day clipping,
  midnight spanning, instant events)
- all-day / multi-day events as connected horizontal spans
- single scroll container (gutter + day columns stay aligned), columns
  bundled in a rounded container, noon-centred on load
- top section colour-shifts with the app bar on scroll; swipe navigation,
  three states

Shared / infra:
- CalendarHost holds the active view; RootScreen renders it post-permission
- ui/common building blocks: CalendarDrawer, CalendarFailure,
  ViewSwitcherPill, pastelize, observable locale, M3 Expressive slide
  transition (motionScheme fastSpatialSpec)
- unit tests for the week layout (lanes, clipping, all-day spans)
- build: compileSdk 37, material3 pinned to 1.5.0-alpha21 for Expressive

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 20:05:40 +02:00

1.3 KiB

Calendula — Current State

Last updated: 2026-06-10

Status

Milestone: v0.4 — Week view (in progress) Phase: Month + Week views implemented; cross-cutting wiring (detail sheet, filter, settings, jump-to-date) still stubbed

Progress

  • Design spec written and committed (docs/superpowers/specs/2026-06-08-calendar-app-design.md)
  • V1 design decisions resolved (App name "Calendula", icon, seed color)
  • Plan 01 written and executed — foundation lands (theme, icon, i18n, Hilt, DataStore, CI green)
  • Plan 02 written and executed — data layer + permission flow + debug screen
  • Month view (S1) — 6-week grid, event dots, today marker, swipe nav, three states (replaces debug screen)
  • Week view (S2) — time schedule with overlap-resolved lanes, all-day strip, swipe nav, three states
  • View-switcher (M1) wired — cycles Month ↔ Week (Day joins once S3 lands)
  • Day view (S3)
  • Event-detail sheet (S4) — week/month event taps are currently no-ops
  • Filter sheet (M3), Settings (M4), Jump-to-date (M2) — drawer entries stubbed

Next

  1. Day view (S3) — slot it into the view-switcher cycle
  2. Event-detail sheet (S4) — wire month-day and week-event taps to it
  3. Revisit month/week UI polish + shared anchor-date continuity across views