GraphiteEditor / GraphiteEditor/Graphite
Add other boolean modes to the Boolean Operation node
- 主要语言
- Rust
- 星标
- 27.3k
- 派生
- 1.3k
- 平均合并
- 20 小时 5 分钟
- 30 天内合并 PR
- 57
描述
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
贡献指南
这个仓库没有索引到贡献指南
调研方向
从 Boolean Operation 节点和 Linesweeper 库中现有的布尔运算算法开始。将 Merge、Divide/Fracture 和 Trim 的拟议语义与链接的 Illustrator、VectorStyler 和 Inkscape 参考资料进行比较。当该节点支持所提议的模式,具备指定的填充和描边行为,并与预期的矢量结果一致时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust
- 领域
- computer-graphics
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100