Skip to content

History Graph

Available

The History Graph is a Draftline workspace graph visualization of your project’s complete history across all timelines. It shows snapshots, fork points, and merge snapshots in a single interactive view.

History graphHistory graph
The History Graph showing multiple timelines with fork and merge points

Click the History button in the Snapshots panel header. The graph opens as a dedicated tab — like Settings, it’s a singleton that you can keep open alongside your sketch editor.

Each circle in the graph represents a snapshot (saved version):

  • Filled circles — Regular snapshots
  • Nodes with a ring — The current HEAD position
  • Merge nodes — Snapshots with two incoming edges (created by merging timelines)

Each timeline gets its own colored lane:

  • Main is always the leftmost lane
  • Forks appear in additional lanes to the right
  • Colors are consistent with the timeline selector — the same color you see in the dropdown appears in the graph

Lines connecting nodes show parent-child relationships:

  • Straight vertical lines — Sequential snapshots on the same timeline
  • Diagonal lines — Fork points where a timeline branched off
  • Converging lines — Merge snapshots where timelines were combined
  • Branch tips show the timeline name as a badge (e.g., “Main”, “Experiment”)
  • Snapshot messages appear on hover or alongside nodes
  • Timestamps help orient you in the history

Clicking a snapshot node in the graph:

  1. Switches to that timeline (if you’re on a different one)
  2. Navigates to that snapshot in the linear view
  3. Shows the snapshot’s details (message, date, files changed)

The graph supports two orientations:

  • Vertical (default) — Time flows top-to-bottom, most recent at top
  • Horizontal — Time flows left-to-right

Both orientations show the same information; choose whichever feels more natural for your workflow.

When viewing the linear snapshot list for a specific timeline, the graph shows ancestry — snapshots inherited from the parent timeline appear in the parent’s color. This helps you understand where a fork originated and how much history it shares with other timelines.

When a remote is configured, the History Graph shows remote state:

  • Remote branch labels appear alongside local ones (e.g., “origin/main”)
  • Divergence is visible — local-only snapshots appear beyond the remote marker
  • Incoming snapshots (after fetch) appear as distinct nodes

See Remote Sync for details on configuring a remote.

  • The graph is rendered as SVG using a custom layout engine
  • Layout uses topological sorting with lane assignment per timeline
  • Merge edges are drawn as smooth curves between lanes
  • The graph recomputes on save, merge, or timeline switch
  • Performance is optimized for projects with hundreds of snapshots