Plotly.js Gantt Chart

Plotly has no gantt trace: a schedule is drawn as horizontal bars whose base array floats each one onto a date axis, which is what plotly.express.timeline emits. MAIDR reads that back as intervals rather than as bars — an interval has two positions and no baseline, so its length is a difference a reader has to be told. The pitch carries the length and the stereo position carries the start, mapped along the whole axis, so two tasks that line up sound like they line up and a lane whose work happens late sounds late.