Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The mesh type from GeometryBasics has been pretty insane (in terms of type complexity & usability) and making it the core representation in the mesh plot type has been a mistake for compilation latency and usability reasons.
This refactors the mesh plot type to get rid of
GeometryBasics.Mesh
, and instead just write out the mesh attributes we need.We gain the following advantages:
mplot = mesh!(ax, ..., normals=my_normals)
andmplot.normals = new_normals
etc...Before that, all these would have been wrapped up inmplot.mesh
and it wasn't possible to update them separatelyThe fully typed mesh type will look something like:
And will then very cleanly lead to type stable code in the backends without the current mess, where nobody knows what the mesh plot type is even supposed to contain.
Switching to this representation will need to wait though and will be done in the attributes refactor.