View Markdown

Authoring and releases

Status: Available. The source, editing, Preview, project export, and release flow on this page are implemented in the current Dashboard and Vifu Server.

A Vifu project has one editable game source. Canvas and Short Drama are two views of that source, so creators can change the same game through a graph or a timeline without maintaining two copies.

One source, two editors

Architecture diagram
Rendering diagram

Canvas presents nodes, ports, and connections. Short Drama presents compatible nodes as scenes, dialogue, choices, cast, media, and timeline tracks. Adding or editing a runtime node in either view updates the shared source.

Layout details stay view-specific. Moving a Canvas node or changing editor zoom does not change the compiled game behavior.

Draft and Preview

The editable source is stored as a revisioned draft. Each save includes the revision it started from, so the Server can reject an edit made against an outdated copy instead of silently overwriting newer work.

Preview & QA validates and compiles the current draft, then starts a real session with the same runtime used by a published release. Preview is therefore for testing behavior, not a separate simulation of the editor.

Publishing

Publishing compiles one draft revision into an immutable Game release. The release records the executable game plan and pins the Agent Profile and backend resource versions it needs.

Editing the draft or publishing a newer release does not rewrite an existing release. Sessions that already started continue to use their pinned release.

Presentation bindings are versioned separately. They map stable logical resource names from the game to concrete images, audio, video, or engine-owned objects. This allows a host to change presentation without silently changing the backend game rules.

Portable files

ArtifactUse it for
.vf project fileMove or share the editable source, Agent Profile snapshots, structured resources, and managed media.
.vifu-game.json runtime bundlePreserve one compiled Game release and its pinned backend resources.
Host bindingsMap logical resources to objects and assets owned by a web or native game host.

Project files and release bundles do not contain provider credentials, project keys, user sessions, logs, or analytics. Those remain with the deployment that owns them.

Read Core runtime design for how a published release executes. Follow Build an interactive short drama for the complete Dashboard workflow.