@vosjs/studio-core 0.36.0 → 0.38.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
@@ -3,6 +3,91 @@ export { Segment } from '@vosjs/timeline';
3
3
  import { TimelineEdit } from '@vosjs/shared/timelineEdits';
4
4
  import { LaneAdapter } from '@vosjs/editor';
5
5
 
6
+ /** How a run departs from its layer's style. Absent = the layer's own. */
7
+ interface TextRunStyle {
8
+ /** Font weight, snapped to the family's hosted steps like the layer's. */
9
+ weight?: number;
10
+ /** Italic on, or (on an italic layer) off. */
11
+ italic?: boolean;
12
+ /** Fill colour. */
13
+ color?: string;
14
+ underline?: boolean;
15
+ strike?: boolean;
16
+ /** A colour behind the run. */
17
+ highlight?: string;
18
+ }
19
+ interface TextRun extends TextRunStyle {
20
+ /** The words. May hold line breaks. */
21
+ text: string;
22
+ }
23
+ /** A text layer's words: plain, or styled. */
24
+ type RichText = string | TextRun[];
25
+ declare const RUN_STYLE_KEYS: readonly ["weight", "italic", "color", "underline", "strike", "highlight"];
26
+ type RunStyleKey = (typeof RUN_STYLE_KEYS)[number];
27
+ /** A style field's value over a selection that does not agree on it. */
28
+ declare const MIXED = "mixed";
29
+ /** The words alone: what a person reads, and what every label shows. */
30
+ declare function plainText(text: RichText): string;
31
+ /** The list form of either shape (a string is one unstyled run). */
32
+ declare function runsOf(text: RichText): TextRun[];
33
+ /** A run's style alone, without fields that say nothing. */
34
+ declare function styleOf(run: TextRunStyle): TextRunStyle;
35
+ /**
36
+ * The canonical form: empty runs dropped, fields that say nothing dropped,
37
+ * neighbours set alike merged, and a string when no style is left.
38
+ */
39
+ declare function normalizeRuns(text: RichText): RichText;
40
+ /** The nearest grapheme boundary at or before (`-1`) or after (`1`) an offset. */
41
+ declare function snapOffset(plain: string, offset: number, dir: -1 | 1): number;
42
+ /** The runs between two offsets (unnormalized: for building, not storing). */
43
+ declare function sliceRuns(text: RichText, start: number, end: number): TextRun[];
44
+ /**
45
+ * The style typing at a caret takes: the character before it, or the one
46
+ * after it at the very start.
47
+ */
48
+ declare function styleAt(text: RichText, offset: number): TextRunStyle;
49
+ /**
50
+ * Replace `[start, end)` with `insert`: every keystroke, paste and
51
+ * composition. The new text is set in `style` when one is given (the
52
+ * pending style at a caret), else as the first character it replaces, else
53
+ * as the character before it.
54
+ */
55
+ declare function replaceRange(text: RichText, start: number, end: number, insert: string, style?: TextRunStyle): RichText;
56
+ /**
57
+ * Set style fields over `[start, end)`. A field given as `undefined` is
58
+ * REMOVED there (the words go back to the layer's own).
59
+ */
60
+ declare function setStyle(text: RichText, start: number, end: number, patch: {
61
+ [K in RunStyleKey]?: TextRunStyle[K] | undefined;
62
+ }): RichText;
63
+ /** Every style off `[start, end)`. */
64
+ declare function clearStyle(text: RichText, start: number, end: number): RichText;
65
+ /**
66
+ * What a selection agrees on, field by field: the value every character
67
+ * has, `undefined` when none has one, MIXED when they differ. The format
68
+ * bar's state.
69
+ */
70
+ declare function commonStyle(text: RichText, start: number, end: number): {
71
+ [K in RunStyleKey]?: TextRunStyle[K] | typeof MIXED;
72
+ };
73
+ /**
74
+ * The toggle a format key makes: when the whole selection already has the
75
+ * field at `value`, take it off; otherwise put it on all of it.
76
+ */
77
+ declare function toggleStyle<K extends RunStyleKey>(text: RichText, start: number, end: number, key: K, value: NonNullable<TextRunStyle[K]>): RichText;
78
+ /**
79
+ * What a text field's change did, as one replacement of the old value:
80
+ * the longest common tail (never past the caret, which sits at the end of
81
+ * what was typed) and then the longest common head. Reads a keystroke, a
82
+ * paste, an autocorrect, a dictation and a composition the same way, and
83
+ * the caret settles a repeated character (`aa|` typed into `a|a`).
84
+ */
85
+ declare function diffInput(prev: string, next: string, caretAfter: number): {
86
+ start: number;
87
+ end: number;
88
+ insert: string;
89
+ };
90
+
6
91
  /**
7
92
  * Zoom/pan camera styles — named strategy
8
93
  * presets covering the whole auto-zoom pipeline: how the planner turns clicks
@@ -1397,8 +1482,13 @@ interface OverlayClipBase {
1397
1482
  }
1398
1483
  interface TextOverlayClip extends OverlayClipBase {
1399
1484
  kind: 'text';
1400
- /** Text content; '\n' breaks lines. */
1401
- text: string;
1485
+ /**
1486
+ * The words; '\n' breaks lines. A string, or a list of RUNS when parts of
1487
+ * it are set differently: each run is a piece of text and the fields in
1488
+ * which it departs from this layer's style (`weight`, `italic`, `color`,
1489
+ * `underline`, `strike`, `highlight`). There is no markup in the words.
1490
+ */
1491
+ text: RichText;
1402
1492
  preset: TextOverlayPreset;
