Spend line and forecast
What the job has cost by the end of each period, against the target budget, with the forecast to delivery.
| Prop | Type | Default |
|---|---|---|
| timelineThe spend series by period, and the flat target budget rule. | { granularity, points, targetBudget, forecast, laborIncluded, projectionDrawn } | required |
| contractValueThe contract, for the share of contract in the hover card. | number | null | null |
| projectionMin, projected and max to delivery. Draws the dashed line and its band. | object | null | null |
| projectIdThe job the card belongs to. | string | null | null |
- When to use
- When users need to track cumulative expenditure against a contract budget and project forward-looking margin risks before delivery.
- When to avoid
- Avoid using this to audit granular line-item receipts or individual supplier invoices; use the Financials Ledger table for transactional audits.
- Desktop
- Renders the full Fritsch-Carlson monotone spline with confidence envelopes and anchored cost breakdown cards.
- Mobile
- Decimates X-axis milestones to Start, Today, and Delivery dates, clamping touch hovers to the nearest week bucket.
Production anatomy
| Plot | 200px tall, padding 16 / 12 / 24 / 48. Five y stops on a nice ceiling (1, 1.25, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10 x a power of ten), plus 10% headroom. |
|---|---|
| Line | --link, 2px, round caps, a monotone cubic (Fritsch-Carlson) so a running total never dips before a jump. |
| Wash | A vertical gradient of --link, 16% at the top to 4% at the base, under the line. |
| Edge fade | A mask fades line and wash in over the first 6% of the plot and out over the last 6%. |
| Forecast | Dashed 4/4 from the last measured point, inside an 8% band, ending on a whisker: a dashed stem, 4px caps and a 3px pip. |
| Budget | A flat 1px muted rule, dashed 4/4, named in the key, never labelled on the plot. |
| Hover card | 240px, pinned to the node not the cursor, flipping below a high point. Period and value, then Materials, Labour and Expenses with 6px dots, then the share of contract. |
