Project Physics Layer

DPlan's Physics Layer makes your project push back when it's being mismanaged. It computes pace, predicts delays, shows consequences, and lets you simulate changes — all from the data you already have. No extra setup required.

Forecast Engine

Every task with progress history gets a forecast based on its actual pace vs its required pace:

SignalWhat It Means
Rate RatioActual daily progress rate ÷ required daily rate. Ratio = 1.0 means on pace. Below 1.0 = falling behind.
Expected Rate100% ÷ task duration in days = how much progress per day the task needs.
Actual RateComputed from the last 2–3 progress history entries — how fast the task is actually moving.

The forecast runs automatically every time the Gantt renders. No configuration needed — just update progress on your tasks.

Forecast Levels

LevelBadgeMeaning
Learning···Not enough data yet (fewer than 2 progress entries or task just started)
Good▲ 3dAhead of pace — may finish early
On TrackWithin ±2 days of plan. No badge shown (no noise).
Watch▼ 4dMild slip (3–5 days behind)
Warning▼ 8dSignificant slip (>5 days) or many dependent tasks affected
Critical⚠ +12dDeadline breach, critical path impact, or stalled

Forecast Badges

Forecast badges appear inline next to the task name in the task list. They're colour-coded gradient pills — green for ahead, amber for watch, orange for warning, red for critical. Click any badge to open the Consequence Card.

Consequence Card

Click a forecast badge to open a centred modal showing the full analysis for that task:

  1. Pace Bars — visual comparison of actual rate vs needed rate
  2. Headline — plain-English message with milestone impact ("Likely to push Beta Launch by ~10d") and project-end impact. Uses soft language: "Likely to" / "On track to" / "May" based on confidence.
  3. Impact Strip — clickable chips showing magnitude: 💰 cost, 👤 resources locked, ⚠ risks, 🔗 dependencies waiting, 📊 SPI. Click any chip to expand details.
  4. Recovery Scenarios — computed options like "+15% this week → back on track"
  5. Velocity Sparkline — mini bar chart showing pace trend over time. Green = on pace, amber = slow, red = critical. Dashed line = expected rate.
  6. What-If Simulator — drag Progress or Duration sliders to see live system-wide impact: milestone shifts with dates, cost changes, SPI movement, downstream task effects.

What-If Simulator

The What-If section at the bottom of the Consequence Card lets you explore scenarios:

The simulator clones the entire project, applies your change, recomputes everything (CPM, costs, forecasts, milestones, SPI), and shows the diff — all in under 25 milliseconds.

Position × Momentum

DPlan measures two independent dimensions for every task:

DimensionQuestionSource
PositionAre you behind right now?Expected progress vs actual progress (from the Board/Morning Brief)
MomentumAt this pace, will you finish on time?Rate ratio from the Forecast Engine

Neither overrides the other. A task can be on-track by position but stalling by momentum — that's an invisible crisis no other tool catches. The Board card shows a momentum arrow (↑ or ↓) next to the position dot, and the health narrative explains both in plain English.

Drift Halo

Task bars on the Gantt get a subtle coloured glow when their pace is off. The halo colour and intensity are driven by the forecast level — amber for mild drift, red for critical. The halo appears before any deadline is missed, showing deceleration that the eye can't see across 50+ tasks.

Ghost Bars

When a task is projected to finish late, a translucent dashed extension appears on the Gantt bar extending past the planned end date to the projected finish. The ghost bar shows the projected end date as a label. Ghost bars only appear when slip exceeds 2 days (no visual noise for on-track tasks).

Micro-Friction

When you drag a critical-path task to the right (extending it), the drag feels physically heavier. The resistance is proportional to the number of downstream tasks affected — a task blocking 12 others feels much heavier than one blocking 2. This is topology-aware haptic feedback: your hand learns the project structure without reading dependency charts. Dragging left (earlier) has no friction — that creates slack, not cascades.

Decision Gradient

The Gantt background shows a subtle warm tint behind rows with highest cost-at-risk. The gradient is driven by task cost × downstream count × remaining work. Higher-risk rows get warmer/more saturated background. It's barely perceptible — but your eye naturally gravitates toward the hottest zones.

Project Pulse Strip

An always-visible bar above the task list header showing the project's vital signs:

Settings

The entire Physics Layer can be toggled on/off in Settings → Feature Toggles → Forecast & Physics Layer. When off: no halos, no badges, no ghosts, no friction, no gradient, no pulse strip. Clean Gantt.

Data Requirements

The Physics Layer requires no new data entry. It derives everything from:

The more progress entries a task has, the more accurate the forecast. After 3+ updates on different days, the velocity sparkline appears and the forecast confidence increases.