vbase
The foundational core library of the Vultra ecosystem — minimal, engine-agnostic building blocks with no global state.
Part of the Vultra Ecosystem.
Why This Exists
Every project ends up re-implementing the same handful of things — IDs, error handling, module wiring, events. vbase encapsulates the functionality I use most, once, properly, so that every library and project in the ecosystem (and beyond it) can share the same foundation instead of growing its own.
Design Philosophy
- Minimal dependencies — the foundation must not drag a dependency tree behind it.
- No global runtime state — libraries built on vbase stay embeddable and testable.
- Clear ownership — explicit lifetimes over hidden magic.
- Header-first, engine-independent — usable in any C++ project, not just Vultra.
What’s Inside
Utilities: UUID, StrongID, Result<T, E>, StringView, Span, BinaryReader/Writer, ScopeExit, Pimpl. Architectural primitives: IModule / ModuleRegistry, ServiceRegistry, Signal, EventBus, Singleton.
vfilesystem and vasset build directly on it.