# Author and release interactive content

Vifu Content Runtime demonstrates how a product can add a complete authoring
workflow above the reusable Agent Runtime. Canvas and Short Drama are two views
of one content source: a graph view for behavior and a timeline view for
story-focused editing.

These editors belong to the example application, not to Vifu's core Runtime or
operations Console.

## One source, two editors

```mermaid
flowchart TD
  Source[Editable content source] --> Canvas[Canvas graph]
  Source --> Drama[Short Drama timeline]
  Canvas --> Source
  Drama --> Source
  Source --> Preview[Validate and preview]
  Preview --> Release[Immutable content release]
```

Canvas presents nodes, ports, and connections. Short Drama presents compatible
nodes as scenes, dialogue, choices, cast, media, and timeline tracks. Editing
behavior in either view updates the same revisioned source.

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

## Draft and preview

Each save includes the revision it started from. The Content Runtime can reject
an edit based on an outdated revision instead of silently overwriting newer
work.

Preview validates and compiles the current draft, then creates a session
through the same plugin used by a published release. That makes Preview a test
of the real application behavior, not a separate editor simulation.

Agent work still crosses the Vifu callback boundary. Preview can therefore use
the same project Agent profiles and produce the same runtime traces as a
published session.

## Publishing

Publishing compiles one draft revision into an immutable content release. The
plugin records the executable content and the application resources it needs.
The Vifu project remains the canonical owner of Agent profiles, provider
connections, access, and traces.

Editing the draft or publishing a newer release does not rewrite an existing
release. Sessions continue to use the release they started with.

Presentation bindings remain separate from application behavior. A host can
map stable logical resources to images, audio, video, or engine-owned objects
without changing the compiled story rules.

## Apply the pattern elsewhere

Another product does not need to adopt the Short Drama schema or either editor.
It can provide its own source format and product UI while keeping the same
boundary:

| Application owns | Vifu owns |
| --- | --- |
| Source format and editor | Canonical project and Agent identity |
| Compiler and application releases | Project access and runtime channels |
| Product-specific session rules | Provider connections and Agent routing |
| Host presentation contract | Agent traces |

Read [Project files](/docs/examples/project-files) for the example's source
boundary and [Runtime releases](/docs/examples/runtime-releases) for its
compiled release boundary.
