Referencia de elementos
BaseClip, Transform y Style
1. BaseClip
interface BaseClip {
id?: string;
type: ClipType;
start: number;
duration: number;
transform?: Transform;
zIndex?: number;
opacity?: number;
style?: Style;
animations?: Animation[];
keyframes?: Keyframe[];
transition?: Transition;
}2. Referencia de campos
id
- Tipo:
string - Obligatorio: no
- Propósito: identificador del elemento
type
- Tipo:
ClipType - Obligatorio: sí
Compatibles actualmente:
videoimagetextrectcirclepolygonaudiosubtitlelayouttemplate
start
- Tipo:
number - Unidad: segundos
- Obligatorio: sí
- Propósito: hora de inicio del clip
duration
- Tipo:
number - Unidad: segundos
- Obligatorio: sí
- Propósito: duración del clip
transform
- Tipo:
Transform - Obligatorio: no
zIndex
- Tipo:
number - Obligatorio: no
- Valor por defecto:
0
opacity
- Tipo:
number - Obligatorio: no
- Valor por defecto:
1 - Propósito: atajo de opacidad para elementos visibles
- Regla de compatibilidad:
style.opacitytiene prioridad sobreopacityen el nivel superior
style
- Tipo:
Style - Obligatorio: no
animations
- Tipo:
Animation[] - Obligatorio: no
keyframes
- Tipo:
Keyframe[] - Obligatorio: no
transition
- Tipo:
Transition - Obligatorio: no
Notas:
transitionse aplica a elementos visiblesaudiono ejecuta transiciones visuales
3. Transform
interface Transform {
x?: number | string;
y?: number | string;
width?: number | string;
height?: number | string;
scale?: number | [number, number];
rotation?: number;
skew?: [number, number];
anchor?: Anchor;
}Actualmente efectivos en runtime:
xywidthheightscalerotationskewanchor
4. Reglas de coordenadas porcentuales
Este no es un sistema de esquina superior izquierda al estilo DOM. Usa un modelo de coordenadas centrado.
Ejemplos:
x: "50%"significa centro horizontaly: "50%"significa centro verticalx: "0%"significa extremo izquierdox: "100%"significa extremo derechoy: "0%"significa arribay: "100%"significa abajo
5. scale
Formas compatibles:
{ "scale": 1.2 }{ "scale": [1.2, 0.8] }6. anchor
Valores compatibles:
centertop-lefttoptop-rightleftrightbottom-leftbottombottom-right
7. Style
interface Style {
opacity?: number;
objectFit?: "fill" | "cover" | "contain";
fill?: string | Gradient;
stroke?: string;
strokeWidth?: number;
fontFamily?: string;
fontSize?: number;
fontWeight?: number | string;
fontStyle?: "normal" | "italic";
lineHeight?: number;
letterSpacing?: number;
textAlign?: "left" | "center" | "right";
textWrap?: boolean;
shadowColor?: string;
shadowBlur?: number;
shadowOffset?: [number, number];
borderRadius?: number | [number, number, number, number];
filters?: Filter[];
}Actualmente efectivos en runtime:
opacityobjectFitfillstrokestrokeWidthfontFamilyfontSizefontWeightfontStylelineHeightletterSpacingtextAligntextWrapshadowColorshadowBlurshadowOffsetborderRadiusfilters
8. filters
Compatibles:
blurbrightnesscontrastsaturatehuegrayscalesepiainvert
9. Observaciones compartidas de estilo
style.objectFitactualmente tiene sentido enimageyvideo- Los valores permitidos son
fill,coverycontain - Los demás tipos de clip no deben tratar
objectFitcomo un campo efectivo