๐ Vulfram Documentation Index
This site is split into two documentation tracks:
- Core Docs: the Rust engine, C-ABI, and command system.
- TypeScript Binding Docs: a higher-level API for app developers.
If you are new, start with the Core Overview and follow the path that matches your role.
๐ฏ Quick Navigation
I want to...
- Understand what Vulfram is โ Start with Overview
- Build a language binding โ Read ABI Reference and Architecture
- Use the TypeScript binding โ Start at TS Binding Overview
- Understand runtime separation โ Read Platform Proxies
- Contribute to the core โ Check Internal API and Glossary
- Look up a command โ Jump to any page under Command Reference
- Customize rendering โ Read Render Graph
๐ Documentation Map
Core Docs (Binding Authors & Integrators)
-
- Mental model of host vs core
- Components vs resources
- IDs, uploads, and fallback semantics
-
- C-ABI functions and contracts
- MessagePack boundaries
- Output buffer ownership
- Recommended frame loop
-
- Lifecycle and main loop structure
- Command processing flow
- Resource linking and batching
-
- Per-command payloads, responses, and usage notes
-
- Terminology and naming conventions
-
- Host-defined render sequence
- Validation rules and fallback behavior
Core Docs (Rust Contributors)
๐งญ Core Command Reference Map
Commands are grouped by intent and are intentionally small. Use the reference pages when you need exact fields and response shapes.
- Window: Create, state, size, cursor, attention, focus, icons
- Camera: Create, update, list, dispose
- Model: Create, update, list, dispose
- Light: Create, update, list, dispose
- Material: Create, update, list, dispose
- Texture: Create, list, dispose
- Geometry: Create, update, list, dispose
- Primitive Geometry: Quickly generate cube/sphere/etc.
- Shadow: Configure global shadow behavior
- Render Graph: Host-defined render sequence per window
- Gizmo: Debug draw line/AABB
- Maintenance: Upload cleanup (
CmdUploadBufferDiscardAll)
๐ Suggested Learning Paths (Core)
Path 1: Node.js Binding Developer (N-API)
example
/vulfram/docs/overview
โ
/vulfram/docs/abi
โ
/vulfram/docs/arch
โ
/vulfram/docs/glossary
Path 2: Python/Lua Binding Developer
example
/vulfram/docs/overview
โ
/vulfram/docs/abi
โ
/vulfram/docs/arch
โ
/vulfram/docs/glossary
Path 3: Rust Core Contributor
example
/vulfram/docs/overview
โ
/vulfram/docs/arch
โ
/vulfram/docs/api
โ
/vulfram/docs/glossary
๐ Conventions Used in Docs
- MessagePack examples show the logical structure, not the binary layout.
- Code blocks are conceptual unless stated otherwise.
- IDs are always host-chosen integers (opaque to the core).
๐งช TypeScript Binding Docs
๐ External References
- Project Overview: Vulfram README
- Brand & UI: Mascot (Vulfi), Visual Identity
- Runtime Separation: Platform Proxies
Happy coding with Vulfram! ๐ฆ
Made with โค๏ธ by the Vulppi team
Documentation Vulfram Core