View Issue Details

IDProjectCategoryView StatusLast Update
0003611NoesisGUIStudiopublic2024-08-13 16:39
Reporterdstewart Assigned Tosfernandez  
PrioritynormalSeveritymajor 
Status resolvedResolutionno change required 
Product VersionStudio_Path 
Fixed in VersionStudio_Path 
Summary0003611: Paths Don't Flatten when Booleaned
Description

Currently, if you Boolean a RenderTransformed (but not Flattened) Path with another Path, it does not Flatten the resulting compound Path in the process of the Boolean operation.

NOTE THE FOLLOWING IS INCORRECT AFTER FURTHER INVESTIGATION:
This is in contrast to if you Boolean a RenderTransformed Shape with a Path, the Boolean operation will simulataneously:
a) convert the Shape to a Path
and
b) Flatten the new Path
(Which is the expected behaviour)

Steps To Reproduce

Repro Steps:

1) Create a Page
2) Introduce two 128x128 rectangles into the RootGrid of the Page.
3) Select each Rectangle, and apply a RenderTransform to each Rectangle of: Origin: 0.5/0.5, Rotation: 45
4) Using the Selection Tool (V), make the two Rectangles partially overlap eachother.

5) Right-Click on each rectangle, and navigate to 'Path', then 'Convert to path' for each.
6) In the Navigator, select the Path furthest away from the RootGrid in which both were created/Top-most visually , right-click it, and in the context menu, select 'Path', then 'Flatten Transform'.

7) Whilst holding [Ctrl], click on both Paths to multi-select them.
8) Right-click on the Path that was Flattened, and from its context menu navigate to 'Path', then select the 'Unite' Boolean mode.

9) Using the Path Selection Tool [A], select the new compound Path, this will make the Path Points appear. Then, select any Path Point on the Shape.
10) Using [Shift+ArrowKey], press the ArrowKey in any direction.

Observe that the Path does not move in the direction the ArrowKey was pressed.
Thanks to this issue: https://www.noesisengine.com/bugs/view.php?id=3571 . We can use this behaviour as proof that the Path has not been Flattened.

11) Using the Selection Tool [V], select the Path.

Observe how the element's adorner is at a 45 degree angle. We can use this as further proof that the Path has not been Flattened, otherwise, it would be horizontal.

Expected Results: Paths are flattened in the process of being Booleaned, especially if they are being Booleaned with a Flattened Path.

PlatformAny

Activities

jsantos

jsantos

2024-08-13 15:03

manager   ~0009875

We should discuss this, I don't think we should be flattening if it can be avoided and the user didn't request it.

dstewart

dstewart

2024-08-13 15:30

developer   ~0009876

Not saying this is authority that should be followed necessarily, but just attaching a reference from Illustrator, where Paths are Flattened with a brand new fresh bounding box when Booleaned:

dstewart

dstewart

2024-08-13 15:40

developer   ~0009877

Last edited: 2024-08-13 15:42

Also please note that my original comment about Shapes always being Flattened when Booleaned with Paths was factually incorrect, and was a result of discrepancies in which 'master' is used to set the new Render Transform properties of a compounded pair of shapes that have been booleaned. (Separate issue which is being worked on, and which will say that the layer that is right-clicked is set as the 'master').
So, I have less argument for this than initially thought.

dstewart

dstewart

2024-08-13 16:35

developer   ~0009879

We spoke about this during today's meeting. We ended up in agreement with you, Jesús -- Flattening will not happen, and the RenderTransform applied to a Boolean will follow the RenderTransform of the 'master'. This can be closed now! :)

Issue History

Date Modified Username Field Change
2024-08-12 15:17 dstewart New Issue
2024-08-12 15:17 dstewart Description Updated
2024-08-13 15:00 jsantos Assigned To => sfernandez
2024-08-13 15:00 jsantos Status new => assigned
2024-08-13 15:03 jsantos Note Added: 0009875
2024-08-13 15:30 dstewart Note Added: 0009876
2024-08-13 15:30 dstewart File Added: BooleanedPathsIllustrator.mp4
2024-08-13 15:37 dstewart Description Updated
2024-08-13 15:40 dstewart Note Added: 0009877
2024-08-13 15:42 dstewart Note Edited: 0009877
2024-08-13 16:35 dstewart Note Added: 0009879
2024-08-13 16:39 sfernandez Status assigned => resolved
2024-08-13 16:39 sfernandez Resolution open => no change required
2024-08-13 16:39 sfernandez Fixed in Version => Studio_Path
2024-08-13 16:51 jsantos File Deleted: BooleanedPathsIllustrator.mp4