Tasks with both startsOn and dueOn render as horizontal bars. Items without a schedule appear in an Unscheduled rail so you can drag them onto the grid to plan.
Highlights
Deterministic timeline-layout helper in shared-types (no third-party Gantt lib)
Unscheduled drawer for backlog planning
Zoom between day / week / month views
Important to know
Tasks with only a dueOn (no startsOn) render as a single-day bar on the due date.
Dragging re-writes startsOn + dueOn; if you want to preserve duration, grab the middle not the edges.
How to use it
Filter by project via the picker above the grid.
Drag from the Unscheduled rail onto a day to plan it.
Use the month zoom for a cycle view; week for execution.