Charts /
CH-TIM-09
CH-TIM-09 . family TIM
GANTT
task bars on a period grid with done-overlay, milestones, today line. Needs: tasks with start/end in axis units + optional done_to and milestones + a today position.
scheduleprogress
Use when
- schedule communication: 4-10 tasks against a period grid
- showing done vs remaining per task plus the critical milestone
Do not use when
- full CPM networks with dependencies (planning software, not a slide)
- more than ~10 rows (summarize to work packages)
See instead
- only dated moments matter: CH-TIM-15
Alternatives
- CH-TIM-15 (moments, not durations)
- CH-TIM-02 (overall progress vs plan)
Rules
- bars muted, done-portion overlaid in primary
- milestones are diamonds in ink; the today line is negative, dashed, labeled
- tasks in schedule order, never re-sorted
- 10 tasks maximum
Never do this
- rainbow bars per task
- fake dependency arrows crisscrossing
- percent labels on every bar (the overlay shows it)
- 3D bars
QA before delivering
- start < end and done_to within [start, end] on every task
- today line present and labeled
- tasks <= 10
- title names the driver with a date
- source present
Data shape
| title | action title naming the driving task or date |
| eyebrow | caps, DL chrome only |
| source | bottom-left always |
| axis | {labels: [period names]}; task units are fractional axis positions |
| tasks | array of {label, start?, end?, done_to?, milestone_at?} |
| today | axis position of the status date |
Sample data (golden)
{
"title": "Loop tests drive the path to RFSU on 30 November",
"eyebrow": "SCHEDULE . JUL-DEC",
"source": "Source: sample dataset v1, 2026-07-12",
"axis": {
"labels": [
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]
},
"today": 2.4,
"tasks": [
{
"label": "Pre-commissioning",
"start": 0,
"end": 3.5,
"done_to": 2.2
},
{
"label": "Energization prep",
"start": 1,
"end": 2.8,
"done_to": 2.3
},
{
"label": "Loop tests",
"start": 2,
"end": 4.6,
"done_to": 2.4
},
{
"label": "Punch clearing",
"start": 3.2,
"end": 5.2
},
{
"label": "RFSU",
"milestone_at": 5
}
]
}