ended up being a significant rewrite oops!
- drop sqlite, pick up fjall v3 for some speeeeeeed (and code simplification and easier build requirements and)
- no more
Processabletrait, process functions are justVec<u8> -> Vec<u8>now (bring your own ser/de). there's a potential small cost here where processors need to now actually go through serialization even for in-memory car walking, but i think zero-copy approaches (eg. rkyv) are low-cost enough - custom deserialize for MST nodes that does as much depth calculation and rkey validation as possible in-line. (not clear if it actually made anything faster)
- check MST depth at every node properly (previously it could do some walking before being able to check and included some assumptions)
- check MST for empty leaf nodes (which not allowed)
- shave 0.6 nanoseconds (really) from MST depth calculation (don't ask)
i guess i should put this in a changelog