Skip to content

Why preview and export should agree

The Session validates Project JSON and compiles an immutable Render IR containing resolved timing, layer order, source evaluation, materials, color, and audio rules. The same IR semantics feed preview, playback, local export, and the payload for remote export.

Item visibility, source mapping, transforms, opacity, masks, effects, transitions, nested sequences, color conversion, channel layout, gain, fades, and master settings must not have independent preview-only and export-only interpretations.

Preview can select a proxy representation, reduce output scale, skip an obsolete frame, lower material quality, or use adaptive scheduling. Those choices may reduce fidelity, but the requested timeline time and composition semantics stay unchanged. Review mode should use full quality when visual sign-off matters.

An export job captures the current revision and IR before preflight. Later edits create a new revision and do not mutate the running job. A revision mismatch is an error, not a request to blend old and new state.

Send canonical Project data, exact material identities, media identities, engine/protocol versions, and the frozen revision to the service. The server must validate again and resolve the same assets and materials. Do not treat an arbitrary checkpoint as trusted executable state.

Maintain golden projects covering time maps, transitions, materials, text, masks, color, and audio. Compare selected review frames and measurable audio output between preview and export, while allowing only documented encoder and preview-quality tolerances.