GraphiteEditor / GraphiteEditor/Graphite

Path tool creates unexpected 'Flatten Path' node

Open
#2,231 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
27.3k
Forks
1.3k
Avg merge
20h 5m
Merged PRs (30d)
57

Description

This issue results in an error in the node graph, causing the document to not be rendered.

The Flatten Path node is created in utility_types.rs: https://github.com/GraphiteEditor/Graphite/pull/2228/files#diff-f9c3a49009b09a2d6bd1ebb8b090622e4a0e9c19f760f501d006bdb09e42759dR299

This was initially caused by creating a single file and using the path tool on an ellipse (I had two on the canvas), but it was difficult to reproduce.

To consistently reproduce, open these three files (error_1-and-3.graphite.txt and error_2.graphite.txt are the two files needed) in succession on a clean Graphite instance, using File > Open..., in the given order:

error_1-and-3.graphite.txt, error_2.graphite.txt, and finally error_1-and-3.graphite.txt.

Then, in the last file (the one currently open), use the path tool to drag a point of the black ellipse (the other layers/shapes are extraneous data relative to the error).

#2214 is a great example of the kind of situation we're looking to get bug reports for

Discord discussion: https://discord.com/channels/731730685944922173/860830913390575646/1333447293021720706

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in utility_types.rs at the Flatten Path node creation referenced in the issue. Reproduce on a clean Graphite instance by opening error_1-and-3.graphite.txt, error_2.graphite.txt, then error_1-and-3.graphite.txt, and dragging a point of the black ellipse with the path tool. Done means the unexpected node is not created and the document renders correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.