@vosjs/studio-core 0.20.0 → 0.22.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
@@ -61,7 +61,13 @@ interface ZoomStyleParams {
61
61
  autoZoom: boolean;
62
62
  /** clicks within this many seconds merge into one span (session merge). */
63
63
  clusterGap: number;
64
- /** minimum clicks for a cluster to earn a zoom (Cursorful's ≥2 rule). */
64
+ /**
65
+ * Minimum clicks for a cluster to earn a zoom. Every style is 1: the
66
+ * Cursorful ≥2 rule glide and keynote carried was never in effect on a
67
+ * recorded take (the recorder counted each press twice, so a lone click
68
+ * was a pair on most pages and a stray on the rest), and the lone click on
69
+ * a button is the zoom people miss when it goes.
70
+ */
65
71
  minClusterClicks: number;
66
72
  /** zoom so the clicked element fills ~this fraction of the frame. */
67
73
  targetFill: number;
@@ -650,7 +656,15 @@ interface CursorStyle {
650
656
  smoothing: number;
651
657
  /** rendered cursor size in px. */
652
658
  size: number;
653
- style: 'default' | 'dot' | 'ring';
659
+ /**
660
+ * What the pointer is drawn as. `'arrow'` is an OS-style pointer (a
661
+ * black arrow with a white edge, its tip on the recorded point), the
662
+ * default for new takes: it is the pointer the viewer's own screen wears,
663
+ * so the frame reads as a screen and not as a screen recorder's overlay.
664
+ * `'default'`, `'dot'` and `'ring'` all draw the white dot every earlier
665
+ * take was cut with. Click effects bloom under the tip either way.
666
+ */
667
+ style: 'default' | 'dot' | 'ring' | 'arrow';
654
668
  hideWhenIdle: boolean;
655
669
  clickFx: ClickFxStyle;
656
670
  }
@@ -951,6 +965,20 @@ interface FrameStyle {
951
965
  cx: number;
952
966
  cy: number;
953
967
  };
968
+ /**
969
+ * The zoom camera's model. `'card'` (absent; every existing document) is
970
+ * the magnifier: the card scales about the focus point, which stays where
971
+ * it is on screen, and the lowering clamps the focus so the zoomed card
972
+ * always covers the canvas, which means a target near a card edge can
973
+ * never sit near the frame's centre. `'stage'` is a camera: the card
974
+ * scales AND slides so the focus lands at the frame's centre (blended in
975
+ * over the first CAMERA_CENTRE_RAMP of level, so level 1 is the identity),
976
+ * the focus is never clamped, and past the card's edge the frame shows
977
+ * the ground, radius and shadow, the way a filmed card reads. New takes
978
+ * open on `'stage'` (BASE_FRAME_STYLE); the layout helpers, the digest's
979
+ * framing window and the studio's aiming rect all read this field.
980
+ */
981
+ camera?: 'card' | 'stage';
954
982
  aspectRatio: string;
955
983
  browserBar: BrowserBarStyle;
956
984
  /**
@@ -2023,11 +2051,18 @@ interface SmoothOptions {
2023
2051
  declare function smoothCursor(track: CursorTrack, options?: SmoothOptions): SmoothPoint[];
2024
2052
 
2025
2053
  /**
2026
- * A click cluster whose element FITS the frame at less than this level is
2027
- * not a target: it is a drag (aiming, scrubbing, moving a thing across the
2028
- * canvas) or a frame-sized surface, and a zoom on it says nothing. Five real
2029
- * takes (2026-08-25) each carried 1-4 such clusters, planned at the floor
2030
- * level for 10-25s; every one was dropped by hand. Now they plan nothing.
2054
+ * A press whose element FITS the frame at less than this level is not a
2055
+ * target: it is a drag (aiming, scrubbing, moving a thing across the canvas)
2056
+ * or a frame-sized surface (a canvas, a panel, a modal clicked to focus or
2057
+ * dismiss it), and a zoom on it says nothing. Five real takes (2026-08-25)
2058
+ * each carried 1-4 clusters of these, planned at the floor level for 10-25s;
2059
+ * every one was dropped by hand. Now they plan nothing.
2060
+ *
2061
+ * The rule is PER PRESS, never per cluster: a target cluster's level came
2062
+ * from its LARGEST element, so one press on a panel inside a chain of button
2063
+ * clicks read the whole chain as a drag and threw every zoom away — two real
2064
+ * takes (2026-09-11) lost 5 of 8 and 4 of 4 clicks that way. A surface press
2065
+ * is set aside before clustering; the targets around it keep their zoom.
2031
2066
  */
2032
2067
  declare const DRAG_FIT_LEVEL = 1.15;
2033
2068
  interface PlanOptions {
@@ -2117,6 +2152,12 @@ interface Moment {
2117
2152
  /** Normalized target bounds (element rect union), when the events had one. */
2118
2153
  rect: NormRect | null;
2119
2154
  clicks?: number;
2155
+ /**
2156
+ * A click cluster on a frame-sized element (a canvas, a panel, a drag):
2157
+ * the planner frames nothing on it (DRAG_FIT_LEVEL), so a zoom here is
2158
+ * the agent's call, never a proposal.
2159
+ */
2160
+ surface?: boolean;
2120
2161
  pings?: number;
2121
2162
  /** Motion in the window, 0..1 (fraction of changed pixels), null without frames. */
2122
2163
  activity: number | null;
@@ -2280,9 +2321,78 @@ interface FocusBounds {
2280
2321
  * the bounds cross — collapse to their midpoint (the least-uncovered focus;
2281
2322
  * 0.5 for a centered card, matching OpenScreen's margin collapse).
2282
2323
  */
2283
- declare function focusBounds(level: number, layout: CardLayout): FocusBounds;
2324
+ declare function focusBounds(level: number, layout: CardLayout, camera?: CameraModel): FocusBounds;
2284
2325
  /** Clamp a focus point into the bounds for its zoom level. */
2285
- declare function clampFocus(cx: number, cy: number, level: number, layout: CardLayout): {
2326
+ declare function clampFocus(cx: number, cy: number, level: number, layout: CardLayout, camera?: CameraModel): {
2327
+ cx: number;
2328
+ cy: number;
2329
+ };
2330
+ /**
2331
+ * The zoom camera's model (FrameStyle.camera): the clamped magnifier every
2332
+ * existing document was cut with, or the stage camera a new take opens on.
2333
+ */
2334
+ type CameraModel = 'card' | 'stage';
2335
+ /** The frame's camera model; absent = the magnifier. */
2336
+ declare function cameraModel(frame: {
2337
+ camera?: string | null;
2338
+ } | null | undefined): CameraModel;
2339
+ /**
2340
+ * How much of the level the stage camera spends pulling the focus to the
2341
+ * frame's centre: 0 at level 1 (the identity), fully centred from level
2342
+ * 1 + CAMERA_CENTRE_RAMP. A smoothstep, so a ramp that passes through the
2343
+ * band slides the card without a kink.
2344
+ */
2345
+ declare const CAMERA_CENTRE_RAMP = 0.3;
2346
+ /**
2347
+ * The fraction of the frame (each axis, centred) the card must still cover
2348
+ * at a stage-camera apex. 0.8 leaves a strip of ground a tenth of the
2349
+ * frame wide beside a corner target, the composition a filmed card reads
2350
+ * as; 1 would be the magnifier's rule, 0 no clamp at all.
2351
+ */
2352
+ declare const CAMERA_COVER_MIN = 0.8;
2353
+ /** 0..1: the stage camera's centring at `level` (MIRRORS ON_FRAME). */
2354
+ declare function cameraCentring(level: number): number;
2355
+ /**
2356
+ * The zoom transform at one instant, in canvas px: content point p maps to
2357
+ * `(ox + (p.x − wcx)·level, oy + (p.y − wcy)·level)`. `fx/fy` is the focus
2358
+ * in canvas px; `wcx/wcy` is the content point that lands at the frame's
2359
+ * centre `ox/oy`. Under the magnifier `wc = f + (o − f) / L`, which is the
2360
+ * old "scale about the focus" transform written the long way (the focus
2361
+ * stays where it is on screen); under the stage camera that pull toward
2362
+ * the focus fades out with cameraCentring, so `wc → f` and the target sits
2363
+ * at the centre. ON_FRAME's zoom block mirrors this — change them together
2364
+ * (layout.test.ts pins the pair).
2365
+ */
2366
+ interface ZoomView {
2367
+ level: number;
2368
+ fx: number;
2369
+ fy: number;
2370
+ wcx: number;
2371
+ wcy: number;
2372
+ ox: number;
2373
+ oy: number;
2374
+ }
2375
+ declare function zoomView(level: number, cx: number, cy: number, layout: CardLayout, camera?: CameraModel): ZoomView;
2376
+ /**
2377
+ * The visible window as fractions of the canvas (x/y its top-left, w/h its
2378
+ * size, both 1/level): what the studio's aiming rect draws and what the
2379
+ * framing lint tests a click rect against. The window may leave the card
2380
+ * under the stage camera; it never does under the magnifier once the focus
2381
+ * is clamped.
2382
+ */
2383
+ declare function zoomViewport(level: number, cx: number, cy: number, layout: CardLayout, camera?: CameraModel): {
2384
+ x: number;
2385
+ y: number;
2386
+ w: number;
2387
+ h: number;
2388
+ };
2389
+ /**
2390
+ * The inverse of zoomViewport's centre: the focus (normalized video coords)
2391
+ * that puts the visible window's centre at canvas fractions `cX/cY` at
2392
+ * `level`. The aiming rect's corner drag re-derives its focus through this
2393
+ * so the rect stays under the pointer in either camera model.
2394
+ */
2395
+ declare function focusForViewportCentre(cX: number, cY: number, level: number, layout: CardLayout, camera?: CameraModel): {
2286
2396
  cx: number;
2287
2397
  cy: number;
2288
2398
  };
@@ -2301,12 +2411,16 @@ interface ZoomWindow {
2301
2411
  y0: number;
2302
2412
  y1: number;
2303
2413
  }
2304
- /** The visible window in normalized video coords at `level` around the focus. */
2414
+ /**
2415
+ * The visible window in normalized video coords at `level` around the
2416
+ * focus, under the frame's camera model (absent = the magnifier, whose
2417
+ * focus is clamped first exactly as the lowering clamps it).
2418
+ */
2305
2419
  declare function zoomWindow(span: {
2306
2420
  level: number;
2307
2421
  cx: number;
2308
2422
  cy: number;
2309
- }, layout: CardLayout): ZoomWindow;
2423
+ }, layout: CardLayout, camera?: CameraModel): ZoomWindow;
2310
2424
  /**
2311
2425
  * True when the rect (normalized) sits inside the zoom's visible window, with
2312
2426
  * `tol` of slack per edge (frame fractions). A level ≤ 1 zoom shows the whole
@@ -2316,7 +2430,7 @@ declare function zoomCoversRect(span: {
2316
2430
  level: number;
2317
2431
  cx: number;
2318
2432
  cy: number;
2319
- }, rect: NormRect, layout: CardLayout, tol?: number): boolean;
2433
+ }, rect: NormRect, layout: CardLayout, tol?: number, camera?: CameraModel): boolean;
2320
2434
 
2321
2435
  declare const STYLE_FIELDS: readonly ["zoomStyle", "zoomParams", "speedParams", "tiltStyle", "frame", "cursor", "cam", "export"];
2322
2436
  type StyleField = (typeof STYLE_FIELDS)[number];
@@ -2715,6 +2829,8 @@ interface FollowOptions {
2715
2829
  recenter?: number;
2716
2830
  /** target the cursor this many seconds ahead of the exit moment. */
2717
2831
  lookahead?: number;
2832
+ /** the frame's camera model: the stage camera never clamps a focus. */
2833
+ camera?: CameraModel;
2718
2834
  }
2719
2835
  interface FollowEvent {
2720
2836
  /** SOURCE seconds — the moment the recenter starts. */
@@ -4335,4 +4451,4 @@ declare function rejectSpan(rejected: RejectedSpan[] | undefined, lane: Rejected
4335
4451
  anchor?: StepAnchor;
4336
4452
  }, note?: string): RejectedSpan;
4337
4453
 
4338
- export { ASPECT_RATIOS, AUDIO_PLAN_STEP, type AnchorKind, 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, 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, DESIGN_FRAME_WIDTH, 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, 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, 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 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, 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, 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 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 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, cssFamilies, cssWeights, cursorIdleFade, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFreezes, docMediaList, docOutputDuration, docRestTime, docStillTime, docToCropSpace, docToFullSpace, docTransitions, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, focusBounds, followFocusEvents, frameGeometry, freezeLane, freezeOutputExtents, hexToRgbTriplet, houseLook, htmlLayerBleed, htmlLayerBleedFor, htmlLayerFaces, htmlLayerKey, htmlLayerLabel, htmlLayerPayload, htmlLayerPictureBox, htmlLayerProblems, htmlLayerSvg, htmlLayerText, htmlLayerUnhostedFamilies, htmlLayerWidth, htmlStarterClip, idleGaps, idleKey, isKeyedOverlay, isLookKind, isMusicBed, isPlayback, isProgramDoc, isRecordingDoc, isRejected, isStageClip, isUnitStep, lastLayerEnd, layerMedia, layoutOf, levelForFocusFraction, lookFromBrand, lookKindForGround, lowerProgramDoc, lowerStudioDoc, lowerToComposition, mediaAtOutput, mediaDuration, mediaFrame, mediaKey, mediaRef, mediaRefId, 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, ownFreezes, pageDisplayUrl, parsePoseId, pickStyle, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, programDuration, projectFromArtifact, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, removeSourceRange, removeSpeedInRange, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolveText3dAsset, resolveZoomStyle, restLeanOf, restSpansThroughTransitions, sameMedia, sceneChanges, scrollRuns, segmentOutputExtents, outputLen as segmentOutputLen, segmentStarts, setSpeedInRange, slideSide, smoothCursor, spanOutputExtent, speedLane, studioAudioPlan, studioEntry, studioLayerData, tiltLane, tiltTrackFromDoc, transitionMult, transitionSeconds, videoLane, voiceKey, wellFormedXml, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomWindow };
4454
+ export { ASPECT_RATIOS, AUDIO_PLAN_STEP, type AnchorKind, 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, 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, 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 CameraModel, 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, DESIGN_FRAME_WIDTH, 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, 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, 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 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, 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, 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 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 ZoomSpan, type ZoomStyleName, type ZoomStyleParams, type ZoomView, type ZoomWindow, anchorKindOf, anchorSourceDuration, animStep, applyLook, applyTemplate, aspectRatioValue, audioLane, backdropMedia, buildDigest, camBubbleRect, camBubbleRectAt, camLane, camMoveLane, camRectFromPose, camRestPose, camTrackFromDoc, cameraCentring, cameraModel, cardEnter, cardExit, cardFields, cardInset, cardPointToScreen, cardPoseTrack, clampCamFrac, clampCamSize, clampFocus, clampFreezeSeconds, clampSpeedRate, clampTiltDeg, clampZoomLevel, clipEnvelope, clipLength, clipsFrom, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cssFamilies, cssWeights, cursorIdleFade, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFreezes, docMediaList, docOutputDuration, docRestTime, docStillTime, docToCropSpace, docToFullSpace, docTransitions, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, focusBounds, focusForViewportCentre, followFocusEvents, frameGeometry, freezeLane, freezeOutputExtents, hexToRgbTriplet, houseLook, htmlLayerBleed, htmlLayerBleedFor, htmlLayerFaces, htmlLayerKey, htmlLayerLabel, htmlLayerPayload, htmlLayerPictureBox, htmlLayerProblems, htmlLayerSvg, htmlLayerText, htmlLayerUnhostedFamilies, htmlLayerWidth, htmlStarterClip, idleGaps, idleKey, isKeyedOverlay, isLookKind, isMusicBed, isPlayback, isProgramDoc, isRecordingDoc, isRejected, isStageClip, isUnitStep, lastLayerEnd, layerMedia, layoutOf, levelForFocusFraction, lookFromBrand, lookKindForGround, lowerProgramDoc, lowerStudioDoc, lowerToComposition, mediaAtOutput, mediaDuration, mediaFrame, mediaKey, mediaRef, mediaRefId, 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, ownFreezes, pageDisplayUrl, parsePoseId, pickStyle, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, programDuration, projectFromArtifact, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, removeSourceRange, removeSpeedInRange, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolveText3dAsset, resolveZoomStyle, restLeanOf, restSpansThroughTransitions, sameMedia, sceneChanges, scrollRuns, segmentOutputExtents, outputLen as segmentOutputLen, segmentStarts, setSpeedInRange, slideSide, smoothCursor, spanOutputExtent, speedLane, studioAudioPlan, studioEntry, studioLayerData, tiltLane, tiltTrackFromDoc, transitionMult, transitionSeconds, videoLane, voiceKey, wellFormedXml, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomView, zoomViewport, zoomWindow };