There's potentially another way we could fix this, which is moving the local material into the library data-block of the brush, as indirectly linked. Then preserving it over file loads should…
Looking at the code, this would require larger changes. The new primitives were simply not built with this in mind. This will require some refactoring. I will lower the prioity for this since…
No need to rename this. convert_to_poly_curves
was fine.
I think making the conversion explicit like Hans suggested is the right call here. This also makes it less error prone (like the issue I highlighted with the current outline modifier).
We have to be a bit careful here. This only works because the curves are modified in place in the drawing.
Seems to work great from a quick test, thanks!
I think it might make sense to add this above:
Hm this is getting very messy.