1403
1493
  /** Font size override in design px (preset default when absent). */
1404
1494
  size?: number;
@@ -1411,17 +1501,6 @@ interface TextOverlayClip extends OverlayClipBase {
1411
1501
  family?: string;
1412
1502
  /** Weight override — snapped to the nearest weight the catalog hosts. */
1413
1503
  weight?: number;
1414
- /**
1415
- * Turns emphasis ON for this clip (`{}` is enough), and says how
1416
- * `*marked*` words in `text` are set: their weight (snapped like `weight`;
1417
- * absent = the family's bold step, 700 or the nearest hosted) and colour
1418
- * (absent = the clip's). OPT-IN: without this field asterisks are text as
1419
- * typed. With it, `\*` is a literal asterisk.
1420
- */
1421
- emphasis?: {
1422
- weight?: number;
1423
- color?: string;
1424
- };
1425
1504
  /** Synthesized oblique (no italic files are hosted). */
1426
1505
  italic?: boolean;
1427
1506
  /** Multi-line alignment within the block (default center). */
@@ -2371,6 +2450,8 @@ declare function zipEntryBytes(bytes: Uint8Array, entry: ZipEntry): Uint8Array;
2371
2450
  declare function playwrightTraceEntry(entries: ZipEntry[]): ZipEntry | null;
2372
2451
 
2373
2452
  /**
2453
+ * 6 = the runs era: a text layer's `emphasis` and its `*marked*` words are
2454
+ * read into runs (`migrateText`); a layer without `emphasis` is untouched.
2374
2455
  * 5 = the six-style era: the retired camera styles `keynote` and `drift`
2375
2456
  * are read into their live style plus the tilt intensity the name carried
2376
2457
  * (`glide` + medium, `cinema` + subtle; an explicit `tiltStyle` wins). The
@@ -2384,7 +2465,7 @@ declare function playwrightTraceEntry(entries: ZipEntry[]): ZipEntry | null;
2384
2465
  * document); a v1 doc IS a recording document, so 1 → 2 was a stamp, and
2385
2466
  * 0 → 1 was a stamp too.
2386
2467
  */
2387
- declare const DOC_SCHEMA_VERSION = 5;
2468
+ declare const DOC_SCHEMA_VERSION = 6;
2388
2469
  /**
2389
2470
  * Upgrade a hosted doc.json payload to the current schema version.
2390
2471
  * Unstamped docs are v0 — the pre-stamp era. v0 → v2 were stamps; v2 → v3
@@ -3756,7 +3837,7 @@ declare function objectMotionPoseAt(o: ObjectClip, t: number, clipDur: number):
3756
3837
  * is absent — data byte parity for docs that never touched it. Both anchors
3757
3838
  * call this with their own output duration.
3758
3839
  */
3759
- declare function studioLayerData(layers: {
3840
+ declare function studioLayerData(input: {
3760
3841
  overlays?: OverlayClip[];
3761
3842
  objects?: ObjectClip[];
3762
3843
  audio?: AudioClip[];
@@ -4678,6 +4759,110 @@ declare function cardPointToScreen(u: number, v: number): {
4678
4759
  sy: number;
4679
4760
  };
4680
4761
 
4762
+ /**
4763
+ * Styled-text layout, once.
4764
+ *
4765
+ * A text layer is lines of RUNS (a piece of text and how it is set). This
4766
+ * module turns them into what a painter draws and what an editor points at:
4767
+ * visual lines after the wrap, each a list of same-style FRAGMENTS at
4768
+ * measured positions, plus the UNITS a per-unit entrance animates.
4769
+ *
4770
+ * It imports nothing and touches no DOM: measurement is handed in, so the
4771
+ * page that paints, the host that picks and a plain node test all run the
4772
+ * same function over the same rules.
4773
+ *
4774
+ * The rules are the text layer's own, unchanged:
4775
+ * - a line breaks only between word tokens (`\S+\s*`, trailing whitespace
4776
+ * kept with its word), greedily, at measured widths; a token wider than
4777
+ * the budget takes a line of its own; explicit lines wrap independently;
4778
+ * - a fragment is measured whole, so kerning holds inside a style and
4779
+ * stops at a style boundary (as it does in CSS);
4780
+ * - a unit places by the advance of what precedes it in its fragment, so
4781
+ * the settled frame of an entrance is the frame without one.
4782
+ */
4783
+ /** How one piece of text is set. Absent fields are the layer's own. */
4784
+ interface RunStyle {
4785
+ /** Index into the layout's `fonts` (0, the layer's font, when absent). */
4786
+ f?: number;
4787
+ /** Fill colour. */
4788
+ c?: string;
4789
+ /** Underline. */
4790
+ u?: 1;
4791
+ /** Strikethrough. */
4792
+ s?: 1;
4793
+ /** A colour behind the text. */
4794
+ h?: string;
4795
+ }
4796
+ interface LayoutRun extends RunStyle {
4797
+ /** The text. Never holds a line break: lines are split before layout. */
4798
+ t: string;
4799
+ }
4800
+ type LayoutUnit = 'char' | 'word' | 'line';
4801
+ interface LayoutInput {
4802
+ /** Source lines, each a list of runs. */
4803
+ lines: LayoutRun[][];
4804
+ /** Wrap budget in the measure's own px; absent or 0 = no wrap. */
4805
+ maxWidth?: number;
4806
+ /** Cut each visual line into units for a per-unit entrance. */
4807
+ unit?: LayoutUnit;
4808
+ }
4809
+ /** `measure(text, fontIndex)`: the advance of `text` set in that font. */
4810
+ type Measure = (text: string, font: number) => number;
4811
+ /** A same-style stretch of one visual line. */
4812
+ interface Fragment extends RunStyle {
4813
+ t: string;
4814
+ /** Left edge, from the line's left edge. */
4815
+ x: number;
4816
+ /** Advance. */
4817
+ w: number;
4818
+ /** Offset of its first character in the visual line. */
4819
+ o: number;
4820
+ }
4821
+ /** One animated unit: the fragments (or parts of them) it draws. */
4822
+ interface Unit {
4823
+ x: number;
4824
+ w: number;
4825
+ parts: Fragment[];
4826
+ }
4827
+ interface LayoutLine {
4828
+ /** Advance of the whole line (trailing whitespace included). */
4829
+ w: number;
4830
+ frags: Fragment[];
4831
+ /** Present only when the input asked for a unit. */
4832
+ units?: Unit[];
4833
+ /** Offset of the line's first character in the whole plain text. */
4834
+ a: number;
4835
+ /** Characters on the line (its break, when it ends in one, not counted). */
4836
+ n: number;
4837
+ }
4838
+ interface TextLayout {
4839
+ lines: LayoutLine[];
4840
+ /** The widest line. */
4841
+ width: number;
4842
+ }
4843
+ /** `[start, end)` of each word token in a line: `\S+\s*`, or the line whole. */
4844
+ declare function tokenRanges(line: string): [number, number][];
4845
+ declare function layoutText(input: LayoutInput, measure: Measure): TextLayout;
4846
+ /** Top of the underline, below the em box's middle. */
4847
+ declare const UNDERLINE_OFFSET_EM = 0.42;
4848
+ /** Thickness of the underline and the strikethrough. */
4849
+ declare const DECORATION_THICKNESS_EM = 0.065;
4850
+ /** Top of the strikethrough, relative to the em box's middle. */
4851
+ declare const STRIKE_OFFSET_EM = 0.02;
4852
+ /** The highlight's box, above and below the em box's middle. */
4853
+ declare const HIGHLIGHT_HALF_EM = 0.58;
4854
+ /**
4855
+ * A decoration's rectangle for a stretch at `x`, `w` on a line whose em
4856
+ * middle is `y`, at paint size `px`. Edges land on whole pixels, so the
4857
+ * stretches of neighbouring units meet without a seam.
4858
+ */
4859
+ declare function decorationRect(kind: 'u' | 's' | 'h', x: number, w: number, y: number, px: number): {
4860
+ x: number;
4861
+ y: number;
4862
+ w: number;
4863
+ h: number;
4864
+ };
4865
+
4681
4866
  /** Baked pill geometry: design px at the clip's resolved font size. */
4682
4867
  interface ResolvedOverlayBox {
4683
4868
  color: string;
@@ -4750,35 +4935,45 @@ declare function overlayFaceFor(clip: TextOverlayClip): OverlayFontFace | null;
4750
4935
  */
4751
4936
  declare function overlayFontFaces(doc: Pick<ProjectDoc, 'overlays'>): OverlayFontFace[];
4752
4937
  declare function overlayLines(text: string): string[];
4753
- /** Opens an emphasized word in the displayed text. */
4754
- declare const EM_OPEN = "\u0001";
4755
- /** Closes an emphasized word in the displayed text. */
4756
- declare const EM_CLOSE = "\u0002";
4757
- /**
4758
- * The displayed text of `*marked*` source, with EM_OPEN/EM_CLOSE around each
4759
- * emphasized word, or null when nothing is marked (the caller keeps the
4760
- * source as it is). A `*` pairs with the next `*` on the same line around
4761
- * non-blank words; `\*` is a literal asterisk; a lone `*` stays literal.
4762
- */
4763
- declare function parseEmphasis(text: string): string | null;
4764
- /** The text a layer paints: its emphasis marks applied, else its source. */
4765
- declare function overlayDisplayText(clip: Pick<TextOverlayClip, 'text' | 'emphasis'>): string;
4766
- /** A displayed text without its marks: what a person reads. */
4767
- declare function stripEmphasis(text: string): string;
4768
- /** The emphasis set a text layer resolves to, when its text marks any word. */
4769
- interface ResolvedEmphasis {
4770
- weight: number;
4771
- color?: string;
4772
- /** The hosted face to load for the weight, when it is not a base face. */
4773
- face?: OverlayFontFace;
4938
+ /** The words a layer shows, whatever shape its text is in. */
4939
+ declare function overlayPlainText(clip: Pick<TextOverlayClip, 'text'>): string;
4940
+ /**
4941
+ * A run's weight as it will paint: snapped to the family's hosted steps,
4942
+ * exactly as the layer's own weight is. An unhosted family takes it as is.
4943
+ */
4944
+ declare function snapRunWeight(clip: TextOverlayClip, weight: number): number;
4945
+ /**
4946
+ * The weight Bold puts on a run of this layer: the family's bold step, 700
4947
+ * or the nearest hosted, never lighter than the layer itself. When that is
4948
+ * the layer's own weight the family has nothing bolder to offer.
4949
+ */
4950
+ declare function boldWeightFor(clip: TextOverlayClip): number;
4951
+ /** The styled payload a text layer bakes: what the layout module lays out. */
4952
+ interface StyledText {
4953
+ /** Source lines, each a list of runs (`f` indexes `fs`). */
4954
+ l: LayoutRun[][];
4955
+ /** The fonts the runs are set in; 0 is the layer's own. */
4956
+ fs: {
4957
+ w: number;
4958
+ i?: 1;
4959
+ }[];
4960
+ /** Hosted faces to load beyond the layer's own. */
4961
+ faces?: {
4962
+ f: string;
4963
+ w: number;
4964
+ u: string;
4965
+ }[];
4966
+ /** A hash of `l` and `fs`: the layout's cache key and the dirty signature. */
4967
+ h: string;
4774
4968
  }
4775
- declare function resolveEmphasis(clip: TextOverlayClip): ResolvedEmphasis | null;
4776
4969
  /**
4777
- * The width of a displayed text with emphasis marks, measured run by run
4778
- * in the normal and the emphasis font. MIRRORS ON_FRAME's `olMeasure`
4779
- * (change together). `bold` is the state the text starts in.
4970
+ * A text layer as STYLED text (lines of runs resolved against the layer's
4971
+ * style), or null when it is set in one style throughout and takes the
4972
+ * plain painter. A run's weight snaps like the layer's; its italic is the
4973
+ * layer's unless it says otherwise; colour, underline, strikethrough and
4974
+ * highlight ride as they are.
4780
4975
  */
4781
- declare function measureEmphasized(text: string, measure: (run: string, font: string) => number, font: string, emFont: string, bold?: boolean): number;
4976
+ declare function styledTextOf(clip: TextOverlayClip): StyledText | null;
4782
4977
  /**
4783
4978
  * The canvas font string at a given comp scale — MIRRORS ON_FRAME's
4784
4979
  * `olW + ' ' + olPx + 'px ' + olStack` (pinned by test).
@@ -4808,6 +5003,44 @@ mediaAspect?: number | null): OverlayRect;
4808
5003
  /** Point-in-overlay test (design px), rotation-aware (point → local space). */
4809
5004
  declare function overlayHit(rect: OverlayRect, px: number, py: number, padPx?: number): boolean;
4810
5005
 
5006
+ interface CaretStop {
5007
+ /** Offset in the whole plain text. */
5008
+ o: number;
5009
+ /** Distance from the line's left edge. */
5010
+ x: number;
5011
+ }
5012
+ /** Every place a caret can stand on a line, left to right. */
5013
+ declare function caretStops(line: LayoutLine, measure: Measure): CaretStop[];
5014
+ /**
5015
+ * The line an offset is on. An offset at a wrap point belongs to the line
5016
+ * that STARTS there (the caret sits before the next word, not after the
5017
+ * trailing space), except at the very end of the text.
5018
+ */
5019
+ declare function lineOfOffset(layout: TextLayout, offset: number): number;
5020
+ declare function caretAt(layout: TextLayout, offset: number, measure: Measure): {
5021
+ line: number;
5022
+ x: number;
5023
+ };
5024
+ /** The offset nearest to `x` on a line (a press lands on the closer edge). */
5025
+ declare function offsetAtX(line: LayoutLine, x: number, measure: Measure): number;
5026
+ /**
5027
+ * The stretches a selection `[start, end)` covers, one per line it touches.
5028
+ * A line whose break the selection takes gets a small tail, so a selected
5029
+ * line break is visible.
5030
+ */
5031
+ declare function rangeRects(layout: TextLayout, start: number, end: number, measure: Measure, breakTail?: number): {
5032
+ line: number;
5033
+ x: number;
5034
+ w: number;
5035
+ }[];
5036
+
5037
+ /** Does a legacy text mark any word? (The CLI's lint asks.) */
5038
+ declare function marksEmphasis(text: string): boolean;
5039
+ /** One layer: its `emphasis` read into runs. Others come back as they are. */
5040
+ declare function migrateTextClip(clip: TextOverlayClip): TextOverlayClip;
5041
+ /** A document's text layers, each read out of the old spelling. */
5042
+ declare function migrateText<T extends Pick<ProjectDoc, 'overlays'>>(doc: T): T;
5043
+
4811
5044
  declare const TEXT3D_DEPTH_DEFAULT = 0.25;
4812
5045
  declare const TEXT3D_DEPTH_MIN = 0.02;
4813
5046
  declare const TEXT3D_DEPTH_MAX = 1;
@@ -5216,4 +5449,4 @@ declare function rejectSpan(rejected: RejectedSpan[] | undefined, lane: Rejected
5216
5449
  anchor?: StepAnchor;
5217
5450
  }, note?: string): RejectedSpan;
5218
5451
 
5219
- 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, 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, 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 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, EM_CLOSE, EM_OPEN, 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, 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 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 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, 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, anchorKindOf, anchorSourceDuration, animStep, applyLook, applyTemplate, aspectRatioValue, audioLane, backdropMedia, buildDigest, calloutBox, calloutClip, calloutGroundOf, calloutLook, calloutSource, 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, cursorFromCsv, cursorFromPlaywrightTrace, cursorFromRecords, cursorFromTrace, cursorIdleFade, deltaE, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFreezes, docMediaList, docOutputDuration, docRestTime, docStillTime, docToCropSpace, docToFullSpace, docTransitions, docZoomTrack, dragsFromTrack, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceAt, entranceEnd, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, findStep, focusBounds, focusForViewportCentre, followFocusEvents, frameGeometry, freezeLane, freezeOutputExtents, hexToRgb, 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, liveZoomStyleName, lookFromBrand, lookKindForGround, lowerProgramDoc, lowerStudioDoc, lowerToComposition, measureEmphasized, mediaAtOutput, mediaDuration, mediaFrame, mediaKey, mediaRef, mediaRefId, mediaSource, micLane, migrateHostedDoc, migrateMotion, migrateZoomStyle, momentsFromDoc, motionTrack, musicBedClip, nextMediaId, normalizeCaptureSpace, objectMotionBase, objectMotionPoseAt, objectsLane, outputDurationOf, outputEnd, outputRangeToSource, overlapFraction, overlayDisplayText, overlayFaceFor, overlayFontFaces, overlayFontString, overlayFxSpec, overlayHit, overlayLines, overlayMotionBase, overlayMotionPoseAt, overlayPinPoseAt, overlayRect, overlaysLane, ownFreezes, pageDisplayUrl, parseCssColour, parseEmphasis, parsePoseId, 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, resolveEmphasis, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolvePins, resolveText3dAsset, resolveZoomStyle, restLeanOf, restSpansThroughTransitions, rgbToHex, sameMedia, sceneChanges, scrollRuns, segmentOutputExtents, outputLen as segmentOutputLen, segmentStarts, setSpeedInRange, slideSide, smoothCursor, spanOutputExtent, speedLane, stripEmphasis, studioAudioPlan, studioEntry, studioLayerData, tiltLane, tiltTrackFromDoc, traceKindOf, transitionMult, transitionSeconds, unionFitLevel, unionRect, videoLane, voiceKey, wellFormedXml, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zipEntries, zipEntryBytes, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomView, zoomViewport, zoomWindow };
5452
+ 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, 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, 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 CaretStop, type ClickFxStyle, type CopiedLayout, type CopyLayoutOptions, type CopyStyleOptions, type CursorEvent, type CursorFadeKey, type CursorIdleOptions, type CursorStyle, type CursorTrack, DARK_GROUND, DECORATION_THICKNESS_EM, 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, 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 Fragment, type FrameEntrance, type FrameGeometry, type FrameStyle, type FreezeExtent, type FreezeSpan, HIGHLIGHT_HALF_EM, 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 LayoutInput, type LayoutLine, type LayoutParts, type LayoutRun, type LayoutUnit, type Unit as LayoutUnitBox, 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, MIXED, 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 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, RUN_STYLE_KEYS, type RecordingArtifact, type RecordingMeta, type Rect, type RejectedLane, type RejectedSpan, type ResolvedOverlayBox, type ResolvedOverlayStyle, type Rgb, type RichText, type RunStyle, type RunStyleKey, SCENE_MOTION, SCENE_QUIET, SEGMENT_ENTER_KINDS, SEGMENT_EXIT_KINDS, SPEED_RATE_MAX, SPEED_RATE_MIN, SPEED_SPAN_MIN, STAGE_CLIP_PREFIX, STILL_DEFAULT, STRIKE_OFFSET_EM, 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 TextLayout, type Measure as TextMeasure, type TextOverlayBox, type TextOverlayClip, type TextOverlayPreset, type TextOverlayStroke, type TextRun, type TextRunStyle, type TiltPersonality, type TiltSpan, type TiltStyleName, type TraceFileKind, type TraceOptions, type TraceResult, type TranscriptSegment, type Transition, type TransitionKind, type TransitionMove, type TransitionOut, type TransitionSpeed, UNDERLINE_OFFSET_EM, 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, anchorKindOf, anchorSourceDuration, 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, caretAt, caretStops, clampCamFrac, clampCamSize, clampFocus, clampFreezeSeconds, clampSpeedRate, clampTiltDeg, clampZoomLevel, clearStyle, clipEnvelope, clipLength, clipsFrom, commonStyle, computeCardLayout, computeMicRms, computePeaks, copyLayout, copyStyle, cropBox, cssFamilies, cssWeights, cursorFromCsv, cursorFromPlaywrightTrace, cursorFromRecords, cursorFromTrace, cursorIdleFade, decorationRect, deltaE, deriveViewportCrop, destinationById, destinationsForChannel, diffInput, docCardLayout, docFreezes, docMediaList, docOutputDuration, docRestTime, docStillTime, docToCropSpace, docToFullSpace, docTransitions, docZoomTrack, dragsFromTrack, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceAt, entranceEnd, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, findStep, focusBounds, focusForViewportCentre, followFocusEvents, frameGeometry, freezeLane, freezeOutputExtents, hexToRgb, 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, layoutText, levelForFocusFraction, lineOfOffset, 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, normalizeRuns, objectMotionBase, objectMotionPoseAt, objectsLane, offsetAtX, outputDurationOf, outputEnd, outputRangeToSource, overlapFraction, overlayFaceFor, overlayFontFaces, overlayFontString, overlayFxSpec, overlayHit, overlayLines, overlayMotionBase, overlayMotionPoseAt, overlayPinPoseAt, overlayPlainText, overlayRect, overlaysLane, ownFreezes, pageDisplayUrl, parseCssColour, parsePoseId, pickStyle, pinBox, pinCandidates, pinPlacement, pinRectOnScreen, pinReferent, pinReferentAt, placeFreezes, plainText, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, playwrightTraceEntry, programDuration, programStillTime, projectFromArtifact, pumpFreeChainGap, rangeRects, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, relativeLuminance, removeSourceRange, removeSpeedInRange, replaceRange, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolvePins, resolveText3dAsset, resolveZoomStyle, restLeanOf, restSpansThroughTransitions, rgbToHex, runsOf, sameMedia, sceneChanges, scrollRuns, segmentOutputExtents, outputLen as segmentOutputLen, segmentStarts, setSpeedInRange, setStyle, sliceRuns, slideSide, smoothCursor, snapOffset, snapRunWeight, spanOutputExtent, speedLane, studioAudioPlan, studioEntry, studioLayerData, styleAt, styleOf, styledTextOf, tiltLane, tiltTrackFromDoc, toggleStyle, tokenRanges, traceKindOf, transitionMult, transitionSeconds, unionFitLevel, unionRect, videoLane, voiceKey, wellFormedXml, withBackdrop, withFreezes, withHolds, withoutRejected, wrapProgramLength, zipEntries, zipEntryBytes, zoomCoversRect, zoomLane, zoomSpanForRange, zoomTrackFromDoc, zoomView, zoomViewport, zoomWindow };