GraphiteEditor / GraphiteEditor/Graphite

Rendering the strokes of vector meshes

Open
#2,310 0 comments 2 reactions 0 assignees View on GitHub
Architecture Graphics
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:

![Image](https://github.com/user-attachments/assets/8f5e290c-f65a-4377-b22a-faaab2a835a4)

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.