Gantt

The same <timeline> as the episode timelines, against a calendar rather than a clock. The axis reads which it has from the data: a value like "2026-01-05" is a date, "12:30" is elapsed time, and the origin, the gridline spacing and the label format all follow from that. Mixing the two in one timeline is refused - an axis is one or the other.

Charts 868 × 412 <data><record><timeline>

Result

Source examples/gantt.svgn

<diagram>
  <!-- The same <timeline> as the episode timelines, against a calendar rather
       than a clock. The axis reads which it has from the data: a value like
       "2026-01-05" is a date, "12:30" is elapsed time, and the origin, the
       gridline spacing and the label format all follow from that. Mixing the
       two in one timeline is refused - an axis is one or the other. -->
  <data name="release">
    <record phase="Research"   start="2026-01-05" end="2026-02-02"/>
    <record phase="Design"     start="2026-01-26" end="2026-03-09"/>
    <record phase="Build"      start="2026-02-23" end="2026-05-11"/>
    <record phase="Test"       start="2026-04-13" end="2026-06-01"/>
    <record phase="Docs"       start="2026-05-04" end="2026-06-15"/>
    <record phase="Launch"     start="2026-06-15" end="2026-06-29"/>
  </data>

  <timeline data="release" lane="phase" start="start" end="end"
            width="820" x-start="150" bar-height="44" fill="lane"/>
</diagram>

Open the SVG →