chronogrid/docs/UI_UX/02-calendar-timeblocking.md

17 lines
1.1 KiB
Markdown

# Calendar & Time-Blocking Grid Specification
## 1. Display Interface
- Multi-day, Weekly, and Monthly time-blocking grids rendered via Flutter custom painter.
- Drag-and-drop task placement: Dragging an unscheduled task onto the grid automatically updates its `due_date` timestamp and reserves a dedicated block based on its `estimated_duration`.
- Unscheduled tasks panel on the left sidebar allows drag-and-drop onto time slots.
- Scheduled task blocks render with color-coded namespace indicators.
- View toggle: Day / Week / Month granularity.
## 2. Local CalDAV Bridge Protocol
- **Local Endpoint**: Embedded HTTP/CalDAV service running locally on `127.0.0.1:4242`.
- **Interoperability**: Allows native OS calendar tools (Outlook, Thunderbird, Android DAVx⁵) to read scheduled task blocks directly as standard calendar events without sending data to external cloud servers.
- **Protocol**: RFC 4791 (CalDAV) with RFC 5545 (iCalendar) event serialization.
- **Sync Direction**: Read-write — external calendar tools can create time blocks that appear in ChronoGrid, and ChronoGrid time blocks appear in external calendars.