RecallWeave · Dependency timingWorks offline

See what sets the finish time.

Give each job a duration. Follow parallel prerequisites, compare earliest and latest times, and find every critical branch that leaves no total slack.

X → Y means X must finish before Y can start. Durations use abstract time units. Jobs may run in parallel without a worker limit.

1 · State the plan

Jobs, arrows and durations

1–8 unique, case-sensitive names, one per line. Each name may contain 1–32 Unicode characters, without arrows or control characters.

Use exact names: A -> B or A → B, one arrow per line. At most 64 distinct arrows. Blank means no dependencies.

Blank lines and outer spaces are ignored. Tabs and control characters are refused. The combined graph draft may contain at most 8 KiB of UTF-8 text.

Duration of each job

Enter digits for a whole number from 0 to 1,000,000 in the same abstract time unit. Zero means a milestone. Blank values, fractions, signs, exponents and commas are refused; outer spaces and leading zeroes are accepted.

Try a different shape

Examples replace the draft. Every edit clears the calculation and its download. Choose Calculate timing to calculate again.

2 · Compare what can overlap

Calculate this draft when you are ready

The result will show each job’s earliest and latest times, its total slack, and all critical links. The starting example has two equal branches and a zero-duration finish milestone.

An edited graph has no retained calculation. Your inputs stay only in this tab; reloading starts the example again.