GraphiteEditor / GraphiteEditor/Graphite

Add other boolean modes to the Boolean Operation node

未关闭
#4,103 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。