@vosjs/studio-core 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,7 +27,7 @@ RecordingArtifact ──projectFromArtifact──▶ ProjectDoc ──lowerStudi
27
27
 
28
28
  ## Two documents, one editor
29
29
 
30
- `StudioDoc = ProjectDoc | ProgramAnchorDoc`, discriminated on `source`. A `ProjectDoc` is a recording: footage, `segments` (the kept source spans), `zoom`, `speed`, `tilt`, `camMotion`, the frame and cursor styles, plus the shared layers. A `ProgramAnchorDoc` is a vos program that gained the same shared layers (text, image and video overlays, 3D objects, audio clips, speed spans, a tween-retime overlay) without those being written into its config. `anchorKindOf`, `isRecordingDoc` and `isProgramDoc` read the discriminator; `lowerProgramDoc` lowers the program kind. Hosted documents carry `docSchemaVersion` (`DOC_SCHEMA_VERSION`, currently 2) and are upgraded on read with `migrateHostedDoc`.
30
+ `StudioDoc = ProjectDoc | ProgramAnchorDoc`, discriminated on `source`. A `ProjectDoc` is a recording: footage, `segments` (the kept source spans, played in order; one may repeat seconds an earlier one played, and every source-anchored span over them plays in each occurrence, see `spanOutputExtents`; one marked `camera: 'rest'` keeps the camera at rest through its pass, and a step anchor reads the pass its step plays longest), `zoom`, `speed`, `tilt`, `camMotion`, the frame and cursor styles, plus the shared layers. A `ProgramAnchorDoc` is a vos program that gained the same shared layers (text, image and video overlays, 3D objects, audio clips, speed spans, a tween-retime overlay) without those being written into its config. `anchorKindOf`, `isRecordingDoc` and `isProgramDoc` read the discriminator; `lowerProgramDoc` lowers the program kind. Hosted documents carry `docSchemaVersion` (`DOC_SCHEMA_VERSION`, currently 2) and are upgraded on read with `migrateHostedDoc`.
31
31
 
32
32
  The shared layers lower as one engine `stack` entry, `STUDIO_ENTRY_ID` (`'vosso.studio'`), with its own data (`studioLayerData`), so either document kind hosts them and the engine's `SET_DATA { target }` updates them alone. `studioAudioPlan` turns the entry's audio clips and duck curve into the plan `@vosjs/core/audio` mixes. An audio clip's `gain` is 0..1; a clip may carry a loudness target instead, `normalize` (integrated LUFS, -30..-6), beside the file's measured `loudness` (`{ lufs, peakDb, at, src }`, written by tooling): `clipGain` derives the gain it plays at, `10^((normalize - lufs) / 20) × gain`, which may exceed 1 and is capped so the sample peak stays under -1 dBFS (and never lifts more than +24 dB). The target applies only while `loudness.src` is the clip's `key`; a clip without one lowers byte for byte as before.
33
33
 
package/dist/index.d.ts CHANGED
@@ -284,6 +284,15 @@ type DocSegment = Segment & {
284
284
  anim?: Anim;
285
285
  /** @deprecated migrated on read into a `FreezeSpan` at this segment's `out`. */
286
286
  hold?: number;
287
+ /**
288
+ * `'rest'`: the camera rests through this clip's pass. No source-anchored
289
+ * camera move applies there (zoom, tilt, cam move, a follow zoom's
290
+ * recenters), even over seconds another pass zooms on; the cursor, the
291
+ * click effects, the speed spans and the freezes are the footage's and
292
+ * still play. A span that runs into or out of the pass ramps at its edge
293
+ * as at any span's. Absent = the camera plays here as everywhere.
294
+ */
295
+ camera?: 'rest';
287
296
  };
288
297
  /** A single input event captured in the page, relative to the recording's t0. */
289
298
  interface CursorEvent {
@@ -464,6 +473,14 @@ interface RecordingMeta {
464
473
  * has no script and carries none.
465
474
  */
466
475
  steps?: StepSpan[];
476
+ /**
477
+ * The other people on the page while the take ran (`peers` in
478
+ * actions.json): each a browser of its own, OFF CAMERA, its steps placed
479
+ * in the take's SOURCE seconds. Information only: no cursor event, zoom
480
+ * or anchor is ever made from a peer's step; what a peer did reaches the
481
+ * footage through the app itself. Absent on a take with no peers.
482
+ */
483
+ peers?: PeerTrack[];
467
484
  /**
468
485
  * The recorder did not land where it was asked: a sign-in, an identity
469
486
  * provider, a 401/403, or a redirect to somewhere else. Present only when
@@ -612,6 +629,37 @@ interface RejectedSpan {
612
629
  /** Why, in the deleter's words. Optional. */
613
630
  note?: string;
614
631
  }
632
+ /** One peer's steps as they ran during a take, in SOURCE seconds. */
633
+ interface PeerTrack {
634
+ /** The peer's id from actions.json. */
635
+ id: string;
636
+ steps: PeerStepSpan[];
637
+ /** Steps whose trigger never fired before the take's steps were over. */
638
+ notRun?: number[];
639
+ }
640
+ /** One peer step as it ran. */
641
+ interface PeerStepSpan {
642
+ /** index into the peer's own steps */
643
+ step: number;
644
+ id?: string;
645
+ do: string;
646
+ /** the take step it started with (as it started) or after (as it ended) */
647
+ with?: string;
648
+ after?: string;
649
+ selector?: string;
650
+ tStart: number;
651
+ tEnd: number;
652
+ skipped?: boolean;
653
+ reason?: string;
654
+ /** its trigger had fired before the peer reached it: it ran late */
655
+ late?: boolean;
656
+ /**
657
+ * What an `expect` last answered when its check reads the app's state
658
+ * (a `js` expression), kept as the take's own steps keep it: JSON, at
659
+ * most 2 KB, else that JSON cut short as a string. Absent otherwise.
660
+ */
661
+ value?: unknown;
662
+ }
615
663
  /** One executed actions.json step's extent in the recording. */
616
664
  interface StepSpan {
617
665
  /** index into actions.steps at record time. */
@@ -649,6 +697,13 @@ interface StepSpan {
649
697
  * payload, which a layer quotes instead of replaying the flow.
650
698
  */
651
699
  text?: string;
700
+ /**
701
+ * What an `expect` or an `await` with a `js` expression last answered,
702
+ * as JSON (at most 2 KB, else that JSON cut short as a string): the
703
+ * app's own state at that moment, which the frames cannot say. Absent
704
+ * when the expression answered nothing JSON can hold.
705
+ */
706
+ value?: unknown;
652
707
  /**
653
708
  * The step carries a guard (`"spend"`): `confirmed` says the recording
654
709
  * pressed it because the command named it; a rehearsal only hovers one
@@ -656,6 +711,11 @@ interface StepSpan {
656
711
  */
657
712
  guard?: 'spend';
658
713
  confirmed?: boolean;
714
+ /**
715
+ * The script's `zoom` mark on the step: `true` = the beat's payoff, the
716
+ * step a per-beat plan keeps its zoom on; `false` = never zoom here.
717
+ */
718
+ zoom?: boolean;
659
719
  /**
660
720
  * An `await` step: the wall-clock ms it waited OFF CAMERA. The footage
661
721
  * clock stood still meanwhile, so `tStart`..`tEnd` hold only the
@@ -1550,8 +1610,10 @@ interface OverlayPin {
1550
1610
  * and `offset` OUTPUT seconds are added. So a trim, a speed change or a
1551
1611
  * re-record moves the caption with its step, and nobody recomputes a
1552
1612
  * `start`. `start` stays the clip's fallback when the step cannot be
1553
- * found or the cut leaves it out (validate says which); `duration` is the
1554
- * clip's own either way.
1613
+ * found or the cut leaves it out (validate says which), and may be left
1614
+ * out; `duration` is the clip's own either way. On a cut that replays the
1615
+ * step's seconds, the layer starts in the pass where the step plays the
1616
+ * longest (the first on a tie).
1555
1617
  */
1556
1618
  interface OverlayAnchor {
1557
1619
  /** The step: its `id` (`meta.steps[].id`) when it has one, else its index. */
@@ -1566,8 +1628,13 @@ interface OverlayAnchor {
1566
1628
  interface OverlayClipBase {
1567
1629
  /** Stable identity for selection/editing in the timeline UI. */
1568
1630
  id: string;
1569
- /** OUTPUT-time span (seconds). */
1570
- start: number;
1631
+ /**
1632
+ * OUTPUT seconds the layer starts at. Required unless the layer carries
1633
+ * an `anchor`, which places it; with one, `start` is only the fallback
1634
+ * for an anchor that does not resolve, and a layer with neither plays
1635
+ * nowhere (validate refuses it, naming the step).
1636
+ */
1637
+ start?: number;
1571
1638
  duration: number;
1572
1639
  transform: OverlayTransform;
1573
1640
  /**
@@ -2018,11 +2085,24 @@ interface ProjectDoc {
2018
2085
  * travels as the cut does. Absent on a human recording.
2019
2086
  */
2020
2087
  script?: Record<string, unknown>;
2088
+ /**
2089
+ * The files the script pastes, by the plain name it pastes them by,
2090
+ * and where their bytes are: a hosted file (`/api/assets/<id>/file`,
2091
+ * for a picture) or a `data:` address (a text file, carried in the
2092
+ * document). `vos push` writes it from the take's own files and
2093
+ * `vos fetch --media` writes each one back beside `actions.json`, so a
2094
+ * fetched take records again with every file it pastes. Absent when
2095
+ * the script pastes no file.
2096
+ */
2097
+ scriptFiles?: Record<string, string>;
2021
2098
  };
2022
2099
  /**
2023
2100
  * Kept SOURCE-time spans (@vosjs/timeline `Segment`s); the output timeline is
2024
2101
  * their concatenation — trim/split/cut are all segment edits. Canonical form
2025
2102
  * is one full-source segment; an empty list is tolerated and means "untrimmed".
2103
+ * A segment may play seconds an earlier one already played (a cold open,
2104
+ * a replay): every source-anchored span over them plays in each
2105
+ * occurrence (see `lower/occurrences.ts`).
2026
2106
  */
2027
2107
  segments: DocSegment[];
2028
2108
  /**
@@ -3696,7 +3776,12 @@ declare function buildDigest(input: BuildDigestInput): Digest;
3696
3776
  /** OUTPUT seconds of a doc: its kept footage through the rate map. */
3697
3777
  declare function outputDurationOf(doc: ProjectDoc): number;
3698
3778
 
3699
- /** Map an OUTPUT-time range to SOURCE seconds through the doc's rate map. */
3779
+ /**
3780
+ * Map an OUTPUT-time range to SOURCE seconds through the doc's rate map. On
3781
+ * a cut that replays seconds a range may run across the seam where the
3782
+ * playhead jumps back; then `srcOut` falls before `srcIn` and every chip
3783
+ * below reads the range as empty.
3784
+ */
3700
3785
  declare function outputRangeToSource(doc: StudioDoc, t0: number, t1: number): {
3701
3786
  srcIn: number;
3702
3787
  srcOut: number;
@@ -3713,7 +3798,8 @@ declare function removeSpeedInRange(spans: readonly SpeedSpan[], srcIn: number,
3713
3798
  * The Cut chip: subtract a SOURCE range from the kept segments. Segment
3714
3799
  * order (and any reorder) is preserved; a remainder below MIN_SEGMENT is
3715
3800
  * dropped with its parent. Never empties the take: cutting everything
3716
- * returns the original list unchanged.
3801
+ * returns the original list unchanged. Source seconds are cut wherever
3802
+ * they play: a segment that repeats them loses them too.
3717
3803
  */
3718
3804
  declare function removeSourceRange(segments: readonly Segment[], srcIn: number, srcOut: number): Segment[];
3719
3805
  /**
@@ -3832,6 +3918,10 @@ declare function pinBox(clip: OverlayClip, layout: CardLayout): {
3832
3918
  */
3833
3919
  declare function pinRectOnScreen(rect: Rect, t: number, layout: CardLayout, camera: CameraModel, zoomTrack?: KeyframeTrack<number[]> | null): Rect;
3834
3920
  interface PinPlacementInput {
3921
+ /**
3922
+ * The layer, placed: its `start` is where it plays (an anchored layer
3923
+ * with none is placed first, `layerStart`; unplaced it reads from 0).
3924
+ */
3835
3925
  clip: OverlayClip;
3836
3926
  referent: Rect;
3837
3927
  layout: CardLayout;
@@ -3971,7 +4061,9 @@ declare function ratedSegments(doc: StudioDoc): Segment[];
3971
4061
  * list: the output extent of its KEPT footage (a partially-cut span snaps its
3972
4062
  * edges into kept footage; a fully-cut span returns null — it follows its
3973
4063
  * footage, like every source-anchored feature). Rate-aware: output positions
3974
- * accumulate each piece's (out − in) / rate.
4064
+ * accumulate each piece's (out − in) / rate. When the cut plays the span's
4065
+ * seconds more than once this is the FIRST occurrence (what a lane draws, a
4066
+ * digest names); `spanOutputExtents` returns every one.
3975
4067
  */
3976
4068
  declare function spanOutputExtent(segments: readonly (Segment & {
3977
4069
  media?: string;
@@ -4166,6 +4258,91 @@ declare function pinCandidates(doc: ProjectDoc, clip: {
4166
4258
  */
4167
4259
  declare function overlayPinPoseAt(doc: ProjectDoc, o: OverlayClip, t: number): number[] | null;
4168
4260
 
4261
+ type Piece = Segment & {
4262
+ media?: string;
4263
+ camera?: string;
4264
+ };
4265
+ /**
4266
+ * Does the camera rest through this piece? A segment marked
4267
+ * `camera: 'rest'` carries the mark into every piece it is rated into.
4268
+ */
4269
+ declare const cameraRests: (p: {
4270
+ camera?: string;
4271
+ }) => boolean;
4272
+ /**
4273
+ * How far before the end of its media's previous piece a piece may start
4274
+ * and still count as continuing it. A freeze piece holds a hair of source
4275
+ * time just before its moment (2 ms), and is never a replay.
4276
+ */
4277
+ declare const REPLAY_EPS = 0.01;
4278
+ /**
4279
+ * For each piece, whether it starts a new pass over its media's seconds
4280
+ * (see the module note): it starts before the previous piece of its media
4281
+ * ended. All false for a forward cut.
4282
+ */
4283
+ declare function replayFlags(pieces: readonly Piece[]): boolean[];
4284
+ /** Does the rated list go back over any media's seconds? */
4285
+ declare function hasReplay(pieces: readonly Piece[]): boolean;
4286
+ /** Seconds of one media a piece plays that an earlier piece already played. */
4287
+ interface ReplayedSpan {
4288
+ /** The piece's index. */
4289
+ piece: number;
4290
+ /** The media's key (`''` = the primary). */
4291
+ media: string;
4292
+ in: number;
4293
+ out: number;
4294
+ }
4295
+ /**
4296
+ * The seconds each piece plays that an earlier piece of its media already
4297
+ * played, in piece order (a piece may replay more than one stretch). Empty
4298
+ * for a cut that plays every second at most once, in any order.
4299
+ */
4300
+ declare function replayedSeconds(pieces: readonly Piece[]): ReplayedSpan[];
4301
+ /** One occurrence of a source span on the output timeline. */
4302
+ interface OutputExtent {
4303
+ start: number;
4304
+ end: number;
4305
+ }
4306
+ /**
4307
+ * Every occurrence of a SOURCE span of one media on the output timeline,
4308
+ * in output order: the output extent of its kept footage in each pass (a
4309
+ * partially-cut span snaps its edges into kept footage; a span the cut
4310
+ * keeps nothing of has none). Rate-aware: output positions accumulate each
4311
+ * piece's (out − in) / rate. A forward cut gives at most one.
4312
+ */
4313
+ declare function spanOutputExtents(pieces: readonly Piece[], sIn: number, sOut: number, media?: string): OutputExtent[];
4314
+ /**
4315
+ * Every occurrence of a camera span (zoom, tilt, cam move) the camera
4316
+ * plays: `spanOutputExtents` without the passes of a segment whose camera
4317
+ * rests. A span that runs into such a pass ends at its edge, and one that
4318
+ * runs out of it starts there, so the track ramps at the edge as it does
4319
+ * at any span's. The same as `spanOutputExtents` for a cut with no rest.
4320
+ */
4321
+ declare function cameraSpanExtents(pieces: readonly Piece[], sIn: number, sOut: number, media?: string): OutputExtent[];
4322
+ /**
4323
+ * Where the camera rests on the output (each run of resting pieces as
4324
+ * `{ t, d }`): no connected move of a camera track crosses one. Empty for
4325
+ * a cut with no rest.
4326
+ */
4327
+ declare function cameraRestWindows(pieces: readonly Piece[]): {
4328
+ t: number;
4329
+ d: number;
4330
+ }[];
4331
+ /**
4332
+ * The pass a step plays in, as ONE output extent: the occurrence of its
4333
+ * seconds that plays the longest (a cold open of a second or two loses to
4334
+ * the main play), the first on a tie, null when the cut keeps none of it.
4335
+ * A forward cut has one occurrence, so this is `spanOutputExtent`.
4336
+ */
4337
+ declare function longestOutputExtent(pieces: readonly Piece[], sIn: number, sOut: number, media?: string): OutputExtent | null;
4338
+ /**
4339
+ * Every output second a SOURCE moment of one media plays at, one per
4340
+ * occurrence, in output order. A moment on a piece's edges counts as held
4341
+ * there; a moment on the boundary two pieces of one pass share is one
4342
+ * moment, played once. Empty when the cut leaves it out.
4343
+ */
4344
+ declare function momentOutputs(pieces: readonly Piece[], t: number, media?: string): number[];
4345
+
4169
4346
  /**
4170
4347
  * ONE lowering for the document family: the anchor's program
4171
4348
  * plus the studio stack entry, on every anchor.
@@ -4691,7 +4868,7 @@ declare const STILL_DEFAULT = 0.5;
4691
4868
  * footage. Read from `anim` seconds, so it is the same everywhere.
4692
4869
  * 4. The old default, for a document with none of the above.
4693
4870
  */
4694
- declare function docStillTime(doc: ProjectDoc): number;
4871
+ declare function docStillTime(input: ProjectDoc): number;
4695
4872
  /**
4696
4873
  * Where the LAST freeze of any origin begins, or null with none: the
4697
4874
  * poster's rest as first spelled. Prefer `docStillTime`, which ignores a
@@ -4749,14 +4926,20 @@ interface FreezeExtent {
4749
4926
  * before it. A freeze whose moment is on no kept footage is not placed
4750
4927
  * (it follows its frame, like a span). Every consumer of the rated list
4751
4928
  * (mapTime, the zoom remap, the audio splice, the duration) inherits the
4752
- * freezes from this one seam. `marks` is where each placed freeze landed
4753
- * in OUTPUT time, for the lane and the rest.
4929
+ * freezes from this one seam. A cut that plays a freeze's moment more than
4930
+ * once (a piece that replays seconds, see `replayFlags`) freezes it in
4931
+ * every occurrence. `marks` is where each placed freeze FIRST landed in
4932
+ * OUTPUT time, for the lane; `placements` is every landing, in output
4933
+ * order, for the rest.
4754
4934
  */
4755
4935
  declare function placeFreezes(rated: readonly (Segment & {
4756
4936
  media?: string;
4757
4937
  })[], freezes: readonly FreezeSpan[]): {
4758
4938
  pieces: Segment[];
4759
4939
  marks: Map<string, FreezeExtent>;
4940
+ placements: (FreezeExtent & {
4941
+ id: string;
4942
+ })[];
4760
4943
  };
4761
4944
  /** The rated segments with every freeze placed (see `placeFreezes`). */
4762
4945
  declare function withFreezes(rated: readonly Segment[], freezes: readonly FreezeSpan[]): Segment[];
@@ -4859,7 +5042,10 @@ declare function docTransitions(doc: ProjectDoc): Transition[];
4859
5042
  * head, starting where the window ends instead, and a span too short to
4860
5043
  * survive the cut is dropped. Spans that start before the window keep
4861
5044
  * their own end. The open's record (t = 0) is the entrance's business
4862
- * (`prependEntrance`) and is skipped here.
5045
+ * (`prependEntrance`) and is skipped here. A span is a SOURCE span, so on
5046
+ * a cut that plays its seconds more than once it is read by its first
5047
+ * occurrence the camera plays: the window that one starts in rests every
5048
+ * one.
4863
5049
  */
4864
5050
  declare function restSpansThroughTransitions<T extends {
4865
5051
  in: number;
@@ -4896,11 +5082,24 @@ declare const ELAPSED_PLACEHOLDER = "{elapsed}";
4896
5082
  * Where a SOURCE moment of one media plays in the cut: the output second of
4897
5083
  * the first rated piece of that media that holds it, null when the cut
4898
5084
  * leaves it out. A moment on a piece's closing edge counts as held there
4899
- * (the last frame of a clip is still that clip).
5085
+ * (the last frame of a clip is still that clip). On a cut that plays the
5086
+ * moment more than once this is its FIRST occurrence; a step's moment is
5087
+ * read through `stepMomentToOutput`, which takes the step's longest pass.
4900
5088
  */
4901
5089
  declare function sourceMomentToOutput(rated: readonly (Segment & {
4902
5090
  media?: string;
4903
5091
  })[], t: number, media?: string): number | null;
5092
+ /**
5093
+ * Where a step's moment (its start, or its end with `at: 'end'`) plays in
5094
+ * the cut: in the PASS where the step plays the longest
5095
+ * (`longestOutputExtent`; the first on a tie), so a caption about a step
5096
+ * lands in the main play, not in a short cold open of the same seconds.
5097
+ * Null when the cut leaves the moment out. A cut with no replay plays each
5098
+ * moment once, and this is `sourceMomentToOutput`.
5099
+ */
5100
+ declare function stepMomentToOutput(rated: readonly (Segment & {
5101
+ media?: string;
5102
+ })[], step: Pick<StepSpan, 'tStart' | 'tEnd'>, at: 'start' | 'end' | undefined, media?: string): number | null;
4904
5103
  /** Why an anchor did not resolve. */
4905
5104
  type AnchorMiss = 'media' | 'step' | 'skipped' | 'cut';
4906
5105
  interface AnchorResolution {
@@ -4959,10 +5158,20 @@ declare function hasElapsed(text: RichText | undefined): boolean;
4959
5158
  declare function anchoredClip<C extends OverlayClip>(clip: C, doc: Pick<ProjectDoc, 'source' | 'media'>, rated: readonly (Segment & {
4960
5159
  media?: string;
4961
5160
  })[]): C;
5161
+ /**
5162
+ * Where a layer starts as the document stands (OUTPUT seconds): where its
5163
+ * anchor's step plays when it resolves, else its own `start`; null for an
5164
+ * anchored layer that resolves nowhere and carries no `start`.
5165
+ */
5166
+ declare function layerStart(clip: OverlayClip, doc: Pick<ProjectDoc, 'source' | 'media'>, rated: readonly (Segment & {
5167
+ media?: string;
5168
+ })[]): number | null;
4962
5169
  /**
4963
5170
  * The document with every anchored layer resolved (its `start` where its
4964
- * step plays, its `{elapsed}` filled). A document with no anchored layer is
4965
- * returned as it is, the same object, so its lowering is byte-identical.
5171
+ * step plays, its `{elapsed}` filled), and every anchored layer that has
5172
+ * no `start` and whose step does not resolve left out: it has no time to
5173
+ * play at. A document with no anchored layer is returned as it is, the
5174
+ * same object, so its lowering is byte-identical.
4966
5175
  */
4967
5176
  declare function resolveOverlayAnchors<D extends Pick<ProjectDoc, 'source' | 'media' | 'overlays'>>(doc: D, rated: readonly (Segment & {
4968
5177
  media?: string;
@@ -5415,7 +5624,9 @@ declare const freezeLane: LaneAdapter<ProjectDoc>;
5415
5624
  * Zoom lane — zoom regions as clips ("1.80×"). Spans are SOURCE-anchored
5416
5625
  * (footage-anchored like speed spans and the cam window); the lane displays
5417
5626
  * the output extent of each span's KEPT footage (spanOutputExtent — partial
5418
- * cuts snap the clip's edges, full cuts hide it until the trim is undone).
5627
+ * cuts snap the clip's edges, full cuts hide it until the trim is undone;
5628
+ * on a cut that replays the span's seconds it is drawn where they FIRST
5629
+ * play, though the camera moves in every occurrence).
5419
5630
  * Move/resize are pointer-true through the FULL rated map — zoom never alters
5420
5631
  * rates, so no exclusion trick is needed (unlike speedLane). Spans never
5421
5632
  * overlap: create no-ops inside an existing span, move pushes out of
@@ -5753,4 +5964,4 @@ declare function rejectSpan(rejected: RejectedSpan[] | undefined, lane: Rejected
5753
5964
  anchor?: StepAnchor;
5754
5965
  }, note?: string): RejectedSpan;
5755
5966
 
5756
- export { ASPECT_RATIOS, AUDIO_PLAN_STEP, type AnchorKind, type AnchorMiss, type AnchorResolution, type Anim, type AnimKind, type AnimSide, type AnimStep, type AppliedTemplate, type ApplyTemplateOptions, type AspectRatioOption, type AudioClip, type AudioLoudness, type AudioPlanPoint, type AudioPlanTrack, BACKGROUND_Z, BASE_FRAME_STYLE, type Backdrop, type BackgroundMedia, type BakeResult, type BakedText3dAsset, type BakedText3dMaterial, type BrowserBarStyle, type BuildDigestInput, CALLOUT_DEFAULT_BODY_PX, CALLOUT_SHAPES, CALLOUT_TYPE_RATIO, CAMERA_CENTRE_RAMP, CAMERA_COVER_MIN, CAMERA_FAR, CAMERA_NEAR, CAM_CHAIN_GAP, CAM_EASE, CAM_PAN, CAM_PAN_EASE, CAM_RAMP_IN, CAM_RAMP_OUT, CAM_SIZE_MAX, CAM_SIZE_MIN, CAM_SPAN_MIN, CAPTURE_COVERAGE_MIN, CARD_EDGE_OVERDRAW, CARD_ENTER_KINDS, CARD_EXIT_KINDS, CARD_FADE_SECONDS, CARD_FOV, CARD_Z, CHANGE_FLOOR, CHANGE_GRID, CHANGE_LEAD, CHANGE_OFFSETS, CHANNEL_SPECS_HASH, CHANNEL_SPECS_VERIFIED, CLICK_FX_INTENSITY, CLICK_FX_PRE, CLICK_HIGHLIGHT_FADE, CLICK_HOLD_MS, CLICK_PAIR_MAX, CLICK_PULSE_DUR, CLICK_RECT_MAX_FRAC, CLICK_RIPPLE_DUR, CLICK_SYNTH_RELEASE, CLUSTER_FILL, CROP_MAX_PX, CROP_MIN_FRAC, CROP_MIN_PX, CROP_PAD, CURSOR_IDLE_EPS_FRAC, CURSOR_IDLE_FADE_IN, CURSOR_IDLE_FADE_OUT, CURSOR_IDLE_HOLD, type CalloutBox, type CalloutClipOptions, type CalloutLook, type CalloutRegister, type CalloutShape, type CalloutWords, type CamBubbleRect, type CamPoseSpan, type CamStyle, type CameraModel, type CaptureNormalization, type CardLayout, type ChangeSample, type ChangeWitness, type ChangedRegion, type ClickFxStyle, type ClipGain, type ClipGainBasis, type CopiedLayout, type CopyLayoutOptions, type CopyStyleOptions, type CursorEvent, type CursorFadeKey, type CursorIdleOptions, type CursorStyle, type CursorTrack, DARK_GROUND, DEFAULT_BROWSER_BAR, DEFAULT_CAM_POSE, DEFAULT_CAM_STYLE, DEFAULT_CLICK_FX, DEFAULT_CURSOR_STYLE, DEFAULT_DUCK, DEFAULT_FRAME_STYLE, DEFAULT_SPEED_PARAMS, DEFAULT_TILT_POSE, DEFAULT_ZOOM_LEVEL, DEFAULT_ZOOM_STYLE, DESIGN_FRAME_WIDTH, DESTINATIONS, DIGEST_CROP_MAX, DIGEST_FULL_MAX, DIGEST_VERSION, DOC_FEATURES, DOC_SCHEMA_VERSION, DRAG_FIT_LEVEL, DRAG_MIN_S, DRAG_MIN_TRAVEL_FRAC, type Destination, type Digest, type DigestImageRef, type DigestPlan, type DigestTakeFacts, type DocFeature, type DocSegment, type Drag, type DuckOptions, ELAPSED_PLACEHOLDER, END_CARD_FROM, END_CARD_RECEDE, END_CARD_SECONDS, ENTRANCE_SECONDS, EXPORT_RESOLUTION_OPTIONS, EXPORT_SHORT_EDGE, type EndCard, type EnvelopePoint, type ExportResolution, type ExtractClickOptions, FOLLOW_RECENTER, FOLLOW_SAFE_RATIO, FOOTAGE_FRAME_STYLE, FRAME_BORDER_COLOR_DEFAULT, FRAME_BORDER_DEFAULT, FRAME_BORDER_WIDTH_DEFAULT, FREEZE_DEFAULT_SECONDS, FREEZE_SECONDS_MAX, FREEZE_SECONDS_MIN, type FocusBounds, type FollowEvent, type FollowOptions, type FrameEntrance, type FrameGeometry, type FrameStyle, type FreezeExtent, type FreezeSpan, HOLD_DRIFT_MAX, HOUSE_GRADIENT, HOUSE_REGISTER, HTML_LAYER_FOREIGN_FIELDS, HTML_LAYER_MAX_BYTES, HTML_LAYER_SVG_CODE, HTML_LAYER_WARN_BYTES, HTML_STARTERS, type HtmlLayerFace, type HtmlLayerInlineFace, type HtmlLayerPayload, type HtmlLayerProblem, type HtmlLayerProblemCode, type HtmlLayerSource, type HtmlOverlayClip, type HtmlOverlayFont, type HtmlStarter, IDLE_KINDS, type IdleKind, type IngestOptions, LAYER_CARD_SHADOW, LAYOUT_FRAME_FIELDS, LOOK_KINDS, type LayerCard, type LayoutParts, type Look, type LookBrand, type LookKind, type LookPlacement, type LowerProgramOptions, type LoweredAudioClip, type LoweredClick, type LoweredComposition, type LoweredZoomSpan, type LumaGrid, MEDIA_ENTER_KINDS, MEDIA_EXIT_KINDS, MEDIA_FRAME_KEYS, MEDIA_KEY_PREFIX, MINIMAL_BAR_THEMES, MOTION_DELTA, MOTION_EASE, type Media, type MediaFrame, type MediaFrameKey, type MediaOverlayClip, type MediaSegment, type MicRms, type MinimalBarTheme, type Moment, type MomentKind, type MomentsOptions, type MotionKey, type MotionPose, type MotionPose3D, type MusicBedInput, NORMALIZE_MAX_LIFT_DB, NORMALIZE_MAX_LUFS, NORMALIZE_MIN_LUFS, NORMALIZE_PEAK_CEILING_DB, type NormRect, OBJECT_DEFAULT_SCALE, OVERLAY_FONT_FACES, OVERLAY_LINE_HEIGHT, OVERLAY_MEDIA_DEFAULT_RADIUS, OVERLAY_MEDIA_DEFAULT_WIDTH, OVERLAY_MIN_DURATION, OVERLAY_SCALE_MAX, OVERLAY_SIZE_MAX, OVERLAY_SIZE_MIN, OVERLAY_TRANSITION_DUR, OVERLAY_Z, type ObjectAnimation, type ObjectAsset, type ObjectClip, type ObjectPrimitiveShape, type OverlayAnchor, type OverlayClip, type OverlayFontFace, type OverlayKind, type OverlayPin, type OverlayPresetStyle, type OverlayRect, type OverlayTransform, type OverlayTransition, PIN_GAP, PIN_MARGIN, PLATE_GROUND, PLAYBACK_ACTIVITY, PRIMARY_MEDIA, PROGRAM_RETIME, PUMP_REST, type PinCandidate, type PinCarry, type PinMark, type PinPlacement, type PinPlacementInput, type PinReferent, type PinSide, type PinSideResolved, type PlanOptions, type PlanTiltOptions, type PlaneSize, type ProgramAnchorDoc, type ProgramTweenEdit, type ProjectDoc, type PxRect, REJECT_OVERLAP, REST_TILT_ID, RETIRED_ZOOM_STYLES, type RecordingArtifact, type RecordingMeta, type RecordingNotice, type RecordingOutput, type RecordingPageMedia, type RecordingSkip, type Rect, type RejectedLane, type RejectedSpan, type ResolvedOverlayBox, type ResolvedOverlayStyle, type Rgb, SCENE_MOTION, SCENE_QUIET, SEGMENT_ENTER_KINDS, SEGMENT_EXIT_KINDS, SPEED_RATE_MAX, SPEED_RATE_MIN, SPEED_SPAN_MIN, STAGE_CLIP_PREFIX, STILL_DEFAULT, STUDIO_ENTRY_ID, STYLE_FIELDS, type SegmentExtent, type SmoothOptions, type SmoothPoint, type SpeedParams, type SpeedSpan, type StepAnchor, type StepSpan, type StudioAudioPlan, type StudioDoc, type StudioEntry, type StyleField, type StyledText, TEXT3D_DEPTH_DEFAULT, TEXT3D_DEPTH_MAX, TEXT3D_DEPTH_MIN, TEXT_ENTER_KINDS, TEXT_EXIT_KINDS, TEXT_PRESETS, TILT_AUTO_DEAD_ZONE, TILT_AUTO_MIN, TILT_CHAIN_GAP, TILT_DEG_MAX, TILT_EASE, TILT_INTENSITY_MAX, TILT_PAN, TILT_PAN_EASE, TILT_RAMP_IN, TILT_RAMP_OUT, TILT_SPAN_MIN, TILT_UI_DEG_MAX, TRANSITION_SECONDS, TRANSITION_SECONDS_MAX, TRANSITION_SECONDS_MIN, TRANSITION_SPEED_MULT, type TemplateAnchor, type Text3dMaterial, type TextFxDirection, type TextFxKind, type TextFxSpec, type TextFxUnit, type TextOverlayBox, type TextOverlayClip, type TextOverlayPreset, type TextOverlayStroke, type TiltPersonality, type TiltSpan, type TiltStyleName, type TraceFileKind, type TraceOptions, type TraceResult, type TranscriptSegment, type Transition, type TransitionKind, type TransitionMove, type TransitionOut, type TransitionSpeed, type UsedFeature, WINDOW_FOCUS_MIN, ZOOM_CHAIN_GAP, ZOOM_EASE, ZOOM_LEVELS, ZOOM_LEVEL_MAX, ZOOM_LEVEL_MIN, ZOOM_PAN, ZOOM_PAN_EASE, ZOOM_RAMP_IN, ZOOM_RAMP_IN_OVERLAP, ZOOM_RAMP_OUT, ZOOM_SPAN_MIN, ZOOM_STYLES, ZOOM_STYLE_OPTIONS, type ZipEntry, type ZoomScreen, type ZoomSpan, type ZoomStyleName, type ZoomStyleParams, type ZoomView, type ZoomWindow, ambientDrift, anchorKindOf, anchorSourceDuration, anchoredClip, animStep, applyLook, applyTemplate, aspectRatioValue, audioLane, backdropMedia, bakeDocFeatures, boldWeightFor, buildDigest, calloutBox, calloutClip, calloutGroundOf, calloutLook, calloutSource, camBubbleRect, camBubbleRectAt, camLane, camMoveLane, camRectFromPose, camRestPose, camTrackFromDoc, cameraCentring, cameraModel, cardEnter, cardExit, cardFields, cardInset, cardPointToScreen, cardPoseTrack, changedRegion, clampCamFrac, clampCamSize, clampFocus, clampFreezeSeconds, clampSpeedRate, clampTiltDeg, clampZoomLevel, clipEnvelope, clipGain, clipLength, clipsFrom, compareVersions, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cssFamilies, cssWeights, cursorFromCsv, cursorFromPlaywrightTrace, cursorFromRecords, cursorFromTrace, cursorIdleFade, deltaE, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFeatures, docFreezes, docMediaList, docOutputDuration, docRestTime, docStillTime, docToCropSpace, docToFullSpace, docTransitions, docZoomTrack, dragsFromTrack, dropTemplate, duckCurve, effectiveSegments, elapsedFor, endCardClips, enterKey, enterOf, entranceAt, entranceEnd, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, featuresNewerThan, findStep, focusBounds, focusForViewportCentre, followFocusEvents, formatElapsed, frameGeometry, freezeLane, freezeOutputExtents, hasElapsed, hexToRgb, hexToRgbTriplet, houseLook, htmlLayerBleed, htmlLayerBleedFor, htmlLayerFaces, htmlLayerKey, htmlLayerLabel, htmlLayerPayload, htmlLayerPictureBox, htmlLayerProblems, htmlLayerSvg, htmlLayerText, htmlLayerUnhostedFamilies, htmlLayerWidth, htmlStarterClip, idleGaps, idleKey, isKeyedOverlay, isLookKind, isLoweredRecording, isMusicBed, isPlayback, isProgramDoc, isRecordingDoc, isRejected, isStageClip, isUnitStep, lastLayerEnd, layerMedia, layoutOf, levelForFocusFraction, liveZoomStyleName, lookFromBrand, lookKindForGround, loudnessMatches, lowerProgramDoc, lowerStudioDoc, lowerToComposition, marksEmphasis, mediaAtOutput, mediaDuration, mediaFrame, mediaKey, mediaRef, mediaRefId, mediaSource, micLane, migrateHostedDoc, migrateMotion, migrateText, migrateTextClip, migrateZoomStyle, momentsFromDoc, motionTrack, musicBedClip, nextMediaId, normalizeCaptureSpace, objectMotionBase, objectMotionPoseAt, objectsLane, outputDurationOf, outputEnd, outputRangeToSource, overlapFraction, overlayFaceFor, overlayFontFaces, overlayFontString, overlayFxSpec, overlayHit, overlayLines, overlayMotionBase, overlayMotionPoseAt, overlayPinPoseAt, overlayPlainText, overlayRect, overlaysLane, ownFreezes, pageDisplayUrl, parseCssColour, parsePoseId, pickChange, pickStyle, pinBox, pinCandidates, pinPlacement, pinRectOnScreen, pinReferent, pinReferentAt, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, playwrightTraceEntry, programDuration, programStillTime, projectFromArtifact, pumpFreeChainGap, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, relativeLuminance, removeSourceRange, removeSpeedInRange, resolveAnchor, resolveExportSize, resolveOverlayAnchors, resolveOverlayBox, resolveOverlayStyle, resolvePins, resolveText3dAsset, resolveZoomStyle, restLeanOf, restSpansThroughTransitions, rgbToHex, sameMedia, sceneChanges, scrollRuns, segmentOutputExtents, outputLen as segmentOutputLen, segmentStarts, setSpeedInRange, slideSide, smoothCursor, snapRunWeight, sourceMomentToOutput, spanOutputExtent, speedLane, stepElapsedMs, studioAudioPlan, studioEntry, studioLayerData, styledTextOf, textRunsOf, tiltLane, tiltTrackFromDoc, traceKindOf, transitionMult, transitionSeconds, unionFitLevel, unionRect, videoLane, voiceKey, wellFormedXml, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zipEntries, zipEntryBytes, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomView, zoomViewport, zoomWindow };
5967
+ export { ASPECT_RATIOS, AUDIO_PLAN_STEP, type AnchorKind, type AnchorMiss, type AnchorResolution, type Anim, type AnimKind, type AnimSide, type AnimStep, type AppliedTemplate, type ApplyTemplateOptions, type AspectRatioOption, type AudioClip, type AudioLoudness, type AudioPlanPoint, type AudioPlanTrack, BACKGROUND_Z, BASE_FRAME_STYLE, type Backdrop, type BackgroundMedia, type BakeResult, type BakedText3dAsset, type BakedText3dMaterial, type BrowserBarStyle, type BuildDigestInput, CALLOUT_DEFAULT_BODY_PX, CALLOUT_SHAPES, CALLOUT_TYPE_RATIO, CAMERA_CENTRE_RAMP, CAMERA_COVER_MIN, CAMERA_FAR, CAMERA_NEAR, CAM_CHAIN_GAP, CAM_EASE, CAM_PAN, CAM_PAN_EASE, CAM_RAMP_IN, CAM_RAMP_OUT, CAM_SIZE_MAX, CAM_SIZE_MIN, CAM_SPAN_MIN, CAPTURE_COVERAGE_MIN, CARD_EDGE_OVERDRAW, CARD_ENTER_KINDS, CARD_EXIT_KINDS, CARD_FADE_SECONDS, CARD_FOV, CARD_Z, CHANGE_FLOOR, CHANGE_GRID, CHANGE_LEAD, CHANGE_OFFSETS, CHANNEL_SPECS_HASH, CHANNEL_SPECS_VERIFIED, CLICK_FX_INTENSITY, CLICK_FX_PRE, CLICK_HIGHLIGHT_FADE, CLICK_HOLD_MS, CLICK_PAIR_MAX, CLICK_PULSE_DUR, CLICK_RECT_MAX_FRAC, CLICK_RIPPLE_DUR, CLICK_SYNTH_RELEASE, CLUSTER_FILL, CROP_MAX_PX, CROP_MIN_FRAC, CROP_MIN_PX, CROP_PAD, CURSOR_IDLE_EPS_FRAC, CURSOR_IDLE_FADE_IN, CURSOR_IDLE_FADE_OUT, CURSOR_IDLE_HOLD, type CalloutBox, type CalloutClipOptions, type CalloutLook, type CalloutRegister, type CalloutShape, type CalloutWords, type CamBubbleRect, type CamPoseSpan, type CamStyle, type CameraModel, type CaptureNormalization, type CardLayout, type ChangeSample, type ChangeWitness, type ChangedRegion, type ClickFxStyle, type ClipGain, type ClipGainBasis, type CopiedLayout, type CopyLayoutOptions, type CopyStyleOptions, type CursorEvent, type CursorFadeKey, type CursorIdleOptions, type CursorStyle, type CursorTrack, DARK_GROUND, DEFAULT_BROWSER_BAR, DEFAULT_CAM_POSE, DEFAULT_CAM_STYLE, DEFAULT_CLICK_FX, DEFAULT_CURSOR_STYLE, DEFAULT_DUCK, DEFAULT_FRAME_STYLE, DEFAULT_SPEED_PARAMS, DEFAULT_TILT_POSE, DEFAULT_ZOOM_LEVEL, DEFAULT_ZOOM_STYLE, DESIGN_FRAME_WIDTH, DESTINATIONS, DIGEST_CROP_MAX, DIGEST_FULL_MAX, DIGEST_VERSION, DOC_FEATURES, DOC_SCHEMA_VERSION, DRAG_FIT_LEVEL, DRAG_MIN_S, DRAG_MIN_TRAVEL_FRAC, type Destination, type Digest, type DigestImageRef, type DigestPlan, type DigestTakeFacts, type DocFeature, type DocSegment, type Drag, type DuckOptions, ELAPSED_PLACEHOLDER, END_CARD_FROM, END_CARD_RECEDE, END_CARD_SECONDS, ENTRANCE_SECONDS, EXPORT_RESOLUTION_OPTIONS, EXPORT_SHORT_EDGE, type EndCard, type EnvelopePoint, type ExportResolution, type ExtractClickOptions, FOLLOW_RECENTER, FOLLOW_SAFE_RATIO, FOOTAGE_FRAME_STYLE, FRAME_BORDER_COLOR_DEFAULT, FRAME_BORDER_DEFAULT, FRAME_BORDER_WIDTH_DEFAULT, FREEZE_DEFAULT_SECONDS, FREEZE_SECONDS_MAX, FREEZE_SECONDS_MIN, type FocusBounds, type FollowEvent, type FollowOptions, type FrameEntrance, type FrameGeometry, type FrameStyle, type FreezeExtent, type FreezeSpan, HOLD_DRIFT_MAX, HOUSE_GRADIENT, HOUSE_REGISTER, HTML_LAYER_FOREIGN_FIELDS, HTML_LAYER_MAX_BYTES, HTML_LAYER_SVG_CODE, HTML_LAYER_WARN_BYTES, HTML_STARTERS, type HtmlLayerFace, type HtmlLayerInlineFace, type HtmlLayerPayload, type HtmlLayerProblem, type HtmlLayerProblemCode, type HtmlLayerSource, type HtmlOverlayClip, type HtmlOverlayFont, type HtmlStarter, IDLE_KINDS, type IdleKind, type IngestOptions, LAYER_CARD_SHADOW, LAYOUT_FRAME_FIELDS, LOOK_KINDS, type LayerCard, type LayoutParts, type Look, type LookBrand, type LookKind, type LookPlacement, type LowerProgramOptions, type LoweredAudioClip, type LoweredClick, type LoweredComposition, type LoweredZoomSpan, type LumaGrid, MEDIA_ENTER_KINDS, MEDIA_EXIT_KINDS, MEDIA_FRAME_KEYS, MEDIA_KEY_PREFIX, MINIMAL_BAR_THEMES, MOTION_DELTA, MOTION_EASE, type Media, type MediaFrame, type MediaFrameKey, type MediaOverlayClip, type MediaSegment, type MicRms, type MinimalBarTheme, type Moment, type MomentKind, type MomentsOptions, type MotionKey, type MotionPose, type MotionPose3D, type MusicBedInput, NORMALIZE_MAX_LIFT_DB, NORMALIZE_MAX_LUFS, NORMALIZE_MIN_LUFS, NORMALIZE_PEAK_CEILING_DB, type NormRect, OBJECT_DEFAULT_SCALE, OVERLAY_FONT_FACES, OVERLAY_LINE_HEIGHT, OVERLAY_MEDIA_DEFAULT_RADIUS, OVERLAY_MEDIA_DEFAULT_WIDTH, OVERLAY_MIN_DURATION, OVERLAY_SCALE_MAX, OVERLAY_SIZE_MAX, OVERLAY_SIZE_MIN, OVERLAY_TRANSITION_DUR, OVERLAY_Z, type ObjectAnimation, type ObjectAsset, type ObjectClip, type ObjectPrimitiveShape, type OutputExtent, type OverlayAnchor, type OverlayClip, type OverlayFontFace, type OverlayKind, type OverlayPin, type OverlayPresetStyle, type OverlayRect, type OverlayTransform, type OverlayTransition, PIN_GAP, PIN_MARGIN, PLATE_GROUND, PLAYBACK_ACTIVITY, PRIMARY_MEDIA, PROGRAM_RETIME, PUMP_REST, type PeerStepSpan, type PeerTrack, type PinCandidate, type PinCarry, type PinMark, type PinPlacement, type PinPlacementInput, type PinReferent, type PinSide, type PinSideResolved, type PlanOptions, type PlanTiltOptions, type PlaneSize, type ProgramAnchorDoc, type ProgramTweenEdit, type ProjectDoc, type PxRect, REJECT_OVERLAP, REPLAY_EPS, REST_TILT_ID, RETIRED_ZOOM_STYLES, type RecordingArtifact, type RecordingMeta, type RecordingNotice, type RecordingOutput, type RecordingPageMedia, type RecordingSkip, type Rect, type RejectedLane, type RejectedSpan, type ReplayedSpan, type ResolvedOverlayBox, type ResolvedOverlayStyle, type Rgb, SCENE_MOTION, SCENE_QUIET, SEGMENT_ENTER_KINDS, SEGMENT_EXIT_KINDS, SPEED_RATE_MAX, SPEED_RATE_MIN, SPEED_SPAN_MIN, STAGE_CLIP_PREFIX, STILL_DEFAULT, STUDIO_ENTRY_ID, STYLE_FIELDS, type SegmentExtent, type SmoothOptions, type SmoothPoint, type SpeedParams, type SpeedSpan, type StepAnchor, type StepSpan, type StudioAudioPlan, type StudioDoc, type StudioEntry, type StyleField, type StyledText, TEXT3D_DEPTH_DEFAULT, TEXT3D_DEPTH_MAX, TEXT3D_DEPTH_MIN, TEXT_ENTER_KINDS, TEXT_EXIT_KINDS, TEXT_PRESETS, TILT_AUTO_DEAD_ZONE, TILT_AUTO_MIN, TILT_CHAIN_GAP, TILT_DEG_MAX, TILT_EASE, TILT_INTENSITY_MAX, TILT_PAN, TILT_PAN_EASE, TILT_RAMP_IN, TILT_RAMP_OUT, TILT_SPAN_MIN, TILT_UI_DEG_MAX, TRANSITION_SECONDS, TRANSITION_SECONDS_MAX, TRANSITION_SECONDS_MIN, TRANSITION_SPEED_MULT, type TemplateAnchor, type Text3dMaterial, type TextFxDirection, type TextFxKind, type TextFxSpec, type TextFxUnit, type TextOverlayBox, type TextOverlayClip, type TextOverlayPreset, type TextOverlayStroke, type TiltPersonality, type TiltSpan, type TiltStyleName, type TraceFileKind, type TraceOptions, type TraceResult, type TranscriptSegment, type Transition, type TransitionKind, type TransitionMove, type TransitionOut, type TransitionSpeed, type UsedFeature, WINDOW_FOCUS_MIN, ZOOM_CHAIN_GAP, ZOOM_EASE, ZOOM_LEVELS, ZOOM_LEVEL_MAX, ZOOM_LEVEL_MIN, ZOOM_PAN, ZOOM_PAN_EASE, ZOOM_RAMP_IN, ZOOM_RAMP_IN_OVERLAP, ZOOM_RAMP_OUT, ZOOM_SPAN_MIN, ZOOM_STYLES, ZOOM_STYLE_OPTIONS, type ZipEntry, type ZoomScreen, type ZoomSpan, type ZoomStyleName, type ZoomStyleParams, type ZoomView, type ZoomWindow, ambientDrift, anchorKindOf, anchorSourceDuration, anchoredClip, animStep, applyLook, applyTemplate, aspectRatioValue, audioLane, backdropMedia, bakeDocFeatures, boldWeightFor, buildDigest, calloutBox, calloutClip, calloutGroundOf, calloutLook, calloutSource, camBubbleRect, camBubbleRectAt, camLane, camMoveLane, camRectFromPose, camRestPose, camTrackFromDoc, cameraCentring, cameraModel, cameraRestWindows, cameraRests, cameraSpanExtents, cardEnter, cardExit, cardFields, cardInset, cardPointToScreen, cardPoseTrack, changedRegion, clampCamFrac, clampCamSize, clampFocus, clampFreezeSeconds, clampSpeedRate, clampTiltDeg, clampZoomLevel, clipEnvelope, clipGain, clipLength, clipsFrom, compareVersions, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cssFamilies, cssWeights, cursorFromCsv, cursorFromPlaywrightTrace, cursorFromRecords, cursorFromTrace, cursorIdleFade, deltaE, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFeatures, docFreezes, docMediaList, docOutputDuration, docRestTime, docStillTime, docToCropSpace, docToFullSpace, docTransitions, docZoomTrack, dragsFromTrack, dropTemplate, duckCurve, effectiveSegments, elapsedFor, endCardClips, enterKey, enterOf, entranceAt, entranceEnd, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, featuresNewerThan, findStep, focusBounds, focusForViewportCentre, followFocusEvents, formatElapsed, frameGeometry, freezeLane, freezeOutputExtents, hasElapsed, hasReplay, hexToRgb, hexToRgbTriplet, houseLook, htmlLayerBleed, htmlLayerBleedFor, htmlLayerFaces, htmlLayerKey, htmlLayerLabel, htmlLayerPayload, htmlLayerPictureBox, htmlLayerProblems, htmlLayerSvg, htmlLayerText, htmlLayerUnhostedFamilies, htmlLayerWidth, htmlStarterClip, idleGaps, idleKey, isKeyedOverlay, isLookKind, isLoweredRecording, isMusicBed, isPlayback, isProgramDoc, isRecordingDoc, isRejected, isStageClip, isUnitStep, lastLayerEnd, layerMedia, layerStart, layoutOf, levelForFocusFraction, liveZoomStyleName, longestOutputExtent, lookFromBrand, lookKindForGround, loudnessMatches, lowerProgramDoc, lowerStudioDoc, lowerToComposition, marksEmphasis, mediaAtOutput, mediaDuration, mediaFrame, mediaKey, mediaRef, mediaRefId, mediaSource, micLane, migrateHostedDoc, migrateMotion, migrateText, migrateTextClip, migrateZoomStyle, momentOutputs, momentsFromDoc, motionTrack, musicBedClip, nextMediaId, normalizeCaptureSpace, objectMotionBase, objectMotionPoseAt, objectsLane, outputDurationOf, outputEnd, outputRangeToSource, overlapFraction, overlayFaceFor, overlayFontFaces, overlayFontString, overlayFxSpec, overlayHit, overlayLines, overlayMotionBase, overlayMotionPoseAt, overlayPinPoseAt, overlayPlainText, overlayRect, overlaysLane, ownFreezes, pageDisplayUrl, parseCssColour, parsePoseId, pickChange, pickStyle, pinBox, pinCandidates, pinPlacement, pinRectOnScreen, pinReferent, pinReferentAt, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, playwrightTraceEntry, programDuration, programStillTime, projectFromArtifact, pumpFreeChainGap, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, relativeLuminance, removeSourceRange, removeSpeedInRange, replayFlags, replayedSeconds, resolveAnchor, resolveExportSize, resolveOverlayAnchors, resolveOverlayBox, resolveOverlayStyle, resolvePins, resolveText3dAsset, resolveZoomStyle, restLeanOf, restSpansThroughTransitions, rgbToHex, sameMedia, sceneChanges, scrollRuns, segmentOutputExtents, outputLen as segmentOutputLen, segmentStarts, setSpeedInRange, slideSide, smoothCursor, snapRunWeight, sourceMomentToOutput, spanOutputExtent, spanOutputExtents, speedLane, stepElapsedMs, stepMomentToOutput, studioAudioPlan, studioEntry, studioLayerData, styledTextOf, textRunsOf, tiltLane, tiltTrackFromDoc, traceKindOf, transitionMult, transitionSeconds, unionFitLevel, unionRect, videoLane, voiceKey, wellFormedXml, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zipEntries, zipEntryBytes, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomView, zoomViewport, zoomWindow };