타임라인, 트랙, 클립
이 페이지는 문서 버전에 해당하는 project.v1.schema.json에서 자동 생성되며, 필드 설명은 원문(영어) 그대로입니다. 스키마는 형태만 검사합니다. 범위, 한도, 참조, 키프레임 순서는 엔진 검증 단계에서 검사합니다.
BlendSpace
The color space in which blend modes are evaluated.
Compositing is always premultiplied; this chooses what the blend formulas see. Contrast modes such as overlay and soft-light match design tools only in SrgbEncoded.
"linear_light"Linear light, where blending is physically meaningful."srgb_encoded"sRGB-encoded values, as design tools and CSS blend.
CacheIntent
Whether a runtime may keep and reuse a clip's rendered picture.
"auto"The runtime decides, keeping pictures whose inputs it can identify."pin"Keep it ahead of other pictures, and bake its range when a host bakes render caches."bypass"Always render it live, never reading from or writing to a cache.
Clip
A reference to a source over independent timeline and source ranges.
| Field | Type | Description |
|---|---|---|
audio | AudioProperties | Presentation controls applied to this clip's audio. Default: |
blend_mode | ClipBlendMode | Artistic operation used when this clip is composited over earlier layers. Default: |
cache | CacheIntent | Whether a runtime may keep and reuse the clip's rendered picture. Never changes what renders. |
composition | ClipComposition | null | The composition graph that builds the clip's picture from its source, with the clip's time mapping onto it. Without one the clip shows its source as is. Visual clips only. Default: |
idrequired | ClipId | Stable clip identity. |
masks | ShapeMask[] | Shapes that limit where the clip is visible, applied in order after its composition and before its transform. At most Default: |
matte | Matte | null | Another visual clip whose picture sets where this clip is visible. Default: |
source_idrequired | SourceId | Source consumed by this clip. |
source_rangerequired | TimeRange | Interval read from the source timeline. |
time_map | TimeMap | How timeline time maps onto the source range. Default: |
timeline_rangerequired | TimeRange | Destination interval on the project timeline. |
visual | VisualProperties | Resolution-independent visual presentation controls. Default: |
ClipBlendMode
Blend mode, from W3C Compositing and Blending Level 1 (CSS mix-blend-mode) with the specification's formulas, plus plus-lighter from Level 2.
"normal"Preserve source color and apply source-over coverage."multiply"Multiply source and backdrop components."screen"Inverse-multiply source and backdrop components."overlay"Multiply dark backdrop regions and screen light regions."darken"The darker of source and backdrop, per channel."lighten"The lighter of source and backdrop, per channel."color_dodge"Brighten the backdrop to reflect the source."color_burn"Darken the backdrop to reflect the source."hard_light"Multiply or screen, depending on the source."soft_light"Darken or lighten, depending on the source: a diffused hard light."difference"The absolute difference of source and backdrop."exclusion"Like difference, with lower contrast."hue"The source's hue with the backdrop's saturation and luminosity."saturation"The source's saturation with the backdrop's hue and luminosity."color"The source's hue and saturation with the backdrop's luminosity."luminosity"The source's luminosity with the backdrop's hue and saturation."plus_lighter"Source and backdrop added, premultiplied color and alpha each clamped to 1 (Add or Linear Dodge in design tools). It replaces source-over rather than blending inside it.
ClipId
A stable timeline-clip identifier.
Type: string
ClipTransition
A two-input transition over the overlap of two visual clips.
| Field | Type | Description |
|---|---|---|
easingrequired | Easing | Timing curve applied to the transition's linear progress. The eased progress is clamped to |
effectrequired | ClipEffect | Versioned transition shader and named parameter values. |
from_cliprequired | ClipId | Clip sampled as transition progress zero. |
timeline_rangerequired | TimeRange | Half-open timeline interval over which both clips must be active. |
to_cliprequired | ClipId | Clip sampled as transition progress one. |
MaskMode
How a mask combines with the coverage of the masks before it.
Coverage starts empty when the first mask adds and full otherwise, so a clip whose only mask subtracts is visible outside the shape.
"add"Union:c + m - c * m."subtract"Difference:c * (1 - m)."intersect"Intersection:c * m.
Matte
Another visual clip whose picture sets where this clip is visible.
The matte clip is drawn, with its own transform and effects, only into the matte and is never composited itself. Where it is not active, coverage is zero.
MatteMode
Which property of the matte clip's picture is coverage.
"alpha"Its alpha."alpha_inverted"One minus its alpha."luma"Its luminance over black: BT.709 weights on linear light, times alpha."luma_inverted"One minus that luminance.
MediaTime
A signed position or duration in timeline ticks (120 000 per second), at most the largest integer a JavaScript number holds exactly either way.
Type: integer (int64)
Position
Whether a box is in its parent's flow.
"relative"In the flow."absolute"Out of the flow, placed byinset.
ShapeMask
A shape that limits where a clip is visible.
Geometry is in the clip's source space before its transform, so the mask moves with the clip: (0, 0) is the source's top-left, (1, 1) its bottom-right. Distances (feather, corner_radius, polystar radii) are fractions of that space's shorter side.
| Field | Type | Description |
|---|---|---|
feather | Animated_float | Edge softness, non-negative; zero is the outline's antialiased edge. Coverage is blurred by a Gaussian with standard deviation Default: |
fill_rule | FillRule | Which regions of the outline are inside it. Default: |
invert | boolean | Whether the mask keeps the outside of the shape instead of its inside. Default: |
mode | MaskMode | How this mask combines with the ones before it. Default: |
shaperequired | ShapeGeometry | The shape's outline, as a shapes generator's geometry. |
TimeMap
How a clip plays its source range over its timeline range.
forward and reverse stretch the source range over the timeline range, so their speed is the ratio of the two. A loop plays the source range at its own speed for as long as the timeline range lasts.
One of:
type: "forward"
From the start of the source range to its end.
type: "reverse"
From the end of the source range to its start: pictures in reverse order and sound played backwards.
type: "freeze"
One source instant for the whole clip, and silence.
| Field | Type | Description |
|---|---|---|
source_timerequired | MediaTime | The instant shown; inside the source range. |
type: "loop"
The source range again and again, at its own speed.
| Field | Type | Description |
|---|---|---|
moderequired | LoopMode | How each pass follows the one before. |
TimeRange
A half-open timeline interval [start, end).
TimeScale
A positive rational rate of one time against another.
| Field | Type | Description |
|---|---|---|
denrequired | integer (uint32) | Denominator; positive. |
numrequired | integer (uint32) | Numerator; positive. |
Timeline
Timeline tracks ordered from back to front for visual tracks.
| Field | Type | Description |
|---|---|---|
tracksrequired | Track[] | Tracks in composition order. |
Track
A homogeneous visual or audio timeline lane.
| Field | Type | Description |
|---|---|---|
audio | TrackAudio | Bus controls applied to this track's mixed audio. Default: |
captions | Captions | null | The cues and style of a caption track; present exactly for that kind. Default: |
clips | Clip[] | Clips on this track, in authoring order; evaluation sorts by time. A caption track has none. Default: |
idrequired | TrackId | Stable track identity. |
kindrequired | TrackKind | Controls source compatibility and evaluation behavior. |
namerequired | string | User-visible track name. |
transitions | ClipTransition[] | Explicit transitions between overlapping clips on this track. Default: |
TrackId
A stable timeline-track identifier.
Type: string
TrackKind
The media domain accepted by a track.
"video"A composited visual track."audio"A mixed audio track."caption"Timed text, drawn over the tracks before it and under the ones after.
TrackList
A grid track list as CSS writes it: "1fr 2fr 120px", "repeat(3, minmax(100px, 1fr))", "repeat(auto-fill, 160px)", "auto min-content max-content", "fit-content(200px)". A bare number is a fraction of the picture's shorter side. Named lines are not supported.
Type: string
VisualProperties
Resolution-independent visual presentation controls for a clip.
Omitted fields default to the source centred on the canvas, unscaled, unrotated and opaque.
| Field | Type | Description |
|---|---|---|
anchor | Vec2 | Unanimated normalized point within the source rectangle. Default: |
opacity | Animated_float | Animated opacity constrained to Default: |
position | AnimatedPoint | Animated normalized canvas translation, along spatial curves where keyframes have tangents. Default: |
rotation_degrees | Animated_float | Animated clockwise rotation in degrees. Default: |
scale | Animated_Vec2 | Animated per-axis scale. Default: |
