View Markdown

Vifu technical direction

Status: Working design. Current behavior is documented in Core runtime design. Every unfinished direction on this page is marked In progress or Experimental.

Vifu focuses on the backend behavior of AI-native games. It should stay small enough to run as a service today and become easier to embed in game clients over time.

Keep the runtime headless

Available. Vifu owns game state, rules, Agent calls, effects, sessions, and events. The game host owns pixels, audio playback, controls, and engine objects.

This boundary lets the same published game work with a browser, Godot, Unity, Unreal, or a custom native client without moving the game rules into every frontend.

Keep one editable source

Available. Canvas and Short Drama are views of the same source. Future editors must follow the same rule. An editor may present the game differently, but it must not create an incompatible runtime format.

Keep external work visible

Available for Agents and tools. Network calls run as recorded effects. The runtime pauses, stores the request, and resumes from the stored result. This makes failures, retries, and traces visible instead of hiding network work inside a state change.

Experimental for media and speech. Image, video, speech-to-text, and text-to-speech providers do not yet share one stable runtime capability contract.

Grow through focused experiences

In progress for interactive stories. Short Drama provides the first focused workflow on top of the common runtime.

Experimental for language roleplay. A language-learning workflow may add speech, evaluation, feedback, and lesson-specific components without creating a second runtime.

Focused experiences should provide useful editor blocks and host components, then compile back to the same game source and endpoint.

Preserve a portable core

In progress. The Bevy runtime already lives in a separate Rust crate, and mobile FFI work exists in the repository. The supported public deployment is still Vifu Server. Embedding the runtime as a native or WebAssembly library is not yet a supported workflow.

Experimental. A smaller low-level instruction set, MCP authoring, external node packages, experience kits, and constrained plugin execution do not yet have stable public contracts.

Rules for future changes

  1. A published game must run without the Dashboard or editor.
  2. Editors must update one revisioned source.
  3. Network calls must remain visible effects.
  4. Credentials must stay outside project files and release bundles.
  5. A feature enters normal documentation only after its complete user path is implemented and tested.

See the Roadmap for the order in which Vifu is applying these decisions.