I realize that what I'm asking for is something that, by nature, converges on a re-implementation of the .blend file format (or a GLTF-style exporter that precisely mirrors .blend) as it gets closer to full functionality.
I also know we could write our own. Traverse the hierarchy, extend pickle, dill, JSONEncoder, etc. Some good work has also been done recently on specifically serializing materials, and there's a couple questions about writing exporters, but I haven't found any that (1) aim to work on entire object hierarchies (including geometry data, modifiers, relationships, etc) and (2) fully preserve the data and structure for continued use in Blender.
I wonder whether any other work or tools are already out there.
rna_xml.py", line 222, in rna2xmlvalue = getattr(root_rna, attr)AttributeError: 'Object' object has no attribute 'SomeCustomProperty'. Hm. Also not sure how to get it to actually save mesh data. – Will Chen Mar 20 '21 at 16:57