I’ve been coding a crate (or at least an API) to read/write a proprietary 3D file format. The problem is finding a crate, if one exists, that I could plug that into, so that it will convert between other formats similar to what Assimp does, but preferrably more modular. I did find a crate called mash, but it seems not only inactive, but only has a Wavefront OBJ backend that seems tied in to the crate itself as opposed to being an addon, despite being marked as a ‘feature’ (like Serde JSON is to Serde, for example).
I would have written an addon for Assimp in C++ but Rust seems easier for the job as far as coding goes (Cargo seems easier to use than CMake, plus I prefer Rust enums over std::variant or unions and Rust’s lightweightedness.). Additionally, Assimp lacks a plugin API. In order to add support for a new format, you need to build it as part of the Assimp library itself.