Charlie Burrows
Charlie Burrows
Possibly duplicated by or related to #57789 and #59425 . The workaround of making the CollisionShape2D build_mode BUILD_SEGMENTS works in that it generates a decomposition when BUILD_SOLID cannot but it...
Confirmed the same issue (as the v4.3.dev6 version) exists in the [upstream project](https://github.com/ivanfratric/polypartition/)
The issue appears to be that the offset_polyline generates quite a lot of duplicate points that decompose_polygon_in_convex does not handle well. If I remove the duplicate points then the issue...
The TrimCollinear function is around 50 lines that allows a decimal precision to be used to determine a more approximate equality of position. This inexact equality test is not needed...
Unrelated but I'm seeing a very large performance degradation when decomposing polygons generated by inflating with END_ROUND set vs v4.2. That's a different issue though.
Here's the conclusion of my investigation: When the precision parameter is set to 5 ([Godot's default](https://github.com/godotengine/godot/blob/7cdad333114e6765351ed0facb48db228ef29b7b/core/math/geometry_2d.cpp#L38)) changing _PreserveCollinear has no effect and duplicate points are still generated._ Reducing the precision...
Well this is a little odd. I guess this is an openscad bug: ```openscad step = 0.01; echo(1.0/step); ``` ECHO: 100 ```openscad echo([for (t=[0:1.0:1/step]) t]); ``` ECHO: [0, ... 100]...