Skip to content

Implement Sugiyama - #100

Open
BjarkeHautop wants to merge 2 commits into
JuliaGraphs:masterfrom
BjarkeHautop:master
Open

Implement Sugiyama#100
BjarkeHautop wants to merge 2 commits into
JuliaGraphs:masterfrom
BjarkeHautop:master

Conversation

@BjarkeHautop

Copy link
Copy Markdown
Contributor

Implements Sugiyama layout based on the Rust implementation https://github.com/paddison/rust-sugiyama. Also ports several fixture tests to
verify they give the same output as the source.

The algorithm needs to mutate the graph, so added the needed graph operations to Sugiyama.

Also fixed a bug in the reference implementation: mark_type_1_conflicts
runs before vertex positions are populated there, so its conflict detection is
a no-op, see paddison/rust-sugiyama#26 and paddison/rust-sugiyama#27.

Generated with the help of Claude Code, and manually modified and verified.

Fixes #20

@codecov

codecov Bot commented Aug 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.51553% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.47%. Comparing base (0bfd2ed) to head (53ede03).
⚠️ Report is 15 commits behind head on master.

Files with missing lines Patch % Lines
src/sugiyama/ordering.jl 92.72% 12 Missing ⚠️
src/sugiyama/coordinates.jl 96.21% 7 Missing ⚠️
src/sugiyama/ranking.jl 99.62% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #100      +/-   ##
==========================================
+ Coverage   97.40%   97.47%   +0.06%     
==========================================
  Files          10       16       +6     
  Lines         579     1384     +805     
==========================================
+ Hits          564     1349     +785     
- Misses         15       35      +20     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhancement: Directed Acyclic Graph Layout

1 participant