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

1.1 KiB

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.