fskit
Useful abstractions for building sans-io filesystems on top of the vfs crate.
These abstractions were born out of developing enfusion_pak and wows-toolkit.
In both of these applications I created a sans-io filesystem parser which performed the low-level understanding of the filesystem itself, and abstracted its access using vfs.
Instead of copying/pasting the traits and common patterns around, fskit provides the abstractions that were useful across both crates.
tl;dr
VfsEntryabstraction for building proper filesystem trees with knowledge of what a file/directory is, directory children, and the entry's metadata.VfsTree, which (at the time of writing) implements a a flat "tree" over the filesystem's full path.- A
ReadAtandAsyncReadAttrait, implemented by you, which receives read context suitable for implementors to figure out how to read the described file's range. ReadOnlyVfs<F, O>, implementing the standard read-onlyvfsfunctions over the above.
Together the above allow you to focus on the details of reading the filesystem, implement a few traits, build the tree, and you now have a working VFS.