@svgsketch/core 6.0.0 → 6.2.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.mts +1221 -889
- package/dist/index.d.ts +1221 -889
- package/dist/index.js +57 -57
- package/dist/index.mjs +57 -57
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -716,6 +716,27 @@ interface AnimatablePropertyDescriptor {
|
|
|
716
716
|
/** Logical category for UI grouping. */
|
|
717
717
|
category?: 'position' | 'size' | 'transform' | 'style' | 'path' | 'pathNodes';
|
|
718
718
|
}
|
|
719
|
+
/**
|
|
720
|
+
* Track properties whose keyframe values are SVG path data strings,
|
|
721
|
+
* interpolated per SVG 2 §9.3.12 ("Interpolating path data"): two values
|
|
722
|
+
* animate smoothly only when their command lists share one structure,
|
|
723
|
+
* otherwise the animation is discrete.
|
|
724
|
+
*
|
|
725
|
+
* - `pathMorph`: the `d` of a path shape.
|
|
726
|
+
* - `textPathMorph`: the geometry a text's `<textPath>` follows - the text's
|
|
727
|
+
* private `<path d>` or, for the SVG 2 inline form, `<textPath path>`.
|
|
728
|
+
*/
|
|
729
|
+
declare const PATH_DATA_TRACK_PROPERTIES: ReadonlySet<string>;
|
|
730
|
+
/** Whether a track's keyframe values are SVG path data strings. */
|
|
731
|
+
declare function isPathDataTrackProperty(property: string): boolean;
|
|
732
|
+
/**
|
|
733
|
+
* Whole-geometry tracks authored by capturing the shape on the canvas: the
|
|
734
|
+
* path-data tracks plus `polylinePoints`. Hosts unlock vertex editing in
|
|
735
|
+
* animation mode for these and offer "capture current shape" per keyframe.
|
|
736
|
+
*/
|
|
737
|
+
declare const GEOMETRY_TRACK_PROPERTIES: ReadonlySet<string>;
|
|
738
|
+
/** Whether a track stores whole captured geometry rather than a scalar channel. */
|
|
739
|
+
declare function isGeometryTrackProperty(property: string): boolean;
|
|
719
740
|
|
|
720
741
|
/**
|
|
721
742
|
* @svgsketch/core — Enums used by the document format.
|
|
@@ -6196,6 +6217,18 @@ interface SceneTreeReplayHost {
|
|
|
6196
6217
|
*/
|
|
6197
6218
|
declare function replaySceneTreePlacements(sceneTree: readonly SerializedSceneNodePlacement[], host: SceneTreeReplayHost): void;
|
|
6198
6219
|
|
|
6220
|
+
/**
|
|
6221
|
+
* The root font size a document is resolved against when nothing authors one.
|
|
6222
|
+
*
|
|
6223
|
+
* CSS Values 4 gives `rem` the root element's computed font size, and SVG 2
|
|
6224
|
+
* inherits that. A document carries no browser, so the initial value is the
|
|
6225
|
+
* only answer available to a model-side resolver: reading the host page's
|
|
6226
|
+
* root font size instead would make the same authored `2em` mean different
|
|
6227
|
+
* geometry for a reader who has raised their browser's default text size.
|
|
6228
|
+
* Every path that resolves authored lengths shares this, so a length resolved
|
|
6229
|
+
* at import and the same length re-resolved during an edit agree.
|
|
6230
|
+
*/
|
|
6231
|
+
declare const INITIAL_ROOT_FONT_SIZE = 16;
|
|
6199
6232
|
interface SvgLengthContext {
|
|
6200
6233
|
readonly percentBasis?: number;
|
|
6201
6234
|
readonly viewportWidth?: number;
|
|
@@ -7081,9 +7114,26 @@ interface SvgTextSpanTreeCandidate {
|
|
|
7081
7114
|
readonly rotate?: readonly number[];
|
|
7082
7115
|
readonly spans: readonly SvgTextSpanNodeCandidate[];
|
|
7083
7116
|
}
|
|
7117
|
+
/**
|
|
7118
|
+
* A parked `<path>` that is the private geometry of exactly one text on a
|
|
7119
|
+
* path: the renderer-generated `text-path-*` definition an exported document
|
|
7120
|
+
* carries in `<defs>`, referenced by that text's `<textPath href>` and by
|
|
7121
|
+
* nothing else. The text bakes the geometry as its own inline points, so the
|
|
7122
|
+
* path is never promoted to a library definition, and an
|
|
7123
|
+
* `<animate attributeName="d">` it carries binds to the text as
|
|
7124
|
+
* `textPathMorph`.
|
|
7125
|
+
*/
|
|
7126
|
+
interface SvgPrivateTextPathGeometry {
|
|
7127
|
+
readonly pathSourceNodeId: string;
|
|
7128
|
+
readonly textSourceNodeId: string;
|
|
7129
|
+
readonly textOccurrenceId: string;
|
|
7130
|
+
}
|
|
7084
7131
|
interface SvgLeafGeometryPlan {
|
|
7085
7132
|
readonly candidates: readonly SvgLeafGeometryCandidate[];
|
|
7086
7133
|
candidate(occurrenceId: string): SvgLeafGeometryCandidate | null;
|
|
7134
|
+
/** Parked paths owned outright by one text on a path. */
|
|
7135
|
+
readonly privateTextPathGeometry: readonly SvgPrivateTextPathGeometry[];
|
|
7136
|
+
privateTextPathOwner(pathSourceNodeId: string): SvgPrivateTextPathGeometry | null;
|
|
7087
7137
|
}
|
|
7088
7138
|
/** Canonical address of one authored tspan inside a materialized text occurrence. */
|
|
7089
7139
|
interface SvgTextSpanTarget {
|
|
@@ -8416,6 +8466,14 @@ interface PlanSvgSymbolUsesOptions {
|
|
|
8416
8466
|
readonly entrypoint: IngressIntent;
|
|
8417
8467
|
/** Definition-owned leaf products represented directly by the native model. */
|
|
8418
8468
|
readonly nativeDefinitionSourceNodeIds?: ReadonlySet<string>;
|
|
8469
|
+
/**
|
|
8470
|
+
* Parked `<path>` elements that are the private geometry of exactly one
|
|
8471
|
+
* text on a path (the renderer-generated `text-path-*` definition, see
|
|
8472
|
+
* `planSvgLeafGeometry`). The owning text bakes that geometry as its own
|
|
8473
|
+
* inline points, so promoting the path to a library definition would make
|
|
8474
|
+
* the text a linked reference to a copy of itself.
|
|
8475
|
+
*/
|
|
8476
|
+
readonly privateGeometrySourceNodeIds?: ReadonlySet<string>;
|
|
8419
8477
|
}
|
|
8420
8478
|
/**
|
|
8421
8479
|
* Plan the representation of every SVG 2 section 5.5 use occurrence.
|
|
@@ -8537,6 +8595,18 @@ interface SvgAnimationTimelineProjectionHost {
|
|
|
8537
8595
|
cssTransformContextForOccurrence?(occurrenceId: string, transformBox: string): CssTransformOriginContext | null;
|
|
8538
8596
|
/** Addressable canonical definition content that has no native Shape product. */
|
|
8539
8597
|
definitionTargetForOccurrence?(occurrenceId: string): SvgAnimationTimelineDefinitionTarget | null;
|
|
8598
|
+
/**
|
|
8599
|
+
* The text that owns a parked private text-path `<path>` occurrence (the
|
|
8600
|
+
* leaf-geometry ownership rule), with the path's authored `d` as the
|
|
8601
|
+
* animation base value. `<animate attributeName="d">` on that path binds to
|
|
8602
|
+
* the text as `textPathMorph`.
|
|
8603
|
+
*/
|
|
8604
|
+
textPathGeometryTargetForOccurrence?(occurrenceId: string): {
|
|
8605
|
+
readonly binding: SvgAnimationTimelineShapeBinding;
|
|
8606
|
+
readonly baseData: string;
|
|
8607
|
+
} | null;
|
|
8608
|
+
/** Authored path data behind a text occurrence's `<textPath>` (inline `path` or the referenced `d`). */
|
|
8609
|
+
textPathAuthoredDataForOccurrence?(occurrenceId: string): string | null;
|
|
8540
8610
|
/** Resolve one authored local fragment value to its canonical Shape identity. */
|
|
8541
8611
|
shapeIdForLocalReference?(value: string): string | null;
|
|
8542
8612
|
/** Authored sibling order for an animation element owned by `<defs>`. */
|
|
@@ -10903,6 +10973,15 @@ declare function patternTileSize(pattern: Omit<PatternFill, 'id' | 'sourceId' |
|
|
|
10903
10973
|
* `isReusablePatternTile`).
|
|
10904
10974
|
*/
|
|
10905
10975
|
declare function patternLibraryDefToCustomPatternDef(def: PatternLibraryDef): CustomPatternDef | null;
|
|
10976
|
+
/**
|
|
10977
|
+
* The reusable tile a pattern def paints with, as the flat view the editor's
|
|
10978
|
+
* pattern pickers speak.
|
|
10979
|
+
*
|
|
10980
|
+
* Resolves both halves of the question a picker asks: which def owns the tile
|
|
10981
|
+
* (see `patternTileOwner`) and how big that tile is once the chain's geometry
|
|
10982
|
+
* is merged, so an alias and the pattern it inherits from answer identically.
|
|
10983
|
+
*/
|
|
10984
|
+
declare function resolvePatternTile(definitionOrId: PatternLibraryDef | string, library: readonly LibraryDef[]): CustomPatternDef | null;
|
|
10906
10985
|
|
|
10907
10986
|
/**
|
|
10908
10987
|
* What kind of string a payload slot holds.
|
|
@@ -11960,6 +12039,29 @@ declare function buildSvgDestinationIdentityIndex(snapshot: HistorySnapshot, opt
|
|
|
11960
12039
|
/** Create one deterministic, request-idempotent allocator for one plan. */
|
|
11961
12040
|
declare function createSvgDestinationIdAllocator(seed: SvgDestinationIdentityIndex): SvgDestinationIdAllocator;
|
|
11962
12041
|
|
|
12042
|
+
/**
|
|
12043
|
+
* Identity of the private path a text-on-path shape owns.
|
|
12044
|
+
*
|
|
12045
|
+
* A text in the default `defs-path` mode follows a `<path>` the renderer
|
|
12046
|
+
* generates for it and parks in the document `<defs>`; `<textPath href>`
|
|
12047
|
+
* points at that element by id. The spelling of that id is shared by
|
|
12048
|
+
* three parties that must never disagree:
|
|
12049
|
+
*
|
|
12050
|
+
* - the headless renderer, which emits the definition and the href;
|
|
12051
|
+
* - the destination-identity registry, which reserves the id in the
|
|
12052
|
+
* `shape-generated` channel so authored ids cannot collide with it;
|
|
12053
|
+
* - the SVG importer, which recognises a parked path carrying this
|
|
12054
|
+
* spelling (and referenced by exactly one `<textPath>`) as the text's
|
|
12055
|
+
* own inline geometry rather than a shared library definition, so an
|
|
12056
|
+
* exported document round-trips to the same inline text and its
|
|
12057
|
+
* `textPathMorph` animation stays on the text.
|
|
12058
|
+
*/
|
|
12059
|
+
declare const TEXT_PATH_GENERATED_ID_PREFIX = "text-path-";
|
|
12060
|
+
/** The element id of the private path generated for a text-on-path shape. */
|
|
12061
|
+
declare function textPathGeneratedId(shapeId: string): string;
|
|
12062
|
+
/** Whether an element id carries the renderer-generated text-path spelling. */
|
|
12063
|
+
declare function isTextPathGeneratedId(id: string): boolean;
|
|
12064
|
+
|
|
11963
12065
|
type GradientLibraryDef = LinearGradientLibraryDef | RadialGradientLibraryDef;
|
|
11964
12066
|
type ResolvedLibraryGradient = LinearGradient | RadialGradient;
|
|
11965
12067
|
/** True for an authored gradient-root attribute owned by `rootAttributes`. */
|
|
@@ -11974,6 +12076,58 @@ declare function isSafeGradientRootAttributeName(name: string): boolean;
|
|
|
11974
12076
|
* chain. A circular chain is invalid and resolves to `null`.
|
|
11975
12077
|
*/
|
|
11976
12078
|
declare function resolveGradientLibraryDef(definitionOrId: GradientLibraryDef | string, library: readonly LibraryDef[]): ResolvedLibraryGradient | null;
|
|
12079
|
+
/**
|
|
12080
|
+
* Apply an effective interaction value back to its local SVG definition.
|
|
12081
|
+
* Only changed declarations become local overrides; template edges, metadata,
|
|
12082
|
+
* untouched coordinate spellings, and inherited stops retain their authority.
|
|
12083
|
+
*/
|
|
12084
|
+
declare function updateGradientLibraryDef(definition: GradientLibraryDef, edited: ResolvedLibraryGradient, library: readonly LibraryDef[]): GradientLibraryDef;
|
|
12085
|
+
|
|
12086
|
+
/** The SVG transform emitted by both library and inline gradient renderers. */
|
|
12087
|
+
declare function gradientTransformAttribute(gradient: Pick<LinearGradient, 'authoredGeometry' | 'gradientTransform'> & Pick<RadialGradientLibraryValue, 'r' | 'ry' | 'rotation' | 'cx' | 'cy'>): string | undefined;
|
|
12088
|
+
interface GradientGeometryContext extends SvgLengthContext {
|
|
12089
|
+
readonly bounds: {
|
|
12090
|
+
readonly x: number;
|
|
12091
|
+
readonly y: number;
|
|
12092
|
+
readonly width: number;
|
|
12093
|
+
readonly height: number;
|
|
12094
|
+
};
|
|
12095
|
+
readonly viewportWidth: number;
|
|
12096
|
+
readonly viewportHeight: number;
|
|
12097
|
+
}
|
|
12098
|
+
interface GradientSpace {
|
|
12099
|
+
/** SVG 2 14.2: bounding-box mapping (when applicable) times gradientTransform. */
|
|
12100
|
+
readonly gradientToUser: Affine2D;
|
|
12101
|
+
readonly userToGradient: Affine2D | null;
|
|
12102
|
+
readonly transform: Affine2D;
|
|
12103
|
+
}
|
|
12104
|
+
interface LinearGradientGeometry extends GradientSpace {
|
|
12105
|
+
readonly type: 'linear-gradient';
|
|
12106
|
+
readonly start: Point;
|
|
12107
|
+
readonly end: Point;
|
|
12108
|
+
}
|
|
12109
|
+
interface RadialGradientGeometry extends GradientSpace {
|
|
12110
|
+
readonly type: 'radial-gradient';
|
|
12111
|
+
readonly center: Point;
|
|
12112
|
+
readonly focus: Point;
|
|
12113
|
+
readonly r: number;
|
|
12114
|
+
readonly fr: number;
|
|
12115
|
+
readonly start: Point;
|
|
12116
|
+
readonly end: Point;
|
|
12117
|
+
}
|
|
12118
|
+
type GradientGeometry = LinearGradientGeometry | RadialGradientGeometry;
|
|
12119
|
+
/**
|
|
12120
|
+
* Resolve SVG gradient geometry for one referencing element, without changing
|
|
12121
|
+
* the definition. Percentages use its viewport (radius: normalized diagonal),
|
|
12122
|
+
* or the unit bounding box. Coordinates remain in gradient space so the same
|
|
12123
|
+
* affine and its inverse serve rendering, hit testing, and editing.
|
|
12124
|
+
* SVG 2 14.2.2/14.2.3 and 8.3/8.11.
|
|
12125
|
+
*/
|
|
12126
|
+
declare function resolveGradientGeometry(gradient: LinearGradient | RadialGradient, context: GradientGeometryContext): GradientGeometry | null;
|
|
12127
|
+
/** The position of an offset on the selected SVG gradient vector, in user space. */
|
|
12128
|
+
declare function gradientStopPoint(geometry: GradientGeometry, offset: number): Point;
|
|
12129
|
+
/** Change SVG units without changing the paint mapping for this occurrence. */
|
|
12130
|
+
declare function convertGradientUnits<T extends LinearGradient | RadialGradient>(gradient: T, units: 'objectBoundingBox' | 'userSpaceOnUse', context: GradientGeometryContext): T;
|
|
11977
12131
|
|
|
11978
12132
|
/** True for a non-executable pattern-root attribute not owned by a typed field. */
|
|
11979
12133
|
declare function isSafePatternRootAttributeName(name: string): boolean;
|
|
@@ -12219,8 +12373,21 @@ type RenderDiagnosticSeverity = 'warning' | 'error';
|
|
|
12219
12373
|
* - `reference-cycle`: a cyclic use instance is invalid and was not emitted.
|
|
12220
12374
|
* - `unresolved-svg-viewport`: an auto-sized embedded viewport lacks the
|
|
12221
12375
|
* parent geometry required by a decomposed transform pivot.
|
|
12222
|
-
|
|
12223
|
-
|
|
12376
|
+
* - `inert-text-path-morph`: a text shape carries a `textPathMorph` track
|
|
12377
|
+
* but does not own the geometry its `<textPath>` follows (it links another
|
|
12378
|
+
* shape or definition, or is not on a path), so the track was not emitted.
|
|
12379
|
+
* - `inert-variant-transition-content`: an `instanceVariant` segment adds or
|
|
12380
|
+
* crossfades an inner shape, but the definition is a native-shape def whose
|
|
12381
|
+
* single root element cannot host siblings (SVG 2 §5.5), so that content
|
|
12382
|
+
* was not emitted. Property animations on the root still are.
|
|
12383
|
+
* - `unresolved-variant-transition-pivot`: a variant segment rotates an inner
|
|
12384
|
+
* shape whose center is not analytic (text, containers) and no measurement
|
|
12385
|
+
* host was supplied, so the pivot-following rotation was not emitted.
|
|
12386
|
+
* - `shared-variant-transition-gradient`: a variant segment animates a
|
|
12387
|
+
* gradient definition that more than one shape references, so the animation
|
|
12388
|
+
* is visible on every referent rather than only the transitioning instance.
|
|
12389
|
+
*/
|
|
12390
|
+
declare const RENDER_DIAGNOSTIC_CODES: readonly ["unsupported-shape-type", "unsupported-polygon-type", "unresolved-reference", "undeclarable-namespace-prefix", "unresolved-container-pivot", "unresolved-reference-pivot", "duplicate-shape-id", "reference-cycle", "unresolved-svg-viewport", "symbol-cycle", "unresolved-symbol-definition", "duplicate-library-id", "invalid-symbol-viewport", "unresolved-symbol-viewport", "unresolved-symbol-pivot", "unknown-symbol-variant", "ambiguous-symbol-override-target", "unresolved-symbol-override-target", "unexpandable-appearance-stack", "inert-text-path-morph", "inert-variant-transition-content", "unresolved-variant-transition-pivot", "shared-variant-transition-gradient"];
|
|
12224
12391
|
type RenderDiagnosticCode = (typeof RENDER_DIAGNOSTIC_CODES)[number];
|
|
12225
12392
|
/** One machine-readable problem reported while producing render output. */
|
|
12226
12393
|
interface RenderDiagnostic {
|
|
@@ -12234,811 +12401,252 @@ interface RenderDiagnostic {
|
|
|
12234
12401
|
}
|
|
12235
12402
|
|
|
12236
12403
|
/**
|
|
12237
|
-
*
|
|
12238
|
-
* `symbol-instance` shape points at.
|
|
12239
|
-
*
|
|
12240
|
-
* A `symbol-instance` renders as `<use href="#target">` (SVG 2 §5.6), and
|
|
12241
|
-
* the target is not always the library def's own id. Variants and
|
|
12242
|
-
* per-instance overrides have no representation in the library - a
|
|
12243
|
-
* `SymbolLibraryDef` carries every variant's shapes, but which one an
|
|
12244
|
-
* instance selects, and what its overrides do to them, is instance state.
|
|
12245
|
-
* The renderer therefore MATERIALIZES a `<symbol>` per referenced
|
|
12246
|
-
* (def, variant, override) combination under a synthetic id:
|
|
12247
|
-
*
|
|
12248
|
-
* - no variant, no overrides -> `<def id>` (the library def)
|
|
12249
|
-
* - variant `state=hover` -> `<def id>--state_hover`
|
|
12250
|
-
* - any overrides -> `<def id>--ovr-<instance id>`
|
|
12251
|
-
*
|
|
12252
|
-
* Two call sites depend on that mapping and MUST agree on it, or a `<use>`
|
|
12253
|
-
* points at a def that was never emitted:
|
|
12254
|
-
*
|
|
12255
|
-
* 1. `renderShape` (shape-renderers.ts) writes the `<use href>`.
|
|
12256
|
-
* 2. `renderSymbolDefs` (svg-renderer.ts) emits the `<symbol>` bodies.
|
|
12257
|
-
*
|
|
12258
|
-
* They agree because both go through this module. `targetId` and
|
|
12259
|
-
* `resolveShapes` are two halves of one decision - the `--ovr-` id is
|
|
12260
|
-
* exactly the case where overrides are applied, the `--<variant>` id
|
|
12261
|
-
* exactly the case where a variant array replaces `def.shapes` - so they
|
|
12262
|
-
* live together and are never re-derived elsewhere.
|
|
12263
|
-
*
|
|
12264
|
-
* Dependency-free apart from types, so both the shape dispatcher and the
|
|
12265
|
-
* document renderer can import it without an import cycle.
|
|
12404
|
+
* Shared transform ownership for serialized container shapes.
|
|
12266
12405
|
*
|
|
12267
|
-
*
|
|
12406
|
+
* Imported groups preserve their source transform in `groupData.transform`.
|
|
12407
|
+
* Canonical shape transform state owns the SVG attribute whenever it produces
|
|
12408
|
+
* a non-identity matrix; the imported spelling is only the fallback. Rendering
|
|
12409
|
+
* and analytic tree bounds use this module so the two projections cannot pick
|
|
12410
|
+
* different owners.
|
|
12268
12411
|
*/
|
|
12269
12412
|
|
|
12270
|
-
type
|
|
12271
|
-
interface
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12413
|
+
type ContainerTransformOwner = 'canonical' | 'group-data' | 'none';
|
|
12414
|
+
interface ResolvedContainerTransform {
|
|
12415
|
+
matrix: Affine2D;
|
|
12416
|
+
attribute: string | null;
|
|
12417
|
+
owner: ContainerTransformOwner;
|
|
12275
12418
|
}
|
|
12276
|
-
interface
|
|
12277
|
-
|
|
12278
|
-
|
|
12279
|
-
|
|
12280
|
-
|
|
12281
|
-
readonly materializationKey: string;
|
|
12282
|
-
readonly materialized: boolean;
|
|
12283
|
-
readonly diagnostics: readonly SymbolResolutionDiagnostic[];
|
|
12419
|
+
interface ContainerContentBounds {
|
|
12420
|
+
minX: number;
|
|
12421
|
+
minY: number;
|
|
12422
|
+
maxX: number;
|
|
12423
|
+
maxY: number;
|
|
12284
12424
|
}
|
|
12285
|
-
/** Resolve variant selection and recursive immutable overrides once for every surface. */
|
|
12286
|
-
declare function resolveSymbolInstanceContent(def: SymbolLibraryDef, instance: SerializedShape): ResolvedSymbolInstanceContent;
|
|
12287
12425
|
/**
|
|
12288
|
-
*
|
|
12289
|
-
*
|
|
12290
|
-
* Mirrors the editor-side `exportSymbolInstances` in
|
|
12291
|
-
* `apps/editor/src/canvas/svg-export-finalizer.ts` so an editor export and
|
|
12292
|
-
* a headless render of the same document target the same ids.
|
|
12293
|
-
*
|
|
12294
|
-
* `dedicated` forces the per-instance `--ovr-` id even without
|
|
12295
|
-
* overrides — the animated-export policy for instances driven by an
|
|
12296
|
-
* `instanceVariant` timeline track, whose injected variant-transition
|
|
12297
|
-
* animations must not bleed into sibling instances of the same def. The
|
|
12298
|
-
* editor's animated export materializes those dedicated defs and passes
|
|
12299
|
-
* the flag here so its `<use href>` retargeting and the def id agree.
|
|
12426
|
+
* Resolve the transform emitted on a container and the equivalent affine.
|
|
12427
|
+
* SVG 2 section 8.5 applies the transform to the container coordinate system.
|
|
12300
12428
|
*/
|
|
12301
|
-
declare function
|
|
12429
|
+
declare function resolveContainerTransform(state: SerializedShapeState, defaultPivot?: Point): ResolvedContainerTransform;
|
|
12430
|
+
/** Whether decomposed rotation, scale, or skew channels need a geometry pivot. */
|
|
12431
|
+
declare function containerTransformNeedsContentPivot(state: SerializedShapeState): boolean;
|
|
12432
|
+
/** Resolve container transform channels around the exact local content center. */
|
|
12433
|
+
declare function resolveContainerTransformFromContentBounds(state: SerializedShapeState, bounds: ContainerContentBounds | null): ResolvedContainerTransform;
|
|
12434
|
+
|
|
12302
12435
|
/**
|
|
12303
|
-
*
|
|
12304
|
-
* the selected variant (falling back to `def.shapes`, the default
|
|
12305
|
-
* variant, when the key is absent or unknown) with the instance's
|
|
12306
|
-
* per-shape overrides merged on top.
|
|
12436
|
+
* Pure geometry functions for computing shape vertices and paths.
|
|
12307
12437
|
*
|
|
12308
|
-
*
|
|
12309
|
-
*
|
|
12310
|
-
* shape-derived def ids such as `filter-<id>` - stable across
|
|
12311
|
-
* materializations.
|
|
12438
|
+
* These are headless — no DOM required. They take numeric parameters
|
|
12439
|
+
* and return vertex arrays or SVG path-data strings.
|
|
12312
12440
|
*/
|
|
12313
|
-
declare function resolveSymbolInstanceShapes(def: SymbolLibraryDef, instance: SerializedShape): SerializedShape[];
|
|
12314
12441
|
|
|
12315
|
-
type SymbolViewportDiagnosticCode = 'invalid-symbol-length' | 'invalid-symbol-viewbox' | 'unresolved-symbol-viewport';
|
|
12316
|
-
interface SymbolViewportDiagnostic {
|
|
12317
|
-
code: SymbolViewportDiagnosticCode;
|
|
12318
|
-
message: string;
|
|
12319
|
-
}
|
|
12320
|
-
interface SymbolLengthContext {
|
|
12321
|
-
axis: 'x' | 'y' | 'width' | 'height' | 'refX' | 'refY';
|
|
12322
|
-
percentBasis?: number;
|
|
12323
|
-
}
|
|
12324
|
-
interface SymbolViewportHost {
|
|
12325
|
-
resolveLength?: (value: string, context: SymbolLengthContext) => number | null;
|
|
12326
|
-
}
|
|
12327
|
-
interface ResolvedSymbolViewport {
|
|
12328
|
-
readonly kind: 'symbol' | 'group';
|
|
12329
|
-
readonly renders: boolean;
|
|
12330
|
-
readonly useX: number;
|
|
12331
|
-
readonly useY: number;
|
|
12332
|
-
readonly useAttributes: Readonly<AuthoredUseGeometry>;
|
|
12333
|
-
/** Mapping after the use element's own transform. Includes use x/y and def root. */
|
|
12334
|
-
readonly contentMatrix: Affine2D;
|
|
12335
|
-
readonly childPercentBasis: SvgViewportSize | null;
|
|
12336
|
-
readonly viewport: ResolvedSvgViewport | null;
|
|
12337
|
-
readonly diagnostics: readonly SymbolViewportDiagnostic[];
|
|
12338
|
-
}
|
|
12339
12442
|
/**
|
|
12340
|
-
*
|
|
12341
|
-
*
|
|
12342
|
-
* this result intentionally starts after that own transform.
|
|
12443
|
+
* Compute equally-spaced vertices around a circle (for triangle, ngon).
|
|
12444
|
+
* Path is centered at origin; caller applies translate(cx, cy).
|
|
12343
12445
|
*/
|
|
12344
|
-
declare function
|
|
12345
|
-
|
|
12346
|
-
type SymbolMaterializationDiagnosticCode = SymbolResolutionDiagnosticCode | 'unresolved-symbol-definition' | 'duplicate-library-id' | 'symbol-cycle';
|
|
12347
|
-
interface SymbolMaterializationDiagnostic {
|
|
12348
|
-
readonly code: SymbolMaterializationDiagnosticCode;
|
|
12349
|
-
readonly shapeId: string;
|
|
12350
|
-
readonly message: string;
|
|
12351
|
-
}
|
|
12352
|
-
interface SymbolMaterialization {
|
|
12353
|
-
readonly materializationKey: string;
|
|
12354
|
-
readonly targetId: string;
|
|
12355
|
-
readonly candidateTargetId: string;
|
|
12356
|
-
readonly definition: SymbolLibraryDef;
|
|
12357
|
-
readonly shapes: readonly SerializedShape[];
|
|
12358
|
-
readonly parentViewport?: Readonly<SvgViewportSize>;
|
|
12359
|
-
readonly viewport: ResolvedSymbolViewport;
|
|
12360
|
-
}
|
|
12361
|
-
interface SymbolInstanceMaterialization {
|
|
12362
|
-
readonly targetId: string | null;
|
|
12363
|
-
readonly definition: SymbolLibraryDef | null;
|
|
12364
|
-
readonly materializationKey: string | null;
|
|
12365
|
-
/** Final occurrence-local materialization used by every render surface. */
|
|
12366
|
-
readonly materialization: SymbolMaterialization | null;
|
|
12367
|
-
readonly diagnostics: readonly SymbolMaterializationDiagnostic[];
|
|
12368
|
-
readonly parentViewport?: Readonly<SvgViewportSize>;
|
|
12369
|
-
readonly viewport: ResolvedSymbolViewport | null;
|
|
12370
|
-
}
|
|
12371
|
-
interface SymbolMaterializationPlan {
|
|
12372
|
-
readonly materializations: readonly SymbolMaterialization[];
|
|
12373
|
-
readonly diagnostics: readonly SymbolMaterializationDiagnostic[];
|
|
12374
|
-
resolve(instance: SerializedShape): SymbolInstanceMaterialization | undefined;
|
|
12375
|
-
}
|
|
12376
|
-
interface SymbolMaterializationPlanOptions {
|
|
12377
|
-
readonly reservedIds?: ReadonlySet<string>;
|
|
12378
|
-
readonly parentViewport?: Readonly<SvgViewportSize>;
|
|
12379
|
-
readonly viewportHost?: SymbolViewportHost;
|
|
12380
|
-
/**
|
|
12381
|
-
* Per-occurrence render policy supplied by a document surface.
|
|
12382
|
-
*
|
|
12383
|
-
* An `instanceVariant` animation starts from its first keyed state and
|
|
12384
|
-
* needs a dedicated target so injected animation never changes sibling
|
|
12385
|
-
* instances that otherwise share the same definition.
|
|
12386
|
-
*/
|
|
12387
|
-
readonly instancePolicy?: (instance: SerializedShape) => {
|
|
12388
|
-
readonly initialVariantKey?: string;
|
|
12389
|
-
readonly dedicated?: boolean;
|
|
12390
|
-
} | undefined;
|
|
12391
|
-
}
|
|
12446
|
+
declare function computePolygonVertices(sides: number, radius: number, shiftAngleDeg?: number): Point[];
|
|
12392
12447
|
/**
|
|
12393
|
-
*
|
|
12394
|
-
* one document. Cycle identity is semantic definition + variant + override
|
|
12395
|
-
* content, so finite cross-variant recursion remains legal while an actual
|
|
12396
|
-
* repeated shadow root is pruned before markup emission.
|
|
12448
|
+
* Compute star vertices with alternating outer/inner radii.
|
|
12397
12449
|
*/
|
|
12398
|
-
declare function
|
|
12399
|
-
|
|
12450
|
+
declare function computeStarVertices(arms: number, radius: number, innerRadiusPercent: number, shiftAngleDeg?: number): Point[];
|
|
12400
12451
|
/**
|
|
12401
|
-
*
|
|
12402
|
-
*
|
|
12403
|
-
* `<defs>` emission is reference-driven: a def is emitted only when
|
|
12404
|
-
* something in the rendered output points at it with `url(#id)`. Getting
|
|
12405
|
-
* that set right means walking more than the top-level shape array,
|
|
12406
|
-
* because two nesting mechanisms put `url(#…)` references into the output
|
|
12407
|
-
* without a top-level shape carrying them:
|
|
12408
|
-
*
|
|
12409
|
-
* 1. **Container children.** `<g>`, `<a>`, `<switch>` and nested `<svg>`
|
|
12410
|
-
* render `state.children` inline (see `renderContainerChildren` in
|
|
12411
|
-
* shape-renderers.ts), so a child's fill / filter / marker reference
|
|
12412
|
-
* is live in the document.
|
|
12413
|
-
* 2. **Library def contents.** A `<symbol>` or `<marker>` def emits its
|
|
12414
|
-
* inner shapes verbatim, so those shapes' references are live too -
|
|
12415
|
-
* SVG 2 §5.5 resolves them against the document `<defs>`, not against
|
|
12416
|
-
* any def-local scope.
|
|
12417
|
-
*
|
|
12418
|
-
* Both are transitive: a symbol's inner shape can be a group whose child
|
|
12419
|
-
* instantiates another symbol. Reachability is therefore a fixpoint, and
|
|
12420
|
-
* a symbol that (directly or indirectly) instantiates itself must not
|
|
12421
|
-
* spin - each def's contents are expanded at most once.
|
|
12422
|
-
*
|
|
12423
|
-
* This module is intentionally dependency-free apart from types so that
|
|
12424
|
-
* both `library-renderers.ts` (which emits the defs) and
|
|
12425
|
-
* `shape-renderers.ts` (which emits built-in `<marker>` defs) can share
|
|
12426
|
-
* one definition of "reachable" without an import cycle. The editor's
|
|
12427
|
-
* live `<defs>` reconciler (`MarkerManager`) shares it too, through
|
|
12428
|
-
* `forEachShapeInLibraryDefs` - which is what stops the canvas and the
|
|
12429
|
-
* exported file from disagreeing about which defs a document needs.
|
|
12430
|
-
*
|
|
12431
|
-
* @packageDocumentation
|
|
12452
|
+
* Compute cross vertices (12 points forming a plus shape).
|
|
12432
12453
|
*/
|
|
12433
|
-
|
|
12454
|
+
declare function computeCrossVertices(radius: number, armWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12434
12455
|
/**
|
|
12435
|
-
*
|
|
12436
|
-
*
|
|
12437
|
-
* A caller that already owns a keyed store of its defs (the editor's
|
|
12438
|
-
* `LibraryRegistry` is exactly such a map) can hand it straight to the
|
|
12439
|
-
* walkers instead of paying to rebuild an index per call - which matters
|
|
12440
|
-
* because the editor runs `collectReferencedMarkerIds` on the animation
|
|
12441
|
-
* path.
|
|
12456
|
+
* Compute arrow vertices (7 points forming an arrow).
|
|
12442
12457
|
*/
|
|
12443
|
-
|
|
12444
|
-
/** Accept either the array form or a prebuilt index. */
|
|
12445
|
-
type LibrarySource = readonly LibraryDef[] | LibraryIndex;
|
|
12458
|
+
declare function computeArrowVertices(radius: number, headWidthPercent: number, headLengthPercent: number, shaftWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12446
12459
|
/**
|
|
12447
|
-
*
|
|
12448
|
-
*
|
|
12449
|
-
*
|
|
12450
|
-
*
|
|
12451
|
-
*
|
|
12452
|
-
* Visit order is deterministic and stable: top-level shapes in document
|
|
12453
|
-
* order first, then the transitive frontier discovered from them. Callers
|
|
12454
|
-
* whose output order depends on discovery order can rely on that - and on
|
|
12455
|
-
* the fact that the top-level prefix is exactly the pre-transitive walk.
|
|
12456
|
-
*
|
|
12457
|
-
* `visit` may be called more than once for the same shape only if the
|
|
12458
|
-
* document itself contains it more than once (e.g. two symbols sharing an
|
|
12459
|
-
* inner shape object); accumulating callers should be idempotent.
|
|
12460
|
+
* Compute speech-bubble vertices — square body with a tail protruding at a
|
|
12461
|
+
* chosen angle. The base endpoints lie on the chosen body edge (keeping the
|
|
12462
|
+
* body outline continuous); the tip extends in the direction of `tailAngleDeg`
|
|
12463
|
+
* at length `tailLengthPercent * radius`.
|
|
12460
12464
|
*
|
|
12461
|
-
*
|
|
12462
|
-
* @param library Library defs available for reference resolution. Pass an
|
|
12463
|
-
* empty array to walk containers only.
|
|
12464
|
-
* @param visit Callback invoked per reachable shape.
|
|
12465
|
+
* The `shiftAngleDeg` rotates the entire shape (body + tail).
|
|
12465
12466
|
*/
|
|
12466
|
-
declare function
|
|
12467
|
+
declare function computeSpeechBubbleVertices(radius: number, tailAngleDeg: number, tailLengthPercent: number, tailWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12467
12468
|
/**
|
|
12468
|
-
*
|
|
12469
|
-
*
|
|
12470
|
-
*
|
|
12471
|
-
*
|
|
12472
|
-
* This is the half of reachability that a LIVE editor cannot answer from
|
|
12473
|
-
* its shape registry. Symbol-instance content is materialized as
|
|
12474
|
-
* temporary shapes that never enter the registry or the scene graph, so
|
|
12475
|
-
* a document-side walk sees the `symbolId` but nothing inside it. Seeding
|
|
12476
|
-
* from the def ids the document reaches recovers exactly the missing
|
|
12477
|
-
* frontier, and - because it is the same engine the export collector runs
|
|
12478
|
-
* - recovers it with identical nesting, variant, and cycle semantics.
|
|
12479
|
-
*
|
|
12480
|
-
* Ids that are absent from `library`, or that name a def with no contents
|
|
12481
|
-
* (paint servers, filters), are skipped.
|
|
12469
|
+
* Compute lightning-bolt vertices — a zigzag ribbon from top tip to bottom tip.
|
|
12470
|
+
* `boltSegments` line segments make the zigzag (alternating x offsets of
|
|
12471
|
+
* `boltJaggednessPercent * radius`); the ribbon is `boltWidthPercent * radius`
|
|
12472
|
+
* wide, perpendicular to each segment's bisector normal.
|
|
12482
12473
|
*/
|
|
12483
|
-
declare function
|
|
12474
|
+
declare function computeLightningVertices(radius: number, boltSegments: number, boltJaggednessPercent: number, boltWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12484
12475
|
/**
|
|
12485
|
-
*
|
|
12486
|
-
*
|
|
12487
|
-
*
|
|
12488
|
-
* `Path` fold those into their painted refs - see
|
|
12489
|
-
* `endpointMarkerAttributes` in codegen/helpers.ts and
|
|
12490
|
-
* `Line.getEffectiveMarkerRefs()` in the editor).
|
|
12491
|
-
*
|
|
12492
|
-
* One definition, shared by the export collector and by the editor's live
|
|
12493
|
-
* `<defs>` reconciler, so the two cannot disagree about what a given
|
|
12494
|
-
* state means.
|
|
12476
|
+
* Compute heart path — two cubic Béziers meeting at the bottom tip and the
|
|
12477
|
+
* upper cleft. `lobeRadiusPercent` controls the horizontal extent of the two
|
|
12478
|
+
* top lobes; `cleftDepthPercent` controls how deep the central dip sits.
|
|
12495
12479
|
*/
|
|
12496
|
-
declare function
|
|
12497
|
-
/** The built-in `<marker>` id a legacy endpoint name resolves to. */
|
|
12498
|
-
declare function legacyEndpointMarkerId(endpoint: string): string;
|
|
12480
|
+
declare function computeHeartPath(radius: number, lobeRadiusPercent: number, cleftDepthPercent: number, shiftAngleDeg?: number): string;
|
|
12499
12481
|
/**
|
|
12500
|
-
*
|
|
12501
|
-
*
|
|
12502
|
-
*
|
|
12482
|
+
* Compute cloud path — a classic cartoon-cloud silhouette built as the outer
|
|
12483
|
+
* boundary of N overlapping circles placed around an elongated ellipse.
|
|
12484
|
+
* Circles go all the way around (top, sides, bottom), and the silhouette is
|
|
12485
|
+
* closed by walking each circle's outer arc via the intersection with its
|
|
12486
|
+
* next neighbor. Every transition between bumps is tangent-smooth — no flat
|
|
12487
|
+
* edges, no corners.
|
|
12503
12488
|
*
|
|
12504
|
-
*
|
|
12505
|
-
*
|
|
12506
|
-
*
|
|
12507
|
-
|
|
12508
|
-
|
|
12509
|
-
|
|
12510
|
-
*
|
|
12489
|
+
* `cloudBumps` (3..8) — number of bump circles forming the silhouette.
|
|
12490
|
+
* `cloudPuffinessPercent` (40..80) — drives bump overlap; higher values
|
|
12491
|
+
* smooth the underside; lower values leave the bumps more pronounced.
|
|
12492
|
+
*/
|
|
12493
|
+
declare function computeCloudPath(radius: number, cloudBumps: number, cloudPuffinessPercent: number, shiftAngleDeg?: number): string;
|
|
12494
|
+
/**
|
|
12495
|
+
* Convert an array of vertices to an SVG path string.
|
|
12496
|
+
* Supports optional rounded corners via quadratic Bézier.
|
|
12497
|
+
*/
|
|
12498
|
+
declare function verticesToPath(vertices: Point[], cornerRadius?: number, radius?: number): string;
|
|
12499
|
+
/**
|
|
12500
|
+
* Generate SVG path for a ring (two concentric circles).
|
|
12501
|
+
*/
|
|
12502
|
+
declare function computeRingPath(radius: number, innerRadiusPercent: number, fillRule?: 'nonzero' | 'evenodd'): string;
|
|
12503
|
+
/**
|
|
12504
|
+
* Generate SVG path for an Archimedean spiral.
|
|
12505
|
+
*/
|
|
12506
|
+
declare function computeSpiralPath(radius: number, turns: number, thicknessPercent: number, spiralDirection?: number, shiftAngleDeg?: number): string;
|
|
12507
|
+
declare function computeGearVertices(teeth: number, radius: number, toothDepthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12508
|
+
/**
|
|
12509
|
+
* Generate full gear path including optional center hole.
|
|
12510
|
+
*/
|
|
12511
|
+
declare function computeGearPath(teeth: number, radius: number, toothDepthPercent: number, cornerRadius?: number, holeRadiusPercent?: number, fillRule?: 'nonzero' | 'evenodd', shiftAngleDeg?: number): string;
|
|
12512
|
+
type CornerShape = 'round' | 'bevel' | 'notch' | 'scoop';
|
|
12513
|
+
/**
|
|
12514
|
+
* Generate SVG path for a rectangle with per-corner radius and shape.
|
|
12515
|
+
* Returns null if all corners are simple (use <rect> instead).
|
|
12516
|
+
*/
|
|
12517
|
+
declare function computeRectanglePath(x: number, y: number, width: number, height: number, cornerRadius: number, cornerShape?: CornerShape, cornerMode?: 'uniform' | 'non-uniform', perCorner?: {
|
|
12518
|
+
radiusTL?: number;
|
|
12519
|
+
radiusTR?: number;
|
|
12520
|
+
radiusBR?: number;
|
|
12521
|
+
radiusBL?: number;
|
|
12522
|
+
shapeTL?: CornerShape;
|
|
12523
|
+
shapeTR?: CornerShape;
|
|
12524
|
+
shapeBR?: CornerShape;
|
|
12525
|
+
shapeBL?: CornerShape;
|
|
12526
|
+
}): string | null;
|
|
12527
|
+
/** The six flowchart shapes that fit an axis-aligned (x, y, w, h) box. */
|
|
12528
|
+
type FlowchartBoxType = 'diamond' | 'parallelogram' | 'trapezoid' | 'terminator' | 'cylinder' | 'document-shape';
|
|
12529
|
+
/** Per-shape knob, expressed as a percentage of width or height. */
|
|
12530
|
+
interface FlowchartBoxParams {
|
|
12531
|
+
/** Parallelogram: horizontal slant as a percentage of width. */
|
|
12532
|
+
slantPercent?: number;
|
|
12533
|
+
/** Trapezoid: top edge width as a percentage of the bottom edge. */
|
|
12534
|
+
topWidthPercent?: number;
|
|
12535
|
+
/** Cylinder: elliptical cap height as a percentage of total height. */
|
|
12536
|
+
capHeightPercent?: number;
|
|
12537
|
+
/** Document: bottom wave amplitude as a percentage of height. */
|
|
12538
|
+
waveAmplitudePercent?: number;
|
|
12539
|
+
}
|
|
12540
|
+
/**
|
|
12541
|
+
* SVG path data for a flowchart box, in absolute canvas coordinates.
|
|
12511
12542
|
*
|
|
12512
|
-
*
|
|
12513
|
-
*
|
|
12514
|
-
*
|
|
12515
|
-
*
|
|
12516
|
-
*
|
|
12517
|
-
*
|
|
12518
|
-
* rather than by shared code.
|
|
12543
|
+
* Kept numerically identical to the editor's `generatePath()` methods in
|
|
12544
|
+
* `apps/editor/src/shapes/flowchart-shapes.ts` and `diamond.ts` so a
|
|
12545
|
+
* headless render and an editor export of the same document produce the
|
|
12546
|
+
* same silhouette. The defaults below mirror the editor's property
|
|
12547
|
+
* getters, which are what a document authored before a knob existed
|
|
12548
|
+
* falls back to.
|
|
12519
12549
|
*/
|
|
12520
|
-
declare function
|
|
12550
|
+
declare function computeFlowchartBoxPath(type: FlowchartBoxType, x: number, y: number, width: number, height: number, params?: FlowchartBoxParams): string;
|
|
12521
12551
|
/**
|
|
12522
|
-
*
|
|
12523
|
-
* `
|
|
12524
|
-
*
|
|
12525
|
-
* `markerEnd` - built-in (`mkr-builtin-arrow`, `line-marker-arrow`)
|
|
12526
|
-
* or user marker ids.
|
|
12527
|
-
* - `legacyEndpoints`: endpoint names from `state.startEndpoint` /
|
|
12528
|
-
* `endEndpoint` (e.g. `'arrow'`), which `Line` / `Path` emit as a
|
|
12529
|
-
* shortcut to built-in markers without explicit `marker-*` attrs.
|
|
12552
|
+
* Structural shape of one point in a spline/path model. Deliberately
|
|
12553
|
+
* looser than the `PathPoint` document type (string `pointType` /
|
|
12554
|
+
* `segmentType`) so editor and SDK point arrays both satisfy it.
|
|
12530
12555
|
*/
|
|
12531
|
-
interface
|
|
12532
|
-
|
|
12533
|
-
|
|
12556
|
+
interface SplinePointInput {
|
|
12557
|
+
x: number;
|
|
12558
|
+
y: number;
|
|
12559
|
+
handleIn?: Point;
|
|
12560
|
+
handleOut?: Point;
|
|
12561
|
+
pointType?: string;
|
|
12562
|
+
isSubpathStart?: boolean;
|
|
12563
|
+
subpathClosed?: boolean;
|
|
12564
|
+
moveRelative?: boolean;
|
|
12565
|
+
segmentRelative?: boolean;
|
|
12566
|
+
segmentType?: string;
|
|
12567
|
+
arcParams?: ArcParams;
|
|
12534
12568
|
}
|
|
12535
12569
|
/**
|
|
12536
|
-
*
|
|
12537
|
-
* level: container children render inline and `<symbol>` / `<marker>`
|
|
12538
|
-
* inner shapes emit verbatim, so a `marker-start="url(#line-marker-arrow)"`
|
|
12539
|
-
* written from inside a symbol needs its built-in def as much as a
|
|
12540
|
-
* top-level one does.
|
|
12570
|
+
* Compute SVG path data from spline points.
|
|
12541
12571
|
*/
|
|
12542
|
-
declare function collectMarkerReferences(shapes: readonly SerializedShape[], library?: LibrarySource): MarkerReferenceSets;
|
|
12543
12572
|
/**
|
|
12544
|
-
*
|
|
12545
|
-
*
|
|
12546
|
-
*
|
|
12573
|
+
* How the serializer treats the shorthand path commands whose validity
|
|
12574
|
+
* depends on measured geometry (`H`/`V` for axis-aligned lines, `S`/`T`
|
|
12575
|
+
* for reflected control points).
|
|
12547
12576
|
*
|
|
12548
|
-
*
|
|
12549
|
-
*
|
|
12550
|
-
*
|
|
12551
|
-
*
|
|
12577
|
+
* - `'preserve'` (default) — emit the shorthand whenever the geometry
|
|
12578
|
+
* satisfies it. This is what authored path data round-trips through.
|
|
12579
|
+
* - `'expand'` — always emit the long form (`L`, `C`, `Q`). Required
|
|
12580
|
+
* when serializing a sequence of `d` values that must interpolate:
|
|
12581
|
+
* SVG only animates between path values with identical command
|
|
12582
|
+
* structure (SVG 1.1 §19.2.15.3), and a vertex crossing into or out of
|
|
12583
|
+
* axis alignment silently changes which shorthand applies, which would
|
|
12584
|
+
* break the animation partway through.
|
|
12552
12585
|
*/
|
|
12553
|
-
|
|
12554
|
-
|
|
12555
|
-
type PresentationValueReader = (key: string) => unknown;
|
|
12556
|
-
interface PresentationSemanticContext {
|
|
12557
|
-
shapeId: string;
|
|
12558
|
-
includeAuthoredAttributes?: boolean;
|
|
12559
|
-
includeContainerPresentation?: boolean;
|
|
12560
|
-
retainCssAnimationDeclarations?: boolean;
|
|
12561
|
-
/**
|
|
12562
|
-
* The live editor projects resolved static stylesheet values inline so its
|
|
12563
|
-
* structural scaffolding cannot alter selector matching. Serialized SVG
|
|
12564
|
-
* renderers leave both stylesheet channels to the canonical stylesheet.
|
|
12565
|
-
*/
|
|
12566
|
-
projectStaticStylesheetValues?: boolean;
|
|
12567
|
-
}
|
|
12568
|
-
interface PresentationWrite {
|
|
12569
|
-
channel: 'attribute' | 'style';
|
|
12570
|
-
name: string;
|
|
12571
|
-
value: string | number | null;
|
|
12572
|
-
allowEmpty?: boolean;
|
|
12573
|
-
ifAbsent?: boolean;
|
|
12574
|
-
}
|
|
12575
|
-
interface PresentationSemanticEntry {
|
|
12576
|
-
id: string;
|
|
12577
|
-
keys: readonly string[];
|
|
12578
|
-
project: (read: PresentationValueReader, context: PresentationSemanticContext) => readonly PresentationWrite[];
|
|
12579
|
-
}
|
|
12586
|
+
type PathShorthandPolicy = 'preserve' | 'expand';
|
|
12587
|
+
declare function computeSplinePath(points: readonly SplinePointInput[], curveType: string, closed?: boolean, tension?: number, arcParams?: readonly ArcParams[], shorthand?: PathShorthandPolicy): string;
|
|
12580
12588
|
/**
|
|
12581
|
-
*
|
|
12582
|
-
* component code generation, and the editor's incremental apply layer.
|
|
12589
|
+
* Compute a dash-array string for a given line style.
|
|
12583
12590
|
*
|
|
12584
|
-
*
|
|
12585
|
-
* style can make the final cap round, and unmodeled authored attributes
|
|
12586
|
-
* remain the final row so typed state keeps one deterministic owner.
|
|
12591
|
+
* @returns A `stroke-dasharray` value like `"8 4"`, or `null` for solid lines.
|
|
12587
12592
|
*/
|
|
12588
|
-
declare
|
|
12589
|
-
readonly id: "fill";
|
|
12590
|
-
readonly keys: readonly ["fillColor", "fillType", "fillGradient", "fillLibraryId", "inheritFill", "authoredFillPaint"];
|
|
12591
|
-
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
12592
|
-
}, {
|
|
12593
|
-
readonly id: "element-opacity";
|
|
12594
|
-
readonly keys: readonly ["opacity", "preserveOpacity"];
|
|
12595
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12596
|
-
}, {
|
|
12597
|
-
readonly id: "fill-opacity";
|
|
12598
|
-
readonly keys: readonly ["fillOpacity", "preserveFillOpacity", "fillType", "fillGradient", "inheritFill"];
|
|
12599
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12600
|
-
}, {
|
|
12601
|
-
readonly id: "fill-rule";
|
|
12602
|
-
readonly keys: readonly ["fillRule"];
|
|
12603
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12604
|
-
}, {
|
|
12605
|
-
readonly id: "stroke";
|
|
12606
|
-
readonly keys: readonly ["borderColor", "strokeType", "strokeGradient", "strokeLibraryId", "inheritStroke", "authoredStrokePaint"];
|
|
12607
|
-
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
12608
|
-
}, {
|
|
12609
|
-
readonly id: "stroke-width";
|
|
12610
|
-
readonly keys: readonly ["borderWidth"];
|
|
12611
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12612
|
-
}, {
|
|
12613
|
-
readonly id: "stroke-opacity";
|
|
12614
|
-
readonly keys: readonly ["strokeOpacity", "preserveStrokeOpacity", "strokeType", "strokeGradient", "inheritStroke"];
|
|
12615
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12616
|
-
}, {
|
|
12617
|
-
readonly id: "blend-mode";
|
|
12618
|
-
readonly keys: readonly ["blendMode"];
|
|
12619
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12620
|
-
}, {
|
|
12621
|
-
readonly id: "paint-order";
|
|
12622
|
-
readonly keys: readonly ["paintOrder"];
|
|
12623
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12624
|
-
}, {
|
|
12625
|
-
readonly id: "inline-style";
|
|
12626
|
-
readonly keys: readonly ["inlineStyle"];
|
|
12627
|
-
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
12628
|
-
}, {
|
|
12629
|
-
readonly id: "markers";
|
|
12630
|
-
readonly keys: readonly ["markerStart", "markerMid", "markerEnd"];
|
|
12631
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12632
|
-
}, {
|
|
12633
|
-
readonly id: "stroke-linejoin";
|
|
12634
|
-
readonly keys: readonly ["strokeLinejoin"];
|
|
12635
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12636
|
-
}, {
|
|
12637
|
-
readonly id: "stroke-linecap";
|
|
12638
|
-
readonly keys: readonly ["strokeLinecap"];
|
|
12639
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12640
|
-
}, {
|
|
12641
|
-
readonly id: "stroke-miterlimit";
|
|
12642
|
-
readonly keys: readonly ["strokeMiterlimit"];
|
|
12643
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12644
|
-
}, {
|
|
12645
|
-
readonly id: "stroke-dasharray";
|
|
12646
|
-
readonly keys: readonly ["lineStyle", "dashLength", "gapLength", "strokeDasharray", "strokeLinecap"];
|
|
12647
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12648
|
-
}, {
|
|
12649
|
-
readonly id: "stroke-dashoffset";
|
|
12650
|
-
readonly keys: readonly ["dashOffset"];
|
|
12651
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12652
|
-
}, {
|
|
12653
|
-
readonly id: "shape-rendering";
|
|
12654
|
-
readonly keys: readonly ["shapeRendering"];
|
|
12655
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12656
|
-
}, {
|
|
12657
|
-
readonly id: "text-rendering";
|
|
12658
|
-
readonly keys: readonly ["textRendering"];
|
|
12659
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12660
|
-
}, {
|
|
12661
|
-
readonly id: "image-rendering";
|
|
12662
|
-
readonly keys: readonly ["imageRendering"];
|
|
12663
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12664
|
-
}, {
|
|
12665
|
-
readonly id: "color-rendering";
|
|
12666
|
-
readonly keys: readonly ["colorRendering"];
|
|
12667
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12668
|
-
}, {
|
|
12669
|
-
readonly id: "color-interpolation";
|
|
12670
|
-
readonly keys: readonly ["colorInterpolation"];
|
|
12671
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12672
|
-
}, {
|
|
12673
|
-
readonly id: "filter";
|
|
12674
|
-
readonly keys: readonly ["filters", "filterLibraryIds"];
|
|
12675
|
-
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
12676
|
-
}, {
|
|
12677
|
-
readonly id: "system-language";
|
|
12678
|
-
readonly keys: readonly ["systemLanguage"];
|
|
12679
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12680
|
-
}, {
|
|
12681
|
-
readonly id: "required-extensions";
|
|
12682
|
-
readonly keys: readonly ["requiredExtensions"];
|
|
12683
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12684
|
-
}, {
|
|
12685
|
-
readonly id: "vector-effect";
|
|
12686
|
-
readonly keys: readonly ["vectorEffect"];
|
|
12687
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12688
|
-
}, {
|
|
12689
|
-
readonly id: "visibility";
|
|
12690
|
-
readonly keys: readonly ["visibility"];
|
|
12691
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12692
|
-
}, {
|
|
12693
|
-
readonly id: "display";
|
|
12694
|
-
readonly keys: readonly ["displayAttr"];
|
|
12695
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12696
|
-
}, {
|
|
12697
|
-
readonly id: "visible";
|
|
12698
|
-
readonly keys: readonly ["visible"];
|
|
12699
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12700
|
-
}, {
|
|
12701
|
-
readonly id: "path-length";
|
|
12702
|
-
readonly keys: readonly ["pathLength"];
|
|
12703
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12704
|
-
}, {
|
|
12705
|
-
readonly id: "transform-box";
|
|
12706
|
-
readonly keys: readonly ["transformBox"];
|
|
12707
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12708
|
-
}, {
|
|
12709
|
-
readonly id: "transform";
|
|
12710
|
-
readonly keys: readonly ["rotation", "transformMatrix", "translateX", "translateY", "skewX", "skewY", "scaleX", "scaleY", "customPivot", "rawTransform"];
|
|
12711
|
-
readonly project: () => never[];
|
|
12712
|
-
}, {
|
|
12713
|
-
readonly id: "locked";
|
|
12714
|
-
readonly keys: readonly ["locked"];
|
|
12715
|
-
readonly project: () => never[];
|
|
12716
|
-
}, {
|
|
12717
|
-
readonly id: "metadata";
|
|
12718
|
-
readonly keys: readonly ["metadata"];
|
|
12719
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12720
|
-
}, {
|
|
12721
|
-
readonly id: "css-clip-path";
|
|
12722
|
-
readonly keys: readonly ["cssClipPath"];
|
|
12723
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12724
|
-
}, {
|
|
12725
|
-
readonly id: "css-mask-properties";
|
|
12726
|
-
readonly keys: readonly ["cssMaskProperties"];
|
|
12727
|
-
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
12728
|
-
}, {
|
|
12729
|
-
readonly id: "container-presentation";
|
|
12730
|
-
readonly keys: readonly ["containerPresentation"];
|
|
12731
|
-
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
12732
|
-
}, {
|
|
12733
|
-
readonly id: "authored-attributes";
|
|
12734
|
-
readonly keys: readonly ["authoredAttributes"];
|
|
12735
|
-
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
12736
|
-
}];
|
|
12737
|
-
type PresentationSemanticId = (typeof PRESENTATION_SEMANTICS)[number]['id'];
|
|
12738
|
-
declare function projectPresentationEntry(entry: PresentationSemanticEntry, read: PresentationValueReader, context: PresentationSemanticContext): readonly PresentationWrite[];
|
|
12739
|
-
declare function projectPresentation(read: PresentationValueReader, context: PresentationSemanticContext): PresentationWrite[];
|
|
12740
|
-
declare function serializedPresentationReader(state: SerializedShapeState): PresentationValueReader;
|
|
12741
|
-
|
|
12742
|
-
type DefinitionAttribute = readonly [name: string, value: string | number];
|
|
12743
|
-
interface GradientStopEnvelope {
|
|
12744
|
-
attributes: readonly DefinitionAttribute[];
|
|
12745
|
-
}
|
|
12746
|
-
interface GradientDefinitionEnvelope {
|
|
12747
|
-
element: 'linearGradient' | 'radialGradient';
|
|
12748
|
-
attributes: readonly DefinitionAttribute[];
|
|
12749
|
-
stops: readonly GradientStopEnvelope[];
|
|
12750
|
-
}
|
|
12751
|
-
interface PatternDefinitionEnvelope {
|
|
12752
|
-
attributes: readonly DefinitionAttribute[];
|
|
12753
|
-
content: string;
|
|
12754
|
-
}
|
|
12755
|
-
type FilterColorInterpolation = 'auto' | 'sRGB' | 'linearRGB';
|
|
12756
|
-
type FilterUnits = 'userSpaceOnUse' | 'objectBoundingBox';
|
|
12757
|
-
interface FilterElementAttrs {
|
|
12758
|
-
colorInterpolation?: FilterColorInterpolation | null;
|
|
12759
|
-
filterUnits?: FilterUnits;
|
|
12760
|
-
primitiveUnits?: FilterUnits;
|
|
12761
|
-
x?: string;
|
|
12762
|
-
y?: string;
|
|
12763
|
-
width?: string;
|
|
12764
|
-
height?: string;
|
|
12765
|
-
}
|
|
12766
|
-
interface FilterEnvelopeBase {
|
|
12767
|
-
attributes: readonly DefinitionAttribute[];
|
|
12768
|
-
}
|
|
12769
|
-
interface RawFilterEnvelope extends FilterEnvelopeBase {
|
|
12770
|
-
kind: 'raw';
|
|
12771
|
-
content: string;
|
|
12772
|
-
}
|
|
12773
|
-
interface PrimitiveChainFilterEnvelope extends FilterEnvelopeBase {
|
|
12774
|
-
kind: 'primitive-chain';
|
|
12775
|
-
chain: SvgPrimitiveChainFilter;
|
|
12776
|
-
}
|
|
12777
|
-
interface GeneratedFilterEnvelope extends FilterEnvelopeBase {
|
|
12778
|
-
kind: 'generated';
|
|
12779
|
-
filters: readonly ShapeFilter[];
|
|
12780
|
-
primitiveUnits: FilterUnits;
|
|
12781
|
-
}
|
|
12782
|
-
type FilterDefinitionEnvelope = RawFilterEnvelope | PrimitiveChainFilterEnvelope | GeneratedFilterEnvelope;
|
|
12783
|
-
/**
|
|
12784
|
-
* Build the one portable pattern definition consumed by static rendering and
|
|
12785
|
-
* platform projections. SVG 2 section 14.3 keeps tile lengths on the pattern
|
|
12786
|
-
* resource, so valid source spellings remain authoritative over the numeric
|
|
12787
|
-
* editor projection.
|
|
12788
|
-
*/
|
|
12789
|
-
declare function patternDefinitionEnvelope(id: string, pattern: PatternFill): PatternDefinitionEnvelope;
|
|
12790
|
-
declare function linearGradientEnvelope(id: string, gradient: LinearGradient): GradientDefinitionEnvelope;
|
|
12791
|
-
declare function radialGradientEnvelope(id: string, gradient: RadialGradient): GradientDefinitionEnvelope;
|
|
12792
|
-
declare function filterChainExtendsBounds(filters: readonly ShapeFilter[]): boolean;
|
|
12793
|
-
declare function filterDefinitionEnvelope(filterId: string, filters: readonly ShapeFilter[], attrs?: FilterElementAttrs): FilterDefinitionEnvelope | null;
|
|
12593
|
+
declare function computeDashArray(style: string, dashLength: number, gapLength: number): string | null;
|
|
12794
12594
|
|
|
12795
12595
|
/**
|
|
12796
|
-
*
|
|
12596
|
+
* Analytic bounds for SVG path geometry.
|
|
12797
12597
|
*
|
|
12798
|
-
*
|
|
12799
|
-
*
|
|
12800
|
-
*
|
|
12801
|
-
*
|
|
12802
|
-
*
|
|
12598
|
+
* Computes the FILL-geometry axis-aligned bounding box of path data,
|
|
12599
|
+
* the same rectangle `SVGGraphicsElement.getBBox()` reports (SVG 2 section 8.10:
|
|
12600
|
+
* fill geometry only, with no stroke, no markers, no clip, and no
|
|
12601
|
+
* element transform) with no DOM, no layout, and no measurement. Callers may
|
|
12602
|
+
* supply an affine map to request the exact box in another user coordinate
|
|
12603
|
+
* system, as defined by SVG 2 sections 8.2, 8.6, 8.7, and 8.10.
|
|
12604
|
+
*
|
|
12605
|
+
* ## Shared command geometry
|
|
12606
|
+
*
|
|
12607
|
+
* `computeSplinePath` in `./geometry` is the single source of truth for
|
|
12608
|
+
* what a point model *denotes*: it resolves curve type (linear, cubic,
|
|
12609
|
+
* quadratic, arc, catmull-rom, basis, mixed), subpath breaks, closing
|
|
12610
|
+
* segments, and the H/V/S/T shorthand demotions. Deriving bounds from a
|
|
12611
|
+
* second, independent traversal of the point model would duplicate those
|
|
12612
|
+
* rules. The model entry point consumes the serializer's numeric command
|
|
12613
|
+
* stream directly, avoiding text construction and parsing. Dedicated
|
|
12614
|
+
* whole-path generators retain the text route. Both routes use the same
|
|
12615
|
+
* extrema kernel and preserve the geometry represented by the rendered d.
|
|
12616
|
+
*
|
|
12617
|
+
* `pathDataBounds` is equally useful on its own for imported or
|
|
12618
|
+
* hand-authored `d` strings, so both layers are public.
|
|
12619
|
+
*
|
|
12620
|
+
* ## Precision
|
|
12621
|
+
*
|
|
12622
|
+
* Cubic and quadratic extrema are exact (roots of the derivative).
|
|
12623
|
+
* Elliptical-arc extrema are exact for the true ellipse. Browsers
|
|
12624
|
+
* decompose arcs into ≤90° cubic Bézier approximations before measuring
|
|
12625
|
+
* (Blink: `SVGPathNormalizer::DecomposeArcToCubic`), so a browser's
|
|
12626
|
+
* `getBBox` can differ from the exact ellipse extent by the
|
|
12627
|
+
* approximation error of that decomposition — bounded by roughly
|
|
12628
|
+
* 2.7e-4 · r, and zero whenever the extremum lands on a segment
|
|
12629
|
+
* endpoint or midpoint (the classic k = 4/3·tan(Δθ/4) construction
|
|
12630
|
+
* interpolates both). The exact value is the spec-correct one, so this
|
|
12631
|
+
* module reports it rather than reproducing the browser's
|
|
12632
|
+
* approximation.
|
|
12803
12633
|
*/
|
|
12804
12634
|
|
|
12805
|
-
|
|
12806
|
-
interface
|
|
12807
|
-
matrix: Affine2D;
|
|
12808
|
-
attribute: string | null;
|
|
12809
|
-
owner: ContainerTransformOwner;
|
|
12810
|
-
}
|
|
12811
|
-
interface ContainerContentBounds {
|
|
12635
|
+
/** Axis-aligned rectangle in the coordinate system of the path data. */
|
|
12636
|
+
interface PathBoundsRect {
|
|
12812
12637
|
minX: number;
|
|
12813
12638
|
minY: number;
|
|
12814
12639
|
maxX: number;
|
|
12815
12640
|
maxY: number;
|
|
12816
12641
|
}
|
|
12642
|
+
/** One-dimensional interval, the per-axis result of a curve extent. */
|
|
12643
|
+
interface Extent1D {
|
|
12644
|
+
min: number;
|
|
12645
|
+
max: number;
|
|
12646
|
+
}
|
|
12817
12647
|
/**
|
|
12818
|
-
*
|
|
12819
|
-
*
|
|
12820
|
-
*/
|
|
12821
|
-
declare function resolveContainerTransform(state: SerializedShapeState, defaultPivot?: Point): ResolvedContainerTransform;
|
|
12822
|
-
/** Whether decomposed rotation, scale, or skew channels need a geometry pivot. */
|
|
12823
|
-
declare function containerTransformNeedsContentPivot(state: SerializedShapeState): boolean;
|
|
12824
|
-
/** Resolve container transform channels around the exact local content center. */
|
|
12825
|
-
declare function resolveContainerTransformFromContentBounds(state: SerializedShapeState, bounds: ContainerContentBounds | null): ResolvedContainerTransform;
|
|
12826
|
-
|
|
12827
|
-
/**
|
|
12828
|
-
* Pure geometry functions for computing shape vertices and paths.
|
|
12829
|
-
*
|
|
12830
|
-
* These are headless — no DOM required. They take numeric parameters
|
|
12831
|
-
* and return vertex arrays or SVG path-data strings.
|
|
12832
|
-
*/
|
|
12833
|
-
|
|
12834
|
-
/**
|
|
12835
|
-
* Compute equally-spaced vertices around a circle (for triangle, ngon).
|
|
12836
|
-
* Path is centered at origin; caller applies translate(cx, cy).
|
|
12837
|
-
*/
|
|
12838
|
-
declare function computePolygonVertices(sides: number, radius: number, shiftAngleDeg?: number): Point[];
|
|
12839
|
-
/**
|
|
12840
|
-
* Compute star vertices with alternating outer/inner radii.
|
|
12841
|
-
*/
|
|
12842
|
-
declare function computeStarVertices(arms: number, radius: number, innerRadiusPercent: number, shiftAngleDeg?: number): Point[];
|
|
12843
|
-
/**
|
|
12844
|
-
* Compute cross vertices (12 points forming a plus shape).
|
|
12845
|
-
*/
|
|
12846
|
-
declare function computeCrossVertices(radius: number, armWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12847
|
-
/**
|
|
12848
|
-
* Compute arrow vertices (7 points forming an arrow).
|
|
12849
|
-
*/
|
|
12850
|
-
declare function computeArrowVertices(radius: number, headWidthPercent: number, headLengthPercent: number, shaftWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12851
|
-
/**
|
|
12852
|
-
* Compute speech-bubble vertices — square body with a tail protruding at a
|
|
12853
|
-
* chosen angle. The base endpoints lie on the chosen body edge (keeping the
|
|
12854
|
-
* body outline continuous); the tip extends in the direction of `tailAngleDeg`
|
|
12855
|
-
* at length `tailLengthPercent * radius`.
|
|
12856
|
-
*
|
|
12857
|
-
* The `shiftAngleDeg` rotates the entire shape (body + tail).
|
|
12858
|
-
*/
|
|
12859
|
-
declare function computeSpeechBubbleVertices(radius: number, tailAngleDeg: number, tailLengthPercent: number, tailWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12860
|
-
/**
|
|
12861
|
-
* Compute lightning-bolt vertices — a zigzag ribbon from top tip to bottom tip.
|
|
12862
|
-
* `boltSegments` line segments make the zigzag (alternating x offsets of
|
|
12863
|
-
* `boltJaggednessPercent * radius`); the ribbon is `boltWidthPercent * radius`
|
|
12864
|
-
* wide, perpendicular to each segment's bisector normal.
|
|
12865
|
-
*/
|
|
12866
|
-
declare function computeLightningVertices(radius: number, boltSegments: number, boltJaggednessPercent: number, boltWidthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12867
|
-
/**
|
|
12868
|
-
* Compute heart path — two cubic Béziers meeting at the bottom tip and the
|
|
12869
|
-
* upper cleft. `lobeRadiusPercent` controls the horizontal extent of the two
|
|
12870
|
-
* top lobes; `cleftDepthPercent` controls how deep the central dip sits.
|
|
12871
|
-
*/
|
|
12872
|
-
declare function computeHeartPath(radius: number, lobeRadiusPercent: number, cleftDepthPercent: number, shiftAngleDeg?: number): string;
|
|
12873
|
-
/**
|
|
12874
|
-
* Compute cloud path — a classic cartoon-cloud silhouette built as the outer
|
|
12875
|
-
* boundary of N overlapping circles placed around an elongated ellipse.
|
|
12876
|
-
* Circles go all the way around (top, sides, bottom), and the silhouette is
|
|
12877
|
-
* closed by walking each circle's outer arc via the intersection with its
|
|
12878
|
-
* next neighbor. Every transition between bumps is tangent-smooth — no flat
|
|
12879
|
-
* edges, no corners.
|
|
12880
|
-
*
|
|
12881
|
-
* `cloudBumps` (3..8) — number of bump circles forming the silhouette.
|
|
12882
|
-
* `cloudPuffinessPercent` (40..80) — drives bump overlap; higher values
|
|
12883
|
-
* smooth the underside; lower values leave the bumps more pronounced.
|
|
12884
|
-
*/
|
|
12885
|
-
declare function computeCloudPath(radius: number, cloudBumps: number, cloudPuffinessPercent: number, shiftAngleDeg?: number): string;
|
|
12886
|
-
/**
|
|
12887
|
-
* Convert an array of vertices to an SVG path string.
|
|
12888
|
-
* Supports optional rounded corners via quadratic Bézier.
|
|
12889
|
-
*/
|
|
12890
|
-
declare function verticesToPath(vertices: Point[], cornerRadius?: number, radius?: number): string;
|
|
12891
|
-
/**
|
|
12892
|
-
* Generate SVG path for a ring (two concentric circles).
|
|
12893
|
-
*/
|
|
12894
|
-
declare function computeRingPath(radius: number, innerRadiusPercent: number, fillRule?: 'nonzero' | 'evenodd'): string;
|
|
12895
|
-
/**
|
|
12896
|
-
* Generate SVG path for an Archimedean spiral.
|
|
12897
|
-
*/
|
|
12898
|
-
declare function computeSpiralPath(radius: number, turns: number, thicknessPercent: number, spiralDirection?: number, shiftAngleDeg?: number): string;
|
|
12899
|
-
declare function computeGearVertices(teeth: number, radius: number, toothDepthPercent: number, shiftAngleDeg?: number): Point[];
|
|
12900
|
-
/**
|
|
12901
|
-
* Generate full gear path including optional center hole.
|
|
12902
|
-
*/
|
|
12903
|
-
declare function computeGearPath(teeth: number, radius: number, toothDepthPercent: number, cornerRadius?: number, holeRadiusPercent?: number, fillRule?: 'nonzero' | 'evenodd', shiftAngleDeg?: number): string;
|
|
12904
|
-
type CornerShape = 'round' | 'bevel' | 'notch' | 'scoop';
|
|
12905
|
-
/**
|
|
12906
|
-
* Generate SVG path for a rectangle with per-corner radius and shape.
|
|
12907
|
-
* Returns null if all corners are simple (use <rect> instead).
|
|
12908
|
-
*/
|
|
12909
|
-
declare function computeRectanglePath(x: number, y: number, width: number, height: number, cornerRadius: number, cornerShape?: CornerShape, cornerMode?: 'uniform' | 'non-uniform', perCorner?: {
|
|
12910
|
-
radiusTL?: number;
|
|
12911
|
-
radiusTR?: number;
|
|
12912
|
-
radiusBR?: number;
|
|
12913
|
-
radiusBL?: number;
|
|
12914
|
-
shapeTL?: CornerShape;
|
|
12915
|
-
shapeTR?: CornerShape;
|
|
12916
|
-
shapeBR?: CornerShape;
|
|
12917
|
-
shapeBL?: CornerShape;
|
|
12918
|
-
}): string | null;
|
|
12919
|
-
/** The six flowchart shapes that fit an axis-aligned (x, y, w, h) box. */
|
|
12920
|
-
type FlowchartBoxType = 'diamond' | 'parallelogram' | 'trapezoid' | 'terminator' | 'cylinder' | 'document-shape';
|
|
12921
|
-
/** Per-shape knob, expressed as a percentage of width or height. */
|
|
12922
|
-
interface FlowchartBoxParams {
|
|
12923
|
-
/** Parallelogram: horizontal slant as a percentage of width. */
|
|
12924
|
-
slantPercent?: number;
|
|
12925
|
-
/** Trapezoid: top edge width as a percentage of the bottom edge. */
|
|
12926
|
-
topWidthPercent?: number;
|
|
12927
|
-
/** Cylinder: elliptical cap height as a percentage of total height. */
|
|
12928
|
-
capHeightPercent?: number;
|
|
12929
|
-
/** Document: bottom wave amplitude as a percentage of height. */
|
|
12930
|
-
waveAmplitudePercent?: number;
|
|
12931
|
-
}
|
|
12932
|
-
/**
|
|
12933
|
-
* SVG path data for a flowchart box, in absolute canvas coordinates.
|
|
12934
|
-
*
|
|
12935
|
-
* Kept numerically identical to the editor's `generatePath()` methods in
|
|
12936
|
-
* `apps/editor/src/shapes/flowchart-shapes.ts` and `diamond.ts` so a
|
|
12937
|
-
* headless render and an editor export of the same document produce the
|
|
12938
|
-
* same silhouette. The defaults below mirror the editor's property
|
|
12939
|
-
* getters, which are what a document authored before a knob existed
|
|
12940
|
-
* falls back to.
|
|
12941
|
-
*/
|
|
12942
|
-
declare function computeFlowchartBoxPath(type: FlowchartBoxType, x: number, y: number, width: number, height: number, params?: FlowchartBoxParams): string;
|
|
12943
|
-
/**
|
|
12944
|
-
* Structural shape of one point in a spline/path model. Deliberately
|
|
12945
|
-
* looser than the `PathPoint` document type (string `pointType` /
|
|
12946
|
-
* `segmentType`) so editor and SDK point arrays both satisfy it.
|
|
12947
|
-
*/
|
|
12948
|
-
interface SplinePointInput {
|
|
12949
|
-
x: number;
|
|
12950
|
-
y: number;
|
|
12951
|
-
handleIn?: Point;
|
|
12952
|
-
handleOut?: Point;
|
|
12953
|
-
pointType?: string;
|
|
12954
|
-
isSubpathStart?: boolean;
|
|
12955
|
-
subpathClosed?: boolean;
|
|
12956
|
-
moveRelative?: boolean;
|
|
12957
|
-
segmentRelative?: boolean;
|
|
12958
|
-
segmentType?: string;
|
|
12959
|
-
arcParams?: ArcParams;
|
|
12960
|
-
}
|
|
12961
|
-
/**
|
|
12962
|
-
* Compute SVG path data from spline points.
|
|
12963
|
-
*/
|
|
12964
|
-
/**
|
|
12965
|
-
* How the serializer treats the shorthand path commands whose validity
|
|
12966
|
-
* depends on measured geometry (`H`/`V` for axis-aligned lines, `S`/`T`
|
|
12967
|
-
* for reflected control points).
|
|
12968
|
-
*
|
|
12969
|
-
* - `'preserve'` (default) — emit the shorthand whenever the geometry
|
|
12970
|
-
* satisfies it. This is what authored path data round-trips through.
|
|
12971
|
-
* - `'expand'` — always emit the long form (`L`, `C`, `Q`). Required
|
|
12972
|
-
* when serializing a sequence of `d` values that must interpolate:
|
|
12973
|
-
* SVG only animates between path values with identical command
|
|
12974
|
-
* structure (SVG 1.1 §19.2.15.3), and a vertex crossing into or out of
|
|
12975
|
-
* axis alignment silently changes which shorthand applies, which would
|
|
12976
|
-
* break the animation partway through.
|
|
12977
|
-
*/
|
|
12978
|
-
type PathShorthandPolicy = 'preserve' | 'expand';
|
|
12979
|
-
declare function computeSplinePath(points: readonly SplinePointInput[], curveType: string, closed?: boolean, tension?: number, arcParams?: readonly ArcParams[], shorthand?: PathShorthandPolicy): string;
|
|
12980
|
-
/**
|
|
12981
|
-
* Compute a dash-array string for a given line style.
|
|
12982
|
-
*
|
|
12983
|
-
* @returns A `stroke-dasharray` value like `"8 4"`, or `null` for solid lines.
|
|
12984
|
-
*/
|
|
12985
|
-
declare function computeDashArray(style: string, dashLength: number, gapLength: number): string | null;
|
|
12986
|
-
|
|
12987
|
-
/**
|
|
12988
|
-
* Analytic bounds for SVG path geometry.
|
|
12989
|
-
*
|
|
12990
|
-
* Computes the FILL-geometry axis-aligned bounding box of path data,
|
|
12991
|
-
* the same rectangle `SVGGraphicsElement.getBBox()` reports (SVG 2 section 8.10:
|
|
12992
|
-
* fill geometry only, with no stroke, no markers, no clip, and no
|
|
12993
|
-
* element transform) with no DOM, no layout, and no measurement. Callers may
|
|
12994
|
-
* supply an affine map to request the exact box in another user coordinate
|
|
12995
|
-
* system, as defined by SVG 2 sections 8.2, 8.6, 8.7, and 8.10.
|
|
12996
|
-
*
|
|
12997
|
-
* ## Why the path-data string is the input
|
|
12998
|
-
*
|
|
12999
|
-
* `computeSplinePath` in `./geometry` is the single source of truth for
|
|
13000
|
-
* what a point model *denotes*: it resolves curve type (linear, cubic,
|
|
13001
|
-
* quadratic, arc, catmull-rom, basis, mixed), subpath breaks, closing
|
|
13002
|
-
* segments, and the H/V/S/T shorthand demotions. Deriving bounds from a
|
|
13003
|
-
* second, independent traversal of the point model would duplicate all
|
|
13004
|
-
* of that and drift from it on the first generator change. So the model
|
|
13005
|
-
* entry point (`splinePathBounds`) generates the same `d` the DOM gets
|
|
13006
|
-
* and measures THAT — parity with the rendered geometry is structural,
|
|
13007
|
-
* not coincidental.
|
|
13008
|
-
*
|
|
13009
|
-
* `pathDataBounds` is equally useful on its own for imported or
|
|
13010
|
-
* hand-authored `d` strings, so both layers are public.
|
|
13011
|
-
*
|
|
13012
|
-
* ## Precision
|
|
13013
|
-
*
|
|
13014
|
-
* Cubic and quadratic extrema are exact (roots of the derivative).
|
|
13015
|
-
* Elliptical-arc extrema are exact for the true ellipse. Browsers
|
|
13016
|
-
* decompose arcs into ≤90° cubic Bézier approximations before measuring
|
|
13017
|
-
* (Blink: `SVGPathNormalizer::DecomposeArcToCubic`), so a browser's
|
|
13018
|
-
* `getBBox` can differ from the exact ellipse extent by the
|
|
13019
|
-
* approximation error of that decomposition — bounded by roughly
|
|
13020
|
-
* 2.7e-4 · r, and zero whenever the extremum lands on a segment
|
|
13021
|
-
* endpoint or midpoint (the classic k = 4/3·tan(Δθ/4) construction
|
|
13022
|
-
* interpolates both). The exact value is the spec-correct one, so this
|
|
13023
|
-
* module reports it rather than reproducing the browser's
|
|
13024
|
-
* approximation.
|
|
13025
|
-
*/
|
|
13026
|
-
|
|
13027
|
-
/** Axis-aligned rectangle in the coordinate system of the path data. */
|
|
13028
|
-
interface PathBoundsRect {
|
|
13029
|
-
minX: number;
|
|
13030
|
-
minY: number;
|
|
13031
|
-
maxX: number;
|
|
13032
|
-
maxY: number;
|
|
13033
|
-
}
|
|
13034
|
-
/** One-dimensional interval, the per-axis result of a curve extent. */
|
|
13035
|
-
interface Extent1D {
|
|
13036
|
-
min: number;
|
|
13037
|
-
max: number;
|
|
13038
|
-
}
|
|
13039
|
-
/**
|
|
13040
|
-
* Center parameterization of an elliptical arc — the form in which the
|
|
13041
|
-
* arc's extrema are solvable. See SVG 2 Appendix B.2.2.
|
|
12648
|
+
* Center parameterization of an elliptical arc — the form in which the
|
|
12649
|
+
* arc's extrema are solvable. See SVG 2 Appendix B.2.2.
|
|
13042
12650
|
*/
|
|
13043
12651
|
interface ArcCenterParameterization {
|
|
13044
12652
|
/** Ellipse center, user space. */
|
|
@@ -13335,140 +12943,699 @@ declare function shapeLocalObjectBounds(shape: SerializedShape, host?: ShapeLoca
|
|
|
13335
12943
|
/** Center of {@link shapeLocalObjectBounds}, sharing the same host contract. */
|
|
13336
12944
|
declare function shapeLocalObjectCenter(shape: SerializedShape, host?: ShapeLocalObjectBoundsHost): Point | null;
|
|
13337
12945
|
|
|
13338
|
-
type
|
|
13339
|
-
|
|
13340
|
-
|
|
13341
|
-
|
|
13342
|
-
|
|
13343
|
-
|
|
13344
|
-
|
|
13345
|
-
|
|
13346
|
-
}
|
|
13347
|
-
interface
|
|
13348
|
-
|
|
13349
|
-
|
|
13350
|
-
|
|
13351
|
-
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
|
|
13356
|
-
|
|
13357
|
-
|
|
13358
|
-
|
|
13359
|
-
|
|
13360
|
-
|
|
13361
|
-
|
|
13362
|
-
|
|
13363
|
-
|
|
13364
|
-
|
|
13365
|
-
|
|
13366
|
-
|
|
13367
|
-
|
|
13368
|
-
|
|
13369
|
-
|
|
13370
|
-
|
|
13371
|
-
|
|
13372
|
-
|
|
13373
|
-
|
|
13374
|
-
|
|
13375
|
-
|
|
13376
|
-
|
|
13377
|
-
|
|
13378
|
-
|
|
13379
|
-
|
|
12946
|
+
type SymbolViewportDiagnosticCode = 'invalid-symbol-length' | 'invalid-symbol-viewbox' | 'unresolved-symbol-viewport';
|
|
12947
|
+
interface SymbolViewportDiagnostic {
|
|
12948
|
+
code: SymbolViewportDiagnosticCode;
|
|
12949
|
+
message: string;
|
|
12950
|
+
}
|
|
12951
|
+
interface SymbolLengthContext {
|
|
12952
|
+
axis: 'x' | 'y' | 'width' | 'height' | 'refX' | 'refY';
|
|
12953
|
+
percentBasis?: number;
|
|
12954
|
+
}
|
|
12955
|
+
interface SymbolViewportHost {
|
|
12956
|
+
resolveLength?: (value: string, context: SymbolLengthContext) => number | null;
|
|
12957
|
+
}
|
|
12958
|
+
interface ResolvedSymbolViewport {
|
|
12959
|
+
readonly kind: 'symbol' | 'group';
|
|
12960
|
+
readonly renders: boolean;
|
|
12961
|
+
readonly useX: number;
|
|
12962
|
+
readonly useY: number;
|
|
12963
|
+
readonly useAttributes: Readonly<AuthoredUseGeometry>;
|
|
12964
|
+
/** Mapping after the use element's own transform. Includes use x/y and def root. */
|
|
12965
|
+
readonly contentMatrix: Affine2D;
|
|
12966
|
+
readonly childPercentBasis: SvgViewportSize | null;
|
|
12967
|
+
readonly viewport: ResolvedSvgViewport | null;
|
|
12968
|
+
readonly diagnostics: readonly SymbolViewportDiagnostic[];
|
|
12969
|
+
}
|
|
12970
|
+
/**
|
|
12971
|
+
* Resolve SVG 2 sections 5.4, 5.5.2, 8.2, and 8.6 through 8.8 for one
|
|
12972
|
+
* symbol instance. The use translation is on the right of its own transform;
|
|
12973
|
+
* this result intentionally starts after that own transform.
|
|
12974
|
+
*/
|
|
12975
|
+
declare function resolveSymbolViewport(shape: SerializedShape, def: SymbolLibraryDef, parentViewport?: SvgViewportSize, host?: SymbolViewportHost): ResolvedSymbolViewport;
|
|
12976
|
+
|
|
12977
|
+
type BoundsRect = PathBoundsRect;
|
|
12978
|
+
type BoundsStatus = 'resolved' | 'empty' | 'unresolved' | 'cycle' | 'unsupported';
|
|
12979
|
+
type BoundsDiagnosticCode = 'container-cycle' | 'reference-cycle' | 'unresolved-shape' | 'unresolved-reference-target' | 'unresolved-reference-pivot' | 'duplicate-shape-id' | 'invalid-svg-viewport' | 'unresolved-svg-viewport' | 'symbol-cycle' | 'unresolved-symbol-definition' | 'duplicate-library-id' | 'invalid-symbol-viewport' | 'unresolved-symbol-viewport' | 'unresolved-symbol-pivot' | 'unknown-symbol-variant' | 'ambiguous-symbol-override-target' | 'unresolved-symbol-override-target' | 'unsupported-shape' | 'deferred-tree-kind';
|
|
12980
|
+
interface BoundsDiagnostic {
|
|
12981
|
+
code: BoundsDiagnosticCode;
|
|
12982
|
+
shapeId: string;
|
|
12983
|
+
message: string;
|
|
12984
|
+
path: readonly string[];
|
|
12985
|
+
}
|
|
12986
|
+
interface BoundsResult {
|
|
12987
|
+
bounds: BoundsRect | null;
|
|
12988
|
+
status: BoundsStatus;
|
|
12989
|
+
diagnostics: readonly BoundsDiagnostic[];
|
|
12990
|
+
}
|
|
12991
|
+
type TextObjectBoundsMeasurement = BoundsRect | readonly BoundsRect[];
|
|
12992
|
+
interface ShapeObjectBoundsHost {
|
|
12993
|
+
/**
|
|
12994
|
+
* SVG 2 section 8.10 defines text object bounds as the union of full glyph
|
|
12995
|
+
* cells. Returning individual cells preserves exact extrema after shear.
|
|
12996
|
+
* A single rectangle remains accepted for aggregate measurement hosts.
|
|
12997
|
+
*/
|
|
12998
|
+
measureText?: (shape: SerializedShape, geometry: TextShapeGeometry) => TextObjectBoundsMeasurement | null;
|
|
12999
|
+
}
|
|
13000
|
+
interface DocumentBoundsHost extends ShapeObjectBoundsHost {
|
|
13001
|
+
/**
|
|
13002
|
+
* Replace the authored own matrix with a platform runtime projection.
|
|
13003
|
+
*
|
|
13004
|
+
* The editor uses this seam for active SMIL and CSS transform state that
|
|
13005
|
+
* is intentionally not persisted in the document. Supplemental reference,
|
|
13006
|
+
* symbol, and embedded-viewport placement remains owned by the tree walker.
|
|
13007
|
+
*/
|
|
13008
|
+
resolveOwnTransform?: (shape: SerializedShape, authored: Affine2D) => Affine2D;
|
|
13009
|
+
/** Runtime conditional-processing hook. `false` removes the branch. */
|
|
13010
|
+
participatesInRendering?: (shape: SerializedShape) => boolean;
|
|
13011
|
+
/**
|
|
13012
|
+
* Runtime conditional-processing hook for a resolved symbol shadow root.
|
|
13013
|
+
* Pure bounds already honor authored `display:none`; a host can additionally
|
|
13014
|
+
* decide media-query, switch, or cascade participation without a DOM read.
|
|
13015
|
+
*/
|
|
13016
|
+
participatesSymbolDefinition?: (definition: SymbolLibraryDef, instance: SerializedShape) => boolean;
|
|
13017
|
+
/** Resolve non-px symbol/use lengths that require a platform metrics host. */
|
|
13018
|
+
resolveSymbolLength?: SymbolViewportHost['resolveLength'];
|
|
13019
|
+
}
|
|
13020
|
+
interface DocumentBoundsView {
|
|
13021
|
+
roots(): readonly SerializedShape[];
|
|
13022
|
+
shape(id: string): SerializedShape | undefined;
|
|
13023
|
+
duplicateShapeIds?(): ReadonlySet<string>;
|
|
13024
|
+
libraryDefinition?(id: string): LibraryDef | undefined;
|
|
13025
|
+
duplicateLibraryIds?(): ReadonlySet<string>;
|
|
13026
|
+
children(shape: SerializedShape): readonly SerializedShape[];
|
|
13027
|
+
}
|
|
13028
|
+
interface DocumentBoundsOptions {
|
|
13029
|
+
toTarget?: Affine2D;
|
|
13030
|
+
parentViewport?: SvgViewportSize;
|
|
13031
|
+
}
|
|
13032
|
+
/**
|
|
13033
|
+
* Compute exact SVG object bounds for one registry geometry leaf in an
|
|
13034
|
+
* arbitrary target coordinate system. Own authored transforms are not added;
|
|
13035
|
+
* callers pass the complete affine that maps local geometry into the target.
|
|
13036
|
+
*/
|
|
13037
|
+
declare function shapeObjectBoundsInSpace(shape: SerializedShape, toTarget: Affine2D, host?: ShapeObjectBoundsHost): BoundsResult;
|
|
13038
|
+
/**
|
|
13039
|
+
* Read-only snapshot adapter. `sceneTree` is document authority when present;
|
|
13040
|
+
* inline `state.children` is the maintained compatibility projection and the
|
|
13041
|
+
* fallback for older snapshots and unplaced hostile input.
|
|
13042
|
+
*/
|
|
13043
|
+
declare function snapshotBoundsView(snapshot: HistorySnapshot): DocumentBoundsView;
|
|
13044
|
+
interface EmbeddedSvgViewportOverride {
|
|
13045
|
+
width?: number;
|
|
13046
|
+
height?: number;
|
|
13047
|
+
}
|
|
13048
|
+
interface EmbeddedSvgTransformResult {
|
|
13049
|
+
matrix: Affine2D;
|
|
13050
|
+
attribute: string | null;
|
|
13051
|
+
pivotRequired: boolean;
|
|
13052
|
+
pivotResolved: boolean;
|
|
13053
|
+
viewport: ResolvedSvgViewport;
|
|
13054
|
+
}
|
|
13055
|
+
/** Resolve the transform outside an embedded SVG viewport. */
|
|
13056
|
+
declare function resolveEmbeddedSvgTransform(shape: SerializedShape, parentViewport?: SvgViewportSize, override?: EmbeddedSvgViewportOverride): EmbeddedSvgTransformResult;
|
|
13057
|
+
/** Resolve the authored viewport frame used by editor selection and resizing. */
|
|
13058
|
+
declare function resolveEmbeddedSvgViewportFrameBounds(view: DocumentBoundsView, shapeOrId: SerializedShape | string, options?: DocumentBoundsOptions, host?: DocumentBoundsHost): BoundsResult;
|
|
13059
|
+
interface ShapeReferenceTransformResult {
|
|
13060
|
+
matrix: Affine2D;
|
|
13061
|
+
attribute: string | null;
|
|
13062
|
+
pivotRequired: boolean;
|
|
13063
|
+
pivotResolved: boolean;
|
|
13064
|
+
diagnostics: readonly BoundsDiagnostic[];
|
|
13065
|
+
}
|
|
13066
|
+
interface SymbolInstanceTransformResult {
|
|
13067
|
+
matrix: Affine2D;
|
|
13068
|
+
attribute: string | null;
|
|
13069
|
+
pivotRequired: boolean;
|
|
13070
|
+
pivotResolved: boolean;
|
|
13071
|
+
diagnostics: readonly BoundsDiagnostic[];
|
|
13072
|
+
}
|
|
13073
|
+
/** Resolve one shape subtree by object or document id. */
|
|
13074
|
+
declare function resolveShapeObjectBounds(view: DocumentBoundsView, shapeOrId: SerializedShape | string, options?: DocumentBoundsOptions, host?: DocumentBoundsHost): BoundsResult;
|
|
13075
|
+
/**
|
|
13076
|
+
* Resolve an element's object box in its own user coordinate system.
|
|
13077
|
+
*
|
|
13078
|
+
* The subject's authored transform is excluded while descendant transforms,
|
|
13079
|
+
* viewport mappings, references, and symbol placement remain authoritative.
|
|
13080
|
+
* This is the reference box CSS Transforms calls fill-box/content-box.
|
|
13081
|
+
*/
|
|
13082
|
+
declare function resolveShapeLocalObjectBounds(view: DocumentBoundsView, shapeOrId: SerializedShape | string, options?: Pick<DocumentBoundsOptions, 'parentViewport'>, host?: DocumentBoundsHost): BoundsResult;
|
|
13083
|
+
/**
|
|
13084
|
+
* Resolve the use element's own transform for renderer parity.
|
|
13085
|
+
*
|
|
13086
|
+
* Canonical matrices need no geometry. Deprecated rotation/scale/skew
|
|
13087
|
+
* channels use the translated shadow subtree center, matching the bounds
|
|
13088
|
+
* walk instead of fabricating a pivot from non-authoritative width/height.
|
|
13089
|
+
*/
|
|
13090
|
+
declare function resolveShapeReferenceTransform(view: DocumentBoundsView, shape: SerializedShape, host?: DocumentBoundsHost, parentViewport?: SvgViewportSize): ShapeReferenceTransformResult;
|
|
13091
|
+
/**
|
|
13092
|
+
* Resolve the transform emitted on one symbol-instance use element. SVG 2
|
|
13093
|
+
* section 5.5.2 orders imported use transform, canonical or legacy instance
|
|
13094
|
+
* transform, and then the supplemental x/y translation into the shadow tree.
|
|
13095
|
+
*/
|
|
13096
|
+
declare function resolveSymbolInstanceTransform(view: DocumentBoundsView, shape: SerializedShape, host?: DocumentBoundsHost, parentViewport?: SvgViewportSize): SymbolInstanceTransformResult;
|
|
13097
|
+
/** Union every snapshot root in the requested target coordinate system. */
|
|
13098
|
+
declare function documentObjectBounds(view: DocumentBoundsView, options?: DocumentBoundsOptions, host?: DocumentBoundsHost): BoundsResult;
|
|
13099
|
+
interface InlineContainerTransformResult {
|
|
13100
|
+
transform: ResolvedContainerTransform;
|
|
13101
|
+
contentBounds: BoundsResult | null;
|
|
13102
|
+
pivotRequired: boolean;
|
|
13103
|
+
pivotResolved: boolean;
|
|
13104
|
+
}
|
|
13105
|
+
/**
|
|
13106
|
+
* Resolve a serialized container's emitted transform from its inline content.
|
|
13107
|
+
* Renderers use this same local-content walk as analytic bounds so legacy
|
|
13108
|
+
* rotation/scale/skew channels cannot silently choose a different pivot.
|
|
13109
|
+
*/
|
|
13110
|
+
declare function resolveInlineContainerTransform(shape: SerializedShape, host?: DocumentBoundsHost): InlineContainerTransformResult;
|
|
13111
|
+
|
|
13112
|
+
/**
|
|
13113
|
+
* Symbol-instance resolution - the single definition of what a
|
|
13114
|
+
* `symbol-instance` shape points at.
|
|
13115
|
+
*
|
|
13116
|
+
* A `symbol-instance` renders as `<use href="#target">` (SVG 2 §5.6), and
|
|
13117
|
+
* the target is not always the library def's own id. Variants and
|
|
13118
|
+
* per-instance overrides have no representation in the library - a
|
|
13119
|
+
* `SymbolLibraryDef` carries every variant's shapes, but which one an
|
|
13120
|
+
* instance selects, and what its overrides do to them, is instance state.
|
|
13121
|
+
* The renderer therefore MATERIALIZES a `<symbol>` per referenced
|
|
13122
|
+
* (def, variant, override) combination under a synthetic id:
|
|
13123
|
+
*
|
|
13124
|
+
* - no variant, no overrides -> `<def id>` (the library def)
|
|
13125
|
+
* - variant `state=hover` -> `<def id>--state_hover`
|
|
13126
|
+
* - any overrides -> `<def id>--ovr-<instance id>`
|
|
13127
|
+
*
|
|
13128
|
+
* Two call sites depend on that mapping and MUST agree on it, or a `<use>`
|
|
13129
|
+
* points at a def that was never emitted:
|
|
13130
|
+
*
|
|
13131
|
+
* 1. `renderShape` (shape-renderers.ts) writes the `<use href>`.
|
|
13132
|
+
* 2. `renderSymbolDefs` (svg-renderer.ts) emits the `<symbol>` bodies.
|
|
13133
|
+
*
|
|
13134
|
+
* They agree because both go through this module. `targetId` and
|
|
13135
|
+
* `resolveShapes` are two halves of one decision - the `--ovr-` id is
|
|
13136
|
+
* exactly the case where overrides are applied, the `--<variant>` id
|
|
13137
|
+
* exactly the case where a variant array replaces `def.shapes` - so they
|
|
13138
|
+
* live together and are never re-derived elsewhere.
|
|
13139
|
+
*
|
|
13140
|
+
* Dependency-free apart from types, so both the shape dispatcher and the
|
|
13141
|
+
* document renderer can import it without an import cycle.
|
|
13142
|
+
*
|
|
13143
|
+
* @packageDocumentation
|
|
13144
|
+
*/
|
|
13145
|
+
|
|
13146
|
+
type SymbolResolutionDiagnosticCode = 'unknown-symbol-variant' | 'ambiguous-symbol-override-target' | 'unresolved-symbol-override-target';
|
|
13147
|
+
interface SymbolResolutionDiagnostic {
|
|
13148
|
+
code: SymbolResolutionDiagnosticCode;
|
|
13149
|
+
shapeId: string;
|
|
13150
|
+
message: string;
|
|
13151
|
+
}
|
|
13152
|
+
interface ResolvedSymbolInstanceContent {
|
|
13153
|
+
readonly shapes: readonly SerializedShape[];
|
|
13154
|
+
readonly requestedVariantKey: string;
|
|
13155
|
+
readonly effectiveVariantKey: string;
|
|
13156
|
+
readonly candidateTargetId: string;
|
|
13157
|
+
readonly materializationKey: string;
|
|
13158
|
+
readonly materialized: boolean;
|
|
13159
|
+
readonly diagnostics: readonly SymbolResolutionDiagnostic[];
|
|
13160
|
+
}
|
|
13161
|
+
/** Resolve variant selection and recursive immutable overrides once for every surface. */
|
|
13162
|
+
declare function resolveSymbolInstanceContent(def: SymbolLibraryDef, instance: SerializedShape): ResolvedSymbolInstanceContent;
|
|
13163
|
+
/**
|
|
13164
|
+
* The `<symbol>` id an instance's `<use href>` resolves to.
|
|
13165
|
+
*
|
|
13166
|
+
* Mirrors the editor-side `exportSymbolInstances` in
|
|
13167
|
+
* `apps/editor/src/canvas/svg-export-finalizer.ts` so an editor export and
|
|
13168
|
+
* a headless render of the same document target the same ids.
|
|
13169
|
+
*
|
|
13170
|
+
* `dedicated` forces the per-instance `--ovr-` id even without
|
|
13171
|
+
* overrides — the animated-export policy for instances driven by an
|
|
13172
|
+
* `instanceVariant` timeline track, whose injected variant-transition
|
|
13173
|
+
* animations must not bleed into sibling instances of the same def. The
|
|
13174
|
+
* editor's animated export materializes those dedicated defs and passes
|
|
13175
|
+
* the flag here so its `<use href>` retargeting and the def id agree.
|
|
13176
|
+
*/
|
|
13177
|
+
declare function symbolInstanceTargetId(instance: SerializedShape, dedicated?: boolean): string;
|
|
13178
|
+
/**
|
|
13179
|
+
* The shapes that make up the `<symbol>` body an instance resolves to:
|
|
13180
|
+
* the selected variant (falling back to `def.shapes`, the default
|
|
13181
|
+
* variant, when the key is absent or unknown) with the instance's
|
|
13182
|
+
* per-shape overrides merged on top.
|
|
13183
|
+
*
|
|
13184
|
+
* Overrides are keyed by INNER shape id and merge shallowly into that
|
|
13185
|
+
* shape's state, which is what keeps the inner ids - and therefore any
|
|
13186
|
+
* shape-derived def ids such as `filter-<id>` - stable across
|
|
13187
|
+
* materializations.
|
|
13188
|
+
*/
|
|
13189
|
+
declare function resolveSymbolInstanceShapes(def: SymbolLibraryDef, instance: SerializedShape): SerializedShape[];
|
|
13190
|
+
|
|
13191
|
+
type SymbolMaterializationDiagnosticCode = SymbolResolutionDiagnosticCode | 'unresolved-symbol-definition' | 'duplicate-library-id' | 'symbol-cycle';
|
|
13192
|
+
interface SymbolMaterializationDiagnostic {
|
|
13193
|
+
readonly code: SymbolMaterializationDiagnosticCode;
|
|
13194
|
+
readonly shapeId: string;
|
|
13195
|
+
readonly message: string;
|
|
13196
|
+
}
|
|
13197
|
+
interface SymbolMaterialization {
|
|
13198
|
+
readonly materializationKey: string;
|
|
13199
|
+
readonly targetId: string;
|
|
13200
|
+
readonly candidateTargetId: string;
|
|
13201
|
+
readonly definition: SymbolLibraryDef;
|
|
13202
|
+
readonly shapes: readonly SerializedShape[];
|
|
13203
|
+
readonly parentViewport?: Readonly<SvgViewportSize>;
|
|
13204
|
+
readonly viewport: ResolvedSymbolViewport;
|
|
13205
|
+
}
|
|
13206
|
+
interface SymbolInstanceMaterialization {
|
|
13207
|
+
readonly targetId: string | null;
|
|
13208
|
+
readonly definition: SymbolLibraryDef | null;
|
|
13209
|
+
readonly materializationKey: string | null;
|
|
13210
|
+
/** Final occurrence-local materialization used by every render surface. */
|
|
13211
|
+
readonly materialization: SymbolMaterialization | null;
|
|
13212
|
+
readonly diagnostics: readonly SymbolMaterializationDiagnostic[];
|
|
13213
|
+
readonly parentViewport?: Readonly<SvgViewportSize>;
|
|
13214
|
+
readonly viewport: ResolvedSymbolViewport | null;
|
|
13215
|
+
}
|
|
13216
|
+
interface SymbolMaterializationPlan {
|
|
13217
|
+
readonly materializations: readonly SymbolMaterialization[];
|
|
13218
|
+
readonly diagnostics: readonly SymbolMaterializationDiagnostic[];
|
|
13219
|
+
resolve(instance: SerializedShape): SymbolInstanceMaterialization | undefined;
|
|
13220
|
+
}
|
|
13221
|
+
interface SymbolMaterializationPlanOptions {
|
|
13222
|
+
readonly reservedIds?: ReadonlySet<string>;
|
|
13223
|
+
readonly parentViewport?: Readonly<SvgViewportSize>;
|
|
13224
|
+
readonly viewportHost?: SymbolViewportHost;
|
|
13225
|
+
/**
|
|
13226
|
+
* Per-occurrence render policy supplied by a document surface.
|
|
13227
|
+
*
|
|
13228
|
+
* An `instanceVariant` animation starts from its first keyed state and
|
|
13229
|
+
* needs a dedicated target so injected animation never changes sibling
|
|
13230
|
+
* instances that otherwise share the same definition.
|
|
13231
|
+
*/
|
|
13232
|
+
readonly instancePolicy?: (instance: SerializedShape) => {
|
|
13233
|
+
readonly initialVariantKey?: string;
|
|
13234
|
+
readonly dedicated?: boolean;
|
|
13235
|
+
} | undefined;
|
|
13236
|
+
}
|
|
13237
|
+
/**
|
|
13238
|
+
* Build the complete SVG 2 section 5.5 shadow-tree materialization plan for
|
|
13239
|
+
* one document. Cycle identity is semantic definition + variant + override
|
|
13240
|
+
* content, so finite cross-variant recursion remains legal while an actual
|
|
13241
|
+
* repeated shadow root is pruned before markup emission.
|
|
13242
|
+
*/
|
|
13243
|
+
declare function buildSymbolMaterializationPlan(library: readonly LibraryDef[], roots: readonly SerializedShape[], options?: SymbolMaterializationPlanOptions): SymbolMaterializationPlan;
|
|
13244
|
+
|
|
13245
|
+
/**
|
|
13246
|
+
* Reachability walk over the shapes a rendered document actually paints.
|
|
13247
|
+
*
|
|
13248
|
+
* `<defs>` emission is reference-driven: a def is emitted only when
|
|
13249
|
+
* something in the rendered output points at it with `url(#id)`. Getting
|
|
13250
|
+
* that set right means walking more than the top-level shape array,
|
|
13251
|
+
* because two nesting mechanisms put `url(#…)` references into the output
|
|
13252
|
+
* without a top-level shape carrying them:
|
|
13253
|
+
*
|
|
13254
|
+
* 1. **Container children.** `<g>`, `<a>`, `<switch>` and nested `<svg>`
|
|
13255
|
+
* render `state.children` inline (see `renderContainerChildren` in
|
|
13256
|
+
* shape-renderers.ts), so a child's fill / filter / marker reference
|
|
13257
|
+
* is live in the document.
|
|
13258
|
+
* 2. **Library def contents.** A `<symbol>` or `<marker>` def emits its
|
|
13259
|
+
* inner shapes verbatim, so those shapes' references are live too -
|
|
13260
|
+
* SVG 2 §5.5 resolves them against the document `<defs>`, not against
|
|
13261
|
+
* any def-local scope.
|
|
13262
|
+
*
|
|
13263
|
+
* Both are transitive: a symbol's inner shape can be a group whose child
|
|
13264
|
+
* instantiates another symbol. Reachability is therefore a fixpoint, and
|
|
13265
|
+
* a symbol that (directly or indirectly) instantiates itself must not
|
|
13266
|
+
* spin - each def's contents are expanded at most once.
|
|
13267
|
+
*
|
|
13268
|
+
* This module is intentionally dependency-free apart from types so that
|
|
13269
|
+
* both `library-renderers.ts` (which emits the defs) and
|
|
13270
|
+
* `shape-renderers.ts` (which emits built-in `<marker>` defs) can share
|
|
13271
|
+
* one definition of "reachable" without an import cycle. The editor's
|
|
13272
|
+
* live `<defs>` reconciler (`MarkerManager`) shares it too, through
|
|
13273
|
+
* `forEachShapeInLibraryDefs` - which is what stops the canvas and the
|
|
13274
|
+
* exported file from disagreeing about which defs a document needs.
|
|
13275
|
+
*
|
|
13276
|
+
* @packageDocumentation
|
|
13277
|
+
*/
|
|
13278
|
+
|
|
13279
|
+
/**
|
|
13280
|
+
* Id → def lookup for the reachability walks.
|
|
13281
|
+
*
|
|
13282
|
+
* A caller that already owns a keyed store of its defs (the editor's
|
|
13283
|
+
* `LibraryRegistry` is exactly such a map) can hand it straight to the
|
|
13284
|
+
* walkers instead of paying to rebuild an index per call - which matters
|
|
13285
|
+
* because the editor runs `collectReferencedMarkerIds` on the animation
|
|
13286
|
+
* path.
|
|
13287
|
+
*/
|
|
13288
|
+
type LibraryIndex = ReadonlyMap<string, LibraryDef>;
|
|
13289
|
+
/** Accept either the array form or a prebuilt index. */
|
|
13290
|
+
type LibrarySource = readonly LibraryDef[] | LibraryIndex;
|
|
13291
|
+
/**
|
|
13292
|
+
* Call `visit` once for every shape whose rendered form can appear in the
|
|
13293
|
+
* document: each top-level shape, every container descendant, and the
|
|
13294
|
+
* inner shapes (plus symbol variants) of the `<symbol>` / `<marker>`
|
|
13295
|
+
* library defs those shapes reach.
|
|
13296
|
+
*
|
|
13297
|
+
* Visit order is deterministic and stable: top-level shapes in document
|
|
13298
|
+
* order first, then the transitive frontier discovered from them. Callers
|
|
13299
|
+
* whose output order depends on discovery order can rely on that - and on
|
|
13300
|
+
* the fact that the top-level prefix is exactly the pre-transitive walk.
|
|
13301
|
+
*
|
|
13302
|
+
* `visit` may be called more than once for the same shape only if the
|
|
13303
|
+
* document itself contains it more than once (e.g. two symbols sharing an
|
|
13304
|
+
* inner shape object); accumulating callers should be idempotent.
|
|
13305
|
+
*
|
|
13306
|
+
* @param shapes Top-level shapes of the rendered document.
|
|
13307
|
+
* @param library Library defs available for reference resolution. Pass an
|
|
13308
|
+
* empty array to walk containers only.
|
|
13309
|
+
* @param visit Callback invoked per reachable shape.
|
|
13310
|
+
*/
|
|
13311
|
+
declare function forEachReachableShape(shapes: readonly SerializedShape[], library: LibrarySource, visit: (shape: SerializedShape) => void): void;
|
|
13312
|
+
/**
|
|
13313
|
+
* Same walk, seeded from library def ids rather than from shapes: visits
|
|
13314
|
+
* the contents of each named `<symbol>` / `<marker>` def and everything
|
|
13315
|
+
* those contents transitively reach.
|
|
13316
|
+
*
|
|
13317
|
+
* This is the half of reachability that a LIVE editor cannot answer from
|
|
13318
|
+
* its shape registry. Symbol-instance content is materialized as
|
|
13319
|
+
* temporary shapes that never enter the registry or the scene graph, so
|
|
13320
|
+
* a document-side walk sees the `symbolId` but nothing inside it. Seeding
|
|
13321
|
+
* from the def ids the document reaches recovers exactly the missing
|
|
13322
|
+
* frontier, and - because it is the same engine the export collector runs
|
|
13323
|
+
* - recovers it with identical nesting, variant, and cycle semantics.
|
|
13324
|
+
*
|
|
13325
|
+
* Ids that are absent from `library`, or that name a def with no contents
|
|
13326
|
+
* (paint servers, filters), are skipped.
|
|
13327
|
+
*/
|
|
13328
|
+
declare function forEachShapeInLibraryDefs(rootDefIds: Iterable<string>, library: LibrarySource, visit: (shape: SerializedShape) => void): void;
|
|
13329
|
+
/**
|
|
13330
|
+
* Marker ids a single shape's state puts into the rendered output: the
|
|
13331
|
+
* three explicit `marker-*` refs, plus the built-in ids the legacy
|
|
13332
|
+
* `startEndpoint` / `endEndpoint` dropdowns resolve to (`Line` and
|
|
13333
|
+
* `Path` fold those into their painted refs - see
|
|
13334
|
+
* `endpointMarkerAttributes` in codegen/helpers.ts and
|
|
13335
|
+
* `Line.getEffectiveMarkerRefs()` in the editor).
|
|
13336
|
+
*
|
|
13337
|
+
* One definition, shared by the export collector and by the editor's live
|
|
13338
|
+
* `<defs>` reconciler, so the two cannot disagree about what a given
|
|
13339
|
+
* state means.
|
|
13340
|
+
*/
|
|
13341
|
+
declare function forEachMarkerRefInState(state: SerializedShape['state'] | Record<string, unknown> | undefined, visit: (markerId: string) => void): void;
|
|
13342
|
+
/** The built-in `<marker>` id a legacy endpoint name resolves to. */
|
|
13343
|
+
declare function legacyEndpointMarkerId(endpoint: string): string;
|
|
13344
|
+
/**
|
|
13345
|
+
* Library def ids a single shape's state references: fill / stroke paint
|
|
13346
|
+
* servers, the filter chain, the marker refs, and the symbol it
|
|
13347
|
+
* instantiates.
|
|
13348
|
+
*
|
|
13349
|
+
* Mirrors the reference set `collectReferencedLibraryDefs` scans per
|
|
13350
|
+
* shape, including the legacy fallbacks - an inline `fillGradient`
|
|
13351
|
+
* payload with no `fillLibraryId` still names a def, and a populated
|
|
13352
|
+
* `filters` array with no `filterLibraryIds` names the shape-derived
|
|
13353
|
+
* `filter-<shapeId>`. It reports RAW ids and makes no library lookup, so
|
|
13354
|
+
* a caller can use it against a live document whose defs are stored
|
|
13355
|
+
* somewhere other than a `LibraryDef[]`.
|
|
13356
|
+
*
|
|
13357
|
+
* Deliberately NOT shared with `collectReferencedLibraryDefs` itself:
|
|
13358
|
+
* that function has to decide, per id, between emitting the library
|
|
13359
|
+
* entry and synthesizing a transient def from the inline payload, and
|
|
13360
|
+
* the order in which it resolves the two is observable in the emitted
|
|
13361
|
+
* `<defs>`. Keeping the two separate leaves that byte-order contract
|
|
13362
|
+
* untouched; that they agree on the reference SET is enforced by test
|
|
13363
|
+
* rather than by shared code.
|
|
13364
|
+
*/
|
|
13365
|
+
declare function forEachLibraryRefInState(state: SerializedShape['state'] | Record<string, unknown> | undefined, shapeId: string, visit: (libraryId: string) => void): void;
|
|
13366
|
+
/**
|
|
13367
|
+
* Marker references found by walking a document, split the way
|
|
13368
|
+
* `renderBuiltinMarkerDefs` consumes them:
|
|
13369
|
+
* - `ids`: raw marker ids from `state.markerStart` / `markerMid` /
|
|
13370
|
+
* `markerEnd` - built-in (`mkr-builtin-arrow`, `line-marker-arrow`)
|
|
13371
|
+
* or user marker ids.
|
|
13372
|
+
* - `legacyEndpoints`: endpoint names from `state.startEndpoint` /
|
|
13373
|
+
* `endEndpoint` (e.g. `'arrow'`), which `Line` / `Path` emit as a
|
|
13374
|
+
* shortcut to built-in markers without explicit `marker-*` attrs.
|
|
13375
|
+
*/
|
|
13376
|
+
interface MarkerReferenceSets {
|
|
13377
|
+
ids: Set<string>;
|
|
13378
|
+
legacyEndpoints: Set<string>;
|
|
13379
|
+
}
|
|
13380
|
+
/**
|
|
13381
|
+
* Walk a document for marker references. Reachability, not just the top
|
|
13382
|
+
* level: container children render inline and `<symbol>` / `<marker>`
|
|
13383
|
+
* inner shapes emit verbatim, so a `marker-start="url(#line-marker-arrow)"`
|
|
13384
|
+
* written from inside a symbol needs its built-in def as much as a
|
|
13385
|
+
* top-level one does.
|
|
13386
|
+
*/
|
|
13387
|
+
declare function collectMarkerReferences(shapes: readonly SerializedShape[], library?: LibrarySource): MarkerReferenceSets;
|
|
13388
|
+
/**
|
|
13389
|
+
* Every `<marker>` id a rendered document needs a def for, as one flat
|
|
13390
|
+
* set: the raw `marker-*` refs plus the built-in ids the legacy endpoint
|
|
13391
|
+
* dropdowns resolve to.
|
|
13392
|
+
*
|
|
13393
|
+
* This is the reference answer to "which markers must be in `<defs>`?".
|
|
13394
|
+
* The editor's live reconciler computes the same set incrementally from
|
|
13395
|
+
* its model; that the two agree is what keeps canvas and export from
|
|
13396
|
+
* diverging.
|
|
13397
|
+
*/
|
|
13398
|
+
declare function collectReferencedMarkerIds(shapes: readonly SerializedShape[], library: LibrarySource): Set<string>;
|
|
13399
|
+
|
|
13400
|
+
type PresentationValueReader = (key: string) => unknown;
|
|
13401
|
+
interface PresentationSemanticContext {
|
|
13402
|
+
shapeId: string;
|
|
13403
|
+
includeAuthoredAttributes?: boolean;
|
|
13404
|
+
includeContainerPresentation?: boolean;
|
|
13405
|
+
retainCssAnimationDeclarations?: boolean;
|
|
13406
|
+
/**
|
|
13407
|
+
* The live editor projects resolved static stylesheet values inline so its
|
|
13408
|
+
* structural scaffolding cannot alter selector matching. Serialized SVG
|
|
13409
|
+
* renderers leave both stylesheet channels to the canonical stylesheet.
|
|
13410
|
+
*/
|
|
13411
|
+
projectStaticStylesheetValues?: boolean;
|
|
13412
|
+
}
|
|
13413
|
+
interface PresentationWrite {
|
|
13414
|
+
channel: 'attribute' | 'style';
|
|
13415
|
+
name: string;
|
|
13416
|
+
value: string | number | null;
|
|
13417
|
+
allowEmpty?: boolean;
|
|
13418
|
+
ifAbsent?: boolean;
|
|
13419
|
+
}
|
|
13420
|
+
interface PresentationSemanticEntry {
|
|
13421
|
+
id: string;
|
|
13422
|
+
keys: readonly string[];
|
|
13423
|
+
project: (read: PresentationValueReader, context: PresentationSemanticContext) => readonly PresentationWrite[];
|
|
13424
|
+
}
|
|
13425
|
+
/**
|
|
13426
|
+
* Ordered common-presentation semantics shared by headless rendering,
|
|
13427
|
+
* component code generation, and the editor's incremental apply layer.
|
|
13428
|
+
*
|
|
13429
|
+
* Order is part of the contract. The dash row follows linecap so dotted
|
|
13430
|
+
* style can make the final cap round, and unmodeled authored attributes
|
|
13431
|
+
* remain the final row so typed state keeps one deterministic owner.
|
|
13432
|
+
*/
|
|
13433
|
+
declare const PRESENTATION_SEMANTICS: readonly [{
|
|
13434
|
+
readonly id: "fill";
|
|
13435
|
+
readonly keys: readonly ["fillColor", "fillType", "fillGradient", "fillLibraryId", "inheritFill", "authoredFillPaint"];
|
|
13436
|
+
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
13437
|
+
}, {
|
|
13438
|
+
readonly id: "element-opacity";
|
|
13439
|
+
readonly keys: readonly ["opacity", "preserveOpacity"];
|
|
13440
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13441
|
+
}, {
|
|
13442
|
+
readonly id: "fill-opacity";
|
|
13443
|
+
readonly keys: readonly ["fillOpacity", "preserveFillOpacity", "fillType", "fillGradient", "inheritFill"];
|
|
13444
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13445
|
+
}, {
|
|
13446
|
+
readonly id: "fill-rule";
|
|
13447
|
+
readonly keys: readonly ["fillRule"];
|
|
13448
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13449
|
+
}, {
|
|
13450
|
+
readonly id: "stroke";
|
|
13451
|
+
readonly keys: readonly ["borderColor", "strokeType", "strokeGradient", "strokeLibraryId", "inheritStroke", "authoredStrokePaint"];
|
|
13452
|
+
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
13453
|
+
}, {
|
|
13454
|
+
readonly id: "stroke-width";
|
|
13455
|
+
readonly keys: readonly ["borderWidth"];
|
|
13456
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13457
|
+
}, {
|
|
13458
|
+
readonly id: "stroke-opacity";
|
|
13459
|
+
readonly keys: readonly ["strokeOpacity", "preserveStrokeOpacity", "strokeType", "strokeGradient", "inheritStroke"];
|
|
13460
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13461
|
+
}, {
|
|
13462
|
+
readonly id: "blend-mode";
|
|
13463
|
+
readonly keys: readonly ["blendMode"];
|
|
13464
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13465
|
+
}, {
|
|
13466
|
+
readonly id: "paint-order";
|
|
13467
|
+
readonly keys: readonly ["paintOrder"];
|
|
13468
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13469
|
+
}, {
|
|
13470
|
+
readonly id: "inline-style";
|
|
13471
|
+
readonly keys: readonly ["inlineStyle"];
|
|
13472
|
+
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
13473
|
+
}, {
|
|
13474
|
+
readonly id: "markers";
|
|
13475
|
+
readonly keys: readonly ["markerStart", "markerMid", "markerEnd"];
|
|
13476
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13477
|
+
}, {
|
|
13478
|
+
readonly id: "stroke-linejoin";
|
|
13479
|
+
readonly keys: readonly ["strokeLinejoin"];
|
|
13480
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13481
|
+
}, {
|
|
13482
|
+
readonly id: "stroke-linecap";
|
|
13483
|
+
readonly keys: readonly ["strokeLinecap"];
|
|
13484
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13485
|
+
}, {
|
|
13486
|
+
readonly id: "stroke-miterlimit";
|
|
13487
|
+
readonly keys: readonly ["strokeMiterlimit"];
|
|
13488
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13489
|
+
}, {
|
|
13490
|
+
readonly id: "stroke-dasharray";
|
|
13491
|
+
readonly keys: readonly ["lineStyle", "dashLength", "gapLength", "strokeDasharray", "strokeLinecap"];
|
|
13492
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13493
|
+
}, {
|
|
13494
|
+
readonly id: "stroke-dashoffset";
|
|
13495
|
+
readonly keys: readonly ["dashOffset"];
|
|
13496
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13497
|
+
}, {
|
|
13498
|
+
readonly id: "shape-rendering";
|
|
13499
|
+
readonly keys: readonly ["shapeRendering"];
|
|
13500
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13501
|
+
}, {
|
|
13502
|
+
readonly id: "text-rendering";
|
|
13503
|
+
readonly keys: readonly ["textRendering"];
|
|
13504
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13505
|
+
}, {
|
|
13506
|
+
readonly id: "image-rendering";
|
|
13507
|
+
readonly keys: readonly ["imageRendering"];
|
|
13508
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13509
|
+
}, {
|
|
13510
|
+
readonly id: "color-rendering";
|
|
13511
|
+
readonly keys: readonly ["colorRendering"];
|
|
13512
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13513
|
+
}, {
|
|
13514
|
+
readonly id: "color-interpolation";
|
|
13515
|
+
readonly keys: readonly ["colorInterpolation"];
|
|
13516
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13517
|
+
}, {
|
|
13518
|
+
readonly id: "filter";
|
|
13519
|
+
readonly keys: readonly ["filters", "filterLibraryIds"];
|
|
13520
|
+
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
13521
|
+
}, {
|
|
13522
|
+
readonly id: "system-language";
|
|
13523
|
+
readonly keys: readonly ["systemLanguage"];
|
|
13524
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13525
|
+
}, {
|
|
13526
|
+
readonly id: "required-extensions";
|
|
13527
|
+
readonly keys: readonly ["requiredExtensions"];
|
|
13528
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13529
|
+
}, {
|
|
13530
|
+
readonly id: "vector-effect";
|
|
13531
|
+
readonly keys: readonly ["vectorEffect"];
|
|
13532
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13533
|
+
}, {
|
|
13534
|
+
readonly id: "visibility";
|
|
13535
|
+
readonly keys: readonly ["visibility"];
|
|
13536
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13537
|
+
}, {
|
|
13538
|
+
readonly id: "display";
|
|
13539
|
+
readonly keys: readonly ["displayAttr"];
|
|
13540
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13541
|
+
}, {
|
|
13542
|
+
readonly id: "visible";
|
|
13543
|
+
readonly keys: readonly ["visible"];
|
|
13544
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13545
|
+
}, {
|
|
13546
|
+
readonly id: "path-length";
|
|
13547
|
+
readonly keys: readonly ["pathLength"];
|
|
13548
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13549
|
+
}, {
|
|
13550
|
+
readonly id: "transform-box";
|
|
13551
|
+
readonly keys: readonly ["transformBox"];
|
|
13552
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13553
|
+
}, {
|
|
13554
|
+
readonly id: "transform";
|
|
13555
|
+
readonly keys: readonly ["rotation", "transformMatrix", "translateX", "translateY", "skewX", "skewY", "scaleX", "scaleY", "customPivot", "rawTransform"];
|
|
13556
|
+
readonly project: () => never[];
|
|
13557
|
+
}, {
|
|
13558
|
+
readonly id: "locked";
|
|
13559
|
+
readonly keys: readonly ["locked"];
|
|
13560
|
+
readonly project: () => never[];
|
|
13561
|
+
}, {
|
|
13562
|
+
readonly id: "metadata";
|
|
13563
|
+
readonly keys: readonly ["metadata"];
|
|
13564
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13565
|
+
}, {
|
|
13566
|
+
readonly id: "css-clip-path";
|
|
13567
|
+
readonly keys: readonly ["cssClipPath"];
|
|
13568
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13569
|
+
}, {
|
|
13570
|
+
readonly id: "css-mask-properties";
|
|
13571
|
+
readonly keys: readonly ["cssMaskProperties"];
|
|
13572
|
+
readonly project: (read: PresentationValueReader) => PresentationWrite[];
|
|
13573
|
+
}, {
|
|
13574
|
+
readonly id: "container-presentation";
|
|
13575
|
+
readonly keys: readonly ["containerPresentation"];
|
|
13576
|
+
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
13577
|
+
}, {
|
|
13578
|
+
readonly id: "authored-attributes";
|
|
13579
|
+
readonly keys: readonly ["authoredAttributes"];
|
|
13580
|
+
readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
|
|
13581
|
+
}];
|
|
13582
|
+
type PresentationSemanticId = (typeof PRESENTATION_SEMANTICS)[number]['id'];
|
|
13583
|
+
declare function projectPresentationEntry(entry: PresentationSemanticEntry, read: PresentationValueReader, context: PresentationSemanticContext): readonly PresentationWrite[];
|
|
13584
|
+
declare function projectPresentation(read: PresentationValueReader, context: PresentationSemanticContext): PresentationWrite[];
|
|
13585
|
+
declare function serializedPresentationReader(state: SerializedShapeState): PresentationValueReader;
|
|
13586
|
+
|
|
13587
|
+
type DefinitionAttribute = readonly [name: string, value: string | number];
|
|
13588
|
+
interface GradientStopEnvelope {
|
|
13589
|
+
attributes: readonly DefinitionAttribute[];
|
|
13380
13590
|
}
|
|
13381
|
-
interface
|
|
13382
|
-
|
|
13383
|
-
|
|
13384
|
-
|
|
13385
|
-
libraryDefinition?(id: string): LibraryDef | undefined;
|
|
13386
|
-
duplicateLibraryIds?(): ReadonlySet<string>;
|
|
13387
|
-
children(shape: SerializedShape): readonly SerializedShape[];
|
|
13591
|
+
interface GradientDefinitionEnvelope {
|
|
13592
|
+
element: 'linearGradient' | 'radialGradient';
|
|
13593
|
+
attributes: readonly DefinitionAttribute[];
|
|
13594
|
+
stops: readonly GradientStopEnvelope[];
|
|
13388
13595
|
}
|
|
13389
|
-
interface
|
|
13390
|
-
|
|
13391
|
-
|
|
13596
|
+
interface PatternDefinitionEnvelope {
|
|
13597
|
+
attributes: readonly DefinitionAttribute[];
|
|
13598
|
+
content: string;
|
|
13392
13599
|
}
|
|
13393
|
-
|
|
13394
|
-
|
|
13395
|
-
|
|
13396
|
-
|
|
13397
|
-
|
|
13398
|
-
|
|
13399
|
-
|
|
13400
|
-
|
|
13401
|
-
|
|
13402
|
-
|
|
13403
|
-
*/
|
|
13404
|
-
declare function snapshotBoundsView(snapshot: HistorySnapshot): DocumentBoundsView;
|
|
13405
|
-
interface EmbeddedSvgViewportOverride {
|
|
13406
|
-
width?: number;
|
|
13407
|
-
height?: number;
|
|
13600
|
+
type FilterColorInterpolation = 'auto' | 'sRGB' | 'linearRGB';
|
|
13601
|
+
type FilterUnits = 'userSpaceOnUse' | 'objectBoundingBox';
|
|
13602
|
+
interface FilterElementAttrs {
|
|
13603
|
+
colorInterpolation?: FilterColorInterpolation | null;
|
|
13604
|
+
filterUnits?: FilterUnits;
|
|
13605
|
+
primitiveUnits?: FilterUnits;
|
|
13606
|
+
x?: string;
|
|
13607
|
+
y?: string;
|
|
13608
|
+
width?: string;
|
|
13609
|
+
height?: string;
|
|
13408
13610
|
}
|
|
13409
|
-
interface
|
|
13410
|
-
|
|
13411
|
-
attribute: string | null;
|
|
13412
|
-
pivotRequired: boolean;
|
|
13413
|
-
pivotResolved: boolean;
|
|
13414
|
-
viewport: ResolvedSvgViewport;
|
|
13611
|
+
interface FilterEnvelopeBase {
|
|
13612
|
+
attributes: readonly DefinitionAttribute[];
|
|
13415
13613
|
}
|
|
13416
|
-
|
|
13417
|
-
|
|
13418
|
-
|
|
13419
|
-
declare function resolveEmbeddedSvgViewportFrameBounds(view: DocumentBoundsView, shapeOrId: SerializedShape | string, options?: DocumentBoundsOptions, host?: DocumentBoundsHost): BoundsResult;
|
|
13420
|
-
interface ShapeReferenceTransformResult {
|
|
13421
|
-
matrix: Affine2D;
|
|
13422
|
-
attribute: string | null;
|
|
13423
|
-
pivotRequired: boolean;
|
|
13424
|
-
pivotResolved: boolean;
|
|
13425
|
-
diagnostics: readonly BoundsDiagnostic[];
|
|
13614
|
+
interface RawFilterEnvelope extends FilterEnvelopeBase {
|
|
13615
|
+
kind: 'raw';
|
|
13616
|
+
content: string;
|
|
13426
13617
|
}
|
|
13427
|
-
interface
|
|
13428
|
-
|
|
13429
|
-
|
|
13430
|
-
pivotRequired: boolean;
|
|
13431
|
-
pivotResolved: boolean;
|
|
13432
|
-
diagnostics: readonly BoundsDiagnostic[];
|
|
13618
|
+
interface PrimitiveChainFilterEnvelope extends FilterEnvelopeBase {
|
|
13619
|
+
kind: 'primitive-chain';
|
|
13620
|
+
chain: SvgPrimitiveChainFilter;
|
|
13433
13621
|
}
|
|
13434
|
-
|
|
13435
|
-
|
|
13436
|
-
|
|
13437
|
-
|
|
13438
|
-
*
|
|
13439
|
-
* The subject's authored transform is excluded while descendant transforms,
|
|
13440
|
-
* viewport mappings, references, and symbol placement remain authoritative.
|
|
13441
|
-
* This is the reference box CSS Transforms calls fill-box/content-box.
|
|
13442
|
-
*/
|
|
13443
|
-
declare function resolveShapeLocalObjectBounds(view: DocumentBoundsView, shapeOrId: SerializedShape | string, options?: Pick<DocumentBoundsOptions, 'parentViewport'>, host?: DocumentBoundsHost): BoundsResult;
|
|
13444
|
-
/**
|
|
13445
|
-
* Resolve the use element's own transform for renderer parity.
|
|
13446
|
-
*
|
|
13447
|
-
* Canonical matrices need no geometry. Deprecated rotation/scale/skew
|
|
13448
|
-
* channels use the translated shadow subtree center, matching the bounds
|
|
13449
|
-
* walk instead of fabricating a pivot from non-authoritative width/height.
|
|
13450
|
-
*/
|
|
13451
|
-
declare function resolveShapeReferenceTransform(view: DocumentBoundsView, shape: SerializedShape, host?: DocumentBoundsHost, parentViewport?: SvgViewportSize): ShapeReferenceTransformResult;
|
|
13452
|
-
/**
|
|
13453
|
-
* Resolve the transform emitted on one symbol-instance use element. SVG 2
|
|
13454
|
-
* section 5.5.2 orders imported use transform, canonical or legacy instance
|
|
13455
|
-
* transform, and then the supplemental x/y translation into the shadow tree.
|
|
13456
|
-
*/
|
|
13457
|
-
declare function resolveSymbolInstanceTransform(view: DocumentBoundsView, shape: SerializedShape, host?: DocumentBoundsHost, parentViewport?: SvgViewportSize): SymbolInstanceTransformResult;
|
|
13458
|
-
/** Union every snapshot root in the requested target coordinate system. */
|
|
13459
|
-
declare function documentObjectBounds(view: DocumentBoundsView, options?: DocumentBoundsOptions, host?: DocumentBoundsHost): BoundsResult;
|
|
13460
|
-
interface InlineContainerTransformResult {
|
|
13461
|
-
transform: ResolvedContainerTransform;
|
|
13462
|
-
contentBounds: BoundsResult | null;
|
|
13463
|
-
pivotRequired: boolean;
|
|
13464
|
-
pivotResolved: boolean;
|
|
13622
|
+
interface GeneratedFilterEnvelope extends FilterEnvelopeBase {
|
|
13623
|
+
kind: 'generated';
|
|
13624
|
+
filters: readonly ShapeFilter[];
|
|
13625
|
+
primitiveUnits: FilterUnits;
|
|
13465
13626
|
}
|
|
13627
|
+
type FilterDefinitionEnvelope = RawFilterEnvelope | PrimitiveChainFilterEnvelope | GeneratedFilterEnvelope;
|
|
13466
13628
|
/**
|
|
13467
|
-
*
|
|
13468
|
-
*
|
|
13469
|
-
*
|
|
13629
|
+
* Build the one portable pattern definition consumed by static rendering and
|
|
13630
|
+
* platform projections. SVG 2 section 14.3 keeps tile lengths on the pattern
|
|
13631
|
+
* resource, so valid source spellings remain authoritative over the numeric
|
|
13632
|
+
* editor projection.
|
|
13470
13633
|
*/
|
|
13471
|
-
declare function
|
|
13634
|
+
declare function patternDefinitionEnvelope(id: string, pattern: PatternFill): PatternDefinitionEnvelope;
|
|
13635
|
+
declare function linearGradientEnvelope(id: string, gradient: LinearGradient): GradientDefinitionEnvelope;
|
|
13636
|
+
declare function radialGradientEnvelope(id: string, gradient: RadialGradient): GradientDefinitionEnvelope;
|
|
13637
|
+
declare function filterChainExtendsBounds(filters: readonly ShapeFilter[]): boolean;
|
|
13638
|
+
declare function filterDefinitionEnvelope(filterId: string, filters: readonly ShapeFilter[], attrs?: FilterElementAttrs): FilterDefinitionEnvelope | null;
|
|
13472
13639
|
|
|
13473
13640
|
/**
|
|
13474
13641
|
* Connector routing — pure path-math for line shapes acting as connectors,
|
|
@@ -13597,6 +13764,20 @@ declare function renderForeignObject(shape: SerializedShape, ctx?: RenderShapeCo
|
|
|
13597
13764
|
* is optional and degrades to the context-free behavior when absent, so
|
|
13598
13765
|
* the per-shape renderers stay callable in isolation.
|
|
13599
13766
|
*/
|
|
13767
|
+
/**
|
|
13768
|
+
* Root-open-tag rewrites a planning stage applies to an already-rendered
|
|
13769
|
+
* shape. The two operations are kept distinct and named rather than folded
|
|
13770
|
+
* into one generic map, because they are not interchangeable: an attribute
|
|
13771
|
+
* the renderer owns is REPLACED, while inline style declarations are
|
|
13772
|
+
* APPENDED so the planner's contribution loses to nothing the shape itself
|
|
13773
|
+
* declared for a different property and wins the cascade against its own.
|
|
13774
|
+
*/
|
|
13775
|
+
interface RenderedRootOverrides {
|
|
13776
|
+
/** Attribute values that replace whatever the renderer emitted. */
|
|
13777
|
+
readonly replace?: ReadonlyMap<string, string>;
|
|
13778
|
+
/** Declarations appended to the element's existing inline `style`. */
|
|
13779
|
+
readonly appendStyle?: string;
|
|
13780
|
+
}
|
|
13600
13781
|
interface RenderShapeContext {
|
|
13601
13782
|
/** Keep native inline CSS animation assignments instead of normalized SMIL fallback. */
|
|
13602
13783
|
retainCssAnimationDeclarations?: boolean;
|
|
@@ -13672,10 +13853,35 @@ interface RenderShapeContext {
|
|
|
13672
13853
|
forcedElementIds?: ReadonlySet<string>;
|
|
13673
13854
|
/** Deterministic collision-free root element id allocated by the render plan. */
|
|
13674
13855
|
elementIdForShape?: (shape: SerializedShape) => string | undefined;
|
|
13856
|
+
/**
|
|
13857
|
+
* Root-attribute values that replace whatever the renderer emitted for the
|
|
13858
|
+
* same names, applied after authored passthrough and before animation
|
|
13859
|
+
* children.
|
|
13860
|
+
*
|
|
13861
|
+
* Ephemeral rendered-state input from a planning stage, in the same sense as
|
|
13862
|
+
* {@link renderClipMaskDefinitionShape}'s transform override: the serialized
|
|
13863
|
+
* shape remains the sole document authority, and the override exists because
|
|
13864
|
+
* the emitted frame is a function of the document PLUS a timeline. The
|
|
13865
|
+
* variant-transition planner uses it to rewrite the pre-SMIL base transform
|
|
13866
|
+
* of a polygon-family inner shape, which no combination of shape state can
|
|
13867
|
+
* spell (the kernel emits a simplified `translate(cx, cy) rotate(r)` frame
|
|
13868
|
+
* that the shape's own transform emission does not produce).
|
|
13869
|
+
*/
|
|
13870
|
+
rootAttributeOverridesForShape?: (shape: SerializedShape) => RenderedRootOverrides | undefined;
|
|
13675
13871
|
/** SMIL children owned by this exact serialized shape in the document tree. */
|
|
13676
13872
|
animationElementsForShape?: (shape: SerializedShape) => readonly string[] | undefined;
|
|
13677
13873
|
/** SMIL children targeting this text shape's canonical `<textPath>` sub-element. */
|
|
13678
13874
|
textPathAnimationElementsForShape?: (shape: SerializedShape) => readonly string[] | undefined;
|
|
13875
|
+
/**
|
|
13876
|
+
* SMIL children that animate this text shape's PRIVATE text-path geometry
|
|
13877
|
+
* (`textPathMorph`): injected inside the generated `<path id="text-path-{id}">`
|
|
13878
|
+
* definition in defs-path mode. In path-attr mode the plan routes the same
|
|
13879
|
+
* tracks through `textPathAnimationElementsForShape` (children of
|
|
13880
|
+
* `<textPath>`) because the animated attribute is `path` on that element.
|
|
13881
|
+
* Never consulted when the text links another shape or definition: the
|
|
13882
|
+
* referent owns the geometry and its own `pathMorph` track is the morph.
|
|
13883
|
+
*/
|
|
13884
|
+
textPathGeometryAnimationElementsForShape?: (shape: SerializedShape) => readonly string[] | undefined;
|
|
13679
13885
|
/** SMIL children targeting one structurally addressed canonical tspan. */
|
|
13680
13886
|
textSpanAnimationElementsForShape?: (shape: SerializedShape, spanId: string) => readonly string[] | undefined;
|
|
13681
13887
|
/** SMIL children owned by one stop inside a shared gradient definition. */
|
|
@@ -13692,6 +13898,24 @@ interface RenderShapeContext {
|
|
|
13692
13898
|
readonly siblingIndex: number;
|
|
13693
13899
|
readonly markup: string;
|
|
13694
13900
|
}[] | undefined;
|
|
13901
|
+
/**
|
|
13902
|
+
* What an `instanceVariant` transition adds to one EMITTED symbol
|
|
13903
|
+
* definition: inner content appended after the definition's own, and the
|
|
13904
|
+
* scope class the CSS encoding puts on the definition root.
|
|
13905
|
+
*
|
|
13906
|
+
* Keyed by emitted target id rather than definition id: dedicated
|
|
13907
|
+
* per-instance materializations share a definition but must not share the
|
|
13908
|
+
* content a track derives for one of them.
|
|
13909
|
+
*
|
|
13910
|
+
* The children arrive pre-rendered because they are addressed by a
|
|
13911
|
+
* synthesized inner id (`<id>--xf`) that is deliberately NOT a document
|
|
13912
|
+
* shape id, so they cannot travel as `SerializedShape`s through the
|
|
13913
|
+
* id-keyed content map {@link renderResolvedSymbolLibraryDef} builds.
|
|
13914
|
+
*/
|
|
13915
|
+
variantTransitionDefinitionContent?: (emittedId: string) => {
|
|
13916
|
+
readonly children: readonly string[];
|
|
13917
|
+
readonly scopeClass?: string;
|
|
13918
|
+
} | undefined;
|
|
13695
13919
|
}
|
|
13696
13920
|
/**
|
|
13697
13921
|
* SymbolInstance - a component instance, emitted as SVG 2 §5.6
|
|
@@ -13763,6 +13987,104 @@ declare function renderRadialGradient(id: string, g: RadialGradient, ctx?: Rende
|
|
|
13763
13987
|
*/
|
|
13764
13988
|
declare function renderBuiltinMarkerDefs(referenced: MarkerReferenceSets | SerializedShape[], library?: readonly LibraryDef[]): string;
|
|
13765
13989
|
|
|
13990
|
+
/**
|
|
13991
|
+
* Variant-transition render planning — the stage that turns an
|
|
13992
|
+
* `instanceVariant` timeline track into emitted document content.
|
|
13993
|
+
*
|
|
13994
|
+
* An `instanceVariant` track cycles a symbol instance through its
|
|
13995
|
+
* definition's variants. SVG has no such concept, so the track has to be
|
|
13996
|
+
* decomposed into concrete per-element animations against the dedicated
|
|
13997
|
+
* per-instance definition that {@link buildSymbolMaterializationPlan}
|
|
13998
|
+
* allocated for it. {@link ./variant-transition-kernels} owns every value in
|
|
13999
|
+
* that decomposition; this module is what places the result in the document.
|
|
14000
|
+
*
|
|
14001
|
+
* It exists because the decomposition used to happen only in the editor, as a
|
|
14002
|
+
* DOM pass over the assembled export. Core emitted the dedicated definition
|
|
14003
|
+
* and nothing inside it, so the CLI, the SDK and the GitHub Action rendered a
|
|
14004
|
+
* variant-animated document frozen on its first variant. The conformance loop
|
|
14005
|
+
* measured that as a 1.95% raster divergence at t=2s.
|
|
14006
|
+
*
|
|
14007
|
+
* Every other authoring-level track is already decomposed by the render plan:
|
|
14008
|
+
* `textPathMorph` into `<animate attributeName="d">` on a generated path def,
|
|
14009
|
+
* gradient stop tracks into `<animate>` on `<stop>`, motion into
|
|
14010
|
+
* `<animateMotion>` + `<mpath>`. `instanceVariant` was the exception.
|
|
14011
|
+
*
|
|
14012
|
+
* The output is four DOM-free channels consumed through
|
|
14013
|
+
* {@link RenderShapeContext} seams that already existed for definition-local
|
|
14014
|
+
* animation, plus the stylesheet and script bodies the two non-SMIL
|
|
14015
|
+
* encodings need. Nothing here locates an element: core BUILDS the symbol,
|
|
14016
|
+
* so every inner element's identity is known at construction time.
|
|
14017
|
+
*
|
|
14018
|
+
* @packageDocumentation
|
|
14019
|
+
*/
|
|
14020
|
+
|
|
14021
|
+
/** Which encoding an `instanceVariant` track is decomposed into. */
|
|
14022
|
+
type VariantTransitionTarget = 'smil' | 'css' | 'waapi';
|
|
14023
|
+
/** Inner content and root decoration a transition adds to one definition. */
|
|
14024
|
+
interface VariantTransitionDefinitionContent {
|
|
14025
|
+
readonly children: readonly string[];
|
|
14026
|
+
readonly scopeClass?: string;
|
|
14027
|
+
}
|
|
14028
|
+
interface VariantTransitionRenderPlan {
|
|
14029
|
+
/** Emitted target id → appended content and CSS scope class. */
|
|
14030
|
+
readonly definitionContent: ReadonlyMap<string, VariantTransitionDefinitionContent>;
|
|
14031
|
+
/** Emitted target id → inner shape id → SMIL children. */
|
|
14032
|
+
readonly innerAnimations: ReadonlyMap<string, ReadonlyMap<string, readonly string[]>>;
|
|
14033
|
+
/** Emitted target id → inner shape id → root-open-tag rewrites. */
|
|
14034
|
+
readonly innerRootOverrides: ReadonlyMap<string, ReadonlyMap<string, RenderedRootOverrides>>;
|
|
14035
|
+
/** Gradient definition id → stop index → SMIL children. */
|
|
14036
|
+
readonly gradientStopAnimations: ReadonlyMap<string, ReadonlyMap<number, readonly string[]>>;
|
|
14037
|
+
/** Gradient definition id → SMIL children on the definition root. */
|
|
14038
|
+
readonly gradientRootAnimations: ReadonlyMap<string, readonly string[]>;
|
|
14039
|
+
/** `@keyframes` rules for the CSS encoding. */
|
|
14040
|
+
readonly stylesheet: string | null;
|
|
14041
|
+
/** Self-contained runtime script for the WAAPI encoding. */
|
|
14042
|
+
readonly scriptBody: string | null;
|
|
14043
|
+
/**
|
|
14044
|
+
* Emitted symbol ids a stylesheet or script addresses BY NAME. Definition
|
|
14045
|
+
* deduplication renames collapsed ids, and it rewrites markup channels
|
|
14046
|
+
* only, so an id reached from a script would silently stop resolving.
|
|
14047
|
+
*/
|
|
14048
|
+
readonly addressedSymbolIds: ReadonlySet<string>;
|
|
14049
|
+
readonly isEmpty: boolean;
|
|
14050
|
+
}
|
|
14051
|
+
interface VariantTransitionPlanOptions {
|
|
14052
|
+
readonly snapshot: HistorySnapshot;
|
|
14053
|
+
readonly symbols: SymbolMaterializationPlan;
|
|
14054
|
+
readonly target: VariantTransitionTarget;
|
|
14055
|
+
/** The context the owning definition renders its own content with. */
|
|
14056
|
+
readonly shapeContext: RenderShapeContext | undefined;
|
|
14057
|
+
/** Root percentage basis, for the bounds view behind rotation pivots. */
|
|
14058
|
+
readonly parentViewport?: Readonly<SvgViewportSize>;
|
|
14059
|
+
/** Measured text bounds, for inner shapes with no analytic center. */
|
|
14060
|
+
readonly measureShapeTextBounds?: ShapeObjectBoundsHost['measureText'];
|
|
14061
|
+
}
|
|
14062
|
+
/**
|
|
14063
|
+
* Decompose every `instanceVariant` track in a snapshot into emitted content.
|
|
14064
|
+
*
|
|
14065
|
+
* Returns the empty plan when the document has no such track, so a document
|
|
14066
|
+
* without variant animation pays nothing and emits byte-identical output.
|
|
14067
|
+
*/
|
|
14068
|
+
declare function planVariantTransitions(options: VariantTransitionPlanOptions): VariantTransitionRenderPlan;
|
|
14069
|
+
/**
|
|
14070
|
+
* The CSS encoding's `@keyframes` rules as a document `<style>` element.
|
|
14071
|
+
*
|
|
14072
|
+
* The DOM encoder inserted this as the root's FIRST child, reasoning that the
|
|
14073
|
+
* keyframes had to be "defined before any element references them". CSS
|
|
14074
|
+
* Animations 1 §3 resolves an `animation-name` against the document's whole
|
|
14075
|
+
* set of `@keyframes` rules regardless of where they appear, so the rules
|
|
14076
|
+
* travel in the ordinary document stylesheet channel instead.
|
|
14077
|
+
*/
|
|
14078
|
+
declare function renderVariantTransitionStylesheet(stylesheet: string | null): string;
|
|
14079
|
+
/**
|
|
14080
|
+
* The WAAPI encoding's runtime as a document `<script>` element.
|
|
14081
|
+
*
|
|
14082
|
+
* Routed through the shared inline-body policy: the generated body contains a
|
|
14083
|
+
* bare `<` in its loop condition, so it has to be CDATA-wrapped or the
|
|
14084
|
+
* document is not well-formed XML.
|
|
14085
|
+
*/
|
|
14086
|
+
declare function renderVariantTransitionScript(scriptBody: string | null): string;
|
|
14087
|
+
|
|
13766
14088
|
/**
|
|
13767
14089
|
* Structured clip/mask group rendering for the headless renderer.
|
|
13768
14090
|
*
|
|
@@ -13834,7 +14156,7 @@ declare function renderClipMaskDefinitionShape(shape: SerializedShape, type: 'cl
|
|
|
13834
14156
|
* Build the render plan for a snapshot's clip/mask groups. Returns the
|
|
13835
14157
|
* empty plan when the document has none.
|
|
13836
14158
|
*/
|
|
13837
|
-
declare function planClipMaskGroups(snapshot: HistorySnapshot, animationElementsByShapeId?: ReadonlyMap<string, readonly string[]>, textPathAnimationElementsByShapeId?: ReadonlyMap<string, readonly string[]>, definitionAnimationElements?: (definitionId: string, nodeId?: string) => readonly string[] | undefined): ClipMaskRenderPlan;
|
|
14159
|
+
declare function planClipMaskGroups(snapshot: HistorySnapshot, animationElementsByShapeId?: ReadonlyMap<string, readonly string[]>, textPathAnimationElementsByShapeId?: ReadonlyMap<string, readonly string[]>, definitionAnimationElements?: (definitionId: string, nodeId?: string) => readonly string[] | undefined, textPathGeometryAnimationElementsByShapeId?: ReadonlyMap<string, readonly string[]>): ClipMaskRenderPlan;
|
|
13838
14160
|
/**
|
|
13839
14161
|
* Inject `clip-path|mask="url(#defId)"` into an already-rendered
|
|
13840
14162
|
* element's root open tag - the single-content-member rule.
|
|
@@ -13952,6 +14274,24 @@ interface RenderPlanOptions {
|
|
|
13952
14274
|
* definition shared by untracked sibling instances.
|
|
13953
14275
|
*/
|
|
13954
14276
|
symbolInstanceInitialVariants?: ReadonlyMap<string, string>;
|
|
14277
|
+
/**
|
|
14278
|
+
* Which encoding an `instanceVariant` track is decomposed into.
|
|
14279
|
+
*
|
|
14280
|
+
* Defaults to `'smil'`, the only encoding that animates a standalone SVG
|
|
14281
|
+
* with no script and no host stylesheet, and the one every raster backend
|
|
14282
|
+
* can seek. `'css'` suits an SVG embedded in HTML; `'waapi'` suits a
|
|
14283
|
+
* consumer that wants to drive the animations from script.
|
|
14284
|
+
*/
|
|
14285
|
+
variantTransitionTarget?: VariantTransitionTarget;
|
|
14286
|
+
/**
|
|
14287
|
+
* Measured text bounds, used for the rotation pivot of a variant-animated
|
|
14288
|
+
* inner shape whose center is not analytic (text, containers).
|
|
14289
|
+
*
|
|
14290
|
+
* Distinct from {@link textMeasurementHost}, which measures advance widths
|
|
14291
|
+
* for line breaking. Without it those rotations are dropped and reported as
|
|
14292
|
+
* `unresolved-variant-transition-pivot`.
|
|
14293
|
+
*/
|
|
14294
|
+
measureShapeTextBounds?: ShapeObjectBoundsHost['measureText'];
|
|
13955
14295
|
}
|
|
13956
14296
|
/** Which root frame attributes to leave off the emitted `<svg>` tag. */
|
|
13957
14297
|
interface RenderFrameAttributeOmissions {
|
|
@@ -14110,14 +14450,6 @@ interface RenderPlan {
|
|
|
14110
14450
|
}
|
|
14111
14451
|
/** The canonical `<defs>` children concatenated in model order. */
|
|
14112
14452
|
declare function renderPlanDefsBody(defs: RenderPlanDefs): string;
|
|
14113
|
-
/**
|
|
14114
|
-
* Build the render plan for a snapshot.
|
|
14115
|
-
*
|
|
14116
|
-
* Pure with respect to output: the same snapshot and options always
|
|
14117
|
-
* produce the same plan. Problems found along the way (unsupported
|
|
14118
|
-
* shape types, dangling references) are reported through the ambient
|
|
14119
|
-
* diagnostics channel.
|
|
14120
|
-
*/
|
|
14121
14453
|
declare function buildRenderPlan(snapshot: HistorySnapshot, options?: RenderPlanOptions): RenderPlan;
|
|
14122
14454
|
/**
|
|
14123
14455
|
* Extract SVG path `d` data from a serialized shape for motion-path use.
|
|
@@ -18421,4 +18753,4 @@ interface RasterQualityReport {
|
|
|
18421
18753
|
*/
|
|
18422
18754
|
declare function compareImages(reference: RasterImage, candidate: RasterImage, opts?: CompareImagesOptions): RasterQualityReport;
|
|
18423
18755
|
|
|
18424
|
-
export { ANIMATION_MANAGER_INTERPOLATION_POLICY, type AdditiveAnimationValue, type Affine2D, type AffineTransformMatrix, type AggregateDocumentFieldKey, type AlphaMode, type AngleInterpolationPolicy, type AnimatablePropertyDescriptor, type AnimationCycleTrack, type AnimationDefinitionTarget, type AnimationKeyframe, type AnimationOperation, type AnimationTimeline, type AnimationTrack, type AnimationTrackTimeSample, type AnimationTrigger, type AnimationTriggerType, type AnyNodeProps, type AppearanceExpansion, type AppearanceExpansionDeps, type AppearanceFillLayer, type AppearanceLayer, type AppearanceLayerKind, type AppearancePaintValue, type AppearanceStrokeLayer, type AppearanceStyleLibraryDef, type AppearanceStyleSource, type AppliedIngestPlan, type ApplyIngestPlanOptions, type ArcCenterParameterization, type ArcParams, type AriaRole, Arrow, type ArrowNodeProps, Audio, type AuthoredGradientGeometry, type AuthoredLengthCoordinate, type AuthoredMarkerGeometry, type AuthoredPaintReference, type AuthoredPatternGeometry, type AuthoredTextCoordinate, type AuthoredTextPosition, type AuthoredUseGeometry, BASE_FILL_LAYER_ID, BASE_STROKE_LAYER_ID, BROWSER_SVG_EXTENSION_URIS, BUILTIN_MARKER_ID_MAP, type BaseFilter, type BaseFilterPrimitive, type BlackAndWhiteFilter, type BlurQuality, type BoundingBox, type BoundsDiagnostic, type BoundsDiagnosticCode, type BoundsRect, type BoundsResult, type BoundsStatus, type BrightnessFilter, type BuildForeignImportReportInput, type BuildSvgDestinationIdentityIndexOptions, type BuiltinShapeGeometryType, CANONICAL_NORMALIZATION_FAULT_POINTS, CC_NS, COLLAB_PROTOCOL_VERSION, COMMON_PROP_DEFAULTS, COMMON_TRANSFORM_NODE_DEFAULTS, CONNECTOR_LABEL_BASELINE_LIFT, CONNECTOR_LABEL_FONT_FAMILY, CONNECTOR_LABEL_FONT_SIZE, CSS_GENERIC_FAMILY_NAMES, CURRENT_SCHEMA_VERSION, CanonicalDocument, type CanonicalNormalizationFaultPoint, type CanonicalRootFramePolicy, type CanonicalSnapshotNormalizationOptions, type CanonicalSnapshotNormalizationResult, type ChannelPainterFilter, Circle, type CircleNodeProps, type CircleShapeGeometry, type ClipMaskDefinition, type ClipMaskGroupDeltaOperation, type ClipMaskOperation, type ClipMaskRenderPlan, type ClipMaskWrapDirective, Cloud, type CloudNodeProps, type CodeFormat, type CodegenOptions, type CollabClock, type CollaborationSnapshot, type CollaborationStamp, type CollaborationState, type ColorInterpolationPolicy, type CommonNodeProps, type CommonTransformNodeProps, type CompareImagesOptions, type ConnectionDirection, type ConnectionDirectionValue, type ConnectionPoint, type ConnectionPointValue, type ConnectorAnchorResolver, type ConnectorEndpointRefValue, type ConnectorLabelAnchor, type ConnectorRouteResult, type ConnectorRoutingModeValue, Container, type ContainerContentBounds, type ContainerNodeProps, ContainerShapeBuilder, type ContainerShapeGeometry, type ContainerTransformOwner, type ContouringDiscreteFilter, type ContouringTableFilter, type ContrastFilter, type CornerShapeValue, type CreateDocumentOptions, type CreateShapeOptions, Cross, type CrossNodeProps, type CrumpledPlasticFilter, type CssAnimationSourceGroup, type CssFunctionToken, type CssLocalUrlToken, type CssProjectedTransformChannel, type CssProjectedTransformStop, type CssTopLevelRange, type CssTransformBox, type CssTransformOrigin, type CssTransformOriginContext, type CssTransformProjection, type CssTransformProjectionStatus, type CssTransformStop, type CssTransformValueIssue, type CustomPatternDef, type CycleBehavior, type CylinderNodeProps, DC_NS, DEFAULT_CONNECTOR_CORNER_RADIUS, DEFAULT_CONNECTOR_LABEL_OFFSET, DEFAULT_CONNECTOR_LABEL_POSITION, DEFAULT_COORDINATE_PRECISION, DEFAULT_FONT_WEIGHT, DEFAULT_RICH_TEXT_STYLE, DOCUMENT_BYTE_KINDS, DOCUMENT_FIELDS, DOCUMENT_FIELD_LIVE_AUTHORITY, DOCUMENT_IMPORT_INTENTS, DOCUMENT_IMPORT_KINDS, DOCUMENT_INGEST_POLICIES, DOCUMENT_SECTION_ORDER, type DecodedSvgSource, type DecorationOutcome, type DeepReadonly, type DefinitionAttribute, type DefinitionAuthoredPlacement, type DefinitionPlacementIndex, type DefinitionPlacementScope, type DeltaEStats, type DescriptiveEmissionOptions, type DiamondNodeProps, type DiffuseLightingFilter, type DocumentBoundsHost, type DocumentBoundsOptions, type DocumentBoundsView, DocumentBuilder, type DocumentBuilderOptions, type DocumentByteKind, type DocumentDefinitionContainer, type DocumentExtension, type DocumentExtensionAttribute, type DocumentExtensionCharacterNode, type DocumentExtensionElementNode, type DocumentExtensionNode, type DocumentFieldAuthority, type DocumentFieldDescriptor, type DocumentFieldKey, type DocumentFieldRegistryGates, type DocumentMetadata, DocumentModel, type DocumentNodeProps, type DocumentReplacementHooks, type DocumentReplacementListener, type DocumentReplacementResult, type DocumentReplacementTransition, type DocumentResourceOperation, type DocumentScript, type DocumentSectionKey, type DocumentSectionListener, type DocumentSectionOrderGates, DocumentSession, type DocumentSessionView, type DocumentShapeNodeProps, type DocumentStyle, type DropShadowFilter, type DuotoneFilter, EASING_CURVES, EasingType, Ellipse, type EllipseNodeProps, type EllipseShapeGeometry, type EmbeddedPayloadRewriter, type EmbeddedPayloadSlotKind, type EmbeddedSvgShapeGeometry, type EmbeddedSvgTransformResult, type EmbeddedSvgViewportOverride, type EmbossFilter, type EnsureTextSpanRangeResult, type EvaluateSvgConditionalProcessingOptions, type ExpandedName, type ExportItemOperation, type Extent1D, type ExtractedVariables, FLOWCHART_GEOMETRY_DEFAULTS, type FeBlendPrimitive, type FeColorMatrixPrimitive, type FeComponentTransferPrimitive, type FeCompositePrimitive, type FeConvolveMatrixPrimitive, type FeDiffuseLightingPrimitive, type FeDisplacementMapPrimitive, type FeDropShadowPrimitive, type FeFloodPrimitive, type FeGaussianBlurPrimitive, type FeImagePrimitive, type FeMergePrimitive, type FeMorphologyPrimitive, type FeOffsetPrimitive, type FeSpecularLightingPrimitive, type FeTilePrimitive, type FeTurbulencePrimitive, type FieldPrecision, type FieldSerialization, type FillType, type FilmGrainFilter, type FilterBlendMode, type FilterChainGroup, type FilterDefinitionEnvelope, type FilterElementAttrs, type FilterLibraryDef, type FilterLightSource, type FilterPrimitive, type FilterPrimitiveType, type FilterType, type FlowchartBoxNodeProps, type FlowchartBoxParams, type FlowchartBoxType, type FontCoverageResult, type FontCoverageStatus, type FontFaceRequest, type FontVariantCssInput, type ForeignImportBucket, type ForeignImportContainer, type ForeignImportFontRequirement, type ForeignImportReport, type ForeignImportReportItem, type ForeignImportVocabulary, type ForeignObjectNodeProps, type FusableTrack, type FusableViewBoxTrack, type GaussianBlurFilter, Gear, type GearNodeProps, type GenerateCodeResult, type GenerateSudokuOptions, type GeneratedFilterEnvelope, type GeneratedSudokuPuzzle, type GeneratedWordSearch, type GlowFilter, type GouacheFilter, type GradientDefinition, type GradientDefinitionEnvelope, type GradientLibraryDef, type GradientSpreadMethod, type GradientStop, type GradientStopEnvelope, type GradientTransformMatrix, type GradientUnits, type GraphChangeListener, type GrayscaleFilter, type GroupNodeProps, type GroupPresentationData, type Guide, type GuideDeltaOperation, HEADLESS_SVG_STYLE_ENVIRONMENT, Heart, type HeartNodeProps, type HistorySnapshot, type HueRotateFilter, Hyperlink, type HyperlinkNodeProps, IDENTITY_AFFINE, INGEST_APPLY_STAGES, INGEST_DIAGNOSTIC_CODES, INGEST_DOCUMENT_ROOT_IDENTITY, INGEST_FEATURES, INGEST_FEATURE_CAPABILITIES, INGEST_PLAN_VERSION, INGRESS_INTENTS, INLINE_CHILD_CONTAINER_TYPES, type ImageAttribution, type ImageNodeProps, ImageShape, type IndexedResource, IngestApplicationError, type IngestApplyContext, type IngestApplyStage, type IngestDiagnostic, type IngestDiagnosticCode, type IngestDiagnosticSeverity, type IngestDocumentFieldCandidates, type IngestExternalEffectValue, type IngestExternalFontDescriptorsValue, type IngestExternalFontSourceValue, type IngestFeature, type IngestFeatureCapability, type IngestFeatureCapabilityGates, type IngestFeatureIntentMatrix, type IngestFeatureStatus, type IngestFieldPolicy, type IngestFieldPolicyAction, type IngestFieldPolicyGates, type IngestFieldPolicyMatrix, type IngestNodeDecoration, type IngestNodeDecorations, type IngestPlan, type IngestPlanApplyAdapter, type IngestPlanValue, type IngestReferenceEdgeValue, type IngestResult, type IngestRootFrameValue, type IngestShapeCandidateValue, type IngestSource, type IngestSourceDescriptor, type IngestSourceElementDescriptor, type IngressIntent, type InkBlotFilter, type InlineContainerTransformResult, type InnerGlowFilter, type InnerShadowFilter, type InterpolationCharOffset, type InterpolationColor, type InterpolationGradient, type InterpolationGradientStop, type InterpolationPoint, type InterpolationSplinePoint, type InvertFilter, type JsonObject, type JsonPrimitive, type JsonValue, KNOWN_METADATA_PREFIXES, KNOWN_STATE_KEYS, type KeyedSerializedAnimationKeyframe, LAYER_PRESENTATION_IDS, LIBRARY_ASSEMBLY_KIND_ORDER, LIBRARY_EMIT_ORDER, LIBRARY_KINDS, type LibraryDef, type LibraryDefBase, type LibraryDefOfKind, type LibraryDefinitionIndex, type LibraryIndex, type LibraryKind, type LibrarySource, type LicenseType, type LightSource, Lightning, type LightningNodeProps, Line, type LineEndpointValue, type LineNodeProps, type LineShapeGeometry, type LinearEasingPoint, type LinearGradient, LinearGradientBuilder, type LinearGradientLibraryDef, type LinearGradientLibraryValue, type LiveInterpolationPolicy, type LoweredPathNodeTracks, MARKER_HEIGHT, MARKER_VIEWBOX, MARKER_WIDTH, MATHML_EXTENSION_URI, MAX_COORDINATE_PRECISION, MIGRATIONS, type MarkerDescriptor, type MarkerLibraryDef, type MarkerReferenceSets, type MaterializedIngestNode, type MatrixDecomposition2D, type Measurement, type MeasurementDeltaOperation, type MediaNodeProps, type MetadataDeltaOperation, type MetadataDescriptiveElement, type MigratableVersion, type Migration, type MorphologyFilter, type MorphologyOperator, type MotionBlurFilter, NAMESPACE_VOCABULARIES, NGon, type NGonNodeProps, NON_RENDERING_LIBRARY_KINDS, NON_WIRE_PROP_KEYS, NUMERIC_SHAPE_TRANSFORM_STATE_KEYS, type NamedResource, type NamespaceVocabulary, NestedSvg, type NodeChangeListener, type NodeFactoryMode, NodeSchemaRegistry, type NodeTypePropsMap, type NodeTypeSchema, type NoiseFilter, type OpMetadataPatch, type OpShapeState, type OpacityFilter, type Operation, type OperationValidationIssue, type OperationValidationResult, type OutlineFilter, type OutlinePosition, PAINT_SERVER_PASSTHROUGH_ATTR, POLYGON_GEOMETRY_DEFAULTS, PRESENTATION_SEMANTICS, PUZZLE_DEFAULTS, type ParallelogramNodeProps, type ParseOptions, type ParsedCssAnimation, type ParsedPreserveAspectRatio, type ParsedSvgPathCommand, type ParsedSvgPathCommandType, type ParsedSvgViewBox, type ParsedTimingFunction, Path, type PathBoundsRect, PathCurveType, type PathNodeChannel, type PathNodeGeometry, type PathNodeProps, type PathPoint, PathPointType, type PathShapeGeometry, PatternBuilder, type PatternDefinitionEnvelope, type PatternElement, type PatternFill, type PatternLibraryDef, type PatternParams, type PatternSvgContentResult, type PatternType, type PixelateFilter, type PlanSnapshotExternalEffectsOptions, type PlanSvgAnimationsOptions, type PlanSvgClipMasksOptions, type PlanSvgConditionalProcessingOptions, type PlanSvgContainerHierarchyOptions, type PlanSvgExternalEffectsOptions, type PlanSvgFiltersOptions, type PlanSvgGradientsOptions, type PlanSvgImportOptions, type PlanSvgLeafGeometryOptions, type PlanSvgMarkersOptions, type PlanSvgMetadataOptions, type PlanSvgOccurrenceViewportsOptions, type PlanSvgPaintServerDefinitionsOptions, type PlanSvgPatternsOptions, type PlanSvgResourceDependenciesOptions, type PlanSvgScriptsOptions, type PlanSvgStyleCascadeOptions, type PlanSvgSymbolUsesOptions, type PlanSvgUseOccurrencesOptions, type Point, type PointLightFilter, type PolygonBaseNodeProps, Polyline, type PolylineNodeProps, type PolylineShapeGeometry, type PositioningRectShapeGeometry, type PresentationSemanticContext, type PresentationSemanticEntry, type PresentationSemanticId, type PresentationValueReader, type PresentationWrite, type PreserveAspectRatioAlign, type PreviousPlacement, type PrimitiveChainFilterEnvelope, type ProjectedTextLinePosition, type PropDef, type PropStamp, type PuzzleBounds, type PuzzleOptions, type PuzzlePiece, type PuzzleStyle, type PuzzleTabPattern, RDF_NS, RENDER_DIAGNOSTIC_CODES, RENDER_FEATURES, RENDER_FEATURE_CAPABILITIES, RENDER_TARGETS, RICH_TEXT_STYLE_KEYS, type RadialGradient, RadialGradientBuilder, type RadialGradientLibraryDef, type RadialGradientLibraryValue, type RasterImage, type RasterQualityReport, type RawFilterEnvelope, type RawSvgFilter, type Rect, Rectangle, type RectangleNodeProps, type RectangleShapeGeometry, type RejectedWordSearchWord, type RenderAnimationElementsOptions, type RenderCapability, type RenderCapabilityMatrix, type RenderCapabilityMatrixGates, type RenderDiagnostic, type RenderDiagnosticCode, type RenderDiagnosticSeverity, type RenderFeature, type RenderFeatureCapability, type RenderFeatureCapabilityGates, type RenderFeatureTargetMatrix, type RenderFinalizationOptions, type RenderFrameAttributeOmissions, type RenderOptions, type RenderPlan, type RenderPlanBodyEntry, type RenderPlanDefEntry, type RenderPlanDefKind, type RenderPlanDefinitionContainer, type RenderPlanDefs, type RenderPlanEnvelope, type RenderPlanFrame, type RenderPlanOptions, type RenderPlanShape, type RenderShapeContext, type RenderTarget, type RenderToSvgResult, type RenderedDefinitionAnimationElement, type ResolveSvgClipMaskContext, type ResolveSvgGradientGeometryContext, type ResolveSvgPatternTileContext, type ResolvedConnectorAnchor, type ResolvedConnectorEndpoints, type ResolvedContainerTransform, type ResolvedLibraryGradient, type ResolvedSvgPatternTile, type ResolvedSvgRectRadii, type ResolvedSvgViewport, type ResolvedSvgViewportFrame, type ResolvedSymbolDefinitionRender, type ResolvedSymbolInstanceContent, type ResolvedSymbolViewport, type ResolvedTextFragment, type ResolvedTextSpan, type ResolvedTextSpanChild, type ResolvedTextSpanProjection, type ResourceKey, type Rgba, type RichTextAlignmentBaseline, type RichTextDecoration, type RichTextFontWeight, type RichTextFormatRange, type RichTextLineSpan, type RichTextResolvedData, type RichTextResolvedLine, type RichTextResolvedSegment, type RichTextResolvedStyle, type RichTextRun, type RichTextRuns, type RichTextSegmentsInput, type RichTextStyleDelta, type RichTextTspanAttribute, type RiddledFilter, Ring, type RingNodeProps, type RootViewportFraming, type RoundEdgesFilter, SAXES_SVG_XML_PARSER_HOST, SCRIPT_ANIMATION_GENERATORS, SERIALIZED_SHAPE_STATE_KEYS, SHAPE_ENVELOPE_KEYS, SHAPE_GEOMETRY_DEFAULTS, SHAPE_TRANSFORM_STATE_KEYS, SVGSKETCH_NS, SVGSKETCH_PATH_EXTENSIONS, SVG_CONDITIONAL_PROCESSING_ATTRIBUTES, SVG_IMPORT_CAPABILITY_OWNERS, SVG_NAMESPACE, SVG_NS, SVG_PRESENTATION_PROPERTIES, SVG_WELL_KNOWN_NAMESPACE_URIS, type SaturateFilter, SceneGraph, SceneNode, type SceneTreeReplayHost, type ScriptAnimationCandidateScript, type ScriptAnimationGenerator, type ScriptAnimationSource, type SegmentCurveType, type SepiaFilter, type SerializedAnimationKeyframe, type SerializedAnimationTimeline, type SerializedAnimationTrack, type SerializedCharOffset, type SerializedClipMaskGroup, type SerializedColorGlyph, type SerializedColorGlyphLibrary, type SerializedExportItem, type SerializedGroup, type SerializedMarkerDef, type SerializedPaintServerDef, type SerializedSceneNodePlacement, type SerializedShape, type SerializedShapeState, type SerializedShapeStateKeyGates, type SerializedShapeTransformState, type SerializedSymbolDef, type SerializedVariantAxis, type SerializedViewbox, type SeverityOptions, type SeverityReport, ShapeBuilder, type ShapeEnvelopeKeyGates, type ShapeFilter, type ShapeGeometryDefaultsType, type ShapeGeometryDescriptor, type ShapeGeometryKernel, type ShapeGeometryRendererKey, type ShapeLibraryDefBase, type ShapeLocalObjectBoundsHost, type ShapeMetadata, type ShapeObjectBoundsHost, type ShapeOutlineCapability, ShapeReference, type ShapeReferenceGeometry, type ShapeReferenceNodeProps, type ShapeReferenceTransformResult, type ShapeTransformState, type ShapeTreeVisitor, type SharpenFilter, type SmilAnimationKeyframe, type SmilCalcMode, type SmilKeyframeAttributes, type SmilKeyframeData, type SmilTimingRelation, type SmilTimingTrack, type SmilValue, type SmilValueAttributes, type SmilValueType, type SmilViewBoxAxis, type SmilViewBoxQuartet, type SolveSudokuOptions, type SpecularLightingFilter, SpeechBubble, type SpeechBubbleNodeProps, Spiral, type SpiralNodeProps, type SpliceTextSpanTreeResult, type SplinePointInput, type SpotLightFilter, Square, type SquareNodeProps, Star, type StarNodeProps, type StepPosition, type StepsParams, type StringifyOptions, type StrokeType, type StructureChangeListener, type StyledTextContent, type StyledTextLine, type StyledTextSegment, type StyledTextSource, type SudokuDifficulty, type SudokuGrid, type SudokuRating, type SudokuValidationResult, type SvgAnimationPlan, type SvgAnimationTargetStatus, type SvgAnimationTimelineDefinitionTarget, type SvgAnimationTimelineProjectionHost, type SvgAnimationTimelineShapeBinding, type SvgAppliedResourceDeclaration, type SvgAuthoredAttributeClassification, type SvgAuthoredAttributePlan, type SvgAuthoredAttributeRecord, type SvgAuthoredDeclaration, type SvgClipMaskBinding, type SvgClipMaskBindingStatus, type SvgClipMaskDefinition, type SvgClipMaskDefinitionMutation, type SvgClipMaskGeometryPlacement, type SvgClipMaskObjectBounds, type SvgClipMaskPlan, type SvgClipMaskRegion, type SvgClipMaskRepresentation, type SvgClipMaskResolution, type SvgClipMaskStatus, type SvgClipMaskType, type SvgClipMaskUnits, type SvgConditionalProcessingCandidate, type SvgConditionalProcessingCondition, type SvgConditionalProcessingPlan, type SvgContainerHierarchy, type SvgContainerHierarchyNode, type SvgContainerHierarchyPlacement, type SvgContainerKind, type SvgCssAnimationCandidate, type SvgCssKeyframeDeclaration, type SvgCssKeyframeStopPlan, type SvgCssKeyframesPlan, type SvgCssSpecificity, type SvgDescriptiveElement, type SvgDestinationIdAllocator, type SvgDestinationIdAssignment, type SvgDestinationIdRequest, type SvgDestinationIdentityChannel, type SvgDestinationIdentityIndex, type SvgDestinationIdentityOwner, type SvgDocumentMetadataCandidate, type SvgElementMetadataCandidate, type SvgElementStylePlan, type SvgEmbeddedFrameCandidate, type SvgEmbeddedFrameState, type SvgExternalAssetCandidate, type SvgExternalAssetStatus, type SvgExternalEffectsPlan, type SvgExternalFontCandidate, type SvgFilterBinding, type SvgFilterBindingStatus, type SvgFilterCandidate, type SvgFilterCandidateStatus, type SvgFilterOperation, type SvgFilterOperationStatus, type SvgFilterPlan, type SvgFilterRegion, type SvgFramingRect, type SvgGradientCandidate, type SvgGradientFallback, type SvgGradientGeometryValue, type SvgGradientPaintBinding, type SvgGradientPlan, type SvgGradientStatus, type SvgGradientStopCandidate, type SvgGradientTransform, type SvgHtmlMetadataElement, type SvgImportCapabilityAuthority, type SvgImportCapabilityOwner, type SvgImportCapabilityOwnershipGates, SvgImportError, type SvgImportPlan, type SvgImportProjectionContext, type SvgIngestDiagnosticContext, type SvgLeafCanonicalType, type SvgLeafGeometryCandidate, type SvgLeafGeometryPlan, type SvgLeafGeometryStatus, type SvgLengthContext, type SvgLengthToken, type SvgLocalReferenceChannel, type SvgMarkerAnimationCandidate, type SvgMarkerAuthoredGeometry, type SvgMarkerCandidate, type SvgMarkerContentCandidate, type SvgMarkerPlan, type SvgMarkerStatus, type SvgMetadataPlan, type SvgNodeProps, type SvgOccurrenceViewportContext, type SvgOccurrenceViewportPlan, type SvgPaintServerDefinitionCandidate, type SvgPaintServerDefinitionPlan, type SvgParsedStyleAttribute, type SvgPathAffineMatrix, type SvgPathCommandType, type SvgPathExtensionCommandType, type SvgPathMetricPoint, type SvgPathMetrics, type SvgPathMetricsOptions, type SvgPathParseError, type SvgPathParseErrorCode, type SvgPathParseOptions, type SvgPathParseResult, type SvgPathParserExtensions, type SvgPatternCandidate, type SvgPatternContentOccurrence, type SvgPatternFallback, type SvgPatternPaintBinding, type SvgPatternPlan, type SvgPatternResourceCandidate, type SvgPatternStatus, type SvgPatternTransform, type SvgPatternValue, type SvgPlannedScript, type SvgPresentationAttributeApplicability, type SvgPrimitiveChainFilter, type SvgPropertySemantics, type SvgResourceDependencyClosure, type SvgResourceDependencyComponent, type SvgResourceDependencyEdge, type SvgResourceDependencyKind, type SvgResourceDependencyMaterialization, type SvgResourceDependencyPlan, type SvgResourceElementKind, type SvgResourceProperty, type SvgScriptCandidate, type SvgScriptPlan, type SvgScriptScope, type SvgSmilAnimationCandidate, type SvgSmilAnimationKind, type SvgSourceAttribute, type SvgSourceCharacterNode, SvgSourceDecodingError, type SvgSourceDocument, type SvgSourceElement, type SvgSourceElementIdPlan, type SvgSourceGeneratedIdPlan, type SvgSourceHref, type SvgSourceIdOccurrence, type SvgSourceIdentifierPlan, type SvgSourceIdentifierPlanOptions, type SvgSourceIndex, type SvgSourceLocalReference, type SvgSourceNode, type SvgSourceReferenceRewrite, type SvgSourceResourceIdPlan, type SvgSourceResourceKind, type SvgStyleCascadePlan, type SvgStyleDeclarationOrigin, type SvgStyleEnvironment, type SvgStyleRulePlan, type SvgStylesheetPlan, type SvgSymbolDefinitionCandidate, type SvgSymbolDefinitionKind, type SvgSymbolUseCandidate, type SvgSymbolUseGeometry, type SvgSymbolUsePlan, type SvgSymbolUseStatus, type SvgSymbolUseTransform, type SvgTextMetricsHost, type SvgTextSpanNodeCandidate, type SvgTextSpanTarget, type SvgTextSpanTreeCandidate, type SvgUnboundStylesheetResourceReference, type SvgUseDefinitionComponent, type SvgUseOccurrence, type SvgUseOccurrenceEdge, type SvgUseOccurrencePlan, type SvgUseOccurrenceRole, type SvgUseResolution, type SvgUseResolutionStatus, type SvgUseResourceCapability, type SvgUseResourcePolicy, type SvgUseResourceRoot, type SvgUseSourceResolution, type SvgUseSourceResolutionStatus, type SvgViewCandidate, type SvgViewState, type SvgViewportDiagnostic, type SvgViewportDimensions, type SvgViewportFrame, type SvgViewportSize, type SvgViewportStatus, type SvgXmlAttributeInput, type SvgXmlCharacterNodeInput, type SvgXmlElementInput, type SvgXmlNodeInput, type SvgXmlParserHost, SvgXmlParserHostError, type SvgXmlParserHostResult, type SvgXmlSourceSpan, type SvgatorPayload, type SvgatorProjectionHost, type SvgatorProjectionResult, Switch, type SwitchNodeProps, type SymbolInstanceGeometry, type SymbolInstanceMaterialization, type SymbolInstanceNodeProps, type SymbolInstanceTransformResult, type SymbolLengthContext, type SymbolLibraryDef, type SymbolMaterialization, type SymbolMaterializationDiagnostic, type SymbolMaterializationDiagnosticCode, type SymbolMaterializationPlan, type SymbolMaterializationPlanOptions, type SymbolResolutionDiagnostic, type SymbolResolutionDiagnosticCode, type SymbolViewportDiagnostic, type SymbolViewportDiagnosticCode, type SymbolViewportHost, TYPED_FIELD_PREDICATES, type TemplateVariable, type TemplateVariableMode, type TemplateVariableOperation, type TemplateVariableSource, type TemplateVariableType, type TerminatorNodeProps, Text, type TextFormatOperation, type TextLayoutCaret, type TextLayoutCaretDraft, TextLayoutEngine, type TextLayoutGlyph, type TextLayoutGlyphDraft, type TextLayoutLine, type TextLayoutMeasurementRequest, type TextLayoutPoint, type TextLayoutProduct, type TextLayoutProductDraft, type TextLayoutProductHost, type TextLayoutRect, type TextLayoutRequest, type TextLayoutResult, type TextLayoutSegment, type TextLayoutViewport, type TextLayoutVisualLine, type TextLinePosition, type TextMeasurementHost, type TextNodeProps, type TextObjectBoundsMeasurement, type TextPathReference, type TextShapeGeometry, type TextShapeInsideGeometry, type TextShapeSpan, type TextSpanAnimationTarget, type TextSpanNode, type TextSpanRotationProjection, type TextSpanTree, type TextSplice, Timeline, Track, type TransferFunc, type TransformFusionPlan, type TransformStateLike, type TrapezoidNodeProps, Triangle, type TriangleNodeProps, VARIANT_INTERPOLATION_POLICY, type ValidationError, type ValidationResult, type VariableMap, type VariantAnimationElementSpec, type VariantCssPlan, type VariantCssSymbolPlan, type VariantSmilInnerAction, type VariantSmilOp, type VariantSmilSymbolPlan, type VariantTransitionInput, type VariantTransitionInstanceView, type VariantTransitionTimelineLike, type VariantWaapiPlan, type VariantWaapiSymbolPlan, Video, View, type ViewBoxFusionPlan, type ViewNodeProps, type ViewShapeGeometry, type Viewbox, type VocabularyAttribute, type VocabularyAttributeSource, type VocabularyAttributes, type VocabularyClaim, type VocabularyProjection, WRAPPER_PRESENTATION_IDS, type WarpFilter, type WarpType, type WatercolorFilter, type WireAliasShapeStateFields, type WireOnlyShapeStateFields, type WordSearchAxes, type WordSearchCellPath, type WordSearchDirection, type WordSearchLintResult, type WordSearchOptions, type WordSearchPlacement, type WordSearchPrimitiveMask, XHTML_EXTENSION_URI, type XrayFilter, accumulateAnimationValue, addAnimationValues, addSmilPointsValues, affine, affineFromArray, affineToArray, almostEqualAffine, animationBackwardsFillTrack, animationCycleDuration, animationDefinitionTargetShapeId, animationTrackActiveEnd, animationTrackDocumentBegin, appearanceLayers, appendAppearanceLayer, applyAffineToPoint, applyAffineToVector, applyAppearanceStyle, applyClipMaskGroupDelta, applyClipMaskPlanToShapes, applyCssAnimationLonghandOverrides, applyGuideDeltaOp, applyIngestPlan, applyMeasurementDeltaOp, applyMetadataDeltaOp, applyOpToSnapshot, applyOpsInPlace, applyOpsToSnapshot, applyOpsToSnapshotWithAccepted, applyPathNodeValue, applyRichTextFormat, applyTextSplice, applyTextTransform, applyTimingFunctionToKeyframe, arcEndpointToCenter, areTracksTimingEquivalent, around, assembleLibraryDefs, assembleSvgFromPlan, assertIngestFeatureRegistry, assertIngestPolicyRegistry, assertNamespaceVocabularyRegistry, assertRasterImage, assertSvgImportCapabilityOwners, authoredPaintDeclarations, baseFillLayer, baseStrokeLayer, buildCompoundTransformValues, buildDefinitionPlacementIndex, buildForeignImportReport, buildFreshMetadataBlock, buildGuideDeltaOps, buildManagedChildren, buildManagedDescription, buildMeasurementDeltaOps, buildMetadataDeltaOps, buildRenderPlan, buildSmilKeyframeData, buildSmilKeyframes, buildSvgDestinationIdentityIndex, buildSvgIngestPlan, buildSymbolMaterializationPlan, buildViewBoxSmilKeyframeData, canonicalPolygonTransformString, canonicalTransformMatrix, canonicalTransformString, chainHasTargetedEffects, claimElementThroughVocabulary, classifyIngestDiagnostic, classifySvgExternalAssetUrl, clipMaskDefinitionFromGroup, clipMaskDefinitionsFromGroups, clipMaskGroupDefId, clipMaskGroupDefinitionId, clipMaskGroupIsRawBacked, clipMaskGroupWithDefinition, clipMaskOwnedDefIds, cloneTextSpanTree, collaborationResourceKey, collectDocumentEnvelopeLibraryReferenceIds, collectFontFacesFromPlan, collectFontFamiliesFromPlan, collectMarkerReferences, collectReferencedLibraryDefs, collectReferencedMarkerIds, collectSvgFragmentLibraryReferenceIds, collectUnknownDocumentFields, compareImages, compareOrderKeys, composeDecomposedTransformMatrix, compositeOver, computeArrowVertices, computeCloudPath, computeCrossVertices, computeDashArray, computeFlowchartBoxPath, computeGearPath, computeGearVertices, computeHeartPath, computeLightningVertices, computePolygonVertices, computeRectanglePath, computeRingPath, computeSpeechBubbleVertices, computeSpiralPath, computeSplinePath, computeStarVertices, connectorLabelAnchor, containerTransformNeedsContentPivot, createDocument, createSceneNode, createShape, createSvgDestinationIdAllocator, createSvgPathMetrics, createTextLayoutKey, createTextLayoutProduct, createViewbox, createWordSearchPrimitiveMask, cssAnimationFillField, cssNamedColorToRgb, cubicBezierExtent1D, cubicBezierToEasingFields, customPatternDefToLibraryDef, declaredRichTextDeltaKeys, decodeCssEscapes, decodeSvgSourceBytes, decomposeAffine2D, decoratePlanNodes, decorateSnapshotShapes, dedupeFontFaces, defaultVariableMode, deltaE2000, deriveRichTextFormatRanges, deriveSegments, deriveTextSplice, derivedConnectionPoints, detachAppearanceStyle, documentObjectBounds, ellipticalArcBounds, emptyDocumentMetadata, ensureTextSpanRange, escXml, evaluateEasing, evaluateFontCoverage, evaluateKeyframeEasing, evaluateLinearEasing, evaluateParsedTimingFunction, evaluateSteps, evaluateSvgConditionalProcessing, expandAppearanceStack, extractVariables, filterAttr, filterChainExtendsBounds, filterChainGroupId, filterChainGroups, filterDefinitionEnvelope, filterReferenceValue, finalizeRenderPlan, findShapeById, fingerprintCssAnimationDocumentStyles, fingerprintCssAnimationInlineStyles, fingerprintCssAnimationTrack, fingerprintIngestSource, flattenShapeStateTree, flattenStateExtra, flattenUnknownDocumentFields, foldSchemaV2AncestorTransformIntoMatrix, fontFaceKey, forEachAppearanceLayerRef, forEachAppearanceStyleRef, forEachLibraryRefInState, forEachMarkerRefInState, forEachReachableShape, forEachShapeInLibraryDefs, formatCssFontFamilyList, formatOperationValidationIssues, formatSmilKeySpline, formatSmilKeyTime, freezeIngestPlan, freezeSiblingOrderKeys, generateCode, generateCodeWithDiagnostics, generateCssCode, generateD3Code, generateId, generatePatternSvgContent, generatePuzzlePieces, generateReactCode, generateSudokuPuzzle, generateSvgCode, generateVueCode, generateWordSearch, geometryDefinitionId, geometryState, getBuiltInMarkerDefs, getEasingCubicBezier, getEffectivePrecision, getIngestFeatureCapability, getIngestFieldPolicy, getKeyframeCubicBezier, getLicenseLabel, getLicenseUrl, getMarkerDescriptors, getPatternElements, getShapeGeometryKernel, getSmilAccumulate, getSmilAdditive, getSmilBeginValue, getSmilFillMode, getSmilMotionKeyPoints, getSmilRepeatCount, getSmilSetBeginValue, getSmilTrackDuration, getSvgCoordinateAttributePrecision, getSvgPropertySemantics, getSvgSourceAttribute, getSvgSourceHref, getWordSearchDirections, hasAnyTypedMetadataField, hasEmittableSmilSimpleDuration, hasOpaqueSvgAncestor, hasSvgSourceAttribute, importSvg, importSvgWithDiagnostics, indexLibraryDefinitions, inferSvgCoordinatePrecision, initialOrderKeys, injectClipMaskReference, inspectCssTransformValue, interpolateAngle, interpolateCharOffsetArray, interpolateColor, interpolateDasharrayLists, interpolateGradient, interpolateNumericArray, interpolatePathData, interpolatePlainObject, interpolatePointArray, interpolatePolylinePoints, interpolateShapeTrees, interpolateSplinePointArray, invertAffine, isColorValue, isConnectorLineState, isCssAnimationDeclarationName, isCssGenericFamilyName, isCssNamedColor, isDefaultKeyPoints, isDefaultKeyTimes, isDocumentImportIntent, isEntirelyUnembeddableFamilyList, isFiniteAffineArray, isGradientLike, isIdentityAffine, isIdentityLinearSplines, isIndefiniteSetTrack, isIndefiniteSmilSimpleDuration, isNumericArray, isPathNodeTrack, isReusablePatternTile, isSafeGradientRootAttributeName, isSafePatternRootAttributeName, isSetSequenceTrack, isSvgPresentationProperty, isUnembeddableFamilyName, isValidOrderKey, keyBetween, keysBetween, layerFilterTargets, layerPaints, layerState, layoutText, legacyEndpointMarkerId, lerpNumber, linearGradient, linearGradientEnvelope, lintWordSearchOptions, lowerPathNodeTracks, luma709, mapAnimationTrackTime, matchCubicBezierToPreset, materializeSceneTreeOrderKeys, matrixTransformPart, maxCollaborationTimestamp, mergeRichTextStyle, migrateSnapshot, migrateV11toV12, migrateV14toV15, migrateV15toV16, migrateV16toV17, migrateV17toV18, migrateV18toV19, migrateV6toV7, migrateViewboxSidecarToViews, motionPathD, moveResourceById, multiplyAffine, mutateSvgClipMaskDefinitionMarkup, namespaceVocabularies, namespaceVocabulary, needsAppearanceStack, nodeSchemas, normalizeClipMaskGroups, normalizePaintServerDef, normalizeRichTextRuns, normalizeRichTextStyle, normalizeRichTextStyleDelta, normalizeSmilPointsValue, normalizeSnapshotStructure, normalizeSnapshotToCanonicalDocument, orderSiblings, paintingLayers, parseColor, parseCssAnimationShorthand, parseCssTimingFunction, parseCssTransformOrigin, parseDocument, parseDocumentWithDiagnostics, parseFontFamilyList, parseInterpolationNumbers, parsePathNodeProperty, parsePreserveAspectRatio, parseSmilAdditive, parseSmilClockValue, parseSmilDuration, parseSmilFillField, parseSmilKeySplines, parseSmilKeyTimes, parseSmilRepeatSettings, parseSmilValues, parseSvgAbsoluteLength, parseSvgLength, parseSvgLengthList, parseSvgLengthToken, parseSvgPathData, parseSvgRootFrame, parseSvgSourceDocument, parseSvgStyleAttribute, parseSvgTransformList, parseSvgViewBox, parseSvgatorPayload, parseVariableArgs, parseWordSearchWords, partitionShapeStateTree, partitionStateExtra, partitionUnknownDocumentFields, pathCommandStructuresMatch, pathDataBounds, pathNodeTracksAreSuperseded, pattern, patternDefinitionEnvelope, patternLibraryDefToCustomPatternDef, patternTileSize, pickCssAnimationListItem, plainTextOf, plainTextStyle, planClipMaskGroups, planSnapshotExternalEffects, planSvgAnimations, planSvgAuthoredAttributes, planSvgClipMasks, planSvgConditionalProcessing, planSvgContainerHierarchy, planSvgDocumentExtensions, planSvgEmbeddedFrames, planSvgExternalEffects, planSvgFilters, planSvgGradients, planSvgImport, planSvgLeafGeometry, planSvgMarkers, planSvgMetadata, planSvgOccurrenceViewports, planSvgPaintServerDefinitions, planSvgPatterns, planSvgResourceDependencies, planSvgScripts, planSvgSourceIdentifiers, planSvgStyleCascade, planSvgSymbolUses, planSvgUseOccurrences, planSvgViews, planTransformFusion, planVariantTransitionsCss, planVariantTransitionsSmil, planVariantTransitionsWaapi, planViewBoxFusion, preferredSubsetsForText, premultiply, prepareSvgAuthorCssForLiveProjection, prepareSvgExternalAssetUrlForLiveProjection, prepareSvgMarkupForLiveProjection, prepareSvgXmlSource, preserveAspectRatioAlignFactor, projectClipMaskDefinitionAnimations, projectCssTransformStops, projectDefinitionAnimations, projectPresentation, projectPresentationEntry, projectSceneTreeOntoClipMaskGroups, projectSceneTreeOntoShapes, projectSvgAnimationPlan, projectSvgAnimationTimeline, projectSvgImportToIngestPlan, projectSvgImportToSnapshot, projectSvgSourceNodes, projectSvgatorAnimation, projectTextLinePosition, projectTextSpanRotations, promoteManagedDescription, promoteRebasedShapeUpdateClock, pruneAndWrapSubtree, quadraticBezierExtent1D, radialGradient, radialGradientEnvelope, rebaseRichTextFormatRanges, rebaseRichTextRuns, recognizeScriptAnimation, reflectCubicBezier, registerNamespaceVocabulary, registeredExtensionUris, registeredShapeGeometryTypes, removeResourceById, removeResourceByKey, removeResourceByName, removeTrackKeyframe, renderAnimationElements, renderBuiltinMarkerDefs, renderCircle, renderClipMaskDefinitionAnimationElements, renderClipMaskDefinitionShape, renderDefinitionAnimationElements, renderDescriptiveElements, renderDocumentAnimationElements, renderDocumentExtensionAttributes, renderDocumentExtensionNodes, renderDocumentExtensions, renderDocumentScripts, renderDocumentStyles, renderEllipse, renderFilterDefs, renderFilterElement, renderFilterLibraryDef, renderFilterPrimitive, renderFilterPrimitivesForType, renderFlowchartBox, renderForeignObject, renderGradientDefs, renderGradientStopAnimationElement, renderImage, renderLibraryDef, renderLibraryDefs, renderLine, renderLinearGradient, renderLinearGradientLibraryDef, renderMarkerLibraryDef, renderPaintServerDefs, renderPatternLibraryDef, renderPlanDefsBody, renderPolygonShape, renderPolyline, renderRadialGradient, renderRadialGradientLibraryDef, renderRectangle, renderReferencedLibraryDefs, renderResolvedSymbolDefinitionForest, renderResolvedSymbolDefinitionSubtree, renderResolvedSymbolLibraryDef, renderShape, renderShapeContextForLibrary, renderSpline, renderSvgPrimitiveChainFilter, renderSymbolInstance, renderSymbolLibraryDef, renderTemplateVariablesStyle, renderText, renderTextSpanAnimationElements, renderToSvg, renderToSvgWithDiagnostics, replaceClipMaskDefinition, replaceClipMaskGroupsInSceneTree, replaySceneTreePlacements, requiredDecimalPrecision, requiredSubsetsForText, resolveAppearanceStyle, resolveConnectorAnchorFromDocument, resolveConnectorEndpoints, resolveContainerTransform, resolveContainerTransformFromContentBounds, resolveCssAnimationEasingType, resolveEmbeddedSvgTransform, resolveEmbeddedSvgViewportFrameBounds, resolveFontStyle, resolveFontWeight, resolveGradientLibraryDef, resolveInlineContainerTransform, resolveMetadataQName, resolvePasteWrapperViewportSize, resolvePathDAtTime, resolvePatternLibraryDef, resolveRichTextStyleAt, resolveRootViewportFraming, resolveShapeGeometry, resolveShapeLocalObjectBounds, resolveShapeObjectBounds, resolveShapeReferenceTransform, resolveStyledTextLines, resolveSvgGradientGeometry, resolveSvgLengthToken, resolveSvgPatternTile, resolveSvgQName, resolveSvgRectRadii, resolveSvgTextSpanTarget, resolveSvgViewport, resolveSymbolDefinitionForestRootIds, resolveSymbolInstanceContent, resolveSymbolInstanceShapes, resolveSymbolInstanceTransform, resolveSymbolViewport, resolveTextSpanProjection, rewriteDocumentEmbeddedPayloads, rewriteIdReferencesInMarkup, rewriteShapeStateEmbeddedPayloads, rewriteSvgResourceReferenceValue, richTextFontVariantCss, richTextLineSpans, richTextRunsFromState, richTextStyleDelta, richTextStyleDeltasEqual, richTextStylesEqual, richTextTspanAttributes, rootMetadataAttrs, rootPaintServerDefId, rotateAffine, roundCoord, roundMarkupCoordinates, roundNumberString, roundSerializedShape, roundSnapshot, routeConnector, runsFromSegments, sameSize, sampleAnimationTrackTime, sampleTextForSubsets, sanitizeRichTextFormatRanges, sanitizeXmlId, scaleAffine, scanCssFunctionTokens, scanCssLocalUrlTokens, senderCorrectionsForOp, serializeSvgPathData, serializedPathNodeGeometry, serializedPresentationReader, severity, shapeAppearanceLayers, shapeAppearanceStyle, shapeLocalObjectBounds, shapeLocalObjectCenter, shapeNeedsAppearanceExpansion, shapeObjectBoundsInSpace, shapeOutlineCapability, shouldRoundSvgCoordinateAttribute, skewXAffine, skewYAffine, smilKeyframeAttributes, snapshotBoundsView, sniffDocumentBytes, solveCubicBezier, solveSudoku, spliceTextSpanTree, splinePathBounds, splitAppearanceForStyle, splitCssAnimationList, splitCssTopLevel, splitCssTopLevelRanges, splitTopLevelElements, srgbToLab, ssimPlane, stringifyDocument, stripAnimationDeclarations, stripCssAnimationInlineStyle, subsetsForCodePoint, substituteString, substituteVariables, symbolDefinitionSemanticHash, symbolInstanceTargetId, synthesizeCssAnimationShorthand, templateVariablesCss, textSpanEffectiveRotations, textSpanIds, textSpanNodeById, textSpanRangeByIds, transformSplice, transformSvgPathData, translateAffine, translateSvgPathData, tryParseSvgTransformList, unmatchedDecorationDiagnostics, upsertResourceById, upsertResourceByKey, upsertResourceByName, upsertTrackKeyframe, validateDocumentOperations, validateOperation, validatePresenceOperation, validateSnapshot, validateSudokuPuzzle, verticesToPath, visitShapeTree, visitSnapshotShapeTrees, writeAppearanceLayers };
|
|
18756
|
+
export { ANIMATION_MANAGER_INTERPOLATION_POLICY, type AdditiveAnimationValue, type Affine2D, type AffineTransformMatrix, type AggregateDocumentFieldKey, type AlphaMode, type AngleInterpolationPolicy, type AnimatablePropertyDescriptor, type AnimationCycleTrack, type AnimationDefinitionTarget, type AnimationKeyframe, type AnimationOperation, type AnimationTimeline, type AnimationTrack, type AnimationTrackTimeSample, type AnimationTrigger, type AnimationTriggerType, type AnyNodeProps, type AppearanceExpansion, type AppearanceExpansionDeps, type AppearanceFillLayer, type AppearanceLayer, type AppearanceLayerKind, type AppearancePaintValue, type AppearanceStrokeLayer, type AppearanceStyleLibraryDef, type AppearanceStyleSource, type AppliedIngestPlan, type ApplyIngestPlanOptions, type ArcCenterParameterization, type ArcParams, type AriaRole, Arrow, type ArrowNodeProps, Audio, type AuthoredGradientGeometry, type AuthoredLengthCoordinate, type AuthoredMarkerGeometry, type AuthoredPaintReference, type AuthoredPatternGeometry, type AuthoredTextCoordinate, type AuthoredTextPosition, type AuthoredUseGeometry, BASE_FILL_LAYER_ID, BASE_STROKE_LAYER_ID, BROWSER_SVG_EXTENSION_URIS, BUILTIN_MARKER_ID_MAP, type BaseFilter, type BaseFilterPrimitive, type BlackAndWhiteFilter, type BlurQuality, type BoundingBox, type BoundsDiagnostic, type BoundsDiagnosticCode, type BoundsRect, type BoundsResult, type BoundsStatus, type BrightnessFilter, type BuildForeignImportReportInput, type BuildSvgDestinationIdentityIndexOptions, type BuiltinShapeGeometryType, CANONICAL_NORMALIZATION_FAULT_POINTS, CC_NS, COLLAB_PROTOCOL_VERSION, COMMON_PROP_DEFAULTS, COMMON_TRANSFORM_NODE_DEFAULTS, CONNECTOR_LABEL_BASELINE_LIFT, CONNECTOR_LABEL_FONT_FAMILY, CONNECTOR_LABEL_FONT_SIZE, CSS_GENERIC_FAMILY_NAMES, CURRENT_SCHEMA_VERSION, CanonicalDocument, type CanonicalNormalizationFaultPoint, type CanonicalRootFramePolicy, type CanonicalSnapshotNormalizationOptions, type CanonicalSnapshotNormalizationResult, type ChannelPainterFilter, Circle, type CircleNodeProps, type CircleShapeGeometry, type ClipMaskDefinition, type ClipMaskGroupDeltaOperation, type ClipMaskOperation, type ClipMaskRenderPlan, type ClipMaskWrapDirective, Cloud, type CloudNodeProps, type CodeFormat, type CodegenOptions, type CollabClock, type CollaborationSnapshot, type CollaborationStamp, type CollaborationState, type ColorInterpolationPolicy, type CommonNodeProps, type CommonTransformNodeProps, type CompareImagesOptions, type ConnectionDirection, type ConnectionDirectionValue, type ConnectionPoint, type ConnectionPointValue, type ConnectorAnchorResolver, type ConnectorEndpointRefValue, type ConnectorLabelAnchor, type ConnectorRouteResult, type ConnectorRoutingModeValue, Container, type ContainerContentBounds, type ContainerNodeProps, ContainerShapeBuilder, type ContainerShapeGeometry, type ContainerTransformOwner, type ContouringDiscreteFilter, type ContouringTableFilter, type ContrastFilter, type CornerShapeValue, type CreateDocumentOptions, type CreateShapeOptions, Cross, type CrossNodeProps, type CrumpledPlasticFilter, type CssAnimationSourceGroup, type CssFunctionToken, type CssLocalUrlToken, type CssProjectedTransformChannel, type CssProjectedTransformStop, type CssTopLevelRange, type CssTransformBox, type CssTransformOrigin, type CssTransformOriginContext, type CssTransformProjection, type CssTransformProjectionStatus, type CssTransformStop, type CssTransformValueIssue, type CustomPatternDef, type CycleBehavior, type CylinderNodeProps, DC_NS, DEFAULT_CONNECTOR_CORNER_RADIUS, DEFAULT_CONNECTOR_LABEL_OFFSET, DEFAULT_CONNECTOR_LABEL_POSITION, DEFAULT_COORDINATE_PRECISION, DEFAULT_FONT_WEIGHT, DEFAULT_RICH_TEXT_STYLE, DOCUMENT_BYTE_KINDS, DOCUMENT_FIELDS, DOCUMENT_FIELD_LIVE_AUTHORITY, DOCUMENT_IMPORT_INTENTS, DOCUMENT_IMPORT_KINDS, DOCUMENT_INGEST_POLICIES, DOCUMENT_SECTION_ORDER, type DecodedSvgSource, type DecorationOutcome, type DeepReadonly, type DefinitionAttribute, type DefinitionAuthoredPlacement, type DefinitionPlacementIndex, type DefinitionPlacementScope, type DeltaEStats, type DescriptiveEmissionOptions, type DiamondNodeProps, type DiffuseLightingFilter, type DocumentBoundsHost, type DocumentBoundsOptions, type DocumentBoundsView, DocumentBuilder, type DocumentBuilderOptions, type DocumentByteKind, type DocumentDefinitionContainer, type DocumentExtension, type DocumentExtensionAttribute, type DocumentExtensionCharacterNode, type DocumentExtensionElementNode, type DocumentExtensionNode, type DocumentFieldAuthority, type DocumentFieldDescriptor, type DocumentFieldKey, type DocumentFieldRegistryGates, type DocumentMetadata, DocumentModel, type DocumentNodeProps, type DocumentReplacementHooks, type DocumentReplacementListener, type DocumentReplacementResult, type DocumentReplacementTransition, type DocumentResourceOperation, type DocumentScript, type DocumentSectionKey, type DocumentSectionListener, type DocumentSectionOrderGates, DocumentSession, type DocumentSessionView, type DocumentShapeNodeProps, type DocumentStyle, type DropShadowFilter, type DuotoneFilter, EASING_CURVES, EasingType, Ellipse, type EllipseNodeProps, type EllipseShapeGeometry, type EmbeddedPayloadRewriter, type EmbeddedPayloadSlotKind, type EmbeddedSvgShapeGeometry, type EmbeddedSvgTransformResult, type EmbeddedSvgViewportOverride, type EmbossFilter, type EnsureTextSpanRangeResult, type EvaluateSvgConditionalProcessingOptions, type ExpandedName, type ExportItemOperation, type Extent1D, type ExtractedVariables, FLOWCHART_GEOMETRY_DEFAULTS, type FeBlendPrimitive, type FeColorMatrixPrimitive, type FeComponentTransferPrimitive, type FeCompositePrimitive, type FeConvolveMatrixPrimitive, type FeDiffuseLightingPrimitive, type FeDisplacementMapPrimitive, type FeDropShadowPrimitive, type FeFloodPrimitive, type FeGaussianBlurPrimitive, type FeImagePrimitive, type FeMergePrimitive, type FeMorphologyPrimitive, type FeOffsetPrimitive, type FeSpecularLightingPrimitive, type FeTilePrimitive, type FeTurbulencePrimitive, type FieldPrecision, type FieldSerialization, type FillType, type FilmGrainFilter, type FilterBlendMode, type FilterChainGroup, type FilterDefinitionEnvelope, type FilterElementAttrs, type FilterLibraryDef, type FilterLightSource, type FilterPrimitive, type FilterPrimitiveType, type FilterType, type FlowchartBoxNodeProps, type FlowchartBoxParams, type FlowchartBoxType, type FontCoverageResult, type FontCoverageStatus, type FontFaceRequest, type FontVariantCssInput, type ForeignImportBucket, type ForeignImportContainer, type ForeignImportFontRequirement, type ForeignImportReport, type ForeignImportReportItem, type ForeignImportVocabulary, type ForeignObjectNodeProps, type FusableTrack, type FusableViewBoxTrack, GEOMETRY_TRACK_PROPERTIES, type GaussianBlurFilter, Gear, type GearNodeProps, type GenerateCodeResult, type GenerateSudokuOptions, type GeneratedFilterEnvelope, type GeneratedSudokuPuzzle, type GeneratedWordSearch, type GlowFilter, type GouacheFilter, type GradientDefinition, type GradientDefinitionEnvelope, type GradientGeometry, type GradientGeometryContext, type GradientLibraryDef, type GradientSpreadMethod, type GradientStop, type GradientStopEnvelope, type GradientTransformMatrix, type GradientUnits, type GraphChangeListener, type GrayscaleFilter, type GroupNodeProps, type GroupPresentationData, type Guide, type GuideDeltaOperation, HEADLESS_SVG_STYLE_ENVIRONMENT, Heart, type HeartNodeProps, type HistorySnapshot, type HueRotateFilter, Hyperlink, type HyperlinkNodeProps, IDENTITY_AFFINE, INGEST_APPLY_STAGES, INGEST_DIAGNOSTIC_CODES, INGEST_DOCUMENT_ROOT_IDENTITY, INGEST_FEATURES, INGEST_FEATURE_CAPABILITIES, INGEST_PLAN_VERSION, INGRESS_INTENTS, INITIAL_ROOT_FONT_SIZE, INLINE_CHILD_CONTAINER_TYPES, type ImageAttribution, type ImageNodeProps, ImageShape, type IndexedResource, IngestApplicationError, type IngestApplyContext, type IngestApplyStage, type IngestDiagnostic, type IngestDiagnosticCode, type IngestDiagnosticSeverity, type IngestDocumentFieldCandidates, type IngestExternalEffectValue, type IngestExternalFontDescriptorsValue, type IngestExternalFontSourceValue, type IngestFeature, type IngestFeatureCapability, type IngestFeatureCapabilityGates, type IngestFeatureIntentMatrix, type IngestFeatureStatus, type IngestFieldPolicy, type IngestFieldPolicyAction, type IngestFieldPolicyGates, type IngestFieldPolicyMatrix, type IngestNodeDecoration, type IngestNodeDecorations, type IngestPlan, type IngestPlanApplyAdapter, type IngestPlanValue, type IngestReferenceEdgeValue, type IngestResult, type IngestRootFrameValue, type IngestShapeCandidateValue, type IngestSource, type IngestSourceDescriptor, type IngestSourceElementDescriptor, type IngressIntent, type InkBlotFilter, type InlineContainerTransformResult, type InnerGlowFilter, type InnerShadowFilter, type InterpolationCharOffset, type InterpolationColor, type InterpolationGradient, type InterpolationGradientStop, type InterpolationPoint, type InterpolationSplinePoint, type InvertFilter, type JsonObject, type JsonPrimitive, type JsonValue, KNOWN_METADATA_PREFIXES, KNOWN_STATE_KEYS, type KeyedSerializedAnimationKeyframe, LAYER_PRESENTATION_IDS, LIBRARY_ASSEMBLY_KIND_ORDER, LIBRARY_EMIT_ORDER, LIBRARY_KINDS, type LibraryDef, type LibraryDefBase, type LibraryDefOfKind, type LibraryDefinitionIndex, type LibraryIndex, type LibraryKind, type LibrarySource, type LicenseType, type LightSource, Lightning, type LightningNodeProps, Line, type LineEndpointValue, type LineNodeProps, type LineShapeGeometry, type LinearEasingPoint, type LinearGradient, LinearGradientBuilder, type LinearGradientGeometry, type LinearGradientLibraryDef, type LinearGradientLibraryValue, type LiveInterpolationPolicy, type LoweredPathNodeTracks, MARKER_HEIGHT, MARKER_VIEWBOX, MARKER_WIDTH, MATHML_EXTENSION_URI, MAX_COORDINATE_PRECISION, MIGRATIONS, type MarkerDescriptor, type MarkerLibraryDef, type MarkerReferenceSets, type MaterializedIngestNode, type MatrixDecomposition2D, type Measurement, type MeasurementDeltaOperation, type MediaNodeProps, type MetadataDeltaOperation, type MetadataDescriptiveElement, type MigratableVersion, type Migration, type MorphologyFilter, type MorphologyOperator, type MotionBlurFilter, NAMESPACE_VOCABULARIES, NGon, type NGonNodeProps, NON_RENDERING_LIBRARY_KINDS, NON_WIRE_PROP_KEYS, NUMERIC_SHAPE_TRANSFORM_STATE_KEYS, type NamedResource, type NamespaceVocabulary, NestedSvg, type NodeChangeListener, type NodeFactoryMode, NodeSchemaRegistry, type NodeTypePropsMap, type NodeTypeSchema, type NoiseFilter, type OpMetadataPatch, type OpShapeState, type OpacityFilter, type Operation, type OperationValidationIssue, type OperationValidationResult, type OutlineFilter, type OutlinePosition, PAINT_SERVER_PASSTHROUGH_ATTR, PATH_DATA_TRACK_PROPERTIES, POLYGON_GEOMETRY_DEFAULTS, PRESENTATION_SEMANTICS, PUZZLE_DEFAULTS, type ParallelogramNodeProps, type ParseOptions, type ParsedCssAnimation, type ParsedPreserveAspectRatio, type ParsedSvgPathCommand, type ParsedSvgPathCommandType, type ParsedSvgViewBox, type ParsedTimingFunction, Path, type PathBoundsRect, PathCurveType, type PathNodeChannel, type PathNodeGeometry, type PathNodeProps, type PathPoint, PathPointType, type PathShapeGeometry, PatternBuilder, type PatternDefinitionEnvelope, type PatternElement, type PatternFill, type PatternLibraryDef, type PatternParams, type PatternSvgContentResult, type PatternType, type PixelateFilter, type PlanSnapshotExternalEffectsOptions, type PlanSvgAnimationsOptions, type PlanSvgClipMasksOptions, type PlanSvgConditionalProcessingOptions, type PlanSvgContainerHierarchyOptions, type PlanSvgExternalEffectsOptions, type PlanSvgFiltersOptions, type PlanSvgGradientsOptions, type PlanSvgImportOptions, type PlanSvgLeafGeometryOptions, type PlanSvgMarkersOptions, type PlanSvgMetadataOptions, type PlanSvgOccurrenceViewportsOptions, type PlanSvgPaintServerDefinitionsOptions, type PlanSvgPatternsOptions, type PlanSvgResourceDependenciesOptions, type PlanSvgScriptsOptions, type PlanSvgStyleCascadeOptions, type PlanSvgSymbolUsesOptions, type PlanSvgUseOccurrencesOptions, type Point, type PointLightFilter, type PolygonBaseNodeProps, Polyline, type PolylineNodeProps, type PolylineShapeGeometry, type PositioningRectShapeGeometry, type PresentationSemanticContext, type PresentationSemanticEntry, type PresentationSemanticId, type PresentationValueReader, type PresentationWrite, type PreserveAspectRatioAlign, type PreviousPlacement, type PrimitiveChainFilterEnvelope, type ProjectedTextLinePosition, type PropDef, type PropStamp, type PuzzleBounds, type PuzzleOptions, type PuzzlePiece, type PuzzleStyle, type PuzzleTabPattern, RDF_NS, RENDER_DIAGNOSTIC_CODES, RENDER_FEATURES, RENDER_FEATURE_CAPABILITIES, RENDER_TARGETS, RICH_TEXT_STYLE_KEYS, type RadialGradient, RadialGradientBuilder, type RadialGradientGeometry, type RadialGradientLibraryDef, type RadialGradientLibraryValue, type RasterImage, type RasterQualityReport, type RawFilterEnvelope, type RawSvgFilter, type Rect, Rectangle, type RectangleNodeProps, type RectangleShapeGeometry, type RejectedWordSearchWord, type RenderAnimationElementsOptions, type RenderCapability, type RenderCapabilityMatrix, type RenderCapabilityMatrixGates, type RenderDiagnostic, type RenderDiagnosticCode, type RenderDiagnosticSeverity, type RenderFeature, type RenderFeatureCapability, type RenderFeatureCapabilityGates, type RenderFeatureTargetMatrix, type RenderFinalizationOptions, type RenderFrameAttributeOmissions, type RenderOptions, type RenderPlan, type RenderPlanBodyEntry, type RenderPlanDefEntry, type RenderPlanDefKind, type RenderPlanDefinitionContainer, type RenderPlanDefs, type RenderPlanEnvelope, type RenderPlanFrame, type RenderPlanOptions, type RenderPlanShape, type RenderShapeContext, type RenderTarget, type RenderToSvgResult, type RenderedDefinitionAnimationElement, type RenderedRootOverrides, type ResolveSvgClipMaskContext, type ResolveSvgGradientGeometryContext, type ResolveSvgPatternTileContext, type ResolvedConnectorAnchor, type ResolvedConnectorEndpoints, type ResolvedContainerTransform, type ResolvedLibraryGradient, type ResolvedSvgPatternTile, type ResolvedSvgRectRadii, type ResolvedSvgViewport, type ResolvedSvgViewportFrame, type ResolvedSymbolDefinitionRender, type ResolvedSymbolInstanceContent, type ResolvedSymbolViewport, type ResolvedTextFragment, type ResolvedTextSpan, type ResolvedTextSpanChild, type ResolvedTextSpanProjection, type ResourceKey, type Rgba, type RichTextAlignmentBaseline, type RichTextDecoration, type RichTextFontWeight, type RichTextFormatRange, type RichTextLineSpan, type RichTextResolvedData, type RichTextResolvedLine, type RichTextResolvedSegment, type RichTextResolvedStyle, type RichTextRun, type RichTextRuns, type RichTextSegmentsInput, type RichTextStyleDelta, type RichTextTspanAttribute, type RiddledFilter, Ring, type RingNodeProps, type RootViewportFraming, type RoundEdgesFilter, SAXES_SVG_XML_PARSER_HOST, SCRIPT_ANIMATION_GENERATORS, SERIALIZED_SHAPE_STATE_KEYS, SHAPE_ENVELOPE_KEYS, SHAPE_GEOMETRY_DEFAULTS, SHAPE_TRANSFORM_STATE_KEYS, SVGSKETCH_NS, SVGSKETCH_PATH_EXTENSIONS, SVG_CONDITIONAL_PROCESSING_ATTRIBUTES, SVG_IMPORT_CAPABILITY_OWNERS, SVG_NAMESPACE, SVG_NS, SVG_PRESENTATION_PROPERTIES, SVG_WELL_KNOWN_NAMESPACE_URIS, type SaturateFilter, SceneGraph, SceneNode, type SceneTreeReplayHost, type ScriptAnimationCandidateScript, type ScriptAnimationGenerator, type ScriptAnimationSource, type SegmentCurveType, type SepiaFilter, type SerializedAnimationKeyframe, type SerializedAnimationTimeline, type SerializedAnimationTrack, type SerializedCharOffset, type SerializedClipMaskGroup, type SerializedColorGlyph, type SerializedColorGlyphLibrary, type SerializedExportItem, type SerializedGroup, type SerializedMarkerDef, type SerializedPaintServerDef, type SerializedSceneNodePlacement, type SerializedShape, type SerializedShapeState, type SerializedShapeStateKeyGates, type SerializedShapeTransformState, type SerializedSymbolDef, type SerializedVariantAxis, type SerializedViewbox, type SeverityOptions, type SeverityReport, ShapeBuilder, type ShapeEnvelopeKeyGates, type ShapeFilter, type ShapeGeometryDefaultsType, type ShapeGeometryDescriptor, type ShapeGeometryKernel, type ShapeGeometryRendererKey, type ShapeLibraryDefBase, type ShapeLocalObjectBoundsHost, type ShapeMetadata, type ShapeObjectBoundsHost, type ShapeOutlineCapability, ShapeReference, type ShapeReferenceGeometry, type ShapeReferenceNodeProps, type ShapeReferenceTransformResult, type ShapeTransformState, type ShapeTreeVisitor, type SharpenFilter, type SmilAnimationKeyframe, type SmilCalcMode, type SmilKeyframeAttributes, type SmilKeyframeData, type SmilTimingRelation, type SmilTimingTrack, type SmilValue, type SmilValueAttributes, type SmilValueType, type SmilViewBoxAxis, type SmilViewBoxQuartet, type SolveSudokuOptions, type SpecularLightingFilter, SpeechBubble, type SpeechBubbleNodeProps, Spiral, type SpiralNodeProps, type SpliceTextSpanTreeResult, type SplinePointInput, type SpotLightFilter, Square, type SquareNodeProps, Star, type StarNodeProps, type StepPosition, type StepsParams, type StringifyOptions, type StrokeType, type StructureChangeListener, type StyledTextContent, type StyledTextLine, type StyledTextSegment, type StyledTextSource, type SudokuDifficulty, type SudokuGrid, type SudokuRating, type SudokuValidationResult, type SvgAnimationPlan, type SvgAnimationTargetStatus, type SvgAnimationTimelineDefinitionTarget, type SvgAnimationTimelineProjectionHost, type SvgAnimationTimelineShapeBinding, type SvgAppliedResourceDeclaration, type SvgAuthoredAttributeClassification, type SvgAuthoredAttributePlan, type SvgAuthoredAttributeRecord, type SvgAuthoredDeclaration, type SvgClipMaskBinding, type SvgClipMaskBindingStatus, type SvgClipMaskDefinition, type SvgClipMaskDefinitionMutation, type SvgClipMaskGeometryPlacement, type SvgClipMaskObjectBounds, type SvgClipMaskPlan, type SvgClipMaskRegion, type SvgClipMaskRepresentation, type SvgClipMaskResolution, type SvgClipMaskStatus, type SvgClipMaskType, type SvgClipMaskUnits, type SvgConditionalProcessingCandidate, type SvgConditionalProcessingCondition, type SvgConditionalProcessingPlan, type SvgContainerHierarchy, type SvgContainerHierarchyNode, type SvgContainerHierarchyPlacement, type SvgContainerKind, type SvgCssAnimationCandidate, type SvgCssKeyframeDeclaration, type SvgCssKeyframeStopPlan, type SvgCssKeyframesPlan, type SvgCssSpecificity, type SvgDescriptiveElement, type SvgDestinationIdAllocator, type SvgDestinationIdAssignment, type SvgDestinationIdRequest, type SvgDestinationIdentityChannel, type SvgDestinationIdentityIndex, type SvgDestinationIdentityOwner, type SvgDocumentMetadataCandidate, type SvgElementMetadataCandidate, type SvgElementStylePlan, type SvgEmbeddedFrameCandidate, type SvgEmbeddedFrameState, type SvgExternalAssetCandidate, type SvgExternalAssetStatus, type SvgExternalEffectsPlan, type SvgExternalFontCandidate, type SvgFilterBinding, type SvgFilterBindingStatus, type SvgFilterCandidate, type SvgFilterCandidateStatus, type SvgFilterOperation, type SvgFilterOperationStatus, type SvgFilterPlan, type SvgFilterRegion, type SvgFramingRect, type SvgGradientCandidate, type SvgGradientFallback, type SvgGradientGeometryValue, type SvgGradientPaintBinding, type SvgGradientPlan, type SvgGradientStatus, type SvgGradientStopCandidate, type SvgGradientTransform, type SvgHtmlMetadataElement, type SvgImportCapabilityAuthority, type SvgImportCapabilityOwner, type SvgImportCapabilityOwnershipGates, SvgImportError, type SvgImportPlan, type SvgImportProjectionContext, type SvgIngestDiagnosticContext, type SvgLeafCanonicalType, type SvgLeafGeometryCandidate, type SvgLeafGeometryPlan, type SvgLeafGeometryStatus, type SvgLengthContext, type SvgLengthToken, type SvgLocalReferenceChannel, type SvgMarkerAnimationCandidate, type SvgMarkerAuthoredGeometry, type SvgMarkerCandidate, type SvgMarkerContentCandidate, type SvgMarkerPlan, type SvgMarkerStatus, type SvgMetadataPlan, type SvgNodeProps, type SvgOccurrenceViewportContext, type SvgOccurrenceViewportPlan, type SvgPaintServerDefinitionCandidate, type SvgPaintServerDefinitionPlan, type SvgParsedStyleAttribute, type SvgPathAffineMatrix, type SvgPathCommandType, type SvgPathExtensionCommandType, type SvgPathMetricPoint, type SvgPathMetrics, type SvgPathMetricsOptions, type SvgPathParseError, type SvgPathParseErrorCode, type SvgPathParseOptions, type SvgPathParseResult, type SvgPathParserExtensions, type SvgPatternCandidate, type SvgPatternContentOccurrence, type SvgPatternFallback, type SvgPatternPaintBinding, type SvgPatternPlan, type SvgPatternResourceCandidate, type SvgPatternStatus, type SvgPatternTransform, type SvgPatternValue, type SvgPlannedScript, type SvgPresentationAttributeApplicability, type SvgPrimitiveChainFilter, type SvgPropertySemantics, type SvgResourceDependencyClosure, type SvgResourceDependencyComponent, type SvgResourceDependencyEdge, type SvgResourceDependencyKind, type SvgResourceDependencyMaterialization, type SvgResourceDependencyPlan, type SvgResourceElementKind, type SvgResourceProperty, type SvgScriptCandidate, type SvgScriptPlan, type SvgScriptScope, type SvgSmilAnimationCandidate, type SvgSmilAnimationKind, type SvgSourceAttribute, type SvgSourceCharacterNode, SvgSourceDecodingError, type SvgSourceDocument, type SvgSourceElement, type SvgSourceElementIdPlan, type SvgSourceGeneratedIdPlan, type SvgSourceHref, type SvgSourceIdOccurrence, type SvgSourceIdentifierPlan, type SvgSourceIdentifierPlanOptions, type SvgSourceIndex, type SvgSourceLocalReference, type SvgSourceNode, type SvgSourceReferenceRewrite, type SvgSourceResourceIdPlan, type SvgSourceResourceKind, type SvgStyleCascadePlan, type SvgStyleDeclarationOrigin, type SvgStyleEnvironment, type SvgStyleRulePlan, type SvgStylesheetPlan, type SvgSymbolDefinitionCandidate, type SvgSymbolDefinitionKind, type SvgSymbolUseCandidate, type SvgSymbolUseGeometry, type SvgSymbolUsePlan, type SvgSymbolUseStatus, type SvgSymbolUseTransform, type SvgTextMetricsHost, type SvgTextSpanNodeCandidate, type SvgTextSpanTarget, type SvgTextSpanTreeCandidate, type SvgUnboundStylesheetResourceReference, type SvgUseDefinitionComponent, type SvgUseOccurrence, type SvgUseOccurrenceEdge, type SvgUseOccurrencePlan, type SvgUseOccurrenceRole, type SvgUseResolution, type SvgUseResolutionStatus, type SvgUseResourceCapability, type SvgUseResourcePolicy, type SvgUseResourceRoot, type SvgUseSourceResolution, type SvgUseSourceResolutionStatus, type SvgViewCandidate, type SvgViewState, type SvgViewportDiagnostic, type SvgViewportDimensions, type SvgViewportFrame, type SvgViewportSize, type SvgViewportStatus, type SvgXmlAttributeInput, type SvgXmlCharacterNodeInput, type SvgXmlElementInput, type SvgXmlNodeInput, type SvgXmlParserHost, SvgXmlParserHostError, type SvgXmlParserHostResult, type SvgXmlSourceSpan, type SvgatorPayload, type SvgatorProjectionHost, type SvgatorProjectionResult, Switch, type SwitchNodeProps, type SymbolInstanceGeometry, type SymbolInstanceMaterialization, type SymbolInstanceNodeProps, type SymbolInstanceTransformResult, type SymbolLengthContext, type SymbolLibraryDef, type SymbolMaterialization, type SymbolMaterializationDiagnostic, type SymbolMaterializationDiagnosticCode, type SymbolMaterializationPlan, type SymbolMaterializationPlanOptions, type SymbolResolutionDiagnostic, type SymbolResolutionDiagnosticCode, type SymbolViewportDiagnostic, type SymbolViewportDiagnosticCode, type SymbolViewportHost, TEXT_PATH_GENERATED_ID_PREFIX, TYPED_FIELD_PREDICATES, type TemplateVariable, type TemplateVariableMode, type TemplateVariableOperation, type TemplateVariableSource, type TemplateVariableType, type TerminatorNodeProps, Text, type TextFormatOperation, type TextLayoutCaret, type TextLayoutCaretDraft, TextLayoutEngine, type TextLayoutGlyph, type TextLayoutGlyphDraft, type TextLayoutLine, type TextLayoutMeasurementRequest, type TextLayoutPoint, type TextLayoutProduct, type TextLayoutProductDraft, type TextLayoutProductHost, type TextLayoutRect, type TextLayoutRequest, type TextLayoutResult, type TextLayoutSegment, type TextLayoutViewport, type TextLayoutVisualLine, type TextLinePosition, type TextMeasurementHost, type TextNodeProps, type TextObjectBoundsMeasurement, type TextPathReference, type TextShapeGeometry, type TextShapeInsideGeometry, type TextShapeSpan, type TextSpanAnimationTarget, type TextSpanNode, type TextSpanRotationProjection, type TextSpanTree, type TextSplice, Timeline, Track, type TransferFunc, type TransformFusionPlan, type TransformStateLike, type TrapezoidNodeProps, Triangle, type TriangleNodeProps, VARIANT_INTERPOLATION_POLICY, type ValidationError, type ValidationResult, type VariableMap, type VariantAnimationElementSpec, type VariantCssPlan, type VariantCssSymbolPlan, type VariantSmilInnerAction, type VariantSmilOp, type VariantSmilSymbolPlan, type VariantTransitionDefinitionContent, type VariantTransitionInput, type VariantTransitionInstanceView, type VariantTransitionPlanOptions, type VariantTransitionRenderPlan, type VariantTransitionTarget, type VariantTransitionTimelineLike, type VariantWaapiPlan, type VariantWaapiSymbolPlan, Video, View, type ViewBoxFusionPlan, type ViewNodeProps, type ViewShapeGeometry, type Viewbox, type VocabularyAttribute, type VocabularyAttributeSource, type VocabularyAttributes, type VocabularyClaim, type VocabularyProjection, WRAPPER_PRESENTATION_IDS, type WarpFilter, type WarpType, type WatercolorFilter, type WireAliasShapeStateFields, type WireOnlyShapeStateFields, type WordSearchAxes, type WordSearchCellPath, type WordSearchDirection, type WordSearchLintResult, type WordSearchOptions, type WordSearchPlacement, type WordSearchPrimitiveMask, XHTML_EXTENSION_URI, type XrayFilter, accumulateAnimationValue, addAnimationValues, addSmilPointsValues, affine, affineFromArray, affineToArray, almostEqualAffine, animationBackwardsFillTrack, animationCycleDuration, animationDefinitionTargetShapeId, animationTrackActiveEnd, animationTrackDocumentBegin, appearanceLayers, appendAppearanceLayer, applyAffineToPoint, applyAffineToVector, applyAppearanceStyle, applyClipMaskGroupDelta, applyClipMaskPlanToShapes, applyCssAnimationLonghandOverrides, applyGuideDeltaOp, applyIngestPlan, applyMeasurementDeltaOp, applyMetadataDeltaOp, applyOpToSnapshot, applyOpsInPlace, applyOpsToSnapshot, applyOpsToSnapshotWithAccepted, applyPathNodeValue, applyRichTextFormat, applyTextSplice, applyTextTransform, applyTimingFunctionToKeyframe, arcEndpointToCenter, areTracksTimingEquivalent, around, assembleLibraryDefs, assembleSvgFromPlan, assertIngestFeatureRegistry, assertIngestPolicyRegistry, assertNamespaceVocabularyRegistry, assertRasterImage, assertSvgImportCapabilityOwners, authoredPaintDeclarations, baseFillLayer, baseStrokeLayer, buildCompoundTransformValues, buildDefinitionPlacementIndex, buildForeignImportReport, buildFreshMetadataBlock, buildGuideDeltaOps, buildManagedChildren, buildManagedDescription, buildMeasurementDeltaOps, buildMetadataDeltaOps, buildRenderPlan, buildSmilKeyframeData, buildSmilKeyframes, buildSvgDestinationIdentityIndex, buildSvgIngestPlan, buildSymbolMaterializationPlan, buildViewBoxSmilKeyframeData, canonicalPolygonTransformString, canonicalTransformMatrix, canonicalTransformString, chainHasTargetedEffects, claimElementThroughVocabulary, classifyIngestDiagnostic, classifySvgExternalAssetUrl, clipMaskDefinitionFromGroup, clipMaskDefinitionsFromGroups, clipMaskGroupDefId, clipMaskGroupDefinitionId, clipMaskGroupIsRawBacked, clipMaskGroupWithDefinition, clipMaskOwnedDefIds, cloneTextSpanTree, collaborationResourceKey, collectDocumentEnvelopeLibraryReferenceIds, collectFontFacesFromPlan, collectFontFamiliesFromPlan, collectMarkerReferences, collectReferencedLibraryDefs, collectReferencedMarkerIds, collectSvgFragmentLibraryReferenceIds, collectUnknownDocumentFields, compareImages, compareOrderKeys, composeDecomposedTransformMatrix, compositeOver, computeArrowVertices, computeCloudPath, computeCrossVertices, computeDashArray, computeFlowchartBoxPath, computeGearPath, computeGearVertices, computeHeartPath, computeLightningVertices, computePolygonVertices, computeRectanglePath, computeRingPath, computeSpeechBubbleVertices, computeSpiralPath, computeSplinePath, computeStarVertices, connectorLabelAnchor, containerTransformNeedsContentPivot, convertGradientUnits, createDocument, createSceneNode, createShape, createSvgDestinationIdAllocator, createSvgPathMetrics, createTextLayoutKey, createTextLayoutProduct, createViewbox, createWordSearchPrimitiveMask, cssAnimationFillField, cssNamedColorToRgb, cubicBezierExtent1D, cubicBezierToEasingFields, customPatternDefToLibraryDef, declaredRichTextDeltaKeys, decodeCssEscapes, decodeSvgSourceBytes, decomposeAffine2D, decoratePlanNodes, decorateSnapshotShapes, dedupeFontFaces, defaultVariableMode, deltaE2000, deriveRichTextFormatRanges, deriveSegments, deriveTextSplice, derivedConnectionPoints, detachAppearanceStyle, documentObjectBounds, ellipticalArcBounds, emptyDocumentMetadata, ensureTextSpanRange, escXml, evaluateEasing, evaluateFontCoverage, evaluateKeyframeEasing, evaluateLinearEasing, evaluateParsedTimingFunction, evaluateSteps, evaluateSvgConditionalProcessing, expandAppearanceStack, extractVariables, filterAttr, filterChainExtendsBounds, filterChainGroupId, filterChainGroups, filterDefinitionEnvelope, filterReferenceValue, finalizeRenderPlan, findShapeById, fingerprintCssAnimationDocumentStyles, fingerprintCssAnimationInlineStyles, fingerprintCssAnimationTrack, fingerprintIngestSource, flattenShapeStateTree, flattenStateExtra, flattenUnknownDocumentFields, foldSchemaV2AncestorTransformIntoMatrix, fontFaceKey, forEachAppearanceLayerRef, forEachAppearanceStyleRef, forEachLibraryRefInState, forEachMarkerRefInState, forEachReachableShape, forEachShapeInLibraryDefs, formatCssFontFamilyList, formatOperationValidationIssues, formatSmilKeySpline, formatSmilKeyTime, freezeIngestPlan, freezeSiblingOrderKeys, generateCode, generateCodeWithDiagnostics, generateCssCode, generateD3Code, generateId, generatePatternSvgContent, generatePuzzlePieces, generateReactCode, generateSudokuPuzzle, generateSvgCode, generateVueCode, generateWordSearch, geometryDefinitionId, geometryState, getBuiltInMarkerDefs, getEasingCubicBezier, getEffectivePrecision, getIngestFeatureCapability, getIngestFieldPolicy, getKeyframeCubicBezier, getLicenseLabel, getLicenseUrl, getMarkerDescriptors, getPatternElements, getShapeGeometryKernel, getSmilAccumulate, getSmilAdditive, getSmilBeginValue, getSmilFillMode, getSmilMotionKeyPoints, getSmilRepeatCount, getSmilSetBeginValue, getSmilTrackDuration, getSvgCoordinateAttributePrecision, getSvgPropertySemantics, getSvgSourceAttribute, getSvgSourceHref, getWordSearchDirections, gradientStopPoint, gradientTransformAttribute, hasAnyTypedMetadataField, hasEmittableSmilSimpleDuration, hasOpaqueSvgAncestor, hasSvgSourceAttribute, importSvg, importSvgWithDiagnostics, indexLibraryDefinitions, inferSvgCoordinatePrecision, initialOrderKeys, injectClipMaskReference, inspectCssTransformValue, interpolateAngle, interpolateCharOffsetArray, interpolateColor, interpolateDasharrayLists, interpolateGradient, interpolateNumericArray, interpolatePathData, interpolatePlainObject, interpolatePointArray, interpolatePolylinePoints, interpolateShapeTrees, interpolateSplinePointArray, invertAffine, isColorValue, isConnectorLineState, isCssAnimationDeclarationName, isCssGenericFamilyName, isCssNamedColor, isDefaultKeyPoints, isDefaultKeyTimes, isDocumentImportIntent, isEntirelyUnembeddableFamilyList, isFiniteAffineArray, isGeometryTrackProperty, isGradientLike, isIdentityAffine, isIdentityLinearSplines, isIndefiniteSetTrack, isIndefiniteSmilSimpleDuration, isNumericArray, isPathDataTrackProperty, isPathNodeTrack, isReusablePatternTile, isSafeGradientRootAttributeName, isSafePatternRootAttributeName, isSetSequenceTrack, isSvgPresentationProperty, isTextPathGeneratedId, isUnembeddableFamilyName, isValidOrderKey, keyBetween, keysBetween, layerFilterTargets, layerPaints, layerState, layoutText, legacyEndpointMarkerId, lerpNumber, linearGradient, linearGradientEnvelope, lintWordSearchOptions, lowerPathNodeTracks, luma709, mapAnimationTrackTime, matchCubicBezierToPreset, materializeSceneTreeOrderKeys, matrixTransformPart, maxCollaborationTimestamp, mergeRichTextStyle, migrateSnapshot, migrateV11toV12, migrateV14toV15, migrateV15toV16, migrateV16toV17, migrateV17toV18, migrateV18toV19, migrateV6toV7, migrateViewboxSidecarToViews, motionPathD, moveResourceById, multiplyAffine, mutateSvgClipMaskDefinitionMarkup, namespaceVocabularies, namespaceVocabulary, needsAppearanceStack, nodeSchemas, normalizeClipMaskGroups, normalizePaintServerDef, normalizeRichTextRuns, normalizeRichTextStyle, normalizeRichTextStyleDelta, normalizeSmilPointsValue, normalizeSnapshotStructure, normalizeSnapshotToCanonicalDocument, orderSiblings, paintingLayers, parseColor, parseCssAnimationShorthand, parseCssTimingFunction, parseCssTransformOrigin, parseDocument, parseDocumentWithDiagnostics, parseFontFamilyList, parseInterpolationNumbers, parsePathNodeProperty, parsePreserveAspectRatio, parseSmilAdditive, parseSmilClockValue, parseSmilDuration, parseSmilFillField, parseSmilKeySplines, parseSmilKeyTimes, parseSmilRepeatSettings, parseSmilValues, parseSvgAbsoluteLength, parseSvgLength, parseSvgLengthList, parseSvgLengthToken, parseSvgPathData, parseSvgRootFrame, parseSvgSourceDocument, parseSvgStyleAttribute, parseSvgTransformList, parseSvgViewBox, parseSvgatorPayload, parseVariableArgs, parseWordSearchWords, partitionShapeStateTree, partitionStateExtra, partitionUnknownDocumentFields, pathCommandStructuresMatch, pathDataBounds, pathNodeTracksAreSuperseded, pattern, patternDefinitionEnvelope, patternLibraryDefToCustomPatternDef, patternTileSize, pickCssAnimationListItem, plainTextOf, plainTextStyle, planClipMaskGroups, planSnapshotExternalEffects, planSvgAnimations, planSvgAuthoredAttributes, planSvgClipMasks, planSvgConditionalProcessing, planSvgContainerHierarchy, planSvgDocumentExtensions, planSvgEmbeddedFrames, planSvgExternalEffects, planSvgFilters, planSvgGradients, planSvgImport, planSvgLeafGeometry, planSvgMarkers, planSvgMetadata, planSvgOccurrenceViewports, planSvgPaintServerDefinitions, planSvgPatterns, planSvgResourceDependencies, planSvgScripts, planSvgSourceIdentifiers, planSvgStyleCascade, planSvgSymbolUses, planSvgUseOccurrences, planSvgViews, planTransformFusion, planVariantTransitions, planVariantTransitionsCss, planVariantTransitionsSmil, planVariantTransitionsWaapi, planViewBoxFusion, preferredSubsetsForText, premultiply, prepareSvgAuthorCssForLiveProjection, prepareSvgExternalAssetUrlForLiveProjection, prepareSvgMarkupForLiveProjection, prepareSvgXmlSource, preserveAspectRatioAlignFactor, projectClipMaskDefinitionAnimations, projectCssTransformStops, projectDefinitionAnimations, projectPresentation, projectPresentationEntry, projectSceneTreeOntoClipMaskGroups, projectSceneTreeOntoShapes, projectSvgAnimationPlan, projectSvgAnimationTimeline, projectSvgImportToIngestPlan, projectSvgImportToSnapshot, projectSvgSourceNodes, projectSvgatorAnimation, projectTextLinePosition, projectTextSpanRotations, promoteManagedDescription, promoteRebasedShapeUpdateClock, pruneAndWrapSubtree, quadraticBezierExtent1D, radialGradient, radialGradientEnvelope, rebaseRichTextFormatRanges, rebaseRichTextRuns, recognizeScriptAnimation, reflectCubicBezier, registerNamespaceVocabulary, registeredExtensionUris, registeredShapeGeometryTypes, removeResourceById, removeResourceByKey, removeResourceByName, removeTrackKeyframe, renderAnimationElements, renderBuiltinMarkerDefs, renderCircle, renderClipMaskDefinitionAnimationElements, renderClipMaskDefinitionShape, renderDefinitionAnimationElements, renderDescriptiveElements, renderDocumentAnimationElements, renderDocumentExtensionAttributes, renderDocumentExtensionNodes, renderDocumentExtensions, renderDocumentScripts, renderDocumentStyles, renderEllipse, renderFilterDefs, renderFilterElement, renderFilterLibraryDef, renderFilterPrimitive, renderFilterPrimitivesForType, renderFlowchartBox, renderForeignObject, renderGradientDefs, renderGradientStopAnimationElement, renderImage, renderLibraryDef, renderLibraryDefs, renderLine, renderLinearGradient, renderLinearGradientLibraryDef, renderMarkerLibraryDef, renderPaintServerDefs, renderPatternLibraryDef, renderPlanDefsBody, renderPolygonShape, renderPolyline, renderRadialGradient, renderRadialGradientLibraryDef, renderRectangle, renderReferencedLibraryDefs, renderResolvedSymbolDefinitionForest, renderResolvedSymbolDefinitionSubtree, renderResolvedSymbolLibraryDef, renderShape, renderShapeContextForLibrary, renderSpline, renderSvgPrimitiveChainFilter, renderSymbolInstance, renderSymbolLibraryDef, renderTemplateVariablesStyle, renderText, renderTextSpanAnimationElements, renderToSvg, renderToSvgWithDiagnostics, renderVariantTransitionScript, renderVariantTransitionStylesheet, replaceClipMaskDefinition, replaceClipMaskGroupsInSceneTree, replaySceneTreePlacements, requiredDecimalPrecision, requiredSubsetsForText, resolveAppearanceStyle, resolveConnectorAnchorFromDocument, resolveConnectorEndpoints, resolveContainerTransform, resolveContainerTransformFromContentBounds, resolveCssAnimationEasingType, resolveEmbeddedSvgTransform, resolveEmbeddedSvgViewportFrameBounds, resolveFontStyle, resolveFontWeight, resolveGradientGeometry, resolveGradientLibraryDef, resolveInlineContainerTransform, resolveMetadataQName, resolvePasteWrapperViewportSize, resolvePathDAtTime, resolvePatternLibraryDef, resolvePatternTile, resolveRichTextStyleAt, resolveRootViewportFraming, resolveShapeGeometry, resolveShapeLocalObjectBounds, resolveShapeObjectBounds, resolveShapeReferenceTransform, resolveStyledTextLines, resolveSvgGradientGeometry, resolveSvgLengthToken, resolveSvgPatternTile, resolveSvgQName, resolveSvgRectRadii, resolveSvgTextSpanTarget, resolveSvgViewport, resolveSymbolDefinitionForestRootIds, resolveSymbolInstanceContent, resolveSymbolInstanceShapes, resolveSymbolInstanceTransform, resolveSymbolViewport, resolveTextSpanProjection, rewriteDocumentEmbeddedPayloads, rewriteIdReferencesInMarkup, rewriteShapeStateEmbeddedPayloads, rewriteSvgResourceReferenceValue, richTextFontVariantCss, richTextLineSpans, richTextRunsFromState, richTextStyleDelta, richTextStyleDeltasEqual, richTextStylesEqual, richTextTspanAttributes, rootMetadataAttrs, rootPaintServerDefId, rotateAffine, roundCoord, roundMarkupCoordinates, roundNumberString, roundSerializedShape, roundSnapshot, routeConnector, runsFromSegments, sameSize, sampleAnimationTrackTime, sampleTextForSubsets, sanitizeRichTextFormatRanges, sanitizeXmlId, scaleAffine, scanCssFunctionTokens, scanCssLocalUrlTokens, senderCorrectionsForOp, serializeSvgPathData, serializedPathNodeGeometry, serializedPresentationReader, severity, shapeAppearanceLayers, shapeAppearanceStyle, shapeLocalObjectBounds, shapeLocalObjectCenter, shapeNeedsAppearanceExpansion, shapeObjectBoundsInSpace, shapeOutlineCapability, shouldRoundSvgCoordinateAttribute, skewXAffine, skewYAffine, smilKeyframeAttributes, snapshotBoundsView, sniffDocumentBytes, solveCubicBezier, solveSudoku, spliceTextSpanTree, splinePathBounds, splitAppearanceForStyle, splitCssAnimationList, splitCssTopLevel, splitCssTopLevelRanges, splitTopLevelElements, srgbToLab, ssimPlane, stringifyDocument, stripAnimationDeclarations, stripCssAnimationInlineStyle, subsetsForCodePoint, substituteString, substituteVariables, symbolDefinitionSemanticHash, symbolInstanceTargetId, synthesizeCssAnimationShorthand, templateVariablesCss, textPathGeneratedId, textSpanEffectiveRotations, textSpanIds, textSpanNodeById, textSpanRangeByIds, transformSplice, transformSvgPathData, translateAffine, translateSvgPathData, tryParseSvgTransformList, unmatchedDecorationDiagnostics, updateGradientLibraryDef, upsertResourceById, upsertResourceByKey, upsertResourceByName, upsertTrackKeyframe, validateDocumentOperations, validateOperation, validatePresenceOperation, validateSnapshot, validateSudokuPuzzle, verticesToPath, visitShapeTree, visitSnapshotShapeTrees, writeAppearanceLayers };
|