๐Ÿ“š 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...


๐Ÿ“– Documentation Map

Core Docs (Binding Authors & Integrators)

  1. Overview

    • Mental model of host vs core
    • Components vs resources
    • IDs, uploads, and fallback semantics
  2. ABI Reference

    • C-ABI functions and contracts
    • MessagePack boundaries
    • Output buffer ownership
    • Recommended frame loop
  3. Architecture

    • Lifecycle and main loop structure
    • Command processing flow
    • Resource linking and batching
  4. Command Reference

    • Per-command payloads, responses, and usage notes
  5. Glossary

    • Terminology and naming conventions
  6. Render Graph

    • Host-defined render sequence
    • Validation rules and fallback behavior

Core Docs (Rust Contributors)

  1. Overview
  2. Architecture
  3. Internal API
  4. Glossary
  5. Platform Proxies
  6. Render Graph

๐Ÿงญ 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


Happy coding with Vulfram! ๐ŸฆŠ

Made with โค๏ธ by the Vulppi team

Documentation Vulfram Core