@svgsketch/core 4.2.0 → 5.0.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 CHANGED
@@ -673,8 +673,23 @@ interface SerializedAnimationTimeline {
673
673
  interface AnimatablePropertyDescriptor {
674
674
  /** Internal property key (e.g. 'cx', 'opacity'). */
675
675
  key: string;
676
- /** Human-readable label. */
676
+ /**
677
+ * Human-readable English label, for programmatic introspection and as
678
+ * the display fallback when no `labelKey` is set.
679
+ *
680
+ * A host that renders a localized UI should prefer {@link labelKey}:
681
+ * `label` is English regardless of locale.
682
+ */
677
683
  label: string;
684
+ /**
685
+ * i18n key for the display label, resolved by the host at render time.
686
+ *
687
+ * The label cannot be derived from `key` alone - the same key means
688
+ * different things on different shapes (a circle's `x` is a centre, a
689
+ * rectangle's is a corner), so the descriptor is the only place that
690
+ * knows what to call it.
691
+ */
692
+ labelKey?: string;
678
693
  /**
679
694
  * Value type — determines the interpolation method.
680
695
  * - `'number'` — linearly interpolated.
@@ -1044,6 +1059,22 @@ interface BaseFilter {
1044
1059
  id: string;
1045
1060
  type: FilterType;
1046
1061
  enabled: boolean;
1062
+ /**
1063
+ * The appearance layer this effect acts on, by layer id.
1064
+ *
1065
+ * Absent - the case for every effect authored before effects could be
1066
+ * targeted - means the shape as composed, which is where a shape's effects
1067
+ * have always applied. Present, the effect acts on that one paint pass
1068
+ * instead: a glow on the bright inner stroke of a sign rather than on its
1069
+ * whole silhouette.
1070
+ *
1071
+ * This is the authoring intent. The rendering reference is the definition id
1072
+ * on the owning element (`filterLibraryIds` on the shape or on the layer),
1073
+ * which `filterChainGroups` derives from these targets - one `<filter>` per
1074
+ * destination, because SVG expresses "acts on this element" by which element
1075
+ * carries the reference.
1076
+ */
1077
+ target?: string;
1047
1078
  }
1048
1079
  interface DropShadowFilter extends BaseFilter {
1049
1080
  type: 'drop-shadow';
@@ -3163,6 +3194,22 @@ interface CommonNodeProps extends CommonTransformNodeProps {
3163
3194
  * See `types/appearance.ts` for the mirroring contract in full.
3164
3195
  */
3165
3196
  appearance?: AppearanceLayer[];
3197
+ /**
3198
+ * The `AppearanceStyleLibraryDef` this shape wears, if any.
3199
+ *
3200
+ * A linked shape takes its layer LIST from the style rather than from
3201
+ * `appearance` above, so the two are mutually exclusive: applying a style
3202
+ * clears the inline list, and detaching writes it back. The paint of the
3203
+ * first fill layer and first stroke layer still comes from this shape's own
3204
+ * base props either way, which is what keeps a shared style from flattening
3205
+ * every shape that wears it to the same colour.
3206
+ *
3207
+ * Absent, present-but-dangling, and present-and-resolvable are three
3208
+ * different states and only the last changes what the shape paints: a link
3209
+ * to a definition this document no longer has falls back to the base props,
3210
+ * so a style library that goes missing degrades rather than blanks the art.
3211
+ */
3212
+ graphicStyleId?: string;
3166
3213
  /** `true` when `fill-rule` was explicitly authored (vs. editor default). */
3167
3214
  fillRuleExplicit?: boolean;
3168
3215
  /** SVG 2 §11.8 `paint-order`. `'normal'` when unauthored. */
@@ -3249,9 +3296,17 @@ interface CircleNodeProps extends CommonNodeProps {
3249
3296
  y: number;
3250
3297
  radius: number;
3251
3298
  }
3299
+ /**
3300
+ * An ellipse's centre is `x` / `y`, matching CircleNodeProps and matching
3301
+ * what the SVG importer writes (`svg-leaf-geometry.ts` normalizes the `cx` /
3302
+ * `cy` ATTRIBUTES to these prop names for both shapes, and promotes an
3303
+ * ellipse with equal radii to a circle by reusing the same state). The SVG
3304
+ * attribute names live in the renderer and in the editor's own `cx` / `cy`
3305
+ * accessors; they are not prop names.
3306
+ */
3252
3307
  interface EllipseNodeProps extends CommonNodeProps {
3253
- cx: number;
3254
- cy: number;
3308
+ x: number;
3309
+ y: number;
3255
3310
  rx: number;
3256
3311
  ry: number;
3257
3312
  }
@@ -4017,7 +4072,7 @@ interface SerializedShape {
4017
4072
  type: string;
4018
4073
  state: SerializedShapeState;
4019
4074
  }
4020
- declare const SERIALIZED_SHAPE_STATE_KEYS: readonly ["transformMatrix", "scaleX", "scaleY", "translateX", "translateY", "rotation", "skewX", "skewY", "customPivot", "rawTransform", "layerName", "leadingComments", "fillColor", "borderColor", "borderWidth", "opacity", "fillOpacity", "strokeOpacity", "locked", "visible", "fillType", "fillGradient", "strokeType", "strokeGradient", "fillRule", "strokeLinejoin", "strokeLinecap", "strokeMiterlimit", "lineStyle", "dashLength", "gapLength", "dashOffset", "strokeDasharray", "colorInterpolation", "filters", "filterColorInterpolation", "filterUnits", "primitiveUnits", "filterX", "filterY", "filterWidth", "filterHeight", "metadata", "cssClipPath", "cssMaskProperties", "structural", "displayMode", "definitionOrder", "definitionContainerId", "display", "visibility", "inheritFill", "inheritStroke", "preserveOpacity", "preserveFillOpacity", "preserveStrokeOpacity", "fillLibraryId", "strokeLibraryId", "authoredFillPaint", "authoredStrokePaint", "filterLibraryIds", "appearance", "fillRuleExplicit", "paintOrder", "vectorEffect", "transformBox", "pathLength", "markerStart", "markerMid", "markerEnd", "blendMode", "shapeRendering", "textRendering", "imageRendering", "colorRendering", "systemLanguage", "requiredExtensions", "presentationChannels", "inlineStyle", "authoredAttributes", "bindings", "scripts", "lastSolidFillColor", "lastSolidStrokeColor", "connectionPoints", "isRootSvg", "x", "y", "width", "height", "rx", "ry", "cornerRadius", "cornerShape", "cornerMode", "cornerRadiusTL", "cornerRadiusTR", "cornerRadiusBL", "cornerRadiusBR", "cornerShapeTL", "cornerShapeTR", "cornerShapeBL", "cornerShapeBR", "size", "radius", "cx", "cy", "shiftAngle", "x1", "y1", "x2", "y2", "startEndpoint", "endEndpoint", "routingMode", "sourceRef", "targetRef", "sourcePoint", "targetPoint", "waypoints", "label", "labelPosition", "labelOffset", "mermaidEdgeStyle", "textX", "textY", "authoredTextPosition", "textSpanTree", "fontSize", "text", "fontFamily", "fontWeight", "fontStyle", "fontStretch", "fontSizeAdjust", "fontVariant", "fontVariantLigatures", "fontVariantPosition", "fontVariantCaps", "fontVariantNumeric", "fontVariantEastAsian", "textDecoration", "textTransform", "baselineShift", "dominantBaseline", "alignmentBaseline", "writingMode", "textAnchor", "letterSpacing", "wordSpacing", "lineHeight", "inlineSize", "overflowWrap", "whiteSpace", "textDirection", "unicodeBidi", "useRichText", "richTextRuns", "charOffsets", "fontVariationSettings", "linePositions", "textLength", "lengthAdjust", "shapeInsideRef", "shapeInsideImportRefId", "shapePadding", "isTextPath", "textPathPoints", "textPathStartOffset", "textPathStartOffsetUnit", "textPathSide", "textPathMethod", "textPathSpacing", "textPathLengthAdjust", "textPathLength", "textPathLengthUnit", "textPathPathLength", "textPathCurveType", "textPathInlineFormat", "textPathReference", "textPathImportReference", "href", "originalWidth", "originalHeight", "preserveAspectRatio", "specPreserveAspectRatio", "imageOpacity", "pathPoints", "pathArcParams", "pathControlBounds", "pathCurveType", "pathClosed", "pathTension", "polylinePoints", "polylineClosed", "sides", "arms", "innerRadiusPercent", "armWidthPercent", "turns", "thicknessPercent", "spiralDirection", "teeth", "toothDepthPercent", "holeRadiusPercent", "headWidthPercent", "headLengthPercent", "shaftWidthPercent", "tailAngleDeg", "tailLengthPercent", "tailWidthPercent", "lobeRadiusPercent", "cleftDepthPercent", "boltSegments", "boltJaggednessPercent", "boltWidthPercent", "cloudBumps", "cloudPuffinessPercent", "slantPercent", "topWidthPercent", "capHeightPercent", "waveAmplitudePercent", "symbolId", "authoredUseGeometry", "symbolOverrides", "variantKey", "instancePresentation", "scaleContentToViewport", "groupData", "mediaKind", "mediaMimeType", "naturalDuration", "begin", "trimStart", "trimEnd", "volume", "muted", "loop", "playbackRate", "mediaOpacity", "fadeInDuration", "fadeOutDuration", "posterHref", "sourceRect", "foreignContent", "hrefXlink", "linkTarget", "linkRel", "linkDownload", "linkPing", "linkHreflang", "linkType", "linkReferrerPolicy", "containerPresentation", "targetShapeId", "offsetX", "offsetY", "targetWidth", "targetHeight", "broken", "switchSystemLanguage", "switchRequiredExtensions", "svgX", "svgY", "svgWidth", "svgHeight", "svgViewBoxX", "svgViewBoxY", "svgViewBoxWidth", "svgViewBoxHeight", "authoredRootDimensions", "svgPreserveAspectRatio", "viewBoxX", "viewBoxY", "viewBoxWidth", "viewBoxHeight", "viewName", "viewPreserveAspectRatio", "viewZoomAndPan", "viewTarget", "children"];
4075
+ declare const SERIALIZED_SHAPE_STATE_KEYS: readonly ["transformMatrix", "scaleX", "scaleY", "translateX", "translateY", "rotation", "skewX", "skewY", "customPivot", "rawTransform", "layerName", "leadingComments", "fillColor", "borderColor", "borderWidth", "opacity", "fillOpacity", "strokeOpacity", "locked", "visible", "fillType", "fillGradient", "strokeType", "strokeGradient", "fillRule", "strokeLinejoin", "strokeLinecap", "strokeMiterlimit", "lineStyle", "dashLength", "gapLength", "dashOffset", "strokeDasharray", "colorInterpolation", "filters", "filterColorInterpolation", "filterUnits", "primitiveUnits", "filterX", "filterY", "filterWidth", "filterHeight", "metadata", "cssClipPath", "cssMaskProperties", "structural", "displayMode", "definitionOrder", "definitionContainerId", "display", "visibility", "inheritFill", "inheritStroke", "preserveOpacity", "preserveFillOpacity", "preserveStrokeOpacity", "fillLibraryId", "strokeLibraryId", "authoredFillPaint", "authoredStrokePaint", "filterLibraryIds", "appearance", "graphicStyleId", "fillRuleExplicit", "paintOrder", "vectorEffect", "transformBox", "pathLength", "markerStart", "markerMid", "markerEnd", "blendMode", "shapeRendering", "textRendering", "imageRendering", "colorRendering", "systemLanguage", "requiredExtensions", "presentationChannels", "inlineStyle", "authoredAttributes", "bindings", "scripts", "lastSolidFillColor", "lastSolidStrokeColor", "connectionPoints", "isRootSvg", "x", "y", "width", "height", "rx", "ry", "cornerRadius", "cornerShape", "cornerMode", "cornerRadiusTL", "cornerRadiusTR", "cornerRadiusBL", "cornerRadiusBR", "cornerShapeTL", "cornerShapeTR", "cornerShapeBL", "cornerShapeBR", "size", "radius", "cx", "cy", "shiftAngle", "x1", "y1", "x2", "y2", "startEndpoint", "endEndpoint", "routingMode", "sourceRef", "targetRef", "sourcePoint", "targetPoint", "waypoints", "label", "labelPosition", "labelOffset", "mermaidEdgeStyle", "textX", "textY", "authoredTextPosition", "textSpanTree", "fontSize", "text", "fontFamily", "fontWeight", "fontStyle", "fontStretch", "fontSizeAdjust", "fontVariant", "fontVariantLigatures", "fontVariantPosition", "fontVariantCaps", "fontVariantNumeric", "fontVariantEastAsian", "textDecoration", "textTransform", "baselineShift", "dominantBaseline", "alignmentBaseline", "writingMode", "textAnchor", "letterSpacing", "wordSpacing", "lineHeight", "inlineSize", "overflowWrap", "whiteSpace", "textDirection", "unicodeBidi", "useRichText", "richTextRuns", "charOffsets", "fontVariationSettings", "linePositions", "textLength", "lengthAdjust", "shapeInsideRef", "shapeInsideImportRefId", "shapePadding", "isTextPath", "textPathPoints", "textPathStartOffset", "textPathStartOffsetUnit", "textPathSide", "textPathMethod", "textPathSpacing", "textPathLengthAdjust", "textPathLength", "textPathLengthUnit", "textPathPathLength", "textPathCurveType", "textPathInlineFormat", "textPathReference", "textPathImportReference", "href", "originalWidth", "originalHeight", "preserveAspectRatio", "specPreserveAspectRatio", "imageOpacity", "pathPoints", "pathArcParams", "pathControlBounds", "pathCurveType", "pathClosed", "pathTension", "polylinePoints", "polylineClosed", "sides", "arms", "innerRadiusPercent", "armWidthPercent", "turns", "thicknessPercent", "spiralDirection", "teeth", "toothDepthPercent", "holeRadiusPercent", "headWidthPercent", "headLengthPercent", "shaftWidthPercent", "tailAngleDeg", "tailLengthPercent", "tailWidthPercent", "lobeRadiusPercent", "cleftDepthPercent", "boltSegments", "boltJaggednessPercent", "boltWidthPercent", "cloudBumps", "cloudPuffinessPercent", "slantPercent", "topWidthPercent", "capHeightPercent", "waveAmplitudePercent", "symbolId", "authoredUseGeometry", "symbolOverrides", "variantKey", "instancePresentation", "scaleContentToViewport", "groupData", "mediaKind", "mediaMimeType", "naturalDuration", "begin", "trimStart", "trimEnd", "volume", "muted", "loop", "playbackRate", "mediaOpacity", "fadeInDuration", "fadeOutDuration", "posterHref", "sourceRect", "foreignContent", "hrefXlink", "linkTarget", "linkRel", "linkDownload", "linkPing", "linkHreflang", "linkType", "linkReferrerPolicy", "containerPresentation", "targetShapeId", "offsetX", "offsetY", "targetWidth", "targetHeight", "broken", "switchSystemLanguage", "switchRequiredExtensions", "svgX", "svgY", "svgWidth", "svgHeight", "svgViewBoxX", "svgViewBoxY", "svgViewBoxWidth", "svgViewBoxHeight", "authoredRootDimensions", "svgPreserveAspectRatio", "viewBoxX", "viewBoxY", "viewBoxWidth", "viewBoxHeight", "viewName", "viewPreserveAspectRatio", "viewZoomAndPan", "viewTarget", "children"];
4021
4076
  type SerializedStateKeyListEntry = (typeof SERIALIZED_SHAPE_STATE_KEYS)[number];
4022
4077
  type SerializedStateKey = Exclude<keyof SerializedShapeState, 'extra'>;
4023
4078
  type StateKeyGate<T extends never> = T;
@@ -4482,15 +4537,26 @@ interface SerializedClipMaskGroup {
4482
4537
  * - linear-gradient / radial-gradient (SVG 2 §14, referenced by fill/stroke)
4483
4538
  * - pattern (SVG 2 §14.3, referenced by fill/stroke)
4484
4539
  * - filter (CSS Filter Effects §Filter Property, referenced by `filter`)
4540
+ * - appearance-style (no SVG element form - see below)
4485
4541
  *
4486
4542
  * ClipPath, mask, and <style> are deliberately out of scope for this pass.
4543
+ *
4544
+ * `appearance-style` is the one kind with NO element form. SVG can express a
4545
+ * multi-pass appearance (that is just the painter's model) but has no construct
4546
+ * for naming one and referencing it, the way `<linearGradient>` names a paint
4547
+ * server. A shape therefore resolves its style in the model and renders the
4548
+ * result; the definition itself is never emitted. See
4549
+ * {@link NON_RENDERING_LIBRARY_KINDS} in renderer/library-renderers.ts, which is
4550
+ * the single place that fact is declared.
4487
4551
  */
4488
4552
 
4489
4553
  /** Discriminator for the `LibraryDef` union. */
4490
- type LibraryKind = 'symbol' | 'marker' | 'linear-gradient' | 'radial-gradient' | 'pattern' | 'filter';
4554
+ type LibraryKind = 'symbol' | 'marker' | 'linear-gradient' | 'radial-gradient' | 'pattern' | 'filter' | 'appearance-style';
4555
+ /** Every library kind, as values. Derived from {@link LIBRARY_KIND_ROSTER}. */
4556
+ declare const LIBRARY_KINDS: readonly LibraryKind[];
4491
4557
  /**
4492
4558
  * Common fields shared by every kind of library def. ID prefix convention:
4493
- * sym- / mkr- / grd- / pat- / flt-
4559
+ * sym- / mkr- / grd- / pat- / flt- / sty-
4494
4560
  */
4495
4561
  interface LibraryDefBase {
4496
4562
  /** Unique identifier, prefixed by kind (see convention above). */
@@ -4764,8 +4830,42 @@ interface FilterLibraryDef extends LibraryDefBase {
4764
4830
  width?: string;
4765
4831
  height?: string;
4766
4832
  }
4833
+ /**
4834
+ * A named, reusable appearance stack - the paint operations a shape performs,
4835
+ * stored once and referenced by every shape that wears the look.
4836
+ *
4837
+ * Shapes link by `graphicStyleId`; the layers live here and nowhere else, so
4838
+ * editing the style changes every shape using it with no fan-out write. What a
4839
+ * linked shape keeps for itself is the paint of its FIRST fill layer and FIRST
4840
+ * stroke layer, which continue to come from its own base props exactly as they
4841
+ * do for an unlinked shape (the mirroring contract in types/appearance.ts).
4842
+ * The style therefore shares STRUCTURE - how many passes, in what order, with
4843
+ * which extra paints and per-layer effects - while each shape keeps its own
4844
+ * core colour and stroke width. That split is what lets one "Sticker Outline"
4845
+ * style serve twelve differently-coloured icons.
4846
+ *
4847
+ * Deliberately NOT included: element opacity and blend mode. Those act on the
4848
+ * composed result rather than on any one paint operation (the split declared by
4849
+ * `WRAPPER_PRESENTATION_IDS` in renderer/appearance-expansion.ts), so folding
4850
+ * them in would make a "style" mean two different things at once.
4851
+ */
4852
+ interface AppearanceStyleLibraryDef extends LibraryDefBase {
4853
+ kind: 'appearance-style';
4854
+ /**
4855
+ * Ordered paint operations, bottom-to-top. Index 0 paints first.
4856
+ *
4857
+ * Complete, including the first fill and first stroke - but the paint on
4858
+ * those two is a SEED rather than a binding. Applying the style copies it
4859
+ * into the wearing shape's base props, so the shape looks like the style
4860
+ * immediately; from then on the shape's own props answer for those two slots
4861
+ * and the seed is inert. That is what lets one style serve twelve
4862
+ * differently-coloured icons while still transferring its whole look on the
4863
+ * click that applies it.
4864
+ */
4865
+ layers: AppearanceLayer[];
4866
+ }
4767
4867
  /** Discriminated union over `kind`. */
4768
- type LibraryDef = SymbolLibraryDef | MarkerLibraryDef | LinearGradientLibraryDef | RadialGradientLibraryDef | PatternLibraryDef | FilterLibraryDef;
4868
+ type LibraryDef = SymbolLibraryDef | MarkerLibraryDef | LinearGradientLibraryDef | RadialGradientLibraryDef | PatternLibraryDef | FilterLibraryDef | AppearanceStyleLibraryDef;
4769
4869
  /**
4770
4870
  * Narrow helper — picks the library-def type for a given kind. Useful for
4771
4871
  * `getByKind('symbol')` return types.
@@ -4816,24 +4916,45 @@ declare const BASE_STROKE_LAYER_ID = "stroke-0";
4816
4916
  declare function baseFillLayer(state: SerializedShapeState): AppearanceFillLayer;
4817
4917
  /** The stroke layer synthesized from a shape's base props. */
4818
4918
  declare function baseStrokeLayer(state: SerializedShapeState): AppearanceStrokeLayer;
4919
+ /** Where a style id is looked up. */
4920
+ type AppearanceStyleSource = readonly LibraryDef[] | ReadonlyMap<string, LibraryDef> | ((id: string) => LibraryDef | undefined) | null | undefined;
4921
+ /**
4922
+ * Look up a style definition.
4923
+ *
4924
+ * Returns undefined for an id that names nothing, or names a def of another
4925
+ * kind. Both are the dangling case, and the dangling case is not an error: a
4926
+ * document pasted away from its library still has to paint.
4927
+ */
4928
+ declare function resolveAppearanceStyle(source: AppearanceStyleSource, id: string | undefined): AppearanceStyleLibraryDef | undefined;
4929
+ /** The style a shape wears, or undefined when it wears none. */
4930
+ declare function shapeAppearanceStyle(state: SerializedShapeState, styles: AppearanceStyleSource): AppearanceStyleLibraryDef | undefined;
4819
4931
  /**
4820
4932
  * Every paint operation the shape performs, bottom-to-top.
4821
4933
  *
4822
- * A shape with no `appearance` yields the two synthesized base layers in
4823
- * default paint order (fill, then stroke — SVG 2 §13.8), which is exactly what
4824
- * such a shape has always painted. A shape that carries one yields its list,
4825
- * with the first layer of each kind resolved from the base props so the two
4826
- * homes cannot report different paint.
4934
+ * Three sources, in precedence order:
4935
+ *
4936
+ * - A resolvable `graphicStyleId` supplies the list. The style owns how many
4937
+ * passes there are, in what order, and what the non-base ones paint.
4938
+ * - Otherwise `state.appearance`, the shape's own list.
4939
+ * - Otherwise the two synthesized base layers in default paint order (fill,
4940
+ * then stroke — SVG 2 §13.8), which is exactly what a shape that has never
4941
+ * carried a stack has always painted.
4942
+ *
4943
+ * In all three the first layer of each kind takes its paint from the base
4944
+ * props, so the two homes cannot report different paint — and so a style shares
4945
+ * the shape of an appearance without flattening every shape wearing it to one
4946
+ * colour. `styles` is what a caller passes to make the first case reachable;
4947
+ * omitting it resolves the other two exactly as before graphic styles existed.
4827
4948
  *
4828
4949
  * `paint-order` is deliberately NOT applied here. It permutes the base fill
4829
4950
  * and stroke of a single-layer shape and is a separate concern from the stack
4830
4951
  * itself; applying both would sequence the same shape twice.
4831
4952
  */
4832
- declare function appearanceLayers(state: SerializedShapeState): readonly AppearanceLayer[];
4953
+ declare function appearanceLayers(state: SerializedShapeState, styles?: AppearanceStyleSource): readonly AppearanceLayer[];
4833
4954
  /** Whether a layer contributes ink: it is enabled and its paint is not `none`. */
4834
4955
  declare function layerPaints(layer: AppearanceLayer): boolean;
4835
4956
  /** The layers that actually contribute ink, in paint order. */
4836
- declare function paintingLayers(state: SerializedShapeState): readonly AppearanceLayer[];
4957
+ declare function paintingLayers(state: SerializedShapeState, styles?: AppearanceStyleSource): readonly AppearanceLayer[];
4837
4958
  /**
4838
4959
  * Whether a shape needs the appearance stack to describe what it paints.
4839
4960
  *
@@ -4852,6 +4973,20 @@ declare function needsAppearanceStack(layers: readonly AppearanceLayer[]): boole
4852
4973
  * accumulate a field that describes nothing.
4853
4974
  */
4854
4975
  declare function writeAppearanceLayers(state: SerializedShapeState, layers: readonly AppearanceLayer[]): SerializedShapeState;
4976
+ /**
4977
+ * Library def ids the stack's layers reference, beyond what the base props
4978
+ * already name.
4979
+ *
4980
+ * A second fill can carry a gradient, and any layer can carry its own filter
4981
+ * chain — references no base prop mentions. Every collector that decides which
4982
+ * defs a document needs has to see them, or the output points at a definition
4983
+ * that was never emitted.
4984
+ *
4985
+ * Base layers are scanned too. Their paint mirrors the base props and would be
4986
+ * counted twice, which is harmless in a set, but their per-layer filters are
4987
+ * theirs alone and appear nowhere else.
4988
+ */
4989
+ declare function forEachAppearanceLayerRef(state: SerializedShapeState | Record<string, unknown> | undefined, visit: (libraryId: string) => void): void;
4855
4990
  /**
4856
4991
  * Which layer, if any, claims each filter chain the shape's layers reference.
4857
4992
  *
@@ -4867,6 +5002,117 @@ declare function writeAppearanceLayers(state: SerializedShapeState, layers: read
4867
5002
  declare function layerFilterTargets(state: SerializedShapeState | Record<string, unknown> | undefined): ReadonlyMap<string, string>;
4868
5003
  /** Append a layer to the top of a shape's stack. */
4869
5004
  declare function appendAppearanceLayer(state: SerializedShapeState, layer: AppearanceLayer): SerializedShapeState;
5005
+ /**
5006
+ * Split a stack the way a linked shape stores it: paint that is the shape's own
5007
+ * goes to its base props, and the list itself goes to a shared style.
5008
+ *
5009
+ * Two differences from `writeAppearanceLayers`, which it reuses so the
5010
+ * base-prop half cannot drift between them:
5011
+ *
5012
+ * - The list is always produced. A style whose layers happen to be a plain
5013
+ * fill-and-stroke pair is a legitimate style, whereas the same pair inline
5014
+ * says nothing the base props did not, so `appearance` drops it — and a
5015
+ * style with an empty list would paint nothing at all.
5016
+ * - The base entries keep their paint. Inline they must not, because the
5017
+ * props are the one home for it; in a style it is the seed a later
5018
+ * `applyAppearanceStyle` copies into whatever shape wears it next.
5019
+ */
5020
+ declare function splitAppearanceForStyle(state: SerializedShapeState, layers: readonly AppearanceLayer[]): {
5021
+ state: SerializedShapeState;
5022
+ styleLayers: AppearanceLayer[];
5023
+ };
5024
+ /**
5025
+ * Link a shape to a style.
5026
+ *
5027
+ * The style's layer-zero paint is copied into the shape's base props so the
5028
+ * shape looks like the style the moment it is applied. It is a starting value,
5029
+ * not a binding: recolouring the shape afterwards moves only that shape, which
5030
+ * is the per-instance half of the split described on
5031
+ * `AppearanceStyleLibraryDef`. The inline list is cleared because the style now
5032
+ * owns it, and the two are never both authoritative.
5033
+ */
5034
+ declare function applyAppearanceStyle(state: SerializedShapeState, style: AppearanceStyleLibraryDef): SerializedShapeState;
5035
+ /**
5036
+ * Break a shape's link to its style, keeping what it currently paints.
5037
+ *
5038
+ * The resolved layers are written back inline, so the shape carries on looking
5039
+ * identical and every later edit is local to it. A shape whose link was already
5040
+ * dangling detaches to exactly what it was painting, which is its base props.
5041
+ */
5042
+ declare function detachAppearanceStyle(state: SerializedShapeState, styles: AppearanceStyleSource): SerializedShapeState;
5043
+ /**
5044
+ * Library def ids a style's own layers reference.
5045
+ *
5046
+ * A style can name a gradient for its second fill and a filter chain for one of
5047
+ * its layers. Those references reach the document only through the style, so
5048
+ * every collector that decides which defs to emit — or which are safe to prune
5049
+ * — has to follow the link to find them.
5050
+ */
5051
+ declare function forEachAppearanceStyleRef(style: AppearanceStyleLibraryDef, visit: (libraryId: string) => void): void;
5052
+
5053
+ /**
5054
+ * Splitting a shape's effect chain by what each effect acts on.
5055
+ *
5056
+ * A shape's effects are authored as ONE ordered list, because that is what the
5057
+ * user sees and edits. What each effect ACTS on is per-effect: a glow can
5058
+ * belong to the bright inner stroke while a drop shadow belongs to the shape as
5059
+ * composed. SVG expresses that by putting the two on different elements, so one
5060
+ * authored list becomes several `<filter>` definitions - one per destination -
5061
+ * and each is referenced from the element it acts on.
5062
+ *
5063
+ * This module is the single place that split is defined. The editor uses it to
5064
+ * build the definitions and distribute their references; the headless renderer
5065
+ * uses it to synthesize the same definitions from a document that carries the
5066
+ * chain inline. That they agree is what keeps the canvas and the exported file
5067
+ * showing the same picture.
5068
+ *
5069
+ * **A chain with no targets is one group with the id it has always had.** That
5070
+ * is the whole back-compatibility story: every document written before effects
5071
+ * could be targeted has `target` on none of its primitives, produces exactly
5072
+ * one group, and emits `filter-<shapeId>` exactly as before.
5073
+ */
5074
+
5075
+ /** One `<filter>` definition a shape's chain produces, and who references it. */
5076
+ interface FilterChainGroup {
5077
+ /** The emitted definition id. */
5078
+ id: string;
5079
+ /**
5080
+ * The appearance layer whose `<use>` carries the reference, or null when the
5081
+ * definition acts on the shape as composed and the shape carries it.
5082
+ */
5083
+ targetLayerId: string | null;
5084
+ /** The primitives acting on that destination, in authored order. */
5085
+ filters: ShapeFilter[];
5086
+ }
5087
+ /**
5088
+ * The definition id a shape's chain uses for one destination.
5089
+ *
5090
+ * The untargeted group keeps the bare `filter-<shapeId>` an untargeted chain
5091
+ * has always emitted, so a document that never targets an effect produces
5092
+ * byte-identical output.
5093
+ */
5094
+ declare function filterChainGroupId(shapeId: string, targetLayerId: string | null): string;
5095
+ /**
5096
+ * Split a chain into one group per destination.
5097
+ *
5098
+ * Groups come out in the order their first primitive appears, and primitives
5099
+ * keep their authored order inside a group - both matter, because a filter
5100
+ * chain is a pipeline and the second primitive reads the first one's result.
5101
+ *
5102
+ * Disabled primitives are NOT filtered here: callers that emit definitions
5103
+ * filter them first (an all-disabled group emits nothing), and callers that ask
5104
+ * "which definitions does this chain reference" must see the same groups either
5105
+ * way or the reference set would change as effects are toggled.
5106
+ */
5107
+ declare function filterChainGroups(filters: readonly ShapeFilter[] | undefined, shapeId: string): FilterChainGroup[];
5108
+ /**
5109
+ * Whether any effect in the chain names a destination other than the shape.
5110
+ *
5111
+ * The cheap check callers use to stay on the single-definition path: false
5112
+ * means one group with the historical id, and nothing downstream has to think
5113
+ * about grouping at all.
5114
+ */
5115
+ declare function chainHasTargetedEffects(filters: readonly ShapeFilter[] | undefined): boolean;
4870
5116
 
4871
5117
  /**
4872
5118
  * Callback fired when any property on a node changes.
@@ -6203,6 +6449,43 @@ declare function evaluateParsedTimingFunction(parsed: ParsedTimingFunction | nul
6203
6449
  * because the same kernel parses signed offsets in begin and end value lists.
6204
6450
  */
6205
6451
  declare function parseSmilClockValue(value: string): number;
6452
+ /**
6453
+ * Solve a cubic bezier for a given input time using Newton-Raphson
6454
+ * iteration, falling back to bisection when the derivative degenerates.
6455
+ * Returns the eased output, which may leave [0, 1] for overshoot curves.
6456
+ */
6457
+ declare function solveCubicBezier(x1: number, y1: number, x2: number, y2: number, t: number): number;
6458
+ /**
6459
+ * Evaluate the CSS `steps(count, position)` easing function at progress
6460
+ * `t ∈ [0, 1]`. Returns the eased output in [0, 1]. Follows the
6461
+ * CSS Easing 1 §3.2 algorithm exactly, including the ε-clamped behavior
6462
+ * at t = 1 so the animation always reaches its end value.
6463
+ */
6464
+ declare function evaluateSteps(t: number, params: StepsParams): number;
6465
+ /**
6466
+ * Evaluate a CSS `linear()` easing function (CSS Easing 2 §2.2) at
6467
+ * progress `t ∈ [0, 1]` by piecewise-linear interpolation between its
6468
+ * control points. Output may leave [0, 1] — `linear()` is the spec's
6469
+ * sanctioned way to express overshoot without a bezier.
6470
+ */
6471
+ declare function evaluateLinearEasing(points: readonly LinearEasingPoint[], t: number): number;
6472
+ /**
6473
+ * Apply an easing function to a progress value in [0, 1].
6474
+ *
6475
+ * This is the single evaluator behind every timed value in the product:
6476
+ * editor playback, SMIL export baking, and headless rendering all resolve
6477
+ * eased progress here, so a curve can never mean one thing on canvas and
6478
+ * another in the exported file. `customBezier`, `linearPoints` and
6479
+ * `stepsParams` come off the keyframe and are only consulted for the
6480
+ * matching `EasingType`.
6481
+ *
6482
+ * The return value may leave [0, 1] for overshoot curves — that is the
6483
+ * point of `cubic-bezier` with out-of-range control points and of
6484
+ * `linear()`, and callers interpolate through it unclamped.
6485
+ */
6486
+ declare function evaluateEasing(t: number, easing: EasingType, customBezier?: readonly [number, number, number, number], linearPoints?: readonly LinearEasingPoint[], stepsParams?: StepsParams): number;
6487
+ /** Eased progress for the interval ending at `keyframe` (SMIL's "into" semantics). */
6488
+ declare function evaluateKeyframeEasing(keyframe: AnimationKeyframe, t: number): number;
6206
6489
 
6207
6490
  interface ParsedCssAnimation {
6208
6491
  name: string;
@@ -6234,7 +6517,7 @@ declare function cssAnimationFillField(animation: {
6234
6517
  };
6235
6518
 
6236
6519
  /** Closed machine-readable diagnostics shared by every document ingress path. */
6237
- declare const INGEST_DIAGNOSTIC_CODES: readonly ["native-validation-warning", "unavailable-shape-descriptor", "malformed-source", "missing-svg-root", "invalid-svg-attribute", "duplicate-svg-id", "missing-svg-namespace", "no-materializable-content", "unsupported-svg-element", "unsupported-ingest-capability", "empty-hyperlink-dropped", "nested-hyperlink-flattened", "required-features-dropped", "unresolved-reference", "circular-use-reference", "circular-resource-reference", "use-expansion-limit-exceeded", "external-effect-failed", "application-rolled-back"];
6520
+ declare const INGEST_DIAGNOSTIC_CODES: readonly ["native-validation-warning", "unavailable-shape-descriptor", "malformed-source", "missing-svg-root", "invalid-svg-attribute", "duplicate-svg-id", "missing-svg-namespace", "no-materializable-content", "unsupported-svg-element", "unsupported-ingest-capability", "script-behavior-inert", "empty-hyperlink-dropped", "nested-hyperlink-flattened", "required-features-dropped", "unresolved-reference", "circular-use-reference", "circular-resource-reference", "use-expansion-limit-exceeded", "external-effect-failed", "application-rolled-back"];
6238
6521
  type IngestDiagnosticCode = (typeof INGEST_DIAGNOSTIC_CODES)[number];
6239
6522
  type IngestDiagnosticSeverity = 'warning' | 'error';
6240
6523
  type IngestSource = 'native-document' | 'svg' | 'internal-clipboard' | 'plugin' | 'pattern' | 'vectorized-svg';
@@ -7788,6 +8071,51 @@ declare function resolveSvgPatternTile(candidate: SvgPatternCandidate, context:
7788
8071
  /** Build the platform-neutral SVG 2 section 14.3 pattern plan. */
7789
8072
  declare function planSvgPatterns(document: SvgSourceDocument, uses: SvgUseOccurrencePlan, _styles: SvgStyleCascadePlan, resources: SvgResourceDependencyPlan, options: PlanSvgPatternsOptions): IngestResult<SvgPatternPlan>;
7790
8073
 
8074
+ /**
8075
+ * Recognize script-driven animation in preserved `<script>` content.
8076
+ *
8077
+ * The editor preserves scripts verbatim and never executes them, so a document
8078
+ * whose animation lives in JavaScript imports as static artwork with an empty
8079
+ * timeline. That is correct behavior and a terrible experience when nothing
8080
+ * says so: the Play button reports success by doing nothing.
8081
+ *
8082
+ * This module reads the preserved text as *data* and decides two things: does
8083
+ * this document animate itself with a script, and is the animation expressed in
8084
+ * a payload the importer can convert. It never evaluates the content, which
8085
+ * keeps the guarantee stated in `planSvgScripts`.
8086
+ */
8087
+ declare const SCRIPT_ANIMATION_GENERATORS: readonly ["svgator", "gsap", "anime", "lottie", "vivus", "snap", "unknown"];
8088
+ type ScriptAnimationGenerator = (typeof SCRIPT_ANIMATION_GENERATORS)[number];
8089
+ /** The minimum a caller must supply per script; decoupled from `SvgPlannedScript`. */
8090
+ interface ScriptAnimationCandidateScript {
8091
+ /** Inline body text. Empty for external scripts. */
8092
+ readonly content: string;
8093
+ /** Resolved URL for external scripts. */
8094
+ readonly href?: string;
8095
+ }
8096
+ interface ScriptAnimationSource {
8097
+ /** Which animation runtime the evidence points at. */
8098
+ readonly generator: ScriptAnimationGenerator;
8099
+ /** Index in the supplied roster of the script that carried the evidence. */
8100
+ readonly scriptIndex: number;
8101
+ /**
8102
+ * Whether a structured keyframe payload was found alongside the runtime.
8103
+ * A recognized generator is not automatically a convertible one: only
8104
+ * SVGator embeds its whole keyframe model as data in the export.
8105
+ */
8106
+ readonly convertible: boolean;
8107
+ /** Generator-reported format version, when the payload carries one. */
8108
+ readonly version?: string;
8109
+ }
8110
+ /**
8111
+ * Classify the animation runtime behind a document's scripts.
8112
+ *
8113
+ * Returns `null` when no script shows any sign of animating the document.
8114
+ * A returned `generator` of `'unknown'` means "a script animates this and we
8115
+ * cannot name the library", which is still worth telling the user.
8116
+ */
8117
+ declare function recognizeScriptAnimation(scripts: readonly ScriptAnimationCandidateScript[], rootAttributes?: Readonly<Record<string, string>>): ScriptAnimationSource | null;
8118
+
7791
8119
  type SvgScriptScope = 'document' | 'element';
7792
8120
  interface SvgPlannedScript {
7793
8121
  readonly id: string;
@@ -7811,6 +8139,11 @@ interface SvgScriptPlan {
7811
8139
  readonly candidates: readonly SvgScriptCandidate[];
7812
8140
  readonly documentScripts: readonly SvgScriptCandidate[];
7813
8141
  readonly elementScripts: readonly SvgScriptCandidate[];
8142
+ /**
8143
+ * Which animation runtime, if any, the preserved scripts drive. Null when no
8144
+ * script shows any sign of animating the document.
8145
+ */
8146
+ readonly animationSource: ScriptAnimationSource | null;
7814
8147
  candidate(sourceNodeId: string): SvgScriptCandidate | null;
7815
8148
  forParent(parentSourceNodeId: string): readonly SvgScriptCandidate[];
7816
8149
  }
@@ -7825,7 +8158,7 @@ interface PlanSvgScriptsOptions {
7825
8158
  * presence priority over the SVG 1.1 xlink:href spelling, and defaults type to
7826
8159
  * application/ecmascript. The plan never evaluates script content.
7827
8160
  */
7828
- declare function planSvgScripts(document: SvgSourceDocument, _options: PlanSvgScriptsOptions): IngestResult<SvgScriptPlan>;
8161
+ declare function planSvgScripts(document: SvgSourceDocument, options: PlanSvgScriptsOptions): IngestResult<SvgScriptPlan>;
7829
8162
 
7830
8163
  /** Convert source-tree nodes into editable structured XML model values. */
7831
8164
  declare function projectSvgSourceNodes(nodes: readonly SvgSourceNode[], identifiers?: SvgSourceIdentifierPlan): readonly DocumentExtensionNode[];
@@ -7907,6 +8240,65 @@ declare function preserveAspectRatioAlignFactor(align: PreserveAspectRatioAlign,
7907
8240
  * rendering, and import cannot accidentally assign them the same meaning.
7908
8241
  */
7909
8242
  declare function resolveSvgViewport(source: SvgViewportFrame, parentViewport?: SvgViewportSize): ResolvedSvgViewport;
8243
+ /** An axis-aligned rectangle in one coordinate system. */
8244
+ interface SvgFramingRect {
8245
+ x: number;
8246
+ y: number;
8247
+ width: number;
8248
+ height: number;
8249
+ }
8250
+ /**
8251
+ * Every rectangle the outermost `<svg>` has, resolved once.
8252
+ *
8253
+ * The document root has two rectangles that are routinely confused, and the
8254
+ * confusion is not cosmetic: authored framing and rasterized region differ
8255
+ * whenever `width`/`height` and `viewBox` disagree in aspect. Naming them
8256
+ * separately here is what stops a consumer picking whichever field happened
8257
+ * to be non-zero.
8258
+ */
8259
+ interface RootViewportFraming {
8260
+ /** The raw SVG 2 section 8.9 resolution these projections are taken from. */
8261
+ resolved: ResolvedSvgViewport;
8262
+ /**
8263
+ * Authored user-space framing: the `viewBox` rect, or `0 0 width height`
8264
+ * when no viewBox is authored (SVG 2 section 8.2 implicit viewBox). This is
8265
+ * the coordinate window content is authored in, so it owns selection
8266
+ * handles, the editor camera, and the exported `viewBox` string.
8267
+ */
8268
+ viewBoxRect: SvgFramingRect;
8269
+ /**
8270
+ * Intrinsic output size in px - the `width`/`height` the author declared.
8271
+ * This is the number a user typing into `width` expects to see reported.
8272
+ */
8273
+ viewportSize: SvgViewportSize;
8274
+ /**
8275
+ * The viewport rectangle expressed in viewBox user space: the region that
8276
+ * actually rasterizes once the viewBox is fitted per SVG 2 section 8.9.
8277
+ * Equal to `viewBoxRect` whenever the fit is the identity, which covers
8278
+ * every document whose width/height match its viewBox extent.
8279
+ */
8280
+ viewportRectInUserSpace: SvgFramingRect;
8281
+ /**
8282
+ * Basis a descendant's percentage length resolves against per SVG 2
8283
+ * section 7.10 - the viewBox extent when a viewBox is in force, never the
8284
+ * px viewport size.
8285
+ */
8286
+ percentBasis: SvgViewportSize;
8287
+ }
8288
+ /**
8289
+ * Resolve the outermost `<svg>`'s framing.
8290
+ *
8291
+ * `x` and `y` are forced to zero: SVG 2 section 5.1.4 paragraph 3 says they
8292
+ * have no effect on an outermost svg. They remain representable in document
8293
+ * state for round-trip, but they must never reach a rectangle.
8294
+ *
8295
+ * An absent `width` or `height` is `auto`, i.e. 100% of the parent viewport
8296
+ * (SVG 2 sections 5.1.4 and 8.9). An outermost svg has no parent viewport, so
8297
+ * its own viewBox extent stands in as the basis. That makes the fit the
8298
+ * identity and collapses `viewportRectInUserSpace` onto `viewBoxRect`, which
8299
+ * is the correct answer for a document that never declared an output size.
8300
+ */
8301
+ declare function resolveRootViewportFraming(source: SvgViewportFrame): RootViewportFraming;
7910
8302
 
7911
8303
  type SvgSymbolDefinitionKind = 'symbol' | 'group' | 'shape';
7912
8304
  type SvgSymbolUseStatus = 'symbol-instance' | 'linked-reference' | 'flattened' | Exclude<SvgUseResolutionStatus, 'resolved'>;
@@ -8335,6 +8727,96 @@ declare const SVG_PRESENTATION_PROPERTIES: readonly string[];
8335
8727
  declare function getSvgPropertySemantics(name: string): SvgPropertySemantics | null;
8336
8728
  declare function isSvgPresentationProperty(name: string): boolean;
8337
8729
 
8730
+ /**
8731
+ * Project an SVGator JavaScript export's keyframe payload into native tracks.
8732
+ *
8733
+ * SVGator's JS export embeds its entire keyframe model as a JSON object literal
8734
+ * in the arguments to the loader it injects, next to a CDN URL for the player.
8735
+ * The animation is therefore fully present in the file as *data*: the reason it
8736
+ * does not play in the editor is only that nothing runs the player. Reading
8737
+ * that data back is ordinary interop, and it is what lets an imported SVGator
8738
+ * document keep its animation instead of arriving as static artwork.
8739
+ *
8740
+ * Semantics below were verified against a real export rather than assumed.
8741
+ * See the 4.55.0 changelog entry for the identities that pin them.
8742
+ *
8743
+ * Nothing here evaluates the script. The payload is located by brace matching
8744
+ * and read with `JSON.parse`.
8745
+ */
8746
+
8747
+ /** One raw keyframe as SVGator writes it. */
8748
+ interface SvgatorKey {
8749
+ /** Time in milliseconds. */
8750
+ readonly t: number;
8751
+ readonly v: unknown;
8752
+ /**
8753
+ * Cubic-bezier control points for the segment leading *out* of this key.
8754
+ * SVGSketch stores easing on the keyframe it leads *into*, so the array
8755
+ * shifts by one during projection.
8756
+ */
8757
+ readonly e?: readonly number[];
8758
+ }
8759
+ interface SvgatorTransform {
8760
+ readonly data?: {
8761
+ readonly o?: {
8762
+ readonly x: number;
8763
+ readonly y: number;
8764
+ };
8765
+ readonly t?: {
8766
+ readonly x: number;
8767
+ readonly y: number;
8768
+ };
8769
+ readonly s?: {
8770
+ readonly x: number;
8771
+ readonly y: number;
8772
+ };
8773
+ };
8774
+ readonly keys?: Readonly<Record<string, readonly SvgatorKey[]>>;
8775
+ }
8776
+ interface SvgatorElement {
8777
+ readonly transform?: SvgatorTransform;
8778
+ readonly [channel: string]: unknown;
8779
+ }
8780
+ interface SvgatorPayload {
8781
+ readonly root: string;
8782
+ readonly version?: string;
8783
+ readonly animations: readonly {
8784
+ readonly elements?: Readonly<Record<string, SvgatorElement>>;
8785
+ }[];
8786
+ }
8787
+ interface SvgatorProjectionHost {
8788
+ /** Resolve an authored SVG element id to its canonical shape id. */
8789
+ shapeIdForElementId(elementId: string): string | null;
8790
+ }
8791
+ interface SvgatorProjectionResult {
8792
+ readonly timeline: SerializedAnimationTimeline;
8793
+ /** Payload channels no track was produced for, as `element.channel`. */
8794
+ readonly skippedChannels: readonly string[];
8795
+ /** Payload element ids that matched no shape in the document. */
8796
+ readonly unresolvedElementIds: readonly string[];
8797
+ }
8798
+ /**
8799
+ * Parse the payload out of one script's text.
8800
+ *
8801
+ * Validation is structural rather than a version allowlist. SVGator stamps a
8802
+ * release date into `version`, and pinning known dates would refuse files whose
8803
+ * payload we understand perfectly, which is the exact rot a converter must not
8804
+ * have. The shape of the data is what decides whether it can be read, and
8805
+ * unrecognized channels are reported instead of failing the whole document.
8806
+ */
8807
+ declare function parseSvgatorPayload(scriptContent: string): SvgatorPayload | null;
8808
+ /**
8809
+ * Project a parsed payload into a native timeline.
8810
+ *
8811
+ * Conversion is per channel, not per document: a payload holding one channel
8812
+ * this does not model still yields tracks for every channel it does, and the
8813
+ * unconverted ones are named in `skippedChannels` so the caller can say what
8814
+ * did not come across rather than silently dropping it.
8815
+ *
8816
+ * Returns `null` only when nothing at all converted.
8817
+ */
8818
+ declare function projectSvgatorAnimation(payload: SvgatorPayload, host: SvgatorProjectionHost): SvgatorProjectionResult | null;
8819
+
8338
8820
  /** Project one complete immutable SVG import plan into the native document model. */
8339
8821
  declare function projectSvgImportToSnapshot(plan: SvgImportPlan, options?: Pick<PlanSvgImportOptions, 'entrypoint'>): IngestResult<HistorySnapshot | null>;
8340
8822
  /**
@@ -10657,6 +11139,175 @@ declare function scanCssFunctionTokens(value: string): readonly CssFunctionToken
10657
11139
  */
10658
11140
  declare function scanCssLocalUrlTokens(value: string): readonly CssLocalUrlToken[];
10659
11141
 
11142
+ /**
11143
+ * The vocabulary of font *faces* - family plus weight plus style - shared by
11144
+ * every part of the pipeline that has to name a face rather than a family.
11145
+ *
11146
+ * Three scanners used to answer "which fonts does this document use" and each
11147
+ * carried its own generic-family list, its own list-splitting, and its own idea
11148
+ * of whether a weight existed at all. None of them could name a face: they
11149
+ * returned family names, so the only thing an embedder could ask a font
11150
+ * provider for was a family, and the weight the user actually chose never
11151
+ * reached the request. That is why an export embedded a fixed 400/700 matrix
11152
+ * regardless of the document.
11153
+ *
11154
+ * This module is the one place those questions are answered. It is
11155
+ * platform-free like the rest of core - no DOM, no fetch.
11156
+ */
11157
+ /**
11158
+ * The CSS generic family keywords (CSS Fonts 4 section 2.2).
11159
+ *
11160
+ * A generic always resolves, but the *browser* picks which font backs it and
11161
+ * never says which, so a generic can never be embedded or outlined. Every
11162
+ * scanner has to exclude these, and before this constant existed each did so
11163
+ * from its own divergent copy: core's finalizer knew 10 of them and none of
11164
+ * `math` / `emoji` / `fangsong`, while the ingest planner and the editor's
11165
+ * availability probe knew all 13.
11166
+ */
11167
+ declare const CSS_GENERIC_FAMILY_NAMES: ReadonlySet<string>;
11168
+ /** True when `name` is a CSS generic family keyword rather than a real family. */
11169
+ declare function isCssGenericFamilyName(name: string): boolean;
11170
+ /**
11171
+ * True when `name` can never identify an embeddable face - a generic, a
11172
+ * CSS-wide keyword, or nothing at all.
11173
+ */
11174
+ declare function isUnembeddableFamilyName(name: string): boolean;
11175
+ /**
11176
+ * Split a CSS `font-family` value into its candidate families, in order.
11177
+ *
11178
+ * Quoted names keep their spaces and commas; escapes inside them are honoured.
11179
+ * Per CSS Fonts 4 section 2.2 an unquoted name is a sequence of identifiers, so
11180
+ * internal whitespace is preserved and only the commas separate.
11181
+ */
11182
+ declare function parseFontFamilyList(value: string): string[];
11183
+ /**
11184
+ * Render a `font-family` value that is safe to interpolate into CSS - notably
11185
+ * into the `font` shorthand a canvas 2D context parses.
11186
+ *
11187
+ * An invalid shorthand makes `ctx.font = ...` a silent no-op, leaving the
11188
+ * previous font in force, so an unquotable family name did not merely measure
11189
+ * imprecisely - it measured *the font before it*, and text laid out at the
11190
+ * wrong width with no error anywhere.
11191
+ *
11192
+ * Generics are deliberately left bare: quoting `sans-serif` turns the generic
11193
+ * into a request for a family literally named "sans-serif", which no machine
11194
+ * has.
11195
+ */
11196
+ declare function formatCssFontFamilyList(value: string): string;
11197
+ /**
11198
+ * True when every candidate in a `font-family` list is a generic or a CSS-wide
11199
+ * keyword, so nothing in it could ever be embedded.
11200
+ *
11201
+ * A list is kept when *any* entry names a real family: `"Nonexistent", Bravura,
11202
+ * sans-serif` still embeds Bravura, and dropping the whole list because its
11203
+ * first entry is unresolvable is the bug this predicate exists to avoid.
11204
+ */
11205
+ declare function isEntirelyUnembeddableFamilyList(value: string): boolean;
11206
+ /** A single concrete face an output needs in order to render its text. */
11207
+ interface FontFaceRequest {
11208
+ /**
11209
+ * The authored `font-family` value, list and all.
11210
+ *
11211
+ * The list is kept rather than reduced to its first entry because only the
11212
+ * resolver knows which candidate a machine can actually produce bytes for.
11213
+ * Handing it the primary name alone is what made a document whose first
11214
+ * family is unresolvable embed nothing, even with a resolvable family
11215
+ * sitting second.
11216
+ */
11217
+ readonly family: string;
11218
+ /** Computed numeric weight, 1-1000 (CSS Fonts 4 section 2.5). */
11219
+ readonly weight: number;
11220
+ /** `oblique` is normalized to `italic`: `@font-face` selection has one axis. */
11221
+ readonly style: 'normal' | 'italic';
11222
+ }
11223
+ /** The initial `font-weight`, and the value assumed when none is authored. */
11224
+ declare const DEFAULT_FONT_WEIGHT = 400;
11225
+ /**
11226
+ * Resolve a `font-weight` value against the inherited weight.
11227
+ *
11228
+ * `bolder` / `lighter` are relative to the parent per the CSS Fonts 4
11229
+ * bolder/lighter table (section 2.5); everything else is absolute.
11230
+ */
11231
+ declare function resolveFontWeight(value: string | undefined, inherited?: number): number;
11232
+ /** Normalize a `font-style` value to the one axis `@font-face` selects on. */
11233
+ declare function resolveFontStyle(value: string | undefined): 'normal' | 'italic';
11234
+ /** Stable identity for a face, for deduplication and cache keys. */
11235
+ declare function fontFaceKey(face: FontFaceRequest): string;
11236
+ /** Deduplicate faces, preserving first-seen order. */
11237
+ declare function dedupeFontFaces(faces: readonly FontFaceRequest[]): FontFaceRequest[];
11238
+
11239
+ /**
11240
+ * Which fonts can actually render a given piece of text.
11241
+ *
11242
+ * CSS font matching falls back per glyph: name a family that has no glyph for a
11243
+ * character and the browser silently substitutes one that does. That is correct
11244
+ * behaviour and it is invisible, so an editor whose font list cannot serve the
11245
+ * user's script does not fail - it just stops responding to the font picker.
11246
+ * Every family renders identically, because every family is being substituted
11247
+ * by the same system fallback. This module exists so the editor can tell the
11248
+ * difference between "you picked a different font" and "you picked a font that
11249
+ * cannot draw your text".
11250
+ *
11251
+ * Coverage is keyed on Google Fonts' own subset names, because that is the only
11252
+ * per-family coverage data that exists for the catalog the picker offers. The
11253
+ * names are theirs, not Unicode's: `japanese`, `chinese-simplified`,
11254
+ * `latin-ext` and so on.
11255
+ *
11256
+ * The model is deliberately asymmetric. A false "this font cannot render your
11257
+ * text" is far worse than a shrug - it would push someone off a font that works
11258
+ * - so anything this table does not know about imposes no constraint at all,
11259
+ * and a family with no subset data is reported `unknown` rather than `uncovered`.
11260
+ */
11261
+ /**
11262
+ * The subsets that could supply `codePoint`, or `null` when nothing constrains
11263
+ * it.
11264
+ *
11265
+ * ASCII is unconstrained: every font in the catalog has it, and treating it as
11266
+ * a requirement would let a stray comma mark an otherwise perfect font as
11267
+ * unusable. Anything outside the table is likewise unconstrained - unknown is
11268
+ * not the same as missing.
11269
+ */
11270
+ declare function subsetsForCodePoint(codePoint: number): readonly string[] | null;
11271
+ /**
11272
+ * Every subset group `text` needs, one entry per distinct requirement.
11273
+ *
11274
+ * Iterates by code point, so an astral kanji is one requirement rather than two
11275
+ * halves of a surrogate pair.
11276
+ */
11277
+ declare function requiredSubsetsForText(text: string): readonly (readonly string[])[];
11278
+ /** How well a family's coverage matches a string. */
11279
+ type FontCoverageStatus = 'covered' | 'uncovered' | 'unknown';
11280
+ interface FontCoverageResult {
11281
+ status: FontCoverageStatus;
11282
+ /** The distinct characters the family cannot draw, in first-seen order. */
11283
+ missing: string;
11284
+ }
11285
+ /**
11286
+ * Whether a family whose Google subsets are `familySubsets` can render `text`.
11287
+ *
11288
+ * `undefined` subsets mean the catalog has not been consulted for this family -
11289
+ * a local file, an uploaded face, or a Google family before the catalog
11290
+ * snapshot loads. That is `unknown`, never `uncovered`: the editor must not
11291
+ * warn someone off a font on the strength of data it does not have.
11292
+ */
11293
+ declare function evaluateFontCoverage(familySubsets: readonly string[] | undefined, text: string): FontCoverageResult;
11294
+ /**
11295
+ * A preview sample for a family, given its subsets and the script the user is
11296
+ * writing in. Returns null when the family's own name is the better preview -
11297
+ * which is the Latin case, and the default.
11298
+ */
11299
+ declare function sampleTextForSubsets(familySubsets: readonly string[] | undefined, preferredSubsets?: readonly string[]): string | null;
11300
+ /**
11301
+ * The subsets a piece of text would most like a font to have, most specific
11302
+ * first, for ranking and for choosing a preview sample.
11303
+ *
11304
+ * A requirement satisfied by several subsets (a Han character, say) contributes
11305
+ * all of them, in the order the table lists - which puts `japanese` ahead of
11306
+ * the Chinese subsets for kana-bearing text because the kana requirement is
11307
+ * unambiguous and comes first.
11308
+ */
11309
+ declare function preferredSubsetsForText(text: string): readonly string[];
11310
+
10660
11311
  interface AnimationCycleTrack {
10661
11312
  readonly keyframes: readonly {
10662
11313
  readonly time: number;
@@ -12118,7 +12769,22 @@ interface SplinePointInput {
12118
12769
  /**
12119
12770
  * Compute SVG path data from spline points.
12120
12771
  */
12121
- declare function computeSplinePath(points: SplinePointInput[], curveType: string, closed?: boolean, tension?: number, arcParams?: ArcParams[]): string;
12772
+ /**
12773
+ * How the serializer treats the shorthand path commands whose validity
12774
+ * depends on measured geometry (`H`/`V` for axis-aligned lines, `S`/`T`
12775
+ * for reflected control points).
12776
+ *
12777
+ * - `'preserve'` (default) — emit the shorthand whenever the geometry
12778
+ * satisfies it. This is what authored path data round-trips through.
12779
+ * - `'expand'` — always emit the long form (`L`, `C`, `Q`). Required
12780
+ * when serializing a sequence of `d` values that must interpolate:
12781
+ * SVG only animates between path values with identical command
12782
+ * structure (SVG 1.1 §19.2.15.3), and a vertex crossing into or out of
12783
+ * axis alignment silently changes which shorthand applies, which would
12784
+ * break the animation partway through.
12785
+ */
12786
+ type PathShorthandPolicy = 'preserve' | 'expand';
12787
+ declare function computeSplinePath(points: readonly SplinePointInput[], curveType: string, closed?: boolean, tension?: number, arcParams?: readonly ArcParams[], shorthand?: PathShorthandPolicy): string;
12122
12788
  /**
12123
12789
  * Compute a dash-array string for a given line style.
12124
12790
  *
@@ -12284,7 +12950,7 @@ declare function pathDataBounds(d: string, transform?: Affine2D): PathBoundsRect
12284
12950
  *
12285
12951
  * Returns `null` for an empty model.
12286
12952
  */
12287
- declare function splinePathBounds(points: SplinePointInput[], curveType: string, closed?: boolean, tension?: number, arcParams?: ArcParams[], transform?: Affine2D): PathBoundsRect | null;
12953
+ declare function splinePathBounds(points: readonly SplinePointInput[], curveType: string, closed?: boolean, tension?: number, arcParams?: readonly ArcParams[], transform?: Affine2D): PathBoundsRect | null;
12288
12954
 
12289
12955
  /**
12290
12956
  * Target-neutral geometry registry for every built-in serialized shape.
@@ -12688,6 +13354,14 @@ interface ConnectorLabelAnchor {
12688
13354
  * metrics come from `createSvgPathMetrics`), so the editor canvas and
12689
13355
  * serialized render targets place the label identically.
12690
13356
  */
13357
+ /**
13358
+ * Default position of a connector label along its routed path, as a
13359
+ * fraction of arc length. Named so the editor's accessor and this renderer
13360
+ * cannot drift to different midpoints.
13361
+ */
13362
+ declare const DEFAULT_CONNECTOR_LABEL_POSITION = 0.5;
13363
+ /** Default perpendicular offset of a connector label from its path, in px. */
13364
+ declare const DEFAULT_CONNECTOR_LABEL_OFFSET = 0;
12691
13365
  declare function connectorLabelAnchor(d: string, labelPosition?: number, labelOffset?: number): ConnectorLabelAnchor | null;
12692
13366
 
12693
13367
  /**
@@ -13274,9 +13948,10 @@ declare function motionPathD(shape: SerializedShape): string | null;
13274
13948
  * 4. **Font embedding hook** — core is platform-free (`lib: ES2025`,
13275
13949
  * no fetch/fs/Buffer), so binary font access must be injected:
13276
13950
  * {@link RenderFinalizationOptions.resolveFontEmbedCss} receives
13277
- * the distinct families referenced by the plan and returns
13278
- * `@font-face` CSS to prepend as a `<style>` block, mirroring the
13279
- * editor's `embedFontsInClone`. Callers (CLI, action, SDK) resolve
13951
+ * the distinct *faces* referenced by the plan — family, weight and
13952
+ * style — and returns `@font-face` CSS to prepend as a `<style>`
13953
+ * block, mirroring the editor's `embedFontsInOutput`. Callers
13954
+ * (CLI, action, SDK) resolve
13280
13955
  * binaries in their own environment and hand core the finished CSS.
13281
13956
  * 5. **Namespace-declaration completion** — every namespace prefix the
13282
13957
  * emitted markup uses (the authored `xlink:href` passthrough,
@@ -13330,14 +14005,21 @@ interface RenderFinalizationOptions {
13330
14005
  */
13331
14006
  restoreSourceIds?: boolean;
13332
14007
  /**
13333
- * Injected font-embedding resolver: receives the distinct font
13334
- * families referenced by the rendered plan (primary names, quotes and
13335
- * fallback stacks stripped, CSS generic families excluded) and
13336
- * returns `@font-face` CSS to ship in a `<style>` block, or
13337
- * undefined/empty to skip. Core cannot fetch font binaries itself —
13338
- * it compiles platform-free — so the environment owns resolution.
14008
+ * Injected font-embedding resolver: receives the distinct *faces*
14009
+ * referenced by the rendered plan — family list, computed weight and
14010
+ * computed style — and returns `@font-face` CSS to ship in a `<style>`
14011
+ * block, or undefined/empty to skip. Core cannot fetch font binaries
14012
+ * itself — it compiles platform-free — so the environment owns
14013
+ * resolution.
14014
+ *
14015
+ * This took `readonly string[]` of family names until core 4.0. A family
14016
+ * name cannot name a weight, so every embedder had to guess one, and the
14017
+ * editor's guess was a fixed 400/700 matrix that ignored the document:
14018
+ * text set at 300 or 900 exported with no face that matched it. Recover
14019
+ * the old argument with `faces.map((face) => face.family)` if a consumer
14020
+ * genuinely only needs families.
13339
14021
  */
13340
- resolveFontEmbedCss?: (families: readonly string[]) => string | undefined;
14022
+ resolveFontEmbedCss?: (faces: readonly FontFaceRequest[]) => string | undefined;
13341
14023
  /**
13342
14024
  * Emit `data-shape-id` addressing attributes on rendered elements.
13343
14025
  * Default true — CLI, Action, and SDK consumers address shapes in
@@ -13393,11 +14075,22 @@ declare function rewriteIdReferencesInMarkup(markup: string, renames: ReadonlyMa
13393
14075
  */
13394
14076
  declare function symbolDefinitionSemanticHash(definition: SymbolLibraryDef, library?: readonly LibraryDef[]): string;
13395
14077
  /**
13396
- * Distinct font families referenced by the plan: `font-family`
13397
- * attributes in rendered markup, `font-family` declarations inside
13398
- * emitted `style` attributes and author `<style>` blocks. Generic CSS
13399
- * families are excluded. Mirrors the editor's
13400
- * `collectFontFamiliesFromClone`.
14078
+ * Every distinct face the plan's text asks for: family list, computed weight
14079
+ * and computed style, from rendered markup, inline `style` declarations and
14080
+ * author `<style>` blocks.
14081
+ *
14082
+ * Family *lists* are preserved rather than reduced to their first entry -
14083
+ * only the environment's resolver knows which candidate it can produce bytes
14084
+ * for. Lists with no embeddable candidate at all are dropped.
14085
+ */
14086
+ declare function collectFontFacesFromPlan(plan: RenderPlan): FontFaceRequest[];
14087
+ /**
14088
+ * Distinct font families referenced by the plan, as primary names with quotes
14089
+ * and fallback stacks stripped and CSS generics excluded.
14090
+ *
14091
+ * A projection of {@link collectFontFacesFromPlan}, kept because a caller that
14092
+ * only needs to know *which* families appear should not have to reduce faces
14093
+ * itself. Embedding uses the faces: a family name cannot name a weight.
13401
14094
  */
13402
14095
  declare function collectFontFamiliesFromPlan(plan: RenderPlan): string[];
13403
14096
  /**
@@ -14015,10 +14708,11 @@ declare function geometryDefinitionId(shape: SerializedShape): string;
14015
14708
  * single-element path — which is what keeps every existing document's output
14016
14709
  * byte-identical.
14017
14710
  */
14018
- declare function shapeNeedsAppearanceExpansion(shape: SerializedShape): boolean;
14711
+ declare function shapeNeedsAppearanceExpansion(shape: SerializedShape, styles?: AppearanceStyleSource): boolean;
14019
14712
  /**
14020
14713
  * The shape state that renders the shared geometry: no paint, no composition,
14021
- * nothing a layer or the wrapper owns.
14714
+ * nothing a layer or the wrapper owns, and no link to a style that would
14715
+ * reintroduce a list of them.
14022
14716
  *
14023
14717
  * `inheritFill` / `inheritStroke` are what actually suppress the paint
14024
14718
  * attributes. Merely deleting `fillColor` is not enough — the fill row falls
@@ -14061,6 +14755,11 @@ interface AppearanceExpansionDeps {
14061
14755
  * to single-element rendering, which paints only its base layer.
14062
14756
  */
14063
14757
  reportUnexpandable?(shape: SerializedShape, authoredPaintProperties: readonly string[]): void;
14758
+ /**
14759
+ * Where `graphicStyleId` is resolved. Omitted, a shape wearing a style
14760
+ * renders only the paint its own base props describe.
14761
+ */
14762
+ styles?: AppearanceStyleSource;
14064
14763
  }
14065
14764
  /**
14066
14765
  * Expand a stacked shape.
@@ -14070,7 +14769,7 @@ interface AppearanceExpansionDeps {
14070
14769
  */
14071
14770
  declare function expandAppearanceStack(shape: SerializedShape, deps: AppearanceExpansionDeps): AppearanceExpansion | null;
14072
14771
  /** The layers a shape paints, for callers that need the list without markup. */
14073
- declare function shapeAppearanceLayers(shape: SerializedShape): readonly AppearanceLayer[];
14772
+ declare function shapeAppearanceLayers(shape: SerializedShape, styles?: AppearanceStyleSource): readonly AppearanceLayer[];
14074
14773
 
14075
14774
  /** DOM-free SVG path flattening and arc-length queries. */
14076
14775
 
@@ -14291,6 +14990,148 @@ declare const SHAPE_GEOMETRY_DEFAULTS: Readonly<{
14291
14990
  /** Shape types whose geometry defaults this table owns. */
14292
14991
  type ShapeGeometryDefaultsType = keyof typeof SHAPE_GEOMETRY_DEFAULTS;
14293
14992
 
14993
+ /**
14994
+ * Per-vertex path animation, and its lowering onto `<path d>`.
14995
+ *
14996
+ * A Path exposes every persisted vertex as two independent numeric
14997
+ * animation channels, keyed `node[N].x` and `node[N].y`. They are the
14998
+ * granular complement to a whole-path `pathMorph` track: keyframe one
14999
+ * corner without authoring a second complete `d`.
15000
+ *
15001
+ * SVG has no per-vertex animation target — `d` is the only geometry
15002
+ * attribute a `<path>` exposes (SVG 2 §9.3.1), and SMIL animates whole
15003
+ * attribute values (SVG Animations §3.2). So per-vertex channels cannot
15004
+ * be emitted directly; they have to be *lowered*: sample every
15005
+ * contributing channel on a shared time grid, rebuild the point list at
15006
+ * each sample, and serialize one `d` keyframe per sample. That is what
15007
+ * {@link lowerPathNodeTracks} does, and it is the only way these tracks
15008
+ * can reach an exported file at all.
15009
+ *
15010
+ * This module owns two decisions outright, so no caller re-derives them:
15011
+ * what a channel does to a point list ({@link applyPathNodeValue}), and
15012
+ * whether its channels contribute at all
15013
+ * ({@link pathNodeTracksAreSuperseded}). Editor playback and both export
15014
+ * pipelines go through those. What legitimately differs is *when* a
15015
+ * channel is evaluated: export samples a time grid here, while playback
15016
+ * resolves each channel through the engine's repeat / accumulate / begin
15017
+ * envelope and composes the result onto a live buffer it shares with any
15018
+ * vertex drag in flight.
15019
+ *
15020
+ * Two consequences are load-bearing:
15021
+ *
15022
+ * - **Only `x` / `y` move.** `handleIn` / `handleOut` are absolute
15023
+ * coordinates, and moving a vertex leaves its handles where they are,
15024
+ * so the adjacent curve deforms. That is what the editor previews
15025
+ * while the user authors, so it is what export must bake; "fixing"
15026
+ * the handles here would make the file disagree with the canvas.
15027
+ * - **Each channel keeps its own easing.** Two channels on one vertex
15028
+ * can ease differently, and SMIL has a single `keySplines` list per
15029
+ * element. Easing is therefore resolved during sampling and the
15030
+ * emitted track is linear between samples, the same technique
15031
+ * `smil-kernel` already uses for overshoot curves it cannot express.
15032
+ *
15033
+ * @see https://svgwg.org/specs/animations/#AnimationAttributesAndProperties
15034
+ */
15035
+
15036
+ /** The geometry a path's `d` is serialized from. */
15037
+ interface PathNodeGeometry {
15038
+ points: readonly SplinePointInput[];
15039
+ curveType: string;
15040
+ closed: boolean;
15041
+ tension: number;
15042
+ arcParams?: readonly ArcParams[];
15043
+ }
15044
+ /** One decoded per-vertex channel. */
15045
+ interface PathNodeChannel {
15046
+ index: number;
15047
+ coord: 'x' | 'y';
15048
+ }
15049
+ /**
15050
+ * Decode a per-vertex animation channel key. Returns `null` for every
15051
+ * other property so callers can fall through to their normal handling.
15052
+ */
15053
+ declare function parsePathNodeProperty(property: string): PathNodeChannel | null;
15054
+ /** True when the track animates a single path vertex coordinate. */
15055
+ declare function isPathNodeTrack(track: Pick<AnimationTrack, 'property'>): boolean;
15056
+ /**
15057
+ * True when a whole-path track already owns this shape's `d`, so its
15058
+ * per-vertex channels must not contribute.
15059
+ *
15060
+ * Both channels write the same attribute, and neither the file format
15061
+ * nor the runtime has a way to compose them: two
15062
+ * `<animate attributeName="d">` on one element resolve by document order
15063
+ * under SMIL's replace semantics, and applying both in one frame yields
15064
+ * a hybrid that is neither animation. A `pathMorph` track states the
15065
+ * whole geometry at every instant, which is the more specific claim, so
15066
+ * it wins and the per-vertex channels stand down.
15067
+ *
15068
+ * This is the one place that decision is made. Export consults it before
15069
+ * lowering; playback consults it before applying a frame. They must not
15070
+ * drift, or the canvas shows something the exported file will not.
15071
+ */
15072
+ declare function pathNodeTracksAreSuperseded(tracks: readonly AnimationTrack[], shapeId: string): boolean;
15073
+ /**
15074
+ * Write one per-vertex channel's value into a point list, in place.
15075
+ *
15076
+ * This is what a per-vertex channel *means*: it moves the addressed
15077
+ * vertex's x or y and touches nothing else — not the neighbouring
15078
+ * vertices, and deliberately not the vertex's own handles, which are
15079
+ * absolute coordinates that stay put so the adjacent curve deforms.
15080
+ *
15081
+ * In place rather than on a copy because the editor's playback buffer is
15082
+ * shared: a vertex the user is dragging and a channel that is ticking
15083
+ * both preview through it, and rebuilding the list from the base
15084
+ * geometry would erase whichever wrote first. Export composes onto its
15085
+ * own copy and gets the same result.
15086
+ *
15087
+ * Returns false when the key is not a per-vertex channel, when it
15088
+ * addresses a vertex the path does not have, or when the value is not
15089
+ * finite — so callers can fall through to their next handler.
15090
+ */
15091
+ declare function applyPathNodeValue(points: readonly SplinePointInput[], property: string, value: number): boolean;
15092
+ /**
15093
+ * The path's `d` at absolute time `t`, with every per-vertex channel
15094
+ * applied over the base geometry.
15095
+ *
15096
+ * Both export pipelines bake their keyframes through here, so the SVG
15097
+ * file and the headless render cannot disagree. Playback does not call
15098
+ * this — see the module header for why its evaluation differs — but it
15099
+ * writes each channel through the same {@link applyPathNodeValue}.
15100
+ */
15101
+ declare function resolvePathDAtTime(geometry: PathNodeGeometry, nodeTracks: readonly AnimationTrack[], t: number): string;
15102
+ /** What a lowering produced, and which source tracks it consumed. */
15103
+ interface LoweredPathNodeTracks {
15104
+ /** One synthetic whole-path track carrying `d` string keyframes. */
15105
+ track: AnimationTrack;
15106
+ /** Ids of the per-vertex tracks this replaces; callers must not emit them. */
15107
+ consumedTrackIds: string[];
15108
+ }
15109
+ /**
15110
+ * Lower every per-vertex track targeting one shape into a single
15111
+ * whole-path `pathMorph` track whose keyframes are `d` strings.
15112
+ *
15113
+ * Returns `null` when the shape has no per-vertex tracks, or when the
15114
+ * geometry has too few points to serialize. The emitted track carries
15115
+ * `property: 'pathMorph'` so it flows through the existing `d` emission
15116
+ * path — including the paste-offset / ancestor-matrix baking that keeps
15117
+ * animated keyframes in the same coordinate space as the static `d`.
15118
+ *
15119
+ * Timing is taken from the union of the contributing tracks. Repeat and
15120
+ * fill settings are carried only when every contributor agrees on them:
15121
+ * one element cannot express two different repeat counts, and inventing
15122
+ * a winner would silently retime channels the user set deliberately.
15123
+ */
15124
+ declare function lowerPathNodeTracks(tracks: readonly AnimationTrack[], shapeId: string, geometry: PathNodeGeometry): LoweredPathNodeTracks | null;
15125
+ /**
15126
+ * Read the base geometry off a serialized spline path, mirroring how
15127
+ * `resolveSpline` in `./shape-geometry` produces that shape's static
15128
+ * `d`. Baked keyframes and the static attribute must come from the same
15129
+ * serializer, or the first animated frame snaps.
15130
+ *
15131
+ * Returns `null` for anything that is not a point-list path.
15132
+ */
15133
+ declare function serializedPathNodeGeometry(shape: SerializedShape | null | undefined): PathNodeGeometry | null;
15134
+
14294
15135
  /**
14295
15136
  * Structured, DOM-free parser for SVG path data.
14296
15137
  *
@@ -14814,12 +15655,6 @@ interface SmilKeyframeData {
14814
15655
  * cubic-bezier (LINEAR, LINEAR_FUNCTION, STEPS).
14815
15656
  */
14816
15657
  declare function getKeyframeCubicBezier(kf: AnimationKeyframe): [number, number, number, number] | null;
14817
- /**
14818
- * Solve a cubic bezier for a given input time using Newton-Raphson
14819
- * iteration, falling back to bisection when the derivative degenerates.
14820
- * Returns the eased output, which may leave [0, 1] for overshoot curves.
14821
- */
14822
- declare function solveCubicBezier(x1: number, y1: number, x2: number, y2: number, t: number): number;
14823
15658
  /**
14824
15659
  * Reflect a cubic-bezier easing so the curve plays "in reverse" with the
14825
15660
  * same visual shape. For `cubic-bezier(x1, y1, x2, y2)` that's
@@ -15116,6 +15951,21 @@ declare function collectDocumentEnvelopeLibraryReferenceIds(source: DocumentEnve
15116
15951
  * This matches the plan's export ordering rule: symbols and markers can
15117
15952
  * reference any other library kind, but not vice versa.
15118
15953
  */
15954
+ /**
15955
+ * Kinds with no SVG element form, which are therefore never emitted.
15956
+ *
15957
+ * Every other `LibraryDef` names something SVG can express and reference:
15958
+ * a `<linearGradient>`, a `<filter>`, a `<symbol>`. An appearance style names
15959
+ * an ordered set of paint operations, which SVG performs but cannot name - so
15960
+ * a shape wearing one resolves it in the model and renders the result, and the
15961
+ * definition stays behind in the document format.
15962
+ *
15963
+ * Declared as the exclusion rather than {@link LIBRARY_EMIT_ORDER} being
15964
+ * declared as an inclusion, because a kind added later is far more likely to
15965
+ * render than not: leaving it out of the emit order should be a deliberate
15966
+ * entry here, and forgetting to add it there should fail the coverage test.
15967
+ */
15968
+ declare const NON_RENDERING_LIBRARY_KINDS: ReadonlySet<LibraryKind>;
15119
15969
  declare const LIBRARY_EMIT_ORDER: readonly LibraryKind[];
15120
15970
  /**
15121
15971
  * Build the {@link RenderShapeContext} a library implies: the def-kind
@@ -17360,4 +18210,4 @@ interface RasterQualityReport {
17360
18210
  */
17361
18211
  declare function compareImages(reference: RasterImage, candidate: RasterImage, opts?: CompareImagesOptions): RasterQualityReport;
17362
18212
 
17363
- 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 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 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, 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_COORDINATE_PRECISION, DEFAULT_RICH_TEXT_STYLE, DOCUMENT_FIELDS, DOCUMENT_FIELD_LIVE_AUTHORITY, DOCUMENT_INGEST_POLICIES, DOCUMENT_SECTION_ORDER, type DecodedSvgSource, 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 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 FilterDefinitionEnvelope, type FilterElementAttrs, type FilterLibraryDef, type FilterLightSource, type FilterPrimitive, type FilterPrimitiveType, type FilterType, type FlowchartBoxNodeProps, type FlowchartBoxParams, type FlowchartBoxType, type FontVariantCssInput, 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 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, 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, 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_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 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 RoundEdgesFilter, SAXES_SVG_XML_PARSER_HOST, 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 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, 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 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, 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 VocabularyAttributes, 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, applyClipMaskGroupDelta, applyClipMaskPlanToShapes, applyCssAnimationLonghandOverrides, applyGuideDeltaOp, applyIngestPlan, applyMeasurementDeltaOp, applyMetadataDeltaOp, applyOpToSnapshot, applyOpsInPlace, applyOpsToSnapshot, applyOpsToSnapshotWithAccepted, applyRichTextFormat, applyTextSplice, applyTextTransform, applyTimingFunctionToKeyframe, arcEndpointToCenter, areTracksTimingEquivalent, around, assembleLibraryDefs, assembleSvgFromPlan, assertIngestFeatureRegistry, assertIngestPolicyRegistry, assertNamespaceVocabularyRegistry, assertRasterImage, assertSvgImportCapabilityOwners, authoredPaintDeclarations, baseFillLayer, baseStrokeLayer, buildCompoundTransformValues, buildDefinitionPlacementIndex, buildFreshMetadataBlock, buildGuideDeltaOps, buildManagedChildren, buildManagedDescription, buildMeasurementDeltaOps, buildMetadataDeltaOps, buildRenderPlan, buildSmilKeyframeData, buildSmilKeyframes, buildSvgDestinationIdentityIndex, buildSvgIngestPlan, buildSymbolMaterializationPlan, buildViewBoxSmilKeyframeData, canonicalPolygonTransformString, canonicalTransformMatrix, canonicalTransformString, classifySvgExternalAssetUrl, clipMaskDefinitionFromGroup, clipMaskDefinitionsFromGroups, clipMaskGroupDefId, clipMaskGroupDefinitionId, clipMaskGroupIsRawBacked, clipMaskGroupWithDefinition, clipMaskOwnedDefIds, cloneTextSpanTree, collaborationResourceKey, collectDocumentEnvelopeLibraryReferenceIds, 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, defaultVariableMode, deltaE2000, deriveRichTextFormatRanges, deriveSegments, deriveTextSplice, derivedConnectionPoints, documentObjectBounds, ellipticalArcBounds, emptyDocumentMetadata, ensureTextSpanRange, escXml, evaluateParsedTimingFunction, evaluateSvgConditionalProcessing, expandAppearanceStack, extractVariables, filterAttr, filterChainExtendsBounds, filterDefinitionEnvelope, filterReferenceValue, finalizeRenderPlan, findShapeById, fingerprintCssAnimationDocumentStyles, fingerprintCssAnimationInlineStyles, fingerprintCssAnimationTrack, fingerprintIngestSource, flattenShapeStateTree, flattenStateExtra, flattenUnknownDocumentFields, foldSchemaV2AncestorTransformIntoMatrix, forEachLibraryRefInState, forEachMarkerRefInState, forEachReachableShape, forEachShapeInLibraryDefs, 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, isCssNamedColor, isDefaultKeyPoints, isDefaultKeyTimes, isFiniteAffineArray, isGradientLike, isIdentityAffine, isIdentityLinearSplines, isIndefiniteSetTrack, isIndefiniteSmilSimpleDuration, isNumericArray, isReusablePatternTile, isSafeGradientRootAttributeName, isSafePatternRootAttributeName, isSetSequenceTrack, isSvgPresentationProperty, isValidOrderKey, keyBetween, keysBetween, layerFilterTargets, layerPaints, layerState, layoutText, legacyEndpointMarkerId, lerpNumber, linearGradient, linearGradientEnvelope, lintWordSearchOptions, 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, parseInterpolationNumbers, parsePreserveAspectRatio, parseSmilAdditive, parseSmilClockValue, parseSmilDuration, parseSmilFillField, parseSmilKeySplines, parseSmilKeyTimes, parseSmilRepeatSettings, parseSmilValues, parseSvgAbsoluteLength, parseSvgLength, parseSvgLengthList, parseSvgLengthToken, parseSvgPathData, parseSvgRootFrame, parseSvgSourceDocument, parseSvgStyleAttribute, parseSvgTransformList, parseSvgViewBox, parseVariableArgs, parseWordSearchWords, partitionShapeStateTree, partitionStateExtra, partitionUnknownDocumentFields, pathCommandStructuresMatch, pathDataBounds, 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, premultiply, prepareSvgAuthorCssForLiveProjection, prepareSvgExternalAssetUrlForLiveProjection, prepareSvgMarkupForLiveProjection, prepareSvgXmlSource, preserveAspectRatioAlignFactor, projectClipMaskDefinitionAnimations, projectCssTransformStops, projectDefinitionAnimations, projectPresentation, projectPresentationEntry, projectSceneTreeOntoClipMaskGroups, projectSceneTreeOntoShapes, projectSvgAnimationPlan, projectSvgAnimationTimeline, projectSvgImportToIngestPlan, projectSvgImportToSnapshot, projectSvgSourceNodes, projectTextLinePosition, projectTextSpanRotations, promoteManagedDescription, promoteRebasedShapeUpdateClock, pruneAndWrapSubtree, quadraticBezierExtent1D, radialGradient, radialGradientEnvelope, rebaseRichTextFormatRanges, rebaseRichTextRuns, 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, resolveConnectorAnchorFromDocument, resolveConnectorEndpoints, resolveContainerTransform, resolveContainerTransformFromContentBounds, resolveCssAnimationEasingType, resolveEmbeddedSvgTransform, resolveEmbeddedSvgViewportFrameBounds, resolveGradientLibraryDef, resolveInlineContainerTransform, resolveMetadataQName, resolvePasteWrapperViewportSize, resolvePatternLibraryDef, resolveRichTextStyleAt, 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, sanitizeRichTextFormatRanges, sanitizeXmlId, scaleAffine, scanCssFunctionTokens, scanCssLocalUrlTokens, senderCorrectionsForOp, serializeSvgPathData, serializedPresentationReader, severity, shapeAppearanceLayers, shapeLocalObjectBounds, shapeLocalObjectCenter, shapeNeedsAppearanceExpansion, shapeObjectBoundsInSpace, shouldRoundSvgCoordinateAttribute, skewXAffine, skewYAffine, smilKeyframeAttributes, snapshotBoundsView, solveCubicBezier, solveSudoku, spliceTextSpanTree, splinePathBounds, splitCssAnimationList, splitCssTopLevel, splitCssTopLevelRanges, splitTopLevelElements, srgbToLab, ssimPlane, stringifyDocument, stripAnimationDeclarations, stripCssAnimationInlineStyle, substituteString, substituteVariables, symbolDefinitionSemanticHash, symbolInstanceTargetId, synthesizeCssAnimationShorthand, templateVariablesCss, textSpanEffectiveRotations, textSpanIds, textSpanNodeById, textSpanRangeByIds, transformSplice, transformSvgPathData, translateAffine, translateSvgPathData, tryParseSvgTransformList, upsertResourceById, upsertResourceByKey, upsertResourceByName, upsertTrackKeyframe, validateDocumentOperations, validateOperation, validatePresenceOperation, validateSnapshot, validateSudokuPuzzle, verticesToPath, visitShapeTree, visitSnapshotShapeTrees, writeAppearanceLayers };
18213
+ 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 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_FIELDS, DOCUMENT_FIELD_LIVE_AUTHORITY, DOCUMENT_INGEST_POLICIES, DOCUMENT_SECTION_ORDER, type DecodedSvgSource, 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 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 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 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, 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 VocabularyAttributes, 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, buildFreshMetadataBlock, buildGuideDeltaOps, buildManagedChildren, buildManagedDescription, buildMeasurementDeltaOps, buildMetadataDeltaOps, buildRenderPlan, buildSmilKeyframeData, buildSmilKeyframes, buildSvgDestinationIdentityIndex, buildSvgIngestPlan, buildSymbolMaterializationPlan, buildViewBoxSmilKeyframeData, canonicalPolygonTransformString, canonicalTransformMatrix, canonicalTransformString, chainHasTargetedEffects, 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, 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, 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, shouldRoundSvgCoordinateAttribute, skewXAffine, skewYAffine, smilKeyframeAttributes, snapshotBoundsView, 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, upsertResourceById, upsertResourceByKey, upsertResourceByName, upsertTrackKeyframe, validateDocumentOperations, validateOperation, validatePresenceOperation, validateSnapshot, validateSudokuPuzzle, verticesToPath, visitShapeTree, visitSnapshotShapeTrees, writeAppearanceLayers };