Edge routing
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- computer-graphics
Research direction
The issue names no files, tests, or entry points; start by inspecting the repository's existing layout implementation and the referenced edge-routing material. Define the polyline-routing baseline first, including node-boundary clipping, and treat spline fitting as a later enhancement; done should be demonstrated by routed paths that follow hierarchical virtual-node positions.
Written by the indexing model from the issue text.
Description
After layout assigns node positions, edges need to be routed as concrete paths between nodes. This involves three layers of increasing sophistication.
Node boundary clipping computes where an edge line intersects the source and target node shapes, so edges terminate at shape boundaries rather than node centers. This requires intersection functions for each shape type (ellipse, rectangle, polygon). Polyline routing threads edges through the positions of virtual nodes inserted during hierarchical layout, producing multi-segment paths that follow the layered structure. Spline fitting converts polyline control points into smooth cubic Bezier curves. The `splines` graph attribute controls which mode is used. Polyline routing should be implemented first as the baseline, with spline fitting as a follow-up enhancement.
References
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from terror/dotgraph
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
SVG renderingOpenenhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Style resolutionOpenenhancement
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Arrowhead geometryOpenenhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Node shape geometryOpenenhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
bug CLI exec tool-calls
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
maintainer-needed p2 triaged ui windows
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
ai_p2
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ClickHouse/ClickHouse#123351 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 92/100
github/copilot-sdk#2804 · 1 comment ·
Maintainers usually reply within 1 day