Chisel.Prototype
Chisel.Prototype copied to clipboard
Crash on double clicking shape vertex and turning it into a Bezier curve.
Double clicking on the vertex of a shape made with Chisel turned the vertex into a bezier point, which then resulted in 2 errors and a crash.
The vertex selected was on the top of the shape. Both ends of the shape resulted in MAKING the bezier shape, but then the program crashed. To my knowledge this happens consistently.
Included in the crash folder is the packages lock and manifest.json because the Unity crash reporter recommended it, if that's not necessary, sorry, lol
Fixed the majority of the crashes for this situation, if you try really hard you can still cause it to crash There are definitely still problems with the Shape, but the latest version should already be a lot better Turns out this generator exposed a lot of bugs, which is a good thing :)
Great to hear dude!
Yeah there were a few times on the previous version this crash didn't seem to happen immediately, but if I toyed with it and caused a few self-intersections, it would outright crash. Hopefully in the future those exceptions can just be caught and Chisel can have a fallback. For now, glad the majority of problems were sorted out :)
From what I can tell the remaining problems mostly have to do with polygons being collapsed into nothing (because their vertices are too close) and there's a mismatch in the number of surfaces somewhere because of this ... so if you create really fine polygons in the curvature, it'll still generate errors There are also some other errors that pop up now and then, but they're harder to reproduce Oh, and some brushes seem to be invisible/not created properly for some reason .. but not sure yet if it's b/c of the generator code being buggy, or something else in the CSG algorithm (but I'll get to that)
I'm gonna write a detailed issue later that has something to do w/ that I think; there's a thing that happens if you try "inverting" a parametric object, or when you're forming a shape and you're switching between building upwards and carving downwards. In the moment your object is flat / as it does the "flip," we get a memory leak, and that feels similar to the issue here. Verts/polygons that are too close together are causing a null case exception or whatever.
Well every time there's an exception the whole clean up part of the algorithm gets skipped .. :-/ The clean up code is in a "finally" scope but sadly dots does some funky stuff with exceptions so it never ends up getting called