@vosjs/studio-core 0.24.1 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.d.ts +242 -57
- package/dist/index.js +555 -326
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ The shared layers lower as one engine `stack` entry, `STUDIO_ENTRY_ID` (`'vosso.
|
|
|
35
35
|
|
|
36
36
|
- **Seconds everywhere.** Zoom, speed, tilt and cam-motion spans and the cursor samples are anchored in source time, so they follow footage through trims. Overlays, audio clips and click effects are anchored in output time, so a title keeps its perceived length through a speed change. `ratedSegments`, `effectiveSegments`, `docOutputDuration` and `outputRangeToSource` are the remaps.
|
|
37
37
|
- **Normalized coordinates.** A zoom's `cx`/`cy` and an overlay's `transform.x`/`y` are fractions of the frame in `[0, 1]`, never pixels, so a document survives an aspect-ratio switch. `focusBounds` and `clampFocus` keep a focus inside the card at a given `level`.
|
|
38
|
-
- **Camera styles.** `ZOOM_STYLES` names
|
|
38
|
+
- **Camera styles.** `ZOOM_STYLES` names six camera personalities (`glide`, the default, then `focus`, `cinema`, `snappy`, `cut`, `none`); a style parametrizes the planner, the camera motion and the tilt track's tempo, and `doc.zoomParams` layers per-document overrides. `keynote` and `drift` are retired names (`RETIRED_ZOOM_STYLES`) that resolve to `glide` + medium tilt and `cinema` + subtle tilt, and `migrateHostedDoc` rewrites them on read. Every style's chain gap sits above its pump-free floor (`pumpFreeChainGap`), and the lowering fits a ramp longer than its span to the room it has, never below `RAMP_FLOOR`.
|
|
39
39
|
- **The stage.** `CARD_FOV`, `CARD_Z`, `OVERLAY_Z`, `BACKGROUND_Z` and `planeSizeAtDepth` define the frustum-filling planes the program draws (background, the tiltable card, the overlay); `cardVisibleExtent` and `cardOverscanFor` are how far a posed card is seen past the frame, which is what the card layer's canvas and plane grow by (so a lean over zoomed footage never shows the texture's edge); `computeCardLayout` and `docCardLayout` are the host-side mirror of the program's card math, pinned to it by tests.
|
|
40
40
|
- **Backdrops.** `withBackdrop(frame, backdrop)` and `backdropMedia` put a looping video or a still behind the card, output-anchored modulo its duration. The package carries the mechanism and `BASE_FRAME_STYLE`; which loop a host opens on is the host's choice.
|
|
41
41
|
|
|
@@ -54,7 +54,7 @@ The shared layers lower as one engine `stack` entry, `STUDIO_ENTRY_ID` (`'vosso.
|
|
|
54
54
|
| Ingest | `projectFromArtifact`, `normalizeCaptureSpace`, `deriveViewportCrop`, `docToCropSpace`, `docToFullSpace`, `CAPTURE_COVERAGE_MIN`, `WINDOW_FOCUS_MIN` |
|
|
55
55
|
| Document | `StudioDoc`, `ProjectDoc`, `ProgramAnchorDoc`, `anchorKindOf`, `isRecordingDoc`, `isProgramDoc`, `DOC_SCHEMA_VERSION`, `migrateHostedDoc`, `DEFAULT_FRAME_STYLE`, `BASE_FRAME_STYLE`, the constants (`ZOOM_LEVELS`, `TILT_DEG_MAX`, …) |
|
|
56
56
|
| Planners | `planAutoZoom`, `planAutoSpeed`, `planAutoTilt`, `smoothCursor`, `idleGaps`, `scrollRuns`, `rejectSpan`, `isRejected`, `withoutRejected` |
|
|
57
|
-
| Camera styles | `ZOOM_STYLES`, `ZOOM_STYLE_OPTIONS`, `DEFAULT_ZOOM_STYLE`, `resolveZoomStyle`
|
|
57
|
+
| Camera styles | `ZOOM_STYLES`, `ZOOM_STYLE_OPTIONS`, `DEFAULT_ZOOM_STYLE`, `resolveZoomStyle`, `RETIRED_ZOOM_STYLES`, `pumpFreeChainGap` |
|
|
58
58
|
| Lowering | `lowerStudioDoc`, `lowerProgramDoc`, `lowerToComposition`, `zoomTrackFromDoc`, `tiltTrackFromDoc`, `camTrackFromDoc`, `motionTrack`, `followFocusEvents`, `extractClicks`, `cursorIdleFade`, `ratedSegments`, `STUDIO_ENTRY_ID`, `studioEntry`, `studioLayerData` |
|
|
59
59
|
| Layout | `computeCardLayout`, `docCardLayout`, `focusBounds`, `clampFocus`, `camBubbleRectAt`, `overlayRect`, `overlayHit`, `CARD_FOV`, `CARD_Z`, `planeSizeAtDepth`, `recommendedExportResolution` |
|
|
60
60
|
| Text | `TEXT_PRESETS`, `OVERLAY_FONT_FACES`, `resolveOverlayStyle`, `resolveOverlayBox`, `resolveText3dAsset` |
|
package/dist/index.d.ts
CHANGED
|
@@ -8,42 +8,66 @@ import { LaneAdapter } from '@vosjs/editor';
|
|
|
8
8
|
* presets covering the whole auto-zoom pipeline: how the planner turns clicks
|
|
9
9
|
* into spans (cluster vs session merging, level clamps, follow default) AND
|
|
10
10
|
* how the lowering animates the camera (ramp durations, eases, connected-pan
|
|
11
|
-
* gap, dead-zone follow tuning). One name → one
|
|
11
|
+
* gap, dead-zone follow tuning, and the tilt track's tempo). One name → one
|
|
12
|
+
* coherent feel.
|
|
12
13
|
*
|
|
13
|
-
* The presets
|
|
14
|
-
* strategies (frame-by-frame optical-flow tracking of real exports +
|
|
15
|
-
* audits of Recordly/OpenScreen + Cursorful bundle/behavior research)
|
|
14
|
+
* The presets were grounded (2026-07) in a measured comparison of the four
|
|
15
|
+
* shipping strategies (frame-by-frame optical-flow tracking of real exports +
|
|
16
|
+
* source audits of Recordly/OpenScreen + Cursorful bundle/behavior research),
|
|
17
|
+
* and re-founded (2026-09) on the stage camera at 60 fps, where every style
|
|
18
|
+
* is timed against the default's traced arrival and obeys two structural
|
|
19
|
+
* rules (see `pumpFreeChainGap` and the lowering's ramp fitting):
|
|
16
20
|
*
|
|
17
21
|
* - Cursorful ("glide"): ONE modest zoom (~1.5×) per activity session —
|
|
18
|
-
*
|
|
19
|
-
* TRAVELS by panning between focus points while zoomed.
|
|
20
|
-
*
|
|
21
|
-
* landing, zero overshoot. Pan durations scale with distance.
|
|
22
|
+
* clicks within a rolling window keep the zoom alive — and the camera
|
|
23
|
+
* TRAVELS by panning between focus points while zoomed. Its arrival was
|
|
24
|
+
* traced at 60 fps and fitted by sum of differences (see the entry).
|
|
22
25
|
* - Screen Studio "Focused" / Recordly ("focus"): a zoom block per click
|
|
23
|
-
* cluster
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* - Screen Studio "Smooth" ("cinema"): the
|
|
28
|
-
*
|
|
29
|
-
* - "snappy": the studio's original fast cycles, with the defect fixed — the
|
|
30
|
-
* css-bezier(0.16, 1, 0.3, 1) arrival had an initial velocity 6.25×
|
|
31
|
-
* ramp average (the "jump cut" complaint); competitors always filter
|
|
32
|
-
* curve through a spring. This preset keeps the pace but caps the
|
|
26
|
+
* cluster, spring-settled ramps, direct pans across short gaps, no cursor
|
|
27
|
+
* follow. The measured OpenScreen/Recordly ramp (their bezier filtered
|
|
28
|
+
* through the spring) fits css-bezier(0.28, 0.03, 0.09, 1) — that curve IS
|
|
29
|
+
* the family feel; it now runs at the default's tempo instead of 1.4 s.
|
|
30
|
+
* - Screen Studio "Smooth" ("cinema"): the long-HOLD style, slower and more
|
|
31
|
+
* fluid — for content that is watched, not read.
|
|
32
|
+
* - "snappy": the studio's original fast cycles, with the defect fixed — the
|
|
33
|
+
* raw css-bezier(0.16, 1, 0.3, 1) arrival had an initial velocity 6.25×
|
|
34
|
+
* the ramp average (the "jump cut" complaint); competitors always filter
|
|
35
|
+
* that curve through a spring. This preset keeps the pace but caps the
|
|
36
|
+
* onset.
|
|
33
37
|
* - "cut": Screen Studio's "instant zoom" option — hard cut-in, no glide.
|
|
34
38
|
*
|
|
39
|
+
* `keynote` and `drift` (2026-08) were another row plus a tilt intensity the
|
|
40
|
+
* panel already exposes as its own control; they are retired names that
|
|
41
|
+
* resolve to `glide` + medium and `cinema` + subtle (RETIRED_ZOOM_STYLES;
|
|
42
|
+
* migrated on read by docVersion). What they had right survives in every
|
|
43
|
+
* style: the tilt track moves at the style's own zoom tempo, so a chosen
|
|
44
|
+
* lean lands WITH its zoom.
|
|
45
|
+
*
|
|
35
46
|
* Style changes are live SET_DATA (the zoom track is data); regenerating
|
|
36
47
|
* auto spans on a style switch re-plans with the style's planner params while
|
|
37
48
|
* preserving user-touched ('manual') spans, per the wand contract.
|
|
38
49
|
*/
|
|
39
50
|
|
|
40
|
-
type ZoomStyleName = 'glide' | 'focus' | 'cinema' | 'snappy' | 'cut' | 'none'
|
|
51
|
+
type ZoomStyleName = 'glide' | 'focus' | 'cinema' | 'snappy' | 'cut' | 'none';
|
|
52
|
+
/**
|
|
53
|
+
* Retired style names and what they meant: a live style plus the tilt
|
|
54
|
+
* intensity the name carried. `resolveZoomStyle` honours the name at runtime
|
|
55
|
+
* (a hand-edited doc.json never falls silently to the default) and
|
|
56
|
+
* `migrateHostedDoc` rewrites a stored document onto the pair.
|
|
57
|
+
*/
|
|
58
|
+
declare const RETIRED_ZOOM_STYLES: Record<string, {
|
|
59
|
+
style: ZoomStyleName;
|
|
60
|
+
tilt: TiltStyleName;
|
|
61
|
+
}>;
|
|
62
|
+
/** The live style a name resolves to, retired names included; null = unknown. */
|
|
63
|
+
declare function liveZoomStyleName(name: string | undefined): ZoomStyleName | null;
|
|
41
64
|
/**
|
|
42
|
-
* The tilt half of a camera style: the Dynamic-tilt
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
65
|
+
* The tilt half of a camera style: the Dynamic-tilt intensity the style
|
|
66
|
+
* ships with (every live style ships 'off' — intensity is the Dynamic tilt
|
|
67
|
+
* dial's, never a name's) plus the tilt track's motion, which is the
|
|
68
|
+
* style's OWN zoom tempo so a lean lands with its zoom. A style pick stamps
|
|
69
|
+
* `doc.tiltStyle` with `intensity` and re-plans auto tilt spans alongside
|
|
70
|
+
* the auto zooms — one name, one coherent camera sentence (zoom AND lean).
|
|
47
71
|
*/
|
|
48
72
|
interface TiltPersonality {
|
|
49
73
|
/** Dynamic-tilt intensity this style ships with ('off' = flat card). */
|
|
@@ -63,10 +87,10 @@ interface ZoomStyleParams {
|
|
|
63
87
|
clusterGap: number;
|
|
64
88
|
/**
|
|
65
89
|
* Minimum clicks for a cluster to earn a zoom. Every style is 1: the
|
|
66
|
-
* Cursorful ≥2 rule glide
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
90
|
+
* Cursorful ≥2 rule glide once carried was never in effect on a recorded
|
|
91
|
+
* take (the recorder counted each press twice, so a lone click was a pair
|
|
92
|
+
* on most pages and a stray on the rest), and the lone click on a button
|
|
93
|
+
* is the zoom people miss when it goes.
|
|
70
94
|
*/
|
|
71
95
|
minClusterClicks: number;
|
|
72
96
|
/** zoom so the clicked element fills ~this fraction of the frame. */
|
|
@@ -78,7 +102,7 @@ interface ZoomStyleParams {
|
|
|
78
102
|
* release: a slider thumb, a scrubber, a thing moved across a canvas).
|
|
79
103
|
* The camera pans WITH the pointer for the whole press (a path follow,
|
|
80
104
|
* not a dead zone), so the level stays mild: the thumb and what it drives
|
|
81
|
-
* both stay in the window.
|
|
105
|
+
* both stay in the window. By rule minLevel + 0.2.
|
|
82
106
|
*/
|
|
83
107
|
dragLevel: number;
|
|
84
108
|
/** span lead-in before the first click / hold after the last (seconds). */
|
|
@@ -96,13 +120,18 @@ interface ZoomStyleParams {
|
|
|
96
120
|
* Level FLOOR for typing spans, above the style's minLevel: a wide field
|
|
97
121
|
* (URL bar, dialog search input) fit-clamps to this instead — typing is the
|
|
98
122
|
* moment being narrated, so it reads a notch punchier than a wide click.
|
|
123
|
+
* By rule minLevel + 0.1.
|
|
99
124
|
*/
|
|
100
125
|
typingMinLevel: number;
|
|
101
126
|
/** zoom-in ramp duration; arrival lands rampInOverlap into the span. */
|
|
102
127
|
rampIn: number;
|
|
103
128
|
rampInOverlap: number;
|
|
104
129
|
rampOut: number;
|
|
105
|
-
/**
|
|
130
|
+
/**
|
|
131
|
+
* output-time gap ≤ this → pan straight to the next span (no zoom-out).
|
|
132
|
+
* Never below `pumpFreeChainGap`: a gap just past it would zoom out and
|
|
133
|
+
* straight back in (the pump), which is arithmetic, not taste.
|
|
134
|
+
*/
|
|
106
135
|
chainGap: number;
|
|
107
136
|
/** connected-pan duration. */
|
|
108
137
|
pan: number;
|
|
@@ -123,6 +152,19 @@ interface ZoomStyleParams {
|
|
|
123
152
|
/** The style's tilt personality — see TiltPersonality. */
|
|
124
153
|
tilt: TiltPersonality;
|
|
125
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* The shortest rest between a zoom-out and the next zoom-in that reads as
|
|
157
|
+
* a rest rather than a pump (seconds).
|
|
158
|
+
*/
|
|
159
|
+
declare const PUMP_REST = 1;
|
|
160
|
+
/**
|
|
161
|
+
* The chain gap below which a style PUMPS: two spans whose gap lies in
|
|
162
|
+
* (chainGap, chainGap + rampOut + rampIn − overlap + PUMP_REST] zoom out and
|
|
163
|
+
* straight back in with no rest between. Every ZOOM_STYLES entry clears
|
|
164
|
+
* this floor by construction (a test pins it) and `resolveZoomStyle`
|
|
165
|
+
* raises a `zoomParams` override that does not.
|
|
166
|
+
*/
|
|
167
|
+
declare function pumpFreeChainGap(p: Pick<ZoomStyleParams, 'rampIn' | 'rampInOverlap' | 'rampOut'>): number;
|
|
126
168
|
declare const ZOOM_STYLES: Record<ZoomStyleName, ZoomStyleParams>;
|
|
127
169
|
/** The default camera style for new projects (the Cursorful-family strategy). */
|
|
128
170
|
declare const DEFAULT_ZOOM_STYLE: ZoomStyleName;
|
|
@@ -130,10 +172,12 @@ declare const DEFAULT_ZOOM_STYLE: ZoomStyleName;
|
|
|
130
172
|
* Resolve a style name (+ optional per-doc overrides, `doc.zoomParams`) into a
|
|
131
173
|
* full parameter bundle. Overrides are the "Custom" seam: agents/doc.json can
|
|
132
174
|
* tune individual params on top of a named preset; the studio shows Custom
|
|
133
|
-
* while any override is present.
|
|
134
|
-
* back to the default
|
|
175
|
+
* while any override is present. A retired name resolves to its live style;
|
|
176
|
+
* an unknown name from a hand-edited doc.json falls back to the default.
|
|
177
|
+
* The chain gap never rests below its pump-free floor, whatever an override
|
|
178
|
+
* asked for.
|
|
135
179
|
*/
|
|
136
|
-
declare function resolveZoomStyle(name?:
|
|
180
|
+
declare function resolveZoomStyle(name?: string, overrides?: Partial<ZoomStyleParams>): ZoomStyleParams;
|
|
137
181
|
/** Picker order + copy for the studio's Camera style control. */
|
|
138
182
|
declare const ZOOM_STYLE_OPTIONS: {
|
|
139
183
|
name: ZoomStyleName;
|
|
@@ -1894,6 +1938,126 @@ type Media = ProjectDoc['source'] & {
|
|
|
1894
1938
|
frame?: MediaFrame;
|
|
1895
1939
|
};
|
|
1896
1940
|
|
|
1941
|
+
/**
|
|
1942
|
+
* The callout grammar — three shapes a viewer learns once, composed from the
|
|
1943
|
+
* product's own register so the card is unmistakably the video's and still
|
|
1944
|
+
* the product's.
|
|
1945
|
+
*
|
|
1946
|
+
* The rule set (the distinguishability principle: share the product's hue
|
|
1947
|
+
* and type, contrast in value, elevation, scale and place):
|
|
1948
|
+
* - VALUE INVERSION: a light app gets a dark card in the product's hue, a
|
|
1949
|
+
* dark app a light one; the accent is kept for the kicker and the dot.
|
|
1950
|
+
* - ELEVATION: a real shadow plus a hairline of light on the edge.
|
|
1951
|
+
* - SCALE: the title is set for the render, CALLOUT_TYPE_RATIO times the
|
|
1952
|
+
* app's body as it appears on screen at the layer's start (the camera
|
|
1953
|
+
* scales the app, so the caller passes that scale), never the app's own
|
|
1954
|
+
* size.
|
|
1955
|
+
* - MOTION: a rise in, a fade out.
|
|
1956
|
+
* - PLACE is the pin's (lower/pin.ts), not the card's.
|
|
1957
|
+
*
|
|
1958
|
+
* Pure: hex in, markup and CSS out. The starters are this grammar in the
|
|
1959
|
+
* house register; `vos callout` is it in the take's BRAND.md.
|
|
1960
|
+
*/
|
|
1961
|
+
|
|
1962
|
+
type CalloutShape = 'tag' | 'note' | 'code';
|
|
1963
|
+
declare const CALLOUT_SHAPES: readonly CalloutShape[];
|
|
1964
|
+
/** The title's size over the app's body size as seen on screen. */
|
|
1965
|
+
declare const CALLOUT_TYPE_RATIO = 1.35;
|
|
1966
|
+
/** The app's body size when nothing says otherwise (CSS px at the viewport). */
|
|
1967
|
+
declare const CALLOUT_DEFAULT_BODY_PX = 14;
|
|
1968
|
+
/** The product's register: what a card shares with the app. */
|
|
1969
|
+
interface CalloutRegister {
|
|
1970
|
+
/** The app's ground (its page background), a hex. Decides the inversion. */
|
|
1971
|
+
ground: string;
|
|
1972
|
+
/** The product's accent, a hex: the kicker, the dot, the bar. */
|
|
1973
|
+
accent: string;
|
|
1974
|
+
/** The words face: a hosted catalog family or a system stack. */
|
|
1975
|
+
face?: string;
|
|
1976
|
+
/** The code face. */
|
|
1977
|
+
mono?: string;
|
|
1978
|
+
/** The app's body type size in CSS px at the recorded viewport. */
|
|
1979
|
+
body?: number;
|
|
1980
|
+
}
|
|
1981
|
+
interface CalloutWords {
|
|
1982
|
+
/** A short label above the title, set in the accent (a tag is only this). */
|
|
1983
|
+
kicker?: string;
|
|
1984
|
+
title?: string;
|
|
1985
|
+
/** One or two lines under the title. */
|
|
1986
|
+
body?: string;
|
|
1987
|
+
/** The payload, kept as typed (lines break on \n). */
|
|
1988
|
+
code?: string;
|
|
1989
|
+
}
|
|
1990
|
+
/** The resolved look: colours and sizes in design px. */
|
|
1991
|
+
interface CalloutLook {
|
|
1992
|
+
light: boolean;
|
|
1993
|
+
cardGround: string;
|
|
1994
|
+
cardInk: string;
|
|
1995
|
+
cardMuted: string;
|
|
1996
|
+
hairline: string;
|
|
1997
|
+
accent: string;
|
|
1998
|
+
shadow: string;
|
|
1999
|
+
face: string;
|
|
2000
|
+
mono: string;
|
|
2001
|
+
kickerPx: number;
|
|
2002
|
+
titlePx: number;
|
|
2003
|
+
bodyPx: number;
|
|
2004
|
+
codePx: number;
|
|
2005
|
+
radius: number;
|
|
2006
|
+
padX: number;
|
|
2007
|
+
padY: number;
|
|
2008
|
+
}
|
|
2009
|
+
declare const HOUSE_REGISTER: CalloutRegister;
|
|
2010
|
+
/**
|
|
2011
|
+
* Resolve a register into a look. `scale` is design px per CSS px of the
|
|
2012
|
+
* app as it appears at the layer's start (the card's footage scale times
|
|
2013
|
+
* the camera's level); 1 when unknown.
|
|
2014
|
+
*/
|
|
2015
|
+
declare function calloutLook(register: CalloutRegister, scale?: number): CalloutLook;
|
|
2016
|
+
interface CalloutBox {
|
|
2017
|
+
width: number;
|
|
2018
|
+
height: number;
|
|
2019
|
+
}
|
|
2020
|
+
/**
|
|
2021
|
+
* The design box a shape needs for its words: one line for a tag, the
|
|
2022
|
+
* kicker, title and wrapped body for a note, the lines for code. Widths
|
|
2023
|
+
* estimate glyphs at 0.56 em for words and 0.62 em for mono.
|
|
2024
|
+
*/
|
|
2025
|
+
declare function calloutBox(shape: CalloutShape, look: CalloutLook, words: CalloutWords): CalloutBox;
|
|
2026
|
+
/** The markup and CSS for a shape in a look, sized to a box. */
|
|
2027
|
+
declare function calloutSource(shape: CalloutShape, look: CalloutLook, words: CalloutWords, box: CalloutBox): {
|
|
2028
|
+
html: string;
|
|
2029
|
+
css: string;
|
|
2030
|
+
};
|
|
2031
|
+
interface CalloutClipOptions {
|
|
2032
|
+
id: string;
|
|
2033
|
+
/** OUTPUT seconds. */
|
|
2034
|
+
start: number;
|
|
2035
|
+
duration: number;
|
|
2036
|
+
/** Design px per CSS px of the app on screen at `start` (1 = unknown). */
|
|
2037
|
+
scale?: number;
|
|
2038
|
+
pin?: OverlayPin;
|
|
2039
|
+
/** The fallback place when the pin cannot resolve (frame fractions). */
|
|
2040
|
+
at?: {
|
|
2041
|
+
x: number;
|
|
2042
|
+
y: number;
|
|
2043
|
+
};
|
|
2044
|
+
}
|
|
2045
|
+
/** A callout as an html overlay clip: the grammar applied to a register. */
|
|
2046
|
+
declare function calloutClip(shape: CalloutShape, register: CalloutRegister, words: CalloutWords, opts: CalloutClipOptions): HtmlOverlayClip;
|
|
2047
|
+
/**
|
|
2048
|
+
* The card's ground as its CSS declares it (the root rule's background),
|
|
2049
|
+
* for the picture check that compares it with the footage it covers. Null
|
|
2050
|
+
* when the CSS names none in a form a hex can be read from.
|
|
2051
|
+
*/
|
|
2052
|
+
declare function calloutGroundOf(css: string): string | null;
|
|
2053
|
+
type Rgb = [number, number, number];
|
|
2054
|
+
declare function hexToRgb(hex: string): Rgb | null;
|
|
2055
|
+
declare function rgbToHex([r, g, b]: Rgb): string;
|
|
2056
|
+
declare function parseCssColour(s: string): Rgb | null;
|
|
2057
|
+
declare function relativeLuminance([r, g, b]: Rgb): number;
|
|
2058
|
+
/** CIE76 colour difference between two sRGB colours. */
|
|
2059
|
+
declare function deltaE(a: Rgb, b: Rgb): number;
|
|
2060
|
+
|
|
1897
2061
|
/**
|
|
1898
2062
|
* Capture-space normalization — the single seam that makes window/monitor
|
|
1899
2063
|
* recordings look like tab recordings to everything downstream.
|
|
@@ -1998,6 +2162,10 @@ declare function projectFromArtifact(artifact: RecordingArtifact, videoUrl: stri
|
|
|
1998
2162
|
};
|
|
1999
2163
|
|
|
2000
2164
|
/**
|
|
2165
|
+
* 5 = the six-style era: the retired camera styles `keynote` and `drift`
|
|
2166
|
+
* are read into their live style plus the tilt intensity the name carried
|
|
2167
|
+
* (`glide` + medium, `cinema` + subtle; an explicit `tiltStyle` wins). The
|
|
2168
|
+
* spans are untouched: a migration never re-plans.
|
|
2001
2169
|
* 4 = the freeze era: a segment's `hold` is read into `doc.freeze` (a
|
|
2002
2170
|
* freeze at that segment's end), the retime primitive beside speed spans.
|
|
2003
2171
|
* 3 = the one-vocabulary era: a recording document's `frame.entrance`,
|
|
@@ -2007,17 +2175,24 @@ declare function projectFromArtifact(artifact: RecordingArtifact, videoUrl: stri
|
|
|
2007
2175
|
* document); a v1 doc IS a recording document, so 1 → 2 was a stamp, and
|
|
2008
2176
|
* 0 → 1 was a stamp too.
|
|
2009
2177
|
*/
|
|
2010
|
-
declare const DOC_SCHEMA_VERSION =
|
|
2178
|
+
declare const DOC_SCHEMA_VERSION = 5;
|
|
2011
2179
|
/**
|
|
2012
2180
|
* Upgrade a hosted doc.json payload to the current schema version.
|
|
2013
2181
|
* Unstamped docs are v0 — the pre-stamp era. v0 → v2 were stamps; v2 → v3
|
|
2014
2182
|
* rewrites a recording document's motion spellings into the vocabulary,
|
|
2015
2183
|
* and v3 → v4 its segment holds into freezes (one rewrite, `migrateMotion`,
|
|
2016
|
-
* idempotent, so both steps are one call);
|
|
2184
|
+
* idempotent, so both steps are one call); v4 → v5 rewrites a retired
|
|
2185
|
+
* camera style name (`migrateZoomStyle`); a program document is left as
|
|
2017
2186
|
* it was (its layers migrate the same way when they carry the old
|
|
2018
2187
|
* spellings). A real shape change chains its step here.
|
|
2019
2188
|
*/
|
|
2020
2189
|
declare function migrateHostedDoc(raw: Record<string, unknown>): Record<string, unknown>;
|
|
2190
|
+
/**
|
|
2191
|
+
* A retired camera style name becomes its live style plus the tilt
|
|
2192
|
+
* intensity the name carried, unless the document already says how far it
|
|
2193
|
+
* leans. Idempotent; a document on a live name is returned as it was.
|
|
2194
|
+
*/
|
|
2195
|
+
declare function migrateZoomStyle(doc: Record<string, unknown>): Record<string, unknown>;
|
|
2021
2196
|
|
|
2022
2197
|
/**
|
|
2023
2198
|
* The studio document family.
|
|
@@ -2992,6 +3167,19 @@ interface PinReferent {
|
|
|
2992
3167
|
* second. A `rect` is taken as written. Null when nothing names a rect.
|
|
2993
3168
|
*/
|
|
2994
3169
|
declare function pinReferent(doc: ProjectDoc, pin: OverlayPin): PinReferent | null;
|
|
3170
|
+
/** A step a layer could be pinned to: it has an element, and its window overlaps the layer's. */
|
|
3171
|
+
interface PinCandidate {
|
|
3172
|
+
step: string | number;
|
|
3173
|
+
do: string;
|
|
3174
|
+
selector?: string;
|
|
3175
|
+
/** The step's OUTPUT window. */
|
|
3176
|
+
output: {
|
|
3177
|
+
start: number;
|
|
3178
|
+
end: number;
|
|
3179
|
+
};
|
|
3180
|
+
/** Seconds of the layer's window the step's covers. */
|
|
3181
|
+
overlap: number;
|
|
3182
|
+
}
|
|
2995
3183
|
/** The step a pin names: its id first, then its record-time index. */
|
|
2996
3184
|
declare function findStep(steps: readonly StepSpan[], ref: string | number): StepSpan | undefined;
|
|
2997
3185
|
/**
|
|
@@ -3106,12 +3294,13 @@ declare const ZOOM_PAN: number;
|
|
|
3106
3294
|
declare const ZOOM_EASE: string;
|
|
3107
3295
|
declare const ZOOM_PAN_EASE: string;
|
|
3108
3296
|
/**
|
|
3109
|
-
* Tilt transition shape (tilt spans)
|
|
3110
|
-
*
|
|
3111
|
-
*
|
|
3112
|
-
*
|
|
3113
|
-
*
|
|
3114
|
-
*
|
|
3297
|
+
* Tilt transition shape (tilt spans): the FALLBACK for a bare
|
|
3298
|
+
* tiltTrackFromDoc call. The lowering hands the track the camera style's
|
|
3299
|
+
* own tilt motion (`ZoomStyleParams.tilt`, the style's zoom tempo), so a
|
|
3300
|
+
* lean lands WITH its zoom in every style — the one thing the retired
|
|
3301
|
+
* keynote style had right, generalized. The eases are the same measured
|
|
3302
|
+
* css-bezier family the default zoom style uses. Unlike zoom, the pose is
|
|
3303
|
+
* SETTLED at span.in (the ramp starts TILT_RAMP_IN before, with no
|
|
3115
3304
|
* overlap-into-span): tilt frames a moment, it doesn't chase content.
|
|
3116
3305
|
*/
|
|
3117
3306
|
declare const TILT_RAMP_IN = 0.9;
|
|
@@ -3299,6 +3488,16 @@ declare function docZoomTrack(input: ProjectDoc): KeyframeTrack<number[]> | unde
|
|
|
3299
3488
|
* and the layer keeps its `transform` — the lint says why.
|
|
3300
3489
|
*/
|
|
3301
3490
|
declare function resolvePins(doc: ProjectDoc, layout: CardLayout, camera: CameraModel, zoomTrack: KeyframeTrack<number[]> | undefined): Map<string, PinPlacement>;
|
|
3491
|
+
/**
|
|
3492
|
+
* The steps an unpinned layer could name: every step with an element (a
|
|
3493
|
+
* rect, or presses inside its window) whose output window overlaps the
|
|
3494
|
+
* layer's, most overlap first. The studio's Pin-to select and the lint's
|
|
3495
|
+
* advice read this.
|
|
3496
|
+
*/
|
|
3497
|
+
declare function pinCandidates(doc: ProjectDoc, clip: {
|
|
3498
|
+
start: number;
|
|
3499
|
+
duration: number;
|
|
3500
|
+
}): PinCandidate[];
|
|
3302
3501
|
/**
|
|
3303
3502
|
* A pinned layer's effective [x, y, scale, rotation, opacity] at CLIP-LOCAL
|
|
3304
3503
|
* time t — the host-side mirror the picking layer substitutes into the
|
|
@@ -3645,22 +3844,8 @@ declare function htmlLayerPayload(clip: HtmlOverlayClip): {
|
|
|
3645
3844
|
html: HtmlLayerPayload;
|
|
3646
3845
|
};
|
|
3647
3846
|
|
|
3648
|
-
/**
|
|
3649
|
-
* The house starters for an HTML layer: what one press of the studio's HTML
|
|
3650
|
-
* verb puts on the canvas, and what its panel's Starter select swaps in.
|
|
3651
|
-
* Product defaults the way the three text presets are (code, not shelf
|
|
3652
|
-
* data), five and not fifty: a LIBRARY of components is an official project
|
|
3653
|
-
* on the shelf that an agent applies as a template.
|
|
3654
|
-
*
|
|
3655
|
-
* Each is real, readable markup and CSS a person can retune, in the house
|
|
3656
|
-
* look (a dark card, Inter for words, JetBrains Mono for code, both hosted so
|
|
3657
|
-
* the faces resolve from the CSS alone), with a `box-shadow` so the derived
|
|
3658
|
-
* bleed is exercised. `htmlStarters.test.ts` proves every one passes the
|
|
3659
|
-
* gate with no problem and no warning.
|
|
3660
|
-
*/
|
|
3661
|
-
|
|
3662
3847
|
interface HtmlStarter {
|
|
3663
|
-
id: '
|
|
3848
|
+
id: 'note' | 'tag' | 'code' | 'terminal' | 'keys' | 'badge';
|
|
3664
3849
|
name: string;
|
|
3665
3850
|
html: string;
|
|
3666
3851
|
css: string;
|
|
@@ -4694,4 +4879,4 @@ declare function rejectSpan(rejected: RejectedSpan[] | undefined, lane: Rejected
|
|
|
4694
4879
|
anchor?: StepAnchor;
|
|
4695
4880
|
}, note?: string): RejectedSpan;
|
|
4696
4881
|
|
|
4697
|
-
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, 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, 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 OverlayPin, type OverlayPresetStyle, type OverlayRect, type OverlayTransform, type OverlayTransition, PIN_GAP, PIN_MARGIN, PLATE_GROUND, PLAYBACK_ACTIVITY, PRIMARY_MEDIA, PROGRAM_RETIME, 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, 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, docZoomTrack, dragsFromTrack, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, entranceSeconds, envelopeAt, envelopeValueAt, exitKey, exitOf, exitSeconds, expandEndCard, expectedFrameSize, exportSizeFor, extractClicks, findStep, 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, overlayPinPoseAt, overlayRect, overlaysLane, ownFreezes, pageDisplayUrl, parsePoseId, pickStyle, pinBox, pinPlacement, pinRectOnScreen, pinReferent, pinReferentAt, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, programDuration, projectFromArtifact, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, removeSourceRange, removeSpeedInRange, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolvePins, 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 };
|
|
4882
|
+
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_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 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, 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, 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 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, 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, cursorIdleFade, deltaE, deriveViewportCrop, destinationById, destinationsForChannel, docCardLayout, docFreezes, docMediaList, docOutputDuration, docRestTime, docStillTime, docToCropSpace, docToFullSpace, docTransitions, docZoomTrack, dragsFromTrack, dropTemplate, duckCurve, effectiveSegments, endCardClips, enterKey, enterOf, 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, mediaAtOutput, mediaDuration, mediaFrame, mediaKey, mediaRef, mediaRefId, mediaSource, micLane, migrateHostedDoc, migrateMotion, migrateZoomStyle, momentsFromDoc, motionTrack, musicBedClip, nextMediaId, normalizeCaptureSpace, objectMotionBase, objectMotionPoseAt, objectsLane, outputDurationOf, outputEnd, outputRangeToSource, overlapFraction, overlayFaceFor, overlayFontFaces, overlayFontString, overlayFxSpec, overlayHit, overlayLines, overlayMotionBase, overlayMotionPoseAt, overlayPinPoseAt, overlayRect, overlaysLane, ownFreezes, pageDisplayUrl, parseCssColour, parsePoseId, pickStyle, pinBox, pinCandidates, pinPlacement, pinRectOnScreen, pinReferent, pinReferentAt, placeFreezes, planAutoSpeed, planAutoTilt, planAutoZoom, planForDigest, planeSizeAtDepth, platformBarKind, programDuration, projectFromArtifact, pumpFreeChainGap, ratedSegments, recommendedExportResolution, refillAudioBeds, rejectSpan, relativeLuminance, removeSourceRange, removeSpeedInRange, resolveExportSize, resolveOverlayBox, resolveOverlayStyle, resolvePins, resolveText3dAsset, resolveZoomStyle, restLeanOf, restSpansThroughTransitions, rgbToHex, 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 };
|