I have now split the repo into two libraries, one provides the file definitions while the other provides the methods for serializing and deserializing. There is documentation in the file definition repo for the fields that are "known". If I missed anything let me know (either here or make an issue, or even better a PR.)
File definitions:
https://github.com/willemml/kindle_formats-rs
Serializer and deserializer (read and write to KRDS files):
https://github.com/willemml/serde_krds
(This is just a small update on what I am doing. There is no functionality added, although now these libraries are published on crates.io (
ser/de,
definitions) and
serde_krds conforms to the Serde data format crate conventions.