vfilesystem
A lightweight, composable filesystem abstraction — normalized paths, virtual mounts, and platform-aware backends for desktop, Android, and WASM.
Part of the Vultra Ecosystem.
Why This Exists
File access is one of those things every project needs and every platform does differently. vfilesystem encapsulates it once — normalized UTF-8 forward-slash paths, uniform IFile / IFileSystem interfaces — so the rest of the stack never touches platform quirks.
Design
- Backends: PhysicalFileSystem, MemoryFileSystem, and a platform-aware factory covering desktop, Android, and WASM/Emscripten.
- VirtualFileSystem with a mount table for composing filesystems — the mechanism behind
res://-style URIs in the engine. - Strict non-goals: no asset loading, no streaming IO, no task scheduling, no global locking. Keeping the boundary tight is what keeps the library composable — higher-level concerns belong to vasset and friends.