布尔运算的框是第一个操作数的框,永远不会跟随所绘制的内容。

作者: danikobeissi创建于 2026年9月20日更新于 2026年9月20日
  • 立即。 将一个位于(10, 20)的 30x30 的矩形与一个位于(60, 70)的 20x20 的矩形进行联合。节点的框被报告为 30x30,位于(10, 20);所绘制的内容覆盖了(10, 20)到(80, 90)的区域。
  • 之后。 将第一个操作数移动 100 个单位向上和向左。绘图跟随它;框完全没有移动,现在完全位于绘图之外。
  • 在自动布局框中。 行通过该框来放置操作,因此它会与邻居重叠或留下空隙,具体取决于框的错误程度。

预期结果

节点的框保存了它所绘制的内容,并且随着操作数的变化而保持这一内容 — 就像 Figma 中的组一样,以及编辑器的 wrapSelectionInContainer 函数在创建组时所做的那样。可见操作数的框的联合是没有路径引擎的可用框;它对联合来说是精确的,并且保留了其他三种操作的绘图内容。

位置

  • packages/core/src/figma-api/index.ts_booleanOperation,第 365-388 行,e2de247x: first.x, y: first.y, width: first.width, height: first.height)。
  • 取而代之的绘图内容:packages/core/src/canvas/boolean.tsmakeBooleanOperationPath
  • 到达此处的工具:packages/core/src/tools/vector/boolean.tsboolean_unionboolean_subtractboolean_intersectboolean_exclude

内容来源: open-pencil/open-pencil