17 lines
1.1 KiB
Markdown
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.
|