Calendar view of a project — the same scheduled data as the Timeline
(gantt) tab, rendered as all-day bars on a month grid via the standalone
phoenix_live_calendar component instead of bars on a date axis.
Read-only: it visualizes the project's top-level assignments at the exact
spans the shared ScheduleLayout walk computes (each task starts where the
previous one ends, honoring weekday/weekend rules), so this tab and the
Timeline tab can never disagree about which dates a task occupies. A
sub-project appears as one bar spanning its children's walk — drilling into
the child project shows its own calendar. Mutations still happen on the
vertical show page; the views share the project UUID.
Dates are the schedule's own UTC calendar dates — deliberately NOT shifted to the viewer's timezone offset, matching the sibling Timeline tab (the Overview dashboard calendar shifts, but there the bars anchor against the viewer's "today"; here the two tabs of one page must agree).
Like ProjectGanttLive, this LV is embeddable via live_render (session:
id, plus the shared embed contract keys) and runs headless when nested
as a tab inside ProjectShowLive.