A worked example · four ways into a programme

Project Dependency Atlas

A viaduct renewal team wants to see which handoffs connect its phases. A portfolio team wants to compare when work happens. Trace the links, then compare the dates.

Historical toy scenarios · 25 March 2026. Names, dates and status flags were supplied as illustrative story material. They are not records of real programme progress, regulatory decisions or present-day plans.

Computed from the supplied graph

Hover to preview; focus, click or tap a node to keep its connections in the detail panel. Curves are grouped by phase or gate. Direction is listed as source → target below. On a small screen, enlarge and scroll the diagram or use the selector and table.

Read the displayed dependencies as a table
SourceTargetGroup relation
Original scenario labels and wording

These supplied labels are retained for provenance. “Critical” and “risk” are source wording, not calculated scheduling or assurance results.

How to read this Atlas · methods and limits

Groups guide the eye

Hierarchical edge bundling routes connections through the containing groups. It is a way of drawing adjacency in a hierarchy. A shared stretch of curve is not an extra dependency.

This native SVG version blends the source → group → root → group → target route toward a straight line, then draws a cubic basis spline at strength 0.82. Links within one group pass through that group only. See the D3 bundle-curve documentation, which describes the curve used by the original.

Counts, not criticality

Incoming and outgoing counts use directed, explicitly listed edges. Incident links count an edge once for each node it touches. The busiest node has the highest incident count; ties are retained. This degree is not a critical path, probability of delay, safety judgement, or proof that removing a handoff helps.

Changing a filter changes only what is drawn. Summary counts and supplied narratives always describe the complete selected example.

Dates, not a schedule engine

Durations are elapsed calendar days from start to end, using UTC midnight and no inclusive end-day addition. Weekends and holidays count. Milestones take zero days. Pair overlap is max(0, earlier end − later start), excluding pairs within one facet.

All facets keep the full example’s date scale, even when filtered. The source-date line is historical provenance, not today. The graph and timeline examples are independent illustrations: no automatic mapping joins their nodes.

What a saved view means

Local save stores only your selections in this browser under this app’s own key. It does not upload, share or edit any project data. Exported view files can restore the same choices; imports validate their version, example names and item references before applying.

Reset restores the default view without deleting a saved view. The separate example-data export contains the retained original datasets and narrative labels.