GraphiteEditor / GraphiteEditor/Graphite

Add other boolean modes to the Boolean Operation node

Ouverte
#4,103 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
27.2k
Forks
1.3k
Merge moyen
20 h 5 min
PR mergées (30 j)
57

Description

On [discord](https://discord.com/channels/731730685944922173/731738914812854303/1499412005428396122) boldline suggested to implement the following feature:
Would you consider adding a "merge" option to the boolean tools? Specifically one that functions like in Illustrator and in Vectorstyler? Essentially, if the two objects are the same color, it will merge them together, if they are different colors, it will cookie-cutter them but leave both pieces there. And also @Keavon suggested to add the other boolean modes that can be constructed out of the existing boolean ops algorithm from the Linesweeper library that would be expected in other vector graphics apps.

So far Graphite implemented: Union, Subtract front, Subtract back, Intersect, Difference (this one is equivalent to Illustrator's Exclude, VectorStyler's Remove Overlaps, Inkscape's Exclusion. But maybe a better name can be used for this?)

My proposal is to add the following operators to the Boolean Operation Node:

- Merge: Apply union for all the objects that share the same fill property, removes strokes from all objects (Equivalent of Illustrator's Merge, VectorStyler's Merge functionality)
- Divide/Fracture: Calculates all the overlapping and non overlapping parts (Equivalent of Illustrator's Divide, VectorStyler's Divide, Inkscape's Fracture)
- Trim: Subtracts top objects from the objects below them and keeps the remainder of the operation and also the top objects, removes stroke from all objects (Equivalent of Illustrator's Trim, VectorStyler's Trim functionality)

Reference material:
How to Use the Pathfinder Panel in Adobe Illustrator (Full Overview)
https://www.youtube.com/watch?v=mkNnyDEVKUY
The Pathfinder Tool Explained // Adobe Illustrator Tutorial
https://www.youtube.com/watch?v=tJLMnaP3VyM
https://helpx.adobe.com/illustrator/desktop/manage-objects/reshape-transform-objects/pathfinder-panel-overview.html

Boolean Operations Reference Guide
https://vectorstyler.com/forum/topic/1758/boolean-operations-reference-guide/2

All Boolean Path Operations in Inkscape Explained (with Examples)
https://www.youtube.com/watch?v=Xr8HqSwqn2E
https://inkscape-manuals.readthedocs.io/en/latest/boolean-operations.html

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Start with the Boolean Operation node and the existing boolean operations algorithm from the Linesweeper library. Compare the proposed Merge, Divide/Fracture, and Trim semantics with the linked Illustrator, VectorStyler, and Inkscape references. Done means the node supports the proposed modes with the specified fill and stroke behavior and matches the expected vector results.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
computer-graphics
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.