GraphiteEditor / GraphiteEditor/Graphite
Rendering the strokes of vector meshes
- Dominant language
- Rust
- Stars
- 27.3k
- Forks
- 1.3k
- Avg merge
- 20h 5m
- Merged PRs (30d)
- 57
Description
Vector meshes generalize paths to have more than two edges connected to a point. That messes with assumptions made by the renderer as part of stroking for caps and joins. We need to devise a strategy for properly rendering such cases.
It would also potentially be worthwhile to control the caps and joins (and miter limit) on a per segment or per anchor basis, even at both ends of just a simple line.
This is currently handled badly, as we can see from the line caps:

Contributor guide
No contributing guide indexed for this repository
Research direction
Start in the renderer's stroking path, focusing on cap and join handling for vector meshes and the assumptions around points with more than two connected edges. Define and validate a strategy for correctly rendering these cases; per-segment or per-anchor cap, join, and miter-limit controls are noted as a possible extension.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100