@vosjs/studio-core 0.13.1 → 0.15.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/dist/index.d.ts CHANGED
@@ -187,6 +187,8 @@ declare function isPlayback(activity: readonly number[] | null | undefined, a: n
187
187
  * (`migrateMotion`), so nothing new writes it.
188
188
  */
189
189
  type DocSegment = Segment & {
190
+ /** The media this clip plays (`doc.media[].id`); absent = the primary, `doc.source`. */
191
+ media?: string;
190
192
  /** @deprecated migrated on read into a `FreezeSpan` at this segment's `out`. */
191
193
  hold?: number;
192
194
  };
@@ -375,6 +377,8 @@ interface RejectedSpan {
375
377
  /** `r{n}`, stable for the differ and the history. */
376
378
  id: string;
377
379
  lane: RejectedLane;
380
+ /** The media the deleted span sat on; absent = the primary. */
381
+ media?: string;
378
382
  /** SOURCE seconds, the deleted span's extent. */
379
383
  in: number;
380
384
  out: number;
@@ -433,6 +437,8 @@ declare function transitionMult(t: TransitionSpeed | undefined): number;
433
437
  interface SpeedSpan {
434
438
  /** Stable identity for selection/editing in the timeline UI. */
435
439
  id: string;
440
+ /** The media this span's source seconds belong to; absent = the primary. */
441
+ media?: string;
436
442
  in: number;
437
443
  out: number;
438
444
  /** Re-record tie to an actions.json step; `in`/`out` stay the truth. */
@@ -463,6 +469,8 @@ interface SpeedSpan {
463
469
  interface FreezeSpan {
464
470
  /** Stable identity for selection/editing (`f{n}`). */
465
471
  id: string;
472
+ /** The media the frozen frame is on; absent = the primary. */
473
+ media?: string;
466
474
  /** SOURCE seconds: the frame that freezes is the one just before `at`. */
467
475
  at: number;
468
476
  /** OUTPUT seconds the frame holds. */
@@ -507,6 +515,8 @@ declare function clampSpeedRate(rate: number): number;
507
515
  interface ZoomSpan {
508
516
  /** Stable identity for selection/editing (`z{n}` planner, `u{n}` user). */
509
517
  id: string;
518
+ /** The media this span's source seconds belong to; absent = the primary. */
519
+ media?: string;
510
520
  in: number;
511
521
  out: number;
512
522
  /** Re-record tie to an actions.json step; `in`/`out` stay the truth. */
@@ -561,6 +571,8 @@ declare function clampZoomLevel(level: number): number;
561
571
  * OUTPUT-time [rx, ry] degree keyframe track (see tiltTrackFromDoc).
562
572
  */
563
573
  interface TiltSpan {
574
+ /** The media this span's source seconds belong to; absent = the primary. */
575
+ media?: string;
564
576
  /** Stable identity for selection/editing (`t{n}` planner, `u{n}` user). */
565
577
  id: string;
566
578
  in: number;
@@ -701,6 +713,8 @@ interface CamStyle {
701
713
  * (camTrackFromDoc) — pure f(t), no springs.
702
714
  */
703
715
  interface CamPoseSpan {
716
+ /** The media this span's source seconds belong to; absent = the primary. */
717
+ media?: string;
704
718
  /** Stable identity for selection/editing (`m{n}` user-created). */
705
719
  id: string;
706
720
  in: number;
@@ -1408,6 +1422,13 @@ interface ProjectDoc {
1408
1422
  * is one full-source segment; an empty list is tolerated and means "untrimmed".
1409
1423
  */
1410
1424
  segments: DocSegment[];
1425
+ /**
1426
+ * The OTHER media this take carries (concat, a layer's source): each the
1427
+ * `source` shape with an `id`, named by a segment's or a span's `media`.
1428
+ * The primary stays `source` (the sequence, the camera and the cut are
1429
+ * its). Absent = one media; a document with none lowers byte-identically.
1430
+ */
1431
+ media?: Media[];
1411
1432
  /**
1412
1433
  * Speed-change spans (SOURCE time, footage-anchored — see SpeedSpan).
1413
1434
  * Optional for backward compatibility with persisted docs; absent = all 1×.
@@ -1603,6 +1624,28 @@ declare function exportSizeFor(ratio: number, resolution: ExportResolution): {
1603
1624
  width: number;
1604
1625
  height: number;
1605
1626
  };
1627
+ /**
1628
+ * One of a take's OTHER media (`doc.media`): the `source` shape (a media
1629
+ * plus the facts only a capture has) with the `id` a segment or a span
1630
+ * names. The primary media has no id; it is `doc.source`.
1631
+ */
1632
+ /**
1633
+ * The CARD-owned frame fields, what a media may carry of its own: its
1634
+ * placement and size (`inset`, per-side fractions of the frame), the bar,
1635
+ * the corner, the shadow, the border, the cover fit and its focus. The
1636
+ * frame-wide fields (the aspect, the padding, the ground, the backdrop, the
1637
+ * card's animation) stay the take's: one frame, many cards.
1638
+ */
1639
+ declare const MEDIA_FRAME_KEYS: readonly ["browserBar", "radius", "shadow", "shadowContact", "shadowColor", "inset", "border", "borderWidth", "borderColor", "fit", "focus", "focusFollow"];
1640
+ type MediaFrameKey = (typeof MEDIA_FRAME_KEYS)[number];
1641
+ /** What a media says about its own card; absent fields fall to the take's frame. */
1642
+ type MediaFrame = Partial<Omit<Pick<FrameStyle, MediaFrameKey>, 'browserBar'>> & {
1643
+ browserBar?: Partial<BrowserBarStyle>;
1644
+ };
1645
+ type Media = ProjectDoc['source'] & {
1646
+ id: string;
1647
+ frame?: MediaFrame;
1648
+ };
1606
1649
 
1607
1650
  /**
1608
1651
  * Capture-space normalization — the single seam that makes window/monitor
@@ -2023,7 +2066,9 @@ zoomFocus?: {
2023
2066
  * ON_FRAME uses as source dims when `d.crop` is set (crp.w/crp.h) — the
2024
2067
  * golden contract holds through the crop.
2025
2068
  */
2026
- declare function docCardLayout(doc: Pick<ProjectDoc, 'frame' | 'source'>): CardLayout;
2069
+ declare function docCardLayout(doc: Pick<ProjectDoc, 'frame' | 'source' | 'media'>,
2070
+ /** The media whose card to lay out; absent or `''` = the primary. */
2071
+ media?: string | null): CardLayout;
2027
2072
  /**
2028
2073
  * Largest export preset whose footage card still gets ≥1 captured px per output
2029
2074
  * px. The composited chrome (background, bar, cursor, effects) is vector-drawn
@@ -2593,7 +2638,9 @@ declare function ratedSegments(doc: StudioDoc): Segment[];
2593
2638
  * footage, like every source-anchored feature). Rate-aware: output positions
2594
2639
  * accumulate each piece's (out − in) / rate.
2595
2640
  */
2596
- declare function spanOutputExtent(segments: Segment[], sIn: number, sOut: number): {
2641
+ declare function spanOutputExtent(segments: readonly (Segment & {
2642
+ media?: string;
2643
+ })[], sIn: number, sOut: number, media?: string): {
2597
2644
  start: number;
2598
2645
  end: number;
2599
2646
  } | null;
@@ -3087,7 +3134,9 @@ interface FreezeExtent {
3087
3134
  * freezes from this one seam. `marks` is where each placed freeze landed
3088
3135
  * in OUTPUT time, for the lane and the rest.
3089
3136
  */
3090
- declare function placeFreezes(rated: readonly Segment[], freezes: readonly FreezeSpan[]): {
3137
+ declare function placeFreezes(rated: readonly (Segment & {
3138
+ media?: string;
3139
+ })[], freezes: readonly FreezeSpan[]): {
3091
3140
  pieces: Segment[];
3092
3141
  marks: Map<string, FreezeExtent>;
3093
3142
  };
@@ -3152,6 +3201,57 @@ declare function migrateMotion(doc: ProjectDoc): ProjectDoc;
3152
3201
  */
3153
3202
  declare function outputEnd(doc: Pick<ProjectDoc, 'overlays' | 'objects'>, footageEnd: number): number;
3154
3203
 
3204
+ /**
3205
+ * Many media in one take, one rule: a recording is media plus the FACTS
3206
+ * only a capture has, and `doc.source` is the PRIMARY media (the subject:
3207
+ * the sequence, the camera and the cut belong to it). `doc.media` holds
3208
+ * the others, each the same shape with an `id`; a footage clip (a segment)
3209
+ * and every source-anchored span (zoom, tilt, speed, freeze, cam move, a
3210
+ * rejected proposal) name the media they belong to by that id, and an
3211
+ * absent `media` is the primary. Nothing else moves: `mapTime` still
3212
+ * answers source seconds, and the piece under the playhead says whose.
3213
+ */
3214
+
3215
+ /** The primary media's key: the absent `media` on a clip or a span. */
3216
+ declare const PRIMARY_MEDIA = "";
3217
+ /** The key a `media` field carries, the primary's when absent. */
3218
+ declare const mediaKey: (id: string | undefined | null) => string;
3219
+ /** Do two `media` fields name the same media (absent = the primary)? */
3220
+ declare const sameMedia: (a: string | undefined | null, b: string | undefined | null) => boolean;
3221
+ /** A piece of the rated list, carrying the media it plays. */
3222
+ type MediaSegment = Segment & {
3223
+ media?: string;
3224
+ };
3225
+ /**
3226
+ * Every media the document carries, the primary first (its key is the
3227
+ * empty string), then `doc.media` in order.
3228
+ */
3229
+ declare function docMediaList(doc: Pick<ProjectDoc, 'source' | 'media'>): {
3230
+ id: string;
3231
+ source: ProjectDoc['source'];
3232
+ }[];
3233
+ /** The media a key names, the primary for the empty key, null for a stranger. */
3234
+ declare function mediaSource(doc: Pick<ProjectDoc, 'source' | 'media'>, id: string | undefined | null): ProjectDoc['source'] | null;
3235
+ /** A media's source length in seconds (its capture meta). */
3236
+ declare function mediaDuration(source: Pick<ProjectDoc['source'], 'meta'>): number;
3237
+ /**
3238
+ * The media the output plays at `t`: the rated piece under it, the last
3239
+ * piece past the footage's end (the frame the card froze on), the primary
3240
+ * for an empty list.
3241
+ */
3242
+ declare function mediaAtOutput(rated: readonly MediaSegment[], t: number): string;
3243
+ /**
3244
+ * The card a media wears: the take's frame with the media's own card
3245
+ * fields over it. Facts first: a media with a recorded page names it in
3246
+ * the bar, and one with no page (an upload) wears no bar, unless its own
3247
+ * `frame.browserBar` says otherwise. The primary wears the take's frame.
3248
+ */
3249
+ declare function mediaFrame(doc: Pick<ProjectDoc, 'source' | 'media' | 'frame'>, id: string | undefined | null): FrameStyle;
3250
+ /** The card-owned fields of a frame, alone (what a media's card is made of). */
3251
+ declare function cardFields(frame: FrameStyle): Pick<FrameStyle, MediaFrameKey>;
3252
+ /** The next free media id (`m1`, `m2`, …). */
3253
+ declare function nextMediaId(doc: Pick<ProjectDoc, 'media'>): string;
3254
+
3155
3255
  /**
3156
3256
  * Compositor v2 — the layer stage geometry.
3157
3257
  *
@@ -3451,14 +3551,24 @@ interface ExtractClickOptions {
3451
3551
  w: number;
3452
3552
  h: number;
3453
3553
  };
3554
+ /** The media the track belongs to; absent = the primary. Its clicks map through that media's pieces only. */
3555
+ media?: string;
3454
3556
  }
3557
+ /**
3558
+ * OUTPUT time of the last kept source moment in [sIn, sOut] — the clamped
3559
+ * release for presses whose `up` fell in trimmed footage. Same accumulation
3560
+ * as lowerToComposition's spanOutputExtent (not imported: that would cycle).
3561
+ */
3562
+ type MediaPiece = Segment & {
3563
+ media?: string;
3564
+ };
3455
3565
  /**
3456
3566
  * Extract OUTPUT-anchored clicks from a raw cursor track. Downs in trimmed-away
3457
3567
  * footage are dropped (they follow their footage, like every source-anchored
3458
3568
  * feature); a press pairs with the next `up` of the same button unless another
3459
3569
  * `down` of that button intervenes (a lost `up` must not chain two presses).
3460
3570
  */
3461
- declare function extractClicks(track: CursorTrack, segments: Segment[], opts: ExtractClickOptions): LoweredClick[];
3571
+ declare function extractClicks(track: CursorTrack, segments: readonly MediaPiece[], opts: ExtractClickOptions): LoweredClick[];
3462
3572
  /** '#rgb'/'#rrggbb' → [r,g,b] for ctx.data (ON_FRAME composes rgba() per frame). */
3463
3573
  declare function hexToRgbTriplet(hex: string): [number, number, number] | null;
3464
3574
 
@@ -3722,4 +3832,4 @@ declare function rejectSpan(rejected: RejectedSpan[] | undefined, lane: Rejected
3722
3832
  anchor?: StepAnchor;
3723
3833
  }, note?: string): RejectedSpan;
3724
3834
 
3725
- export { ASPECT_RATIOS, AUDIO_PLAN_STEP, type AnchorKind, type Anim, type AnimKind, 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, 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, CHANNEL_SPECS_HASH, CHANNEL_SPECS_VERIFIED, CLICK_FX_INTENSITY, CLICK_FX_PRE, CLICK_HIGHLIGHT_FADE, CLICK_PAIR_MAX, CLICK_PULSE_DUR, CLICK_RECT_MAX_FRAC, CLICK_RIPPLE_DUR, CLICK_SYNTH_RELEASE, 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 CamBubbleRect, type CamPoseSpan, type CamStyle, type CaptureNormalization, type CardLayout, 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, DESTINATIONS, DIGEST_CROP_MAX, DIGEST_FULL_MAX, DIGEST_VERSION, DOC_SCHEMA_VERSION, DRAG_FIT_LEVEL, type Destination, type Digest, type DigestImageRef, type DigestPlan, type DigestTakeFacts, type DocSegment, type DuckOptions, 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, 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, HOUSE_GRADIENT, IDLE_KINDS, type IdleKind, type IngestOptions, LAYOUT_FRAME_FIELDS, LOOK_KINDS, type LayoutParts, type Look, type LookBrand, type LookKind, type LookPlacement, type LowerProgramOptions, type LoweredAudioClip, type LoweredClick, type LoweredComposition, type LoweredZoomSpan, MEDIA_ENTER_KINDS, MEDIA_EXIT_KINDS, MINIMAL_BAR_THEMES, MOTION_DELTA, MOTION_EASE, type MediaOverlayClip, 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 OverlayClip, type OverlayFontFace, type OverlayKind, type OverlayPresetStyle, type OverlayRect, type OverlayTransform, type OverlayTransition, PLATE_GROUND, PLAYBACK_ACTIVITY, PROGRAM_RETIME, type PlanOptions, type PlanTiltOptions, type PlaneSize, type ProgramAnchorDoc, type ProgramTweenEdit, type ProjectDoc, type PxRect, REJECT_OVERLAP, REST_TILT_ID, type RecordingArtifact, type RecordingMeta, type Rect, type RejectedLane, type RejectedSpan, type ResolvedOverlayBox, type ResolvedOverlayStyle, SCENE_MOTION, SCENE_QUIET, SPEED_RATE_MAX, SPEED_RATE_MIN, SPEED_SPAN_MIN, STAGE_CLIP_PREFIX, STUDIO_ENTRY_ID, STYLE_FIELDS, type SmoothOptions, type SmoothPoint, type SpeedParams, type SpeedSpan, type StepAnchor, type StepSpan, type StudioAudioPlan, type StudioDoc, type StudioEntry, type StyleField, 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_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 TranscriptSegment, 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 ZoomSpan, type ZoomStyleName, type ZoomStyleParams, type ZoomWindow, anchorKindOf, anchorSourceDuration, animStep, applyLook, applyTemplate, aspectRatioValue, audioLane, backdropMedia, buildDigest, camBubbleRect, camBubbleRectAt, camLane, camMoveLane, camRectFromPose, camRestPose, camTrackFromDoc, cardEnter, cardExit, cardInset, cardPointToScreen, cardPoseTrack, clampCamFrac, clampCamSize, clampFocus, clampFreezeSeconds, clampSpeedRate, clampTiltDeg, clampZoomLevel, clipEnvelope, clipLength, clipsFrom, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cursorIdleFade, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFreezes, docOutputDuration, docRestTime, docToCropSpace, docToFullSpace, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, focusBounds, followFocusEvents, frameGeometry, freezeLane, freezeOutputExtents, hexToRgbTriplet, houseLook, idleGaps, idleKey, isLookKind, isMusicBed, isPlayback, isProgramDoc, isRecordingDoc, isRejected, isStageClip, isUnitStep, lastLayerEnd, layoutOf, levelForFocusFraction, lookFromBrand, lookKindForGround, lowerProgramDoc, lowerStudioDoc, lowerToComposition, micLane, migrateHostedDoc, migrateMotion, momentsFromDoc, motionTrack, musicBedClip, normalizeCaptureSpace, objectMotionBase, objectMotionPoseAt, objectsLane, outputDurationOf, outputEnd, outputRangeToSource, overlapFraction, overlayFaceFor, overlayFontFaces, overlayFontString, overlayFxSpec, overlayHit, overlayLines, overlayMotionBase, overlayMotionPoseAt, overlayRect, overlaysLane, pageDisplayUrl, parsePoseId, pickStyle, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, programDuration, projectFromArtifact, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, removeSourceRange, removeSpeedInRange, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolveText3dAsset, resolveZoomStyle, restLeanOf, sceneChanges, scrollRuns, setSpeedInRange, smoothCursor, spanOutputExtent, speedLane, studioAudioPlan, studioEntry, studioLayerData, tiltLane, tiltTrackFromDoc, transitionMult, videoLane, voiceKey, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomWindow };
3835
+ export { ASPECT_RATIOS, AUDIO_PLAN_STEP, type AnchorKind, type Anim, type AnimKind, 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, 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, CHANNEL_SPECS_HASH, CHANNEL_SPECS_VERIFIED, CLICK_FX_INTENSITY, CLICK_FX_PRE, CLICK_HIGHLIGHT_FADE, CLICK_PAIR_MAX, CLICK_PULSE_DUR, CLICK_RECT_MAX_FRAC, CLICK_RIPPLE_DUR, CLICK_SYNTH_RELEASE, 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 CamBubbleRect, type CamPoseSpan, type CamStyle, type CaptureNormalization, type CardLayout, 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, DESTINATIONS, DIGEST_CROP_MAX, DIGEST_FULL_MAX, DIGEST_VERSION, DOC_SCHEMA_VERSION, DRAG_FIT_LEVEL, type Destination, type Digest, type DigestImageRef, type DigestPlan, type DigestTakeFacts, type DocSegment, type DuckOptions, 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, 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, HOUSE_GRADIENT, IDLE_KINDS, type IdleKind, type IngestOptions, LAYOUT_FRAME_FIELDS, LOOK_KINDS, type LayoutParts, type Look, type LookBrand, type LookKind, type LookPlacement, type LowerProgramOptions, type LoweredAudioClip, type LoweredClick, type LoweredComposition, type LoweredZoomSpan, MEDIA_ENTER_KINDS, MEDIA_EXIT_KINDS, MEDIA_FRAME_KEYS, 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 OverlayClip, type OverlayFontFace, type OverlayKind, type OverlayPresetStyle, type OverlayRect, type OverlayTransform, type OverlayTransition, PLATE_GROUND, PLAYBACK_ACTIVITY, PRIMARY_MEDIA, PROGRAM_RETIME, type PlanOptions, type PlanTiltOptions, type PlaneSize, type ProgramAnchorDoc, type ProgramTweenEdit, type ProjectDoc, type PxRect, REJECT_OVERLAP, REST_TILT_ID, type RecordingArtifact, type RecordingMeta, type Rect, type RejectedLane, type RejectedSpan, type ResolvedOverlayBox, type ResolvedOverlayStyle, SCENE_MOTION, SCENE_QUIET, SPEED_RATE_MAX, SPEED_RATE_MIN, SPEED_SPAN_MIN, STAGE_CLIP_PREFIX, STUDIO_ENTRY_ID, STYLE_FIELDS, type SmoothOptions, type SmoothPoint, type SpeedParams, type SpeedSpan, type StepAnchor, type StepSpan, type StudioAudioPlan, type StudioDoc, type StudioEntry, type StyleField, 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_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 TranscriptSegment, 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 ZoomSpan, type ZoomStyleName, type ZoomStyleParams, type ZoomWindow, anchorKindOf, anchorSourceDuration, animStep, applyLook, applyTemplate, aspectRatioValue, audioLane, backdropMedia, buildDigest, camBubbleRect, camBubbleRectAt, camLane, camMoveLane, camRectFromPose, camRestPose, camTrackFromDoc, cardEnter, cardExit, cardFields, cardInset, cardPointToScreen, cardPoseTrack, clampCamFrac, clampCamSize, clampFocus, clampFreezeSeconds, clampSpeedRate, clampTiltDeg, clampZoomLevel, clipEnvelope, clipLength, clipsFrom, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cursorIdleFade, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFreezes, docMediaList, docOutputDuration, docRestTime, docToCropSpace, docToFullSpace, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, focusBounds, followFocusEvents, frameGeometry, freezeLane, freezeOutputExtents, hexToRgbTriplet, houseLook, idleGaps, idleKey, isLookKind, isMusicBed, isPlayback, isProgramDoc, isRecordingDoc, isRejected, isStageClip, isUnitStep, lastLayerEnd, layoutOf, levelForFocusFraction, lookFromBrand, lookKindForGround, lowerProgramDoc, lowerStudioDoc, lowerToComposition, mediaAtOutput, mediaDuration, mediaFrame, mediaKey, mediaSource, micLane, migrateHostedDoc, migrateMotion, momentsFromDoc, motionTrack, musicBedClip, nextMediaId, normalizeCaptureSpace, objectMotionBase, objectMotionPoseAt, objectsLane, outputDurationOf, outputEnd, outputRangeToSource, overlapFraction, overlayFaceFor, overlayFontFaces, overlayFontString, overlayFxSpec, overlayHit, overlayLines, overlayMotionBase, overlayMotionPoseAt, overlayRect, overlaysLane, pageDisplayUrl, parsePoseId, pickStyle, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, programDuration, projectFromArtifact, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, removeSourceRange, removeSpeedInRange, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolveText3dAsset, resolveZoomStyle, restLeanOf, sameMedia, sceneChanges, scrollRuns, setSpeedInRange, smoothCursor, spanOutputExtent, speedLane, studioAudioPlan, studioEntry, studioLayerData, tiltLane, tiltTrackFromDoc, transitionMult, videoLane, voiceKey, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomWindow };