Skip to content

v0.8.0 — Two-pass Cassowary bore-callout layout

Choose a tag to compare

@pzfreo pzfreo released this 13 Jun 11:17
· 35 commits to main since this release

What's new

Two-pass Cassowary bore-callout layout (#123): replaces the old greedy
single-pass ladder with a boundary-assignment pass followed by a
Cassowary
constraint-solver Y-placement pass.

  • Leaders stay within the view's projected Y extent, are at least min_gap
    apart, and land near their natural (hole-centre) Y position.
  • Elbow offset reduced from ~10.8 mm to ~2.7 mm (draft.arrow_length).
    Shafts no longer cut deeply across the view outline.
  • Overflow handling: places the longest feasible prefix rather than
    dropping the entire strip when callouts don't all fit.
  • Side-view right limit correctly uses PAGE_W − margin for callouts
    below the iso view (restores pre-refactor behaviour on drawings where
    iso_above_tb=False).

New dependency

kiwisolver>=1.4,<2 is now a runtime dependency (<200 KB wheel, no
transitive dependencies).

Full changelog

See CHANGELOG.md.