v0.8.7
Perth v0.8.7
Perth.jl v0.8.7 β draw the dependency, fit the plan
Nothing breaks: no API change, and a project written by any 0.8 is read exactly as it was. Full changelog: https://github.com/dantebertuzzi/Perth.jl/blob/main/CHANGELOG.md
Added
-
Link two tasks by dragging. A dependency was the only relation drawn on the chart that could still only be declared in a form. Select a bar and it grows a dot at each end: drag from the right one to the task that follows, or from the left one to the task that comes before β both create the same finish-to-start link, what changes is which end of the chain you are building from. Lag, start-to-start and finish-to-finish stay in the modal: they are the exception, and an exception does not need a gesture.
The dots appear only on the selected bar. A dot that appears on hover would fight the bar drag and the resize grip, which live in the same pixels; selecting is already the gesture that says this one.
Four refusals, each saying why on screen instead of quietly doing nothing: the pair is already linked; the drop would close a loop β refused before saving, because the engine reports a cycle only after the plan is stored, and then it stops scheduling; the target is a summary, whose subtasks are what actually get scheduled, so the link would promise what it cannot keep; or the two are in the same block, where a summary already waits for its children by definition. A summary may still be the predecessor: its finish is the finish of the block.
Double-click an arrow to remove it, with a fat invisible hit area over the 1px stroke β creating a link with the mouse and having to open a modal to undo it would be giving the outward trip without the return. And the drop target comes from the whole stack of shapes under the pointer, not just the top one: at the edge of a bar the topmost shape is the critical-path or selection outline, which has
fill: noneand carries no id. -
Zoom: fit (
4, or the Fit button). The step is computed so the whole project lands on screen, instead of being one of three sizes chosen by hand β none of which suits a two-year plan. It is clamped at both ends (never larger than day zoom, never so small the chart becomes a smear), the ruler switches between days and weeks by the space available rather than by the name of the zoom, and fitting deliberately does not scroll to today: that would undo what the button just did. The chosen zoom is now remembered per browser.