Conversation
# Conflicts: # src/common/geometry.spec.js # src/features/layers/layersSlice.js # src/features/machines/PolarMachine.js
|
I managed to make it a little weird by scaling the mask effect. I made a simple polygon (7 sides, in this case), then added a circle packer, then the mask effect, selected the polygon shape as the source layer. Then I dragged the resize in the preview and the mask changed sizes, but the layer 1 polygon did not. That ended up with something a little weird:
I can think of a couple of ways to improve this:
This is the .sdf file for that issue (ran on this branch): |
|
@jeffeb3 I pushed a fix. I went with "hide mask source" layer (option 1). When you select a layer as the mask source, it hides it, adds a mask icon to the layer in the layer list, and adds a "masked source" description in the layer details when you select the layer. I also "dimmed" hidden layers in the layer list a bit to make them more obvious. Test it out and let me know if this works, thanks. |
# Conflicts: # package-lock.json # package.json
|
Looks good. I did find an issue, which I documented. This is ready to go. |

Layer mask and better borders (via boundary tracing and polygon machines)
Features
Mask effect: layer shape option
Lets you use one layer as the mask for another. Works with any shape, including self-intersecting patterns like Fractal Spirograph or text.
Fine tuning effect: enhanced border
Provides several improved border options.
Implementation
1. Polygon machines
New machine types that clip patterns to arbitrary polygon boundaries:
2. Boundary tracing
Methods for extracting outer boundaries from complex shapes. When drawing a boundary, it auto-detects the optimal algorithm based on shape characteristics.
Use cases
Add a layer mask
Add a border