That would be of interest; I am not certain I would end up using this (due to unrelated developments in how I want to approach my specific project) over quads/tris, but it looks very interesting. Obviously the splines are known explicitly; I assume they're local to the individual patch? It could work.
I didn't update this post before, but for others who maybe run into similar situations as myself: I actually found that by using the pygmsh wrapper I was able to get closer to what I wanted from gmsh. For unknown reasons gmsh actually respected the mesh_size= parameter that I gave to it via pygmsh.
If it is helpful I attach the GEO file.
My interest is in meshing (ideally only with quads, but a mix of tris and quads is acceptable) a region between two polygons with mesh sizes roughly comparable to a given polygon side's length. Currently I can generate valid meshes (see attached) using gmsh by specifying a geometry, based off the t11 tutorial. However, I would prefer fewer elements--many fewer elements (I'm willing to sacrifice on element quality if needed). I have tried a variety of the options to specify mesh size but none appear to be effective (I cannot see the internal logic of why gmsh is picking the mesh sizes that it is using). As stated above I'd ideally like roughly one quad per line in a polygon's boundary but gmsh by default chooses mesh sizes much smaller -- is there a way to enforce/encourage that? Barring that possibility in the initial mesh, can I ask gmsh to merge quads? Looking at the final mesh I'd be happy with merging every 3 or 4 quads together.
One thing that has reduced the number of elements is what is mentioned in this post: http://onelab.info/pipermail/gmsh/2020/013625.html. However, the produced mesh no longer respects the original geometry and is therefore invalid, I assume because it's working off a discrete representation to do the coarsening rather than the true geom.
Any pointers greatly appreciated. I also attach a modified t11 to show how things are currently set up; I won't attach the node list txt files for defining the polygons unless asked, but happy to provide them as well. Thanks again.
Source code:
Valid mesh:
Mesh nodes with original polygon lines plotted:
Invalid coarsened mesh: