@vosjs/studio-core 0.43.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 +4 -2
- package/dist/index.d.ts +437 -19
- package/dist/index.js +2880 -2413
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
|
@@ -495,6 +512,13 @@ interface RecordingMeta {
|
|
|
495
512
|
};
|
|
496
513
|
seen: number;
|
|
497
514
|
}[];
|
|
515
|
+
/**
|
|
516
|
+
* INFORMATION the recorder noticed in the frame, never a failure: the
|
|
517
|
+
* signed-in account's own name (every place it showed, never the name
|
|
518
|
+
* itself) and a list of the account's recent items. Listed once, at the
|
|
519
|
+
* first step it was seen; `seen` counts the scans that saw it.
|
|
520
|
+
*/
|
|
521
|
+
notices?: RecordingNotice[];
|
|
498
522
|
/**
|
|
499
523
|
* What the script asked the recorder to hide before the camera rolled, and
|
|
500
524
|
* how many elements each selector reached. `hits: 0` is a mask that hid
|
|
@@ -509,6 +533,64 @@ interface RecordingMeta {
|
|
|
509
533
|
skips?: RecordingSkip[];
|
|
510
534
|
/** The files `download` steps kept (CLI takes only). */
|
|
511
535
|
outputs?: RecordingOutput[];
|
|
536
|
+
/**
|
|
537
|
+
* Sound the page played during the take: every `<video>` or `<audio>`
|
|
538
|
+
* (the page's own and its same-origin frames') that played audibly,
|
|
539
|
+
* with the footage stretches it was heard (CLI takes only).
|
|
540
|
+
*/
|
|
541
|
+
media?: RecordingPageMedia[];
|
|
542
|
+
}
|
|
543
|
+
/** Something the recorder noticed in the frame (`meta.notices`): information, never a failure. */
|
|
544
|
+
interface RecordingNotice {
|
|
545
|
+
/** the first step it was seen at; -1 = as the page opened */
|
|
546
|
+
step: number;
|
|
547
|
+
kind: 'account-name' | 'personal-list';
|
|
548
|
+
/** account-name: every place in the frame the name was seen (viewport CSS px); never the name */
|
|
549
|
+
places?: {
|
|
550
|
+
selector: string;
|
|
551
|
+
rect: Rect;
|
|
552
|
+
}[];
|
|
553
|
+
/** account-name: read from a line that says whose account it is; false = it may be the name */
|
|
554
|
+
sure?: boolean;
|
|
555
|
+
/** personal-list: the page's own heading over it (`Recents`, `History`) */
|
|
556
|
+
heading?: string;
|
|
557
|
+
/** personal-list: the list, as a selector a mask can take */
|
|
558
|
+
selector?: string;
|
|
559
|
+
rect?: Rect;
|
|
560
|
+
/** personal-list: how many items it showed */
|
|
561
|
+
items?: number;
|
|
562
|
+
seen: number;
|
|
563
|
+
}
|
|
564
|
+
/** A media element the page played during the take (`meta.media`). */
|
|
565
|
+
interface RecordingPageMedia {
|
|
566
|
+
/** the step during which it first played audibly */
|
|
567
|
+
step?: number;
|
|
568
|
+
/** what it played: its `currentSrc`, query and hash kept off */
|
|
569
|
+
src: string;
|
|
570
|
+
/** `video` or `audio` */
|
|
571
|
+
tag?: 'video' | 'audio';
|
|
572
|
+
/** the element's own length, seconds, when it knew one */
|
|
573
|
+
duration?: number;
|
|
574
|
+
/** its volume while heard, 0..1 */
|
|
575
|
+
volume?: number;
|
|
576
|
+
/**
|
|
577
|
+
* The stretches it was heard: footage seconds `at` while it played media
|
|
578
|
+
* seconds `from`..`to`. An off-camera wait splits a stretch.
|
|
579
|
+
*/
|
|
580
|
+
intervals: {
|
|
581
|
+
at: number;
|
|
582
|
+
from: number;
|
|
583
|
+
to: number;
|
|
584
|
+
}[];
|
|
585
|
+
/** it played, but never with sound: nothing to place */
|
|
586
|
+
muted?: boolean;
|
|
587
|
+
/**
|
|
588
|
+
* Where the fetched source landed, take-relative (`page-sound/voice.mp3`):
|
|
589
|
+
* what the plan's clips are keyed to. Absent when nothing was fetched
|
|
590
|
+
* (a hosted take, or a fetch that failed: `fetchError` says why).
|
|
591
|
+
*/
|
|
592
|
+
file?: string;
|
|
593
|
+
fetchError?: string;
|
|
512
594
|
}
|
|
513
595
|
/**
|
|
514
596
|
* A span's tie to an actions.json step: metadata for `vos plan
|
|
@@ -547,6 +629,37 @@ interface RejectedSpan {
|
|
|
547
629
|
/** Why, in the deleter's words. Optional. */
|
|
548
630
|
note?: string;
|
|
549
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
|
+
}
|
|
550
663
|
/** One executed actions.json step's extent in the recording. */
|
|
551
664
|
interface StepSpan {
|
|
552
665
|
/** index into actions.steps at record time. */
|
|
@@ -584,6 +697,13 @@ interface StepSpan {
|
|
|
584
697
|
* payload, which a layer quotes instead of replaying the flow.
|
|
585
698
|
*/
|
|
586
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;
|
|
587
707
|
/**
|
|
588
708
|
* The step carries a guard (`"spend"`): `confirmed` says the recording
|
|
589
709
|
* pressed it because the command named it; a rehearsal only hovers one
|
|
@@ -591,6 +711,11 @@ interface StepSpan {
|
|
|
591
711
|
*/
|
|
592
712
|
guard?: 'spend';
|
|
593
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;
|
|
594
719
|
/**
|
|
595
720
|
* An `await` step: the wall-clock ms it waited OFF CAMERA. The footage
|
|
596
721
|
* clock stood still meanwhile, so `tStart`..`tEnd` hold only the
|
|
@@ -607,6 +732,17 @@ interface StepSpan {
|
|
|
607
732
|
* waits for cannot come.
|
|
608
733
|
*/
|
|
609
734
|
followsGuard?: number;
|
|
735
|
+
/**
|
|
736
|
+
* A paced gesture (a drag's travel, a drawn path, typing, a key
|
|
737
|
+
* sequence) ran this many ms past what the script planned, more than a
|
|
738
|
+
* fifth over: the page could not keep up with what it was sent.
|
|
739
|
+
*/
|
|
740
|
+
overrunMs?: number;
|
|
741
|
+
/**
|
|
742
|
+
* The step waited on the app after its gesture (`settle`): the ms until
|
|
743
|
+
* the page made no DOM change and painted no new frame for a beat.
|
|
744
|
+
*/
|
|
745
|
+
settleMs?: number;
|
|
610
746
|
}
|
|
611
747
|
/**
|
|
612
748
|
* A cut the recorder made: an `await` step waited off camera, so the
|
|
@@ -1067,8 +1203,21 @@ interface AudioClip {
|
|
|
1067
1203
|
out: number;
|
|
1068
1204
|
/** full source-file length, seconds — the trim ceiling (set on add). */
|
|
1069
1205
|
duration: number;
|
|
1070
|
-
/** linear gain 0..1. */
|
|
1206
|
+
/** linear gain 0..1 (a trim on top of `normalize`, when that applies). */
|
|
1071
1207
|
gain: number;
|
|
1208
|
+
/**
|
|
1209
|
+
* The clip's loudness as a TARGET: integrated loudness in LUFS (-30..-6,
|
|
1210
|
+
* e.g. -16). Applies only while `loudness` was measured for this `key`:
|
|
1211
|
+
* the lowering plays the clip at 10^((normalize - lufs) / 20) × gain,
|
|
1212
|
+
* which may exceed 1, capped so the sample peak stays under -1 dBFS.
|
|
1213
|
+
* Absent = `gain` alone, as always.
|
|
1214
|
+
*/
|
|
1215
|
+
normalize?: number;
|
|
1216
|
+
/**
|
|
1217
|
+
* What the file measures, written by tooling (`vos audio measure`), never
|
|
1218
|
+
* by hand: the fact `normalize` is computed from.
|
|
1219
|
+
*/
|
|
1220
|
+
loudness?: AudioLoudness;
|
|
1072
1221
|
/** fade durations, seconds. */
|
|
1073
1222
|
fadeIn: number;
|
|
1074
1223
|
fadeOut: number;
|
|
@@ -1080,6 +1229,28 @@ interface AudioClip {
|
|
|
1080
1229
|
duck?: boolean;
|
|
1081
1230
|
/** The template that placed this clip (see the overlay clip's `from`). */
|
|
1082
1231
|
from?: string;
|
|
1232
|
+
/**
|
|
1233
|
+
* `page`: sound the recorded page itself played (a `<video>` or `<audio>`
|
|
1234
|
+
* heard during the take, `meta.media`), placed by the plan. A re-plan
|
|
1235
|
+
* replaces only these; absent = a clip someone added.
|
|
1236
|
+
*/
|
|
1237
|
+
source?: 'page';
|
|
1238
|
+
}
|
|
1239
|
+
/**
|
|
1240
|
+
* A file's measured loudness (BS.1770, K-weighted, gated), stored next to
|
|
1241
|
+
* the clip that plays it. `src` is the key it was measured for: a clip whose
|
|
1242
|
+
* key moved to another file no longer matches, and its `normalize` is
|
|
1243
|
+
* ignored until it is measured again.
|
|
1244
|
+
*/
|
|
1245
|
+
interface AudioLoudness {
|
|
1246
|
+
/** Integrated loudness, LUFS. */
|
|
1247
|
+
lufs: number;
|
|
1248
|
+
/** Sample peak, dBFS (not oversampled); null for digital silence. */
|
|
1249
|
+
peakDb: number | null;
|
|
1250
|
+
/** When it was measured (ISO date). */
|
|
1251
|
+
at: string;
|
|
1252
|
+
/** The key it was measured for. */
|
|
1253
|
+
src: string;
|
|
1083
1254
|
}
|
|
1084
1255
|
/** Effective placed length of a clip on the output timeline, seconds. */
|
|
1085
1256
|
declare function clipLength(clip: Pick<AudioClip, 'in' | 'out' | 'loop' | 'loopLen'>): number;
|
|
@@ -1439,8 +1610,10 @@ interface OverlayPin {
|
|
|
1439
1610
|
* and `offset` OUTPUT seconds are added. So a trim, a speed change or a
|
|
1440
1611
|
* re-record moves the caption with its step, and nobody recomputes a
|
|
1441
1612
|
* `start`. `start` stays the clip's fallback when the step cannot be
|
|
1442
|
-
* found or the cut leaves it out (validate says which)
|
|
1443
|
-
* 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).
|
|
1444
1617
|
*/
|
|
1445
1618
|
interface OverlayAnchor {
|
|
1446
1619
|
/** The step: its `id` (`meta.steps[].id`) when it has one, else its index. */
|
|
@@ -1455,8 +1628,13 @@ interface OverlayAnchor {
|
|
|
1455
1628
|
interface OverlayClipBase {
|
|
1456
1629
|
/** Stable identity for selection/editing in the timeline UI. */
|
|
1457
1630
|
id: string;
|
|
1458
|
-
/**
|
|
1459
|
-
|
|
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;
|
|
1460
1638
|
duration: number;
|
|
1461
1639
|
transform: OverlayTransform;
|
|
1462
1640
|
/**
|
|
@@ -1907,11 +2085,24 @@ interface ProjectDoc {
|
|
|
1907
2085
|
* travels as the cut does. Absent on a human recording.
|
|
1908
2086
|
*/
|
|
1909
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>;
|
|
1910
2098
|
};
|
|
1911
2099
|
/**
|
|
1912
2100
|
* Kept SOURCE-time spans (@vosjs/timeline `Segment`s); the output timeline is
|
|
1913
2101
|
* their concatenation — trim/split/cut are all segment edits. Canonical form
|
|
1914
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`).
|
|
1915
2106
|
*/
|
|
1916
2107
|
segments: DocSegment[];
|
|
1917
2108
|
/**
|
|
@@ -3585,7 +3776,12 @@ declare function buildDigest(input: BuildDigestInput): Digest;
|
|
|
3585
3776
|
/** OUTPUT seconds of a doc: its kept footage through the rate map. */
|
|
3586
3777
|
declare function outputDurationOf(doc: ProjectDoc): number;
|
|
3587
3778
|
|
|
3588
|
-
/**
|
|
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
|
+
*/
|
|
3589
3785
|
declare function outputRangeToSource(doc: StudioDoc, t0: number, t1: number): {
|
|
3590
3786
|
srcIn: number;
|
|
3591
3787
|
srcOut: number;
|
|
@@ -3602,7 +3798,8 @@ declare function removeSpeedInRange(spans: readonly SpeedSpan[], srcIn: number,
|
|
|
3602
3798
|
* The Cut chip: subtract a SOURCE range from the kept segments. Segment
|
|
3603
3799
|
* order (and any reorder) is preserved; a remainder below MIN_SEGMENT is
|
|
3604
3800
|
* dropped with its parent. Never empties the take: cutting everything
|
|
3605
|
-
* 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.
|
|
3606
3803
|
*/
|
|
3607
3804
|
declare function removeSourceRange(segments: readonly Segment[], srcIn: number, srcOut: number): Segment[];
|
|
3608
3805
|
/**
|
|
@@ -3721,6 +3918,10 @@ declare function pinBox(clip: OverlayClip, layout: CardLayout): {
|
|
|
3721
3918
|
*/
|
|
3722
3919
|
declare function pinRectOnScreen(rect: Rect, t: number, layout: CardLayout, camera: CameraModel, zoomTrack?: KeyframeTrack<number[]> | null): Rect;
|
|
3723
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
|
+
*/
|
|
3724
3925
|
clip: OverlayClip;
|
|
3725
3926
|
referent: Rect;
|
|
3726
3927
|
layout: CardLayout;
|
|
@@ -3860,7 +4061,9 @@ declare function ratedSegments(doc: StudioDoc): Segment[];
|
|
|
3860
4061
|
* list: the output extent of its KEPT footage (a partially-cut span snaps its
|
|
3861
4062
|
* edges into kept footage; a fully-cut span returns null — it follows its
|
|
3862
4063
|
* footage, like every source-anchored feature). Rate-aware: output positions
|
|
3863
|
-
* 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.
|
|
3864
4067
|
*/
|
|
3865
4068
|
declare function spanOutputExtent(segments: readonly (Segment & {
|
|
3866
4069
|
media?: string;
|
|
@@ -4055,6 +4258,91 @@ declare function pinCandidates(doc: ProjectDoc, clip: {
|
|
|
4055
4258
|
*/
|
|
4056
4259
|
declare function overlayPinPoseAt(doc: ProjectDoc, o: OverlayClip, t: number): number[] | null;
|
|
4057
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
|
+
|
|
4058
4346
|
/**
|
|
4059
4347
|
* ONE lowering for the document family: the anchor's program
|
|
4060
4348
|
* plus the studio stack entry, on every anchor.
|
|
@@ -4392,10 +4680,10 @@ declare function htmlStarterClip(starter: HtmlStarter, id: string, start: number
|
|
|
4392
4680
|
interface EnvelopePoint {
|
|
4393
4681
|
/** output-timeline seconds. */
|
|
4394
4682
|
t: number;
|
|
4395
|
-
/** linear gain 0..1. */
|
|
4683
|
+
/** linear gain (0..1, above 1 only for a clip lifted to its `normalize`). */
|
|
4396
4684
|
g: number;
|
|
4397
4685
|
}
|
|
4398
|
-
declare function clipEnvelope(clip: Pick<AudioClip, 'start' | 'in' | 'out' | 'gain' | 'fadeIn' | 'fadeOut' | 'loop' | 'loopLen'>): EnvelopePoint[];
|
|
4686
|
+
declare function clipEnvelope(clip: Pick<AudioClip, 'start' | 'in' | 'out' | 'gain' | 'fadeIn' | 'fadeOut' | 'loop' | 'loopLen'> & Partial<Pick<AudioClip, 'key' | 'normalize' | 'loudness'>>): EnvelopePoint[];
|
|
4399
4687
|
/** Envelope value at output time `t` (linear interpolation; 0 outside the clip). */
|
|
4400
4688
|
declare function envelopeValueAt(env: EnvelopePoint[], t: number): number;
|
|
4401
4689
|
|
|
@@ -4580,7 +4868,7 @@ declare const STILL_DEFAULT = 0.5;
|
|
|
4580
4868
|
* footage. Read from `anim` seconds, so it is the same everywhere.
|
|
4581
4869
|
* 4. The old default, for a document with none of the above.
|
|
4582
4870
|
*/
|
|
4583
|
-
declare function docStillTime(
|
|
4871
|
+
declare function docStillTime(input: ProjectDoc): number;
|
|
4584
4872
|
/**
|
|
4585
4873
|
* Where the LAST freeze of any origin begins, or null with none: the
|
|
4586
4874
|
* poster's rest as first spelled. Prefer `docStillTime`, which ignores a
|
|
@@ -4638,14 +4926,20 @@ interface FreezeExtent {
|
|
|
4638
4926
|
* before it. A freeze whose moment is on no kept footage is not placed
|
|
4639
4927
|
* (it follows its frame, like a span). Every consumer of the rated list
|
|
4640
4928
|
* (mapTime, the zoom remap, the audio splice, the duration) inherits the
|
|
4641
|
-
* freezes from this one seam.
|
|
4642
|
-
*
|
|
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.
|
|
4643
4934
|
*/
|
|
4644
4935
|
declare function placeFreezes(rated: readonly (Segment & {
|
|
4645
4936
|
media?: string;
|
|
4646
4937
|
})[], freezes: readonly FreezeSpan[]): {
|
|
4647
4938
|
pieces: Segment[];
|
|
4648
4939
|
marks: Map<string, FreezeExtent>;
|
|
4940
|
+
placements: (FreezeExtent & {
|
|
4941
|
+
id: string;
|
|
4942
|
+
})[];
|
|
4649
4943
|
};
|
|
4650
4944
|
/** The rated segments with every freeze placed (see `placeFreezes`). */
|
|
4651
4945
|
declare function withFreezes(rated: readonly Segment[], freezes: readonly FreezeSpan[]): Segment[];
|
|
@@ -4748,7 +5042,10 @@ declare function docTransitions(doc: ProjectDoc): Transition[];
|
|
|
4748
5042
|
* head, starting where the window ends instead, and a span too short to
|
|
4749
5043
|
* survive the cut is dropped. Spans that start before the window keep
|
|
4750
5044
|
* their own end. The open's record (t = 0) is the entrance's business
|
|
4751
|
-
* (`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.
|
|
4752
5049
|
*/
|
|
4753
5050
|
declare function restSpansThroughTransitions<T extends {
|
|
4754
5051
|
in: number;
|
|
@@ -4785,11 +5082,24 @@ declare const ELAPSED_PLACEHOLDER = "{elapsed}";
|
|
|
4785
5082
|
* Where a SOURCE moment of one media plays in the cut: the output second of
|
|
4786
5083
|
* the first rated piece of that media that holds it, null when the cut
|
|
4787
5084
|
* leaves it out. A moment on a piece's closing edge counts as held there
|
|
4788
|
-
* (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.
|
|
4789
5088
|
*/
|
|
4790
5089
|
declare function sourceMomentToOutput(rated: readonly (Segment & {
|
|
4791
5090
|
media?: string;
|
|
4792
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;
|
|
4793
5103
|
/** Why an anchor did not resolve. */
|
|
4794
5104
|
type AnchorMiss = 'media' | 'step' | 'skipped' | 'cut';
|
|
4795
5105
|
interface AnchorResolution {
|
|
@@ -4848,10 +5158,20 @@ declare function hasElapsed(text: RichText | undefined): boolean;
|
|
|
4848
5158
|
declare function anchoredClip<C extends OverlayClip>(clip: C, doc: Pick<ProjectDoc, 'source' | 'media'>, rated: readonly (Segment & {
|
|
4849
5159
|
media?: string;
|
|
4850
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;
|
|
4851
5169
|
/**
|
|
4852
5170
|
* The document with every anchored layer resolved (its `start` where its
|
|
4853
|
-
* step plays, its `{elapsed}` filled)
|
|
4854
|
-
*
|
|
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.
|
|
4855
5175
|
*/
|
|
4856
5176
|
declare function resolveOverlayAnchors<D extends Pick<ProjectDoc, 'source' | 'media' | 'overlays'>>(doc: D, rated: readonly (Segment & {
|
|
4857
5177
|
media?: string;
|
|
@@ -5304,7 +5624,9 @@ declare const freezeLane: LaneAdapter<ProjectDoc>;
|
|
|
5304
5624
|
* Zoom lane — zoom regions as clips ("1.80×"). Spans are SOURCE-anchored
|
|
5305
5625
|
* (footage-anchored like speed spans and the cam window); the lane displays
|
|
5306
5626
|
* the output extent of each span's KEPT footage (spanOutputExtent — partial
|
|
5307
|
-
* 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).
|
|
5308
5630
|
* Move/resize are pointer-true through the FULL rated map — zoom never alters
|
|
5309
5631
|
* rates, so no exclusion trick is needed (unlike speedLane). Spans never
|
|
5310
5632
|
* overlap: create no-ops inside an existing span, move pushes out of
|
|
@@ -5427,6 +5749,102 @@ declare function computeMicRms(channels: Float32Array[], sampleRate: number, win
|
|
|
5427
5749
|
*/
|
|
5428
5750
|
declare function duckCurve(rms: MicRms, segments: Segment[], durationSec: number, opts?: DuckOptions): EnvelopePoint[];
|
|
5429
5751
|
|
|
5752
|
+
/**
|
|
5753
|
+
* A clip's loudness as a target. `normalize` says how loud the clip should
|
|
5754
|
+
* play (integrated LUFS); `loudness` is what its file measured, a fact the
|
|
5755
|
+
* tooling stores next to it. The gain the clip plays at is derived here, at
|
|
5756
|
+
* lowering, so the document stays declarative: swap the file and measure
|
|
5757
|
+
* again, and the same target holds.
|
|
5758
|
+
*
|
|
5759
|
+
* gain = 10^((normalize - lufs) / 20) × (clip.gain ?? 1)
|
|
5760
|
+
*
|
|
5761
|
+
* The gain may exceed 1 (a quiet file is lifted), and is CAPPED, never
|
|
5762
|
+
* limited: no gain may put the file's sample peak above -1 dBFS, and none is
|
|
5763
|
+
* above +24 dB. A cap lowers the whole clip; nothing reshapes its waveform.
|
|
5764
|
+
*
|
|
5765
|
+
* `normalize` applies only while `loudness` was measured for the clip's own
|
|
5766
|
+
* key (`loudness.src === key`). Without that the clip plays at `gain` alone,
|
|
5767
|
+
* exactly as a clip with no target, so a document lowers byte-identically
|
|
5768
|
+
* until it is measured.
|
|
5769
|
+
*/
|
|
5770
|
+
|
|
5771
|
+
/** The targets a clip may ask for, LUFS. */
|
|
5772
|
+
declare const NORMALIZE_MIN_LUFS = -30;
|
|
5773
|
+
declare const NORMALIZE_MAX_LUFS = -6;
|
|
5774
|
+
/** The ceiling a normalized clip's sample peak is held under, dBFS. */
|
|
5775
|
+
declare const NORMALIZE_PEAK_CEILING_DB = -1;
|
|
5776
|
+
/** The most a target may lift a clip, dB. */
|
|
5777
|
+
declare const NORMALIZE_MAX_LIFT_DB = 24;
|
|
5778
|
+
type ClipGainBasis =
|
|
5779
|
+
/** No target: `gain`, clamped to 0..1, as always. */
|
|
5780
|
+
'gain'
|
|
5781
|
+
/** The target applied. */
|
|
5782
|
+
| 'normalize'
|
|
5783
|
+
/** A target with no measurement for this key: ignored. */
|
|
5784
|
+
| 'unmeasured'
|
|
5785
|
+
/** A target measured for another key: ignored. */
|
|
5786
|
+
| 'stale';
|
|
5787
|
+
interface ClipGain {
|
|
5788
|
+
/** The linear gain the clip plays at. */
|
|
5789
|
+
gain: number;
|
|
5790
|
+
basis: ClipGainBasis;
|
|
5791
|
+
/** The gain the target asked for, before the caps (when it applied). */
|
|
5792
|
+
asked?: number;
|
|
5793
|
+
/** Which cap held it, when one did. */
|
|
5794
|
+
capped?: 'peak' | 'lift';
|
|
5795
|
+
}
|
|
5796
|
+
/** Is the clip's measurement one its target may be computed from? */
|
|
5797
|
+
declare function loudnessMatches(clip: Partial<Pick<AudioClip, 'key' | 'loudness'>>): boolean;
|
|
5798
|
+
/** The gain a clip plays at, and why. */
|
|
5799
|
+
declare function clipGain(clip: Pick<AudioClip, 'gain'> & Partial<Pick<AudioClip, 'key' | 'normalize' | 'loudness'>>): ClipGain;
|
|
5800
|
+
|
|
5801
|
+
interface DocFeature {
|
|
5802
|
+
/** A stable name for the feature. */
|
|
5803
|
+
id: string;
|
|
5804
|
+
/** The release of `@vosjs/studio-core` that first renders it. */
|
|
5805
|
+
since: string;
|
|
5806
|
+
/** What it is, in words, as a list of things: `caption anchors`. */
|
|
5807
|
+
name: string;
|
|
5808
|
+
/** What a renderer before `since` does with them, in words. */
|
|
5809
|
+
before: string;
|
|
5810
|
+
/** How many places in the document use it (0 = not used). */
|
|
5811
|
+
uses: (doc: StudioDoc) => number;
|
|
5812
|
+
/**
|
|
5813
|
+
* The document with the feature said in what a renderer before `since`
|
|
5814
|
+
* reads, and anything that changed how it plays. Absent: it cannot be.
|
|
5815
|
+
*/
|
|
5816
|
+
bake?: (doc: StudioDoc) => {
|
|
5817
|
+
doc: StudioDoc;
|
|
5818
|
+
notes: string[];
|
|
5819
|
+
};
|
|
5820
|
+
}
|
|
5821
|
+
declare const DOC_FEATURES: readonly DocFeature[];
|
|
5822
|
+
/** `a` against `b` as releases (`x.y.z`; a pre-release tag is ignored): -1, 0 or 1. */
|
|
5823
|
+
declare function compareVersions(a: string, b: string): number;
|
|
5824
|
+
/** A feature a document uses, and how many places use it. */
|
|
5825
|
+
interface UsedFeature {
|
|
5826
|
+
feature: DocFeature;
|
|
5827
|
+
count: number;
|
|
5828
|
+
}
|
|
5829
|
+
/** The features the document uses, in table order. */
|
|
5830
|
+
declare function docFeatures(doc: StudioDoc): UsedFeature[];
|
|
5831
|
+
/** The features the document uses that a renderer at `version` does not read. */
|
|
5832
|
+
declare function featuresNewerThan(doc: StudioDoc, version: string): UsedFeature[];
|
|
5833
|
+
interface BakeResult {
|
|
5834
|
+
doc: StudioDoc;
|
|
5835
|
+
/** The features baked. */
|
|
5836
|
+
baked: DocFeature[];
|
|
5837
|
+
/** The features newer than the renderer that cannot be baked. */
|
|
5838
|
+
unbakeable: DocFeature[];
|
|
5839
|
+
/** What changed in how the document plays, in words. */
|
|
5840
|
+
notes: string[];
|
|
5841
|
+
}
|
|
5842
|
+
/**
|
|
5843
|
+
* The document as a renderer at `version` reads it: every newer feature it
|
|
5844
|
+
* uses baked into the fields it stood for. A copy; the input is untouched.
|
|
5845
|
+
*/
|
|
5846
|
+
declare function bakeDocFeatures(doc: StudioDoc, version: string): BakeResult;
|
|
5847
|
+
|
|
5430
5848
|
/** Rate-aware OUTPUT duration of a doc (what the viewer experiences). */
|
|
5431
5849
|
/**
|
|
5432
5850
|
* The OUTPUT length of either document: a recording's kept footage
|
|
@@ -5546,4 +5964,4 @@ declare function rejectSpan(rejected: RejectedSpan[] | undefined, lane: Rejected
|
|
|
5546
5964
|
anchor?: StepAnchor;
|
|
5547
5965
|
}, note?: string): RejectedSpan;
|
|
5548
5966
|
|
|
5549
|
-
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 AudioPlanPoint, type AudioPlanTrack, BACKGROUND_Z, BASE_FRAME_STYLE, type Backdrop, type BackgroundMedia, 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 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_SCHEMA_VERSION, DRAG_FIT_LEVEL, DRAG_MIN_S, DRAG_MIN_TRAVEL_FRAC, type Destination, type Digest, type DigestImageRef, type DigestPlan, type DigestTakeFacts, 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, 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 RecordingOutput, 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, 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, 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, clipLength, clipsFrom, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cssFamilies, cssWeights, cursorFromCsv, cursorFromPlaywrightTrace, cursorFromRecords, cursorFromTrace, cursorIdleFade, deltaE, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, 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, 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, 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 };
|