用途:指导在 Remotion 中编写或重构标记(markup),核心是把时间控制放在内容组件本身,并采用受管理的全屏布局。
主要能力与做法: 一、时间放在内容组件上。新标记中不鼓励直接使用 <Sequence>,因为它提供的是供其他组件继承的时间原语,而非在内容外多加一层包裹。应使用内置交互组件、支持时间的媒体组件,或用 Interactive.withSchema({wrapInSequence: true}) 创建的自定义组件,把 from、durationInFrames、trimBefore、playbackRate 和 name 直接传给支持这些属性的组件。不要仅为调度或命名而把一个已支持时间的组件包进 <Sequence>;自定义组件优先通过 Interactive.withSchema() 添加时间,而非在每处调用点再引入序列。仅当必要的时间边界无法由内容组件表达时,才保留直接的 <Sequence>。<TransitionSeries.Sequence> 等专用容器仍保留各自的排序行为。移除已有包裹时,要保留其时间、尺寸与 premount 行为,注意子级已有的时间,不要覆盖或重复应用偏移,并保留组件本地帧与其父级中动画表达式的区别。
二、使用受管理的全屏布局。不鼓励把 <AbsoluteFill> 当作场景或组件包裹,因为它常引入不表示有用内容的额外时间线层。优先使用 Interactive.withSchema() 搭配 wrapInSequence: true 和 layout: 'absolute-fill',全屏容器与组件共享同一时间线条目。内部组件可返回 fragment;实例样式、时间、宽高放在导出的交互组件上,使用该布局时不要在内部组件声明 style、width 或 height,由包裹层拥有它们。受管理容器默认裁剪溢出,需要时在导出组件上用 style={{overflow: 'visible'}}。只有受管理根节点无法提供的对齐、裁剪或分组时才保留额外布局容器;自带边界的组件(如文本框或 SVG)可用默认 layout: 'none' 并把 style 转发到其视觉根节点。
限制与说明:资料未提供具体收费、平台或版本要求信息,暂未提供;更多指引见 Remotion Interactivity 与 Interactive.withSchema() API 文档。