@vosjs/studio-core 0.11.1 → 0.13.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
@@ -181,12 +181,13 @@ declare function isPlayback(activity: readonly number[] | null | undefined, a: n
181
181
  */
182
182
 
183
183
  /**
184
- * A kept span with an optional HOLD: after its last frame, a freeze for
185
- * `hold` output seconds (the beat before a cut, the ground for the end
186
- * card). Lowered as a rated segment whose tiny source span plays for the
187
- * hold, so every consumer of the rated list inherits it.
184
+ * A kept span. `hold` is the LEGACY spelling of a trailing freeze (a
185
+ * freeze on the segment's last frame for these output seconds): it is
186
+ * read on every path and migrated into `doc.freeze` on read
187
+ * (`migrateMotion`), so nothing new writes it.
188
188
  */
189
189
  type DocSegment = Segment & {
190
+ /** @deprecated migrated on read into a `FreezeSpan` at this segment's `out`. */
190
191
  hold?: number;
191
192
  };
192
193
  /** A single input event captured in the page, relative to the recording's t0. */
@@ -445,6 +446,39 @@ interface SpeedSpan {
445
446
  */
446
447
  source?: 'auto' | 'manual';
447
448
  }
449
+ /**
450
+ * A FREEZE: the footage frozen on one frame for `seconds` of output. A
451
+ * SOURCE moment (`at`), footage-anchored like a speed span so it follows
452
+ * its frame through trims and splits (a freeze whose frame is cut away has
453
+ * no effect, and comes back if the trim is undone), plus output seconds.
454
+ * The retime primitive beside `SpeedSpan`, on the same lane: a speed span
455
+ * is a source RANGE with a rate, a freeze a source POINT with a length,
456
+ * and a rate of zero is deliberately not how it is spelled (the pointer-
457
+ * true gesture maps divide by the rate). Lowered as a rated piece whose
458
+ * hair of source time plays for the seconds, so every consumer of the
459
+ * rated list (mapTime, the zoom remap, the audio splice, the duration)
460
+ * inherits it from one seam. The still every still-taking surface takes
461
+ * is where the LAST freeze begins (`docRestTime`).
462
+ */
463
+ interface FreezeSpan {
464
+ /** Stable identity for selection/editing (`f{n}`). */
465
+ id: string;
466
+ /** SOURCE seconds: the frame that freezes is the one just before `at`. */
467
+ at: number;
468
+ /** OUTPUT seconds the frame holds. */
469
+ seconds: number;
470
+ /** Re-record tie to an actions.json step; `at` stays the truth. */
471
+ anchor?: StepAnchor;
472
+ /** The template that placed it (the clips' `from`), so a re-apply replaces it and a loop drops it. */
473
+ from?: string;
474
+ }
475
+ /** Freeze length bounds, output seconds. */
476
+ declare const FREEZE_SECONDS_MIN = 0.25;
477
+ declare const FREEZE_SECONDS_MAX = 30;
478
+ /** A new freeze's length, output seconds. */
479
+ declare const FREEZE_DEFAULT_SECONDS = 2;
480
+ /** Clamp + quantize a freeze's seconds for storage (3 decimals). */
481
+ declare function clampFreezeSeconds(seconds: number): number;
448
482
  /**
449
483
  * Speed-rate bounds. 16 is also Chromium's HTMLMediaElement.playbackRate
450
484
  * ceiling, so preview (native playback) and export (offline resample) can
@@ -1379,6 +1413,12 @@ interface ProjectDoc {
1379
1413
  * Optional for backward compatibility with persisted docs; absent = all 1×.
1380
1414
  */
1381
1415
  speed?: SpeedSpan[];
1416
+ /**
1417
+ * Freezes (SOURCE moments, footage-anchored — see FreezeSpan), the
1418
+ * other retime primitive. Absent = none; a legacy segment `hold` migrates
1419
+ * here on read.
1420
+ */
1421
+ freeze?: FreezeSpan[];
1382
1422
  /** Zoom regions (SOURCE time, footage-anchored, non-overlapping — see ZoomSpan). */
1383
1423
  zoom: ZoomSpan[];
1384
1424
  /**
@@ -1668,6 +1708,8 @@ declare function projectFromArtifact(artifact: RecordingArtifact, videoUrl: stri
1668
1708
  };
1669
1709
 
1670
1710
  /**
1711
+ * 4 = the freeze era: a segment's `hold` is read into `doc.freeze` (a
1712
+ * freeze at that segment's end), the retime primitive beside speed spans.
1671
1713
  * 3 = the one-vocabulary era: a recording document's `frame.entrance`,
1672
1714
  * `endCard`, clip `enter`/`exit`/`fx` and prop `animation` are read into
1673
1715
  * `anim` (and the end card into clips after the footage plus a card exit).
@@ -1675,14 +1717,15 @@ declare function projectFromArtifact(artifact: RecordingArtifact, videoUrl: stri
1675
1717
  * document); a v1 doc IS a recording document, so 1 → 2 was a stamp, and
1676
1718
  * 0 → 1 was a stamp too.
1677
1719
  */
1678
- declare const DOC_SCHEMA_VERSION = 3;
1720
+ declare const DOC_SCHEMA_VERSION = 4;
1679
1721
  /**
1680
1722
  * Upgrade a hosted doc.json payload to the current schema version.
1681
1723
  * Unstamped docs are v0 — the pre-stamp era. v0 → v2 were stamps; v2 → v3
1682
1724
  * rewrites a recording document's motion spellings into the vocabulary,
1683
- * and leaves a program document as it was (its layers migrate the same
1684
- * way when they carry the old spellings). A real shape change chains its
1685
- * step here.
1725
+ * and v3 → v4 its segment holds into freezes (one rewrite, `migrateMotion`,
1726
+ * idempotent, so both steps are one call); a program document is left as
1727
+ * it was (its layers migrate the same way when they carry the old
1728
+ * spellings). A real shape change chains its step here.
1686
1729
  */
1687
1730
  declare function migrateHostedDoc(raw: Record<string, unknown>): Record<string, unknown>;
1688
1731
 
@@ -2112,7 +2155,8 @@ interface LayoutParts {
2112
2155
  /** The stage clips' ids. */
2113
2156
  clips: string[];
2114
2157
  lean: boolean;
2115
- hold: boolean;
2158
+ /** A trailing freeze (the poster's rest). */
2159
+ freeze: boolean;
2116
2160
  }
2117
2161
  declare function layoutOf(doc: ProjectDoc): LayoutParts;
2118
2162
  interface CopyLayoutOptions {
@@ -2988,15 +3032,23 @@ declare function applyLook(frame: FrameStyle, look: Look, size: {
2988
3032
  }, placement: LookPlacement): FrameStyle;
2989
3033
 
2990
3034
  /**
2991
- * THE REST of a take: the one output time its still is taken at. A poster
2992
- * ends on a trailing `hold` (its last segment freezes on its last frame),
2993
- * and the rest is where that hold BEGINS — the composed frame before
2994
- * nothing moves. Null when the take has no trailing hold. One convention
2995
- * for every still-taking surface (an export, a thumbnail, a kit), so they
2996
- * agree. A legacy end card yields null: its words rise over a receding
2997
- * card, which is footage under a fading title, not a poster.
3035
+ * THE REST of a take: the one output time its still is taken at, where
3036
+ * the LAST freeze begins — the composed frame before nothing moves (a
3037
+ * poster ends on one). Null when the take has no freeze on kept footage.
3038
+ * One convention for every still-taking surface (an export, a thumbnail,
3039
+ * a kit), so they agree. Reads a legacy segment `hold` as the freeze it
3040
+ * migrates to, and a raw hosted payload (no `segments`, no `source`) as
3041
+ * what it has. A legacy end card yields null: its words rise over a
3042
+ * receding card, which is footage under a fading title, not a poster.
2998
3043
  */
2999
3044
  declare function docRestTime(doc: ProjectDoc): number | null;
3045
+ /**
3046
+ * Every freeze the document carries, the spelled ones and the legacy
3047
+ * segment holds (as a freeze at that segment's `out`, id `h{i}`), sorted
3048
+ * by source moment. The one read every consumer takes, so an unmigrated
3049
+ * document freezes exactly where a migrated one does.
3050
+ */
3051
+ declare function docFreezes(doc: Pick<ProjectDoc, 'freeze' | 'segments'>): FreezeSpan[];
3000
3052
  /** The card entrance's default length, seconds. */
3001
3053
  declare const ENTRANCE_SECONDS = 1.2;
3002
3054
  /** The legacy end card's default length, seconds. */
@@ -3019,16 +3071,36 @@ declare function cardExit(frame: Pick<FrameStyle, 'anim'>): AnimStep | null;
3019
3071
  declare function entranceSeconds(e: Step): number;
3020
3072
  /** The exit's length: its own seconds, else the house length of its kind. */
3021
3073
  declare function exitSeconds(e: Step): number;
3074
+ /** A freeze's place on the output timeline (its start and its seconds). */
3075
+ interface FreezeExtent {
3076
+ t: number;
3077
+ duration: number;
3078
+ }
3022
3079
  /**
3023
- * The rated segments with every `hold` expanded: after the last rated
3024
- * piece of a held segment, a freeze piece whose tiny source span at the
3025
- * segment's end plays for `hold` output seconds. Every consumer of the
3026
- * rated list (mapTime, the zoom remap, the audio splice, the duration)
3027
- * inherits the hold from this one seam.
3080
+ * The rated pieces with every freeze placed: at a freeze's source moment
3081
+ * the piece holding it splits, and a freeze piece (a hair of source time
3082
+ * just before the moment, rated to play for the freeze's seconds) goes in
3083
+ * between; a freeze at a piece's end goes after it, one at the very start
3084
+ * before it. A freeze whose moment is on no kept footage is not placed
3085
+ * (it follows its frame, like a span). Every consumer of the rated list
3086
+ * (mapTime, the zoom remap, the audio splice, the duration) inherits the
3087
+ * freezes from this one seam. `marks` is where each placed freeze landed
3088
+ * in OUTPUT time, for the lane and the rest.
3028
3089
  */
3029
- declare function withHolds(docSegments: readonly (Segment & {
3030
- hold?: number;
3031
- })[], rated: Segment[]): Segment[];
3090
+ declare function placeFreezes(rated: readonly Segment[], freezes: readonly FreezeSpan[]): {
3091
+ pieces: Segment[];
3092
+ marks: Map<string, FreezeExtent>;
3093
+ };
3094
+ /** The rated segments with every freeze placed (see `placeFreezes`). */
3095
+ declare function withFreezes(rated: readonly Segment[], freezes: readonly FreezeSpan[]): Segment[];
3096
+ /** Where each freeze lands on the output timeline (unplaced ones absent). */
3097
+ declare function freezeOutputExtents(rated: readonly Segment[], freezes: readonly FreezeSpan[]): Map<string, FreezeExtent>;
3098
+ /**
3099
+ * The rated segments with every legacy segment `hold` placed as the freeze
3100
+ * it migrates to.
3101
+ * @deprecated Read `docFreezes` and place them with `withFreezes`.
3102
+ */
3103
+ declare function withHolds(docSegments: readonly DocSegment[], rated: Segment[]): Segment[];
3032
3104
  /**
3033
3105
  * The card-pose track [scale, dy, opacity] in OUTPUT seconds: the entrance
3034
3106
  * settles the card in from a slightly smaller, lower, transparent pose;
@@ -3072,11 +3144,11 @@ declare function expandEndCard(doc: ProjectDoc, outputDuration: number): {
3072
3144
  */
3073
3145
  declare function migrateMotion(doc: ProjectDoc): ProjectDoc;
3074
3146
  /**
3075
- * Where the OUTPUT ends: the footage's end (its rated segments, holds
3147
+ * Where the OUTPUT ends: the footage's end (its rated segments, freezes
3076
3148
  * included) or the last visual clip's end, whichever is later. Past its
3077
- * footage the card holds its last frame (`mapTime` clamps) at the pose its
3078
- * exit settled into. A document that ends on its footage answers the
3079
- * footage's end, byte-identically to before the rule.
3149
+ * footage the card is gone and the clips play over the ground. A document
3150
+ * that ends on its footage answers the footage's end, byte-identically to
3151
+ * before the rule.
3080
3152
  */
3081
3153
  declare function outputEnd(doc: Pick<ProjectDoc, 'overlays' | 'objects'>, footageEnd: number): number;
3082
3154
 
@@ -3393,6 +3465,17 @@ declare function hexToRgbTriplet(hex: string): [number, number, number] | null;
3393
3465
  /** The doc's segments in canonical explicit form (empty = one full-source span). */
3394
3466
  declare function effectiveSegments(doc: StudioDoc): Segment[];
3395
3467
  declare const videoLane: LaneAdapter<ProjectDoc>;
3468
+ /**
3469
+ * Freeze lane — freezes as hatched bands ON the footage clip, beside the
3470
+ * speed bands (the retime lane). A freeze is a SOURCE moment with output
3471
+ * seconds; the lane draws it where the rated pieces put it (a freeze
3472
+ * whose frame is cut away draws nothing) and the band's width is its
3473
+ * seconds. Create at the playhead (a press inside a freeze or off kept
3474
+ * footage no-ops); move re-anchors the moment pointer-true through the
3475
+ * rate map without this freeze; resize on the END edge sets the seconds,
3476
+ * on the START edge re-anchors the moment and keeps the end where it is.
3477
+ */
3478
+ declare const freezeLane: LaneAdapter<ProjectDoc>;
3396
3479
  /**
3397
3480
  * Zoom lane — zoom regions as clips ("1.80×"). Spans are SOURCE-anchored
3398
3481
  * (footage-anchored like speed spans and the cam window); the lane displays
@@ -3639,4 +3722,4 @@ declare function rejectSpan(rejected: RejectedSpan[] | undefined, lane: Rejected
3639
3722
  anchor?: StepAnchor;
3640
3723
  }, note?: string): RejectedSpan;
3641
3724
 
3642
- 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, type FocusBounds, type FollowEvent, type FollowOptions, type FrameEntrance, type FrameGeometry, type FrameStyle, 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, clampSpeedRate, clampTiltDeg, clampZoomLevel, clipEnvelope, clipLength, clipsFrom, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cursorIdleFade, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docOutputDuration, docRestTime, docToCropSpace, docToFullSpace, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, focusBounds, followFocusEvents, frameGeometry, 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, 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, withHolds, withoutRejected, wrapProgramLength, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomWindow };
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 };