Plan work as a Petri net: tasks joined by barriers, so nothing starts before the work it depends on has finished.
Experimental tool — use at your own risk. PetriPlan is a personal side project provided as-is, with no warranty of any kind and no responsibility taken for lost, corrupted, or unreadable save files, or for any decision made on the basis of what it shows. Your work lives in this browser's local storage, which can be cleared without warning by the browser, by private-browsing mode, or by clearing site data. Save early, save often, and keep your own backups of anything you care about.
Nothing leaves this tab. The graph is kept in your browser's local storage as you work, and Save downloads it as a plain JSON file you can archive, edit by hand, or reopen later with Open.
Give tasks a start and end date and PetriPlan schedules the graph: it works out the earliest each task could begin, the projected finish for the whole project, how much slack each task has, and which tasks sit on the critical path where slack is zero. Critical work is drawn with heavier lines. If a task is booked to start before the work it depends on can finish, that is reported as a problem.
The Critical path button turns that emphasis on and off, and your choice is remembered. It only becomes available once some task has dates; a task's own panel always reports its slack either way.
PNG writes out a 12-megapixel image framed exactly as Fit would show it, in whichever theme you are currently using. The grid and any selection highlight are left out, so the result drops straight into a document or slide.