Skip to content

Concepts

A character document has version: 1, a name, a renderer name, optional controls and poster, and renderer-specific data. The shared schema validates that envelope. The selected adapter validates its own data. A source is either a document URL or { local: "key" } for a character installed by the host.

createSprite creates a stable host service. The host supplies local characters, renderer loaders, and asset policy. A player selects one source and receives activity, expression, appearance, and render-style updates without replacing its host element. The React Sprite owns one player and disposes it when it unmounts. The imperative player exposes set, pause, subscribe, and asynchronous dispose.

renderStyle applies one of the built-in SVG filters: plain, pencil, manga, riso, halftone, blueprint, crt, or watercolor. Each player owns its filter instance. Animated styles pause when the player is paused, is offscreen, the page is hidden, or reduced motion is requested.

Remote documents and nested assets pass through one reader. The host sets allowed origins, the maximum bytes per response, total bytes per selection, and request count. Local characters need no remote asset policy. Video uses the configured video renderer and reads clip assets through that same path.