@svgsketch/core 4.1.0 → 4.3.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';
@@ -2040,6 +2071,119 @@ interface Measurement {
2040
2071
  opacity?: number;
2041
2072
  }
2042
2073
 
2074
+ /**
2075
+ * The appearance stack — a shape's paint operations as an ordered list.
2076
+ *
2077
+ * SVG models paint as singular: `fill` takes one `<paint>` and `stroke` takes
2078
+ * one (SVG 2 §13.4.1, §13.5.1), and `paint-order` (§13.8) permutes three fixed
2079
+ * slots rather than multiplying them. A shape that paints two strokes with a
2080
+ * fill between them therefore has no single-element expression, even though
2081
+ * the rendering model describes exactly that: successive paint operations,
2082
+ * each compositing onto what came before (§3.3).
2083
+ *
2084
+ * `SerializedShapeState.appearance` is that list. It is one ordered sequence
2085
+ * holding both kinds, because the interleaving is the point — two lists, one
2086
+ * per paint kind, could not say that a stroke sits below a fill and another
2087
+ * stroke above it.
2088
+ *
2089
+ * **Layer zero mirrors the base props.** The first fill layer's paint is the
2090
+ * shape's `fillColor` / `fillType` / `fillGradient` / `fillLibraryId`, and the
2091
+ * first stroke layer's is `borderColor` / `strokeType` / `strokeGradient` /
2092
+ * `strokeLibraryId` / `borderWidth`. Both are written on save. Three things
2093
+ * follow, and all three are deliberate:
2094
+ *
2095
+ * - A shape with one fill and one stroke — nearly every shape in nearly
2096
+ * every document — carries an `appearance` that says nothing the base
2097
+ * props did not already say, so it is omitted entirely and that shape
2098
+ * serializes exactly as it did before this field existed.
2099
+ * - A reader that does not know the field renders the base layer rather than
2100
+ * nothing, and `SerializedShapeState.extra` preserves the full stack
2101
+ * through its save. Degraded, never lossy.
2102
+ * - There is exactly one place a layer's paint lives. Reading layer zero
2103
+ * from the base props rather than from a copy inside the list means the
2104
+ * two cannot drift.
2105
+ *
2106
+ * Absent `appearance` is not "no paint". It means the shape paints what its
2107
+ * base props describe, which is what {@link appearanceLayers} synthesizes.
2108
+ */
2109
+
2110
+ /** Paint servers a layer can reference inline. */
2111
+ type AppearancePaintValue = LinearGradient | RadialGradient | PatternFill;
2112
+ interface AppearanceLayerBase {
2113
+ /**
2114
+ * Stable identity, assigned when the layer is created and never derived
2115
+ * from its position. Reordering a stack must not rename its layers, or a
2116
+ * projection keyed by layer id would repaint the wrong element.
2117
+ */
2118
+ id: string;
2119
+ /**
2120
+ * `false` hides the layer without discarding its paint, which is what
2121
+ * separates a hidden layer from one set to `none`. Absent means visible.
2122
+ */
2123
+ enabled?: boolean;
2124
+ /**
2125
+ * Ordered `FilterLibraryDef` ids applied to this layer alone rather than to
2126
+ * the composed shape. SVG expresses this directly — the `filter` property on
2127
+ * the element that paints the layer — so blurring only a shadow layer needs
2128
+ * no machinery beyond placing the reference here.
2129
+ */
2130
+ filterLibraryIds?: string[];
2131
+ }
2132
+ /** One fill operation. */
2133
+ interface AppearanceFillLayer extends AppearanceLayerBase {
2134
+ kind: 'fill';
2135
+ /** Solid paint. Mirrors `fillColor` on the base layer. */
2136
+ color?: string;
2137
+ /** Mirrors `fillType` on the base layer. */
2138
+ paintType?: FillType;
2139
+ /** Mirrors `fillGradient` on the base layer. */
2140
+ gradient?: AppearancePaintValue | null;
2141
+ /** Mirrors `fillLibraryId` on the base layer. */
2142
+ libraryId?: string;
2143
+ /** Mirrors `fillOpacity` on the base layer. */
2144
+ opacity?: number;
2145
+ /** Mirrors `authoredFillPaint` on the base layer. */
2146
+ authoredPaint?: AuthoredPaintReference;
2147
+ }
2148
+ /** One stroke operation. */
2149
+ interface AppearanceStrokeLayer extends AppearanceLayerBase {
2150
+ kind: 'stroke';
2151
+ /** Solid paint. Mirrors `borderColor` on the base layer. */
2152
+ color?: string;
2153
+ /** Mirrors `strokeType` on the base layer. */
2154
+ paintType?: StrokeType;
2155
+ /** Mirrors `strokeGradient` on the base layer. */
2156
+ gradient?: AppearancePaintValue | null;
2157
+ /** Mirrors `strokeLibraryId` on the base layer. */
2158
+ libraryId?: string;
2159
+ /** Mirrors `strokeOpacity` on the base layer. */
2160
+ opacity?: number;
2161
+ /** Mirrors `borderWidth` on the base layer. */
2162
+ width?: number;
2163
+ /** Mirrors `strokeLinejoin` on the base layer. */
2164
+ linejoin?: 'miter' | 'round' | 'bevel';
2165
+ /** Mirrors `strokeLinecap` on the base layer. */
2166
+ linecap?: 'butt' | 'round' | 'square';
2167
+ /** Mirrors `strokeMiterlimit` on the base layer. */
2168
+ miterlimit?: number;
2169
+ /** Mirrors `strokeDasharray` on the base layer. */
2170
+ dasharray?: string | null;
2171
+ /** Mirrors `dashOffset` on the base layer. */
2172
+ dashoffset?: number;
2173
+ /** Mirrors `authoredStrokePaint` on the base layer. */
2174
+ authoredPaint?: AuthoredPaintReference;
2175
+ }
2176
+ /**
2177
+ * One paint operation in a shape's appearance stack.
2178
+ *
2179
+ * Ordered bottom-to-top: index 0 paints first and every later layer composites
2180
+ * over it, matching document order in the emitted markup and the painter's
2181
+ * model that order implements (SVG 2 §3.3).
2182
+ */
2183
+ type AppearanceLayer = AppearanceFillLayer | AppearanceStrokeLayer;
2184
+ /** Discriminator values, for exhaustive switches and validation. */
2185
+ type AppearanceLayerKind = AppearanceLayer['kind'];
2186
+
2043
2187
  /**
2044
2188
  * @svgsketch/core — Standard recursive JSON value types.
2045
2189
  *
@@ -3038,6 +3182,34 @@ interface CommonNodeProps extends CommonTransformNodeProps {
3038
3182
  authoredStrokePaint?: AuthoredPaintReference;
3039
3183
  /** Ordered `FilterLibraryDef` ids applied to this shape (`url(#id)` chain). */
3040
3184
  filterLibraryIds?: string[];
3185
+ /**
3186
+ * The shape's paint operations as an ordered list, bottom-to-top.
3187
+ *
3188
+ * Absent means the shape paints exactly what the base fill and stroke props
3189
+ * above describe, which is the overwhelming majority of shapes and the
3190
+ * reason the field is optional rather than always written. Present, its
3191
+ * first fill layer and first stroke layer mirror those same base props, so
3192
+ * a reader that ignores this field still paints the base layer.
3193
+ *
3194
+ * See `types/appearance.ts` for the mirroring contract in full.
3195
+ */
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;
3041
3213
  /** `true` when `fill-rule` was explicitly authored (vs. editor default). */
3042
3214
  fillRuleExplicit?: boolean;
3043
3215
  /** SVG 2 §11.8 `paint-order`. `'normal'` when unauthored. */
@@ -3892,7 +4064,7 @@ interface SerializedShape {
3892
4064
  type: string;
3893
4065
  state: SerializedShapeState;
3894
4066
  }
3895
- 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", "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"];
4067
+ 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"];
3896
4068
  type SerializedStateKeyListEntry = (typeof SERIALIZED_SHAPE_STATE_KEYS)[number];
3897
4069
  type SerializedStateKey = Exclude<keyof SerializedShapeState, 'extra'>;
3898
4070
  type StateKeyGate<T extends never> = T;
@@ -4357,15 +4529,26 @@ interface SerializedClipMaskGroup {
4357
4529
  * - linear-gradient / radial-gradient (SVG 2 §14, referenced by fill/stroke)
4358
4530
  * - pattern (SVG 2 §14.3, referenced by fill/stroke)
4359
4531
  * - filter (CSS Filter Effects §Filter Property, referenced by `filter`)
4532
+ * - appearance-style (no SVG element form - see below)
4360
4533
  *
4361
4534
  * ClipPath, mask, and <style> are deliberately out of scope for this pass.
4535
+ *
4536
+ * `appearance-style` is the one kind with NO element form. SVG can express a
4537
+ * multi-pass appearance (that is just the painter's model) but has no construct
4538
+ * for naming one and referencing it, the way `<linearGradient>` names a paint
4539
+ * server. A shape therefore resolves its style in the model and renders the
4540
+ * result; the definition itself is never emitted. See
4541
+ * {@link NON_RENDERING_LIBRARY_KINDS} in renderer/library-renderers.ts, which is
4542
+ * the single place that fact is declared.
4362
4543
  */
4363
4544
 
4364
4545
  /** Discriminator for the `LibraryDef` union. */
4365
- type LibraryKind = 'symbol' | 'marker' | 'linear-gradient' | 'radial-gradient' | 'pattern' | 'filter';
4546
+ type LibraryKind = 'symbol' | 'marker' | 'linear-gradient' | 'radial-gradient' | 'pattern' | 'filter' | 'appearance-style';
4547
+ /** Every library kind, as values. Derived from {@link LIBRARY_KIND_ROSTER}. */
4548
+ declare const LIBRARY_KINDS: readonly LibraryKind[];
4366
4549
  /**
4367
4550
  * Common fields shared by every kind of library def. ID prefix convention:
4368
- * sym- / mkr- / grd- / pat- / flt-
4551
+ * sym- / mkr- / grd- / pat- / flt- / sty-
4369
4552
  */
4370
4553
  interface LibraryDefBase {
4371
4554
  /** Unique identifier, prefixed by kind (see convention above). */
@@ -4639,8 +4822,42 @@ interface FilterLibraryDef extends LibraryDefBase {
4639
4822
  width?: string;
4640
4823
  height?: string;
4641
4824
  }
4825
+ /**
4826
+ * A named, reusable appearance stack - the paint operations a shape performs,
4827
+ * stored once and referenced by every shape that wears the look.
4828
+ *
4829
+ * Shapes link by `graphicStyleId`; the layers live here and nowhere else, so
4830
+ * editing the style changes every shape using it with no fan-out write. What a
4831
+ * linked shape keeps for itself is the paint of its FIRST fill layer and FIRST
4832
+ * stroke layer, which continue to come from its own base props exactly as they
4833
+ * do for an unlinked shape (the mirroring contract in types/appearance.ts).
4834
+ * The style therefore shares STRUCTURE - how many passes, in what order, with
4835
+ * which extra paints and per-layer effects - while each shape keeps its own
4836
+ * core colour and stroke width. That split is what lets one "Sticker Outline"
4837
+ * style serve twelve differently-coloured icons.
4838
+ *
4839
+ * Deliberately NOT included: element opacity and blend mode. Those act on the
4840
+ * composed result rather than on any one paint operation (the split declared by
4841
+ * `WRAPPER_PRESENTATION_IDS` in renderer/appearance-expansion.ts), so folding
4842
+ * them in would make a "style" mean two different things at once.
4843
+ */
4844
+ interface AppearanceStyleLibraryDef extends LibraryDefBase {
4845
+ kind: 'appearance-style';
4846
+ /**
4847
+ * Ordered paint operations, bottom-to-top. Index 0 paints first.
4848
+ *
4849
+ * Complete, including the first fill and first stroke - but the paint on
4850
+ * those two is a SEED rather than a binding. Applying the style copies it
4851
+ * into the wearing shape's base props, so the shape looks like the style
4852
+ * immediately; from then on the shape's own props answer for those two slots
4853
+ * and the seed is inert. That is what lets one style serve twelve
4854
+ * differently-coloured icons while still transferring its whole look on the
4855
+ * click that applies it.
4856
+ */
4857
+ layers: AppearanceLayer[];
4858
+ }
4642
4859
  /** Discriminated union over `kind`. */
4643
- type LibraryDef = SymbolLibraryDef | MarkerLibraryDef | LinearGradientLibraryDef | RadialGradientLibraryDef | PatternLibraryDef | FilterLibraryDef;
4860
+ type LibraryDef = SymbolLibraryDef | MarkerLibraryDef | LinearGradientLibraryDef | RadialGradientLibraryDef | PatternLibraryDef | FilterLibraryDef | AppearanceStyleLibraryDef;
4644
4861
  /**
4645
4862
  * Narrow helper — picks the library-def type for a given kind. Useful for
4646
4863
  * `getByKind('symbol')` return types.
@@ -4670,6 +4887,225 @@ declare function keysBetween(a: string | null, b: string | null, count: number):
4670
4887
  */
4671
4888
  declare function initialOrderKeys(count: number): string[];
4672
4889
 
4890
+ /**
4891
+ * Reading and writing a shape's appearance stack.
4892
+ *
4893
+ * Everything that needs to know what a shape paints goes through here rather
4894
+ * than reaching into `state.appearance` or the base paint props directly. That
4895
+ * is what keeps the mirroring contract in `types/appearance.ts` honest: the
4896
+ * base props and the first layer of each kind are one value with two homes,
4897
+ * and only this module knows how to move between them.
4898
+ *
4899
+ * The functions are pure and operate on `SerializedShapeState`, so the editor,
4900
+ * the headless renderer and the SDK all answer "what does this shape paint"
4901
+ * the same way.
4902
+ */
4903
+
4904
+ /** Id of the layer that mirrors the base fill props. */
4905
+ declare const BASE_FILL_LAYER_ID = "fill-0";
4906
+ /** Id of the layer that mirrors the base stroke props. */
4907
+ declare const BASE_STROKE_LAYER_ID = "stroke-0";
4908
+ declare function baseFillLayer(state: SerializedShapeState): AppearanceFillLayer;
4909
+ /** The stroke layer synthesized from a shape's base props. */
4910
+ declare function baseStrokeLayer(state: SerializedShapeState): AppearanceStrokeLayer;
4911
+ /** Where a style id is looked up. */
4912
+ type AppearanceStyleSource = readonly LibraryDef[] | ReadonlyMap<string, LibraryDef> | ((id: string) => LibraryDef | undefined) | null | undefined;
4913
+ /**
4914
+ * Look up a style definition.
4915
+ *
4916
+ * Returns undefined for an id that names nothing, or names a def of another
4917
+ * kind. Both are the dangling case, and the dangling case is not an error: a
4918
+ * document pasted away from its library still has to paint.
4919
+ */
4920
+ declare function resolveAppearanceStyle(source: AppearanceStyleSource, id: string | undefined): AppearanceStyleLibraryDef | undefined;
4921
+ /** The style a shape wears, or undefined when it wears none. */
4922
+ declare function shapeAppearanceStyle(state: SerializedShapeState, styles: AppearanceStyleSource): AppearanceStyleLibraryDef | undefined;
4923
+ /**
4924
+ * Every paint operation the shape performs, bottom-to-top.
4925
+ *
4926
+ * Three sources, in precedence order:
4927
+ *
4928
+ * - A resolvable `graphicStyleId` supplies the list. The style owns how many
4929
+ * passes there are, in what order, and what the non-base ones paint.
4930
+ * - Otherwise `state.appearance`, the shape's own list.
4931
+ * - Otherwise the two synthesized base layers in default paint order (fill,
4932
+ * then stroke — SVG 2 §13.8), which is exactly what a shape that has never
4933
+ * carried a stack has always painted.
4934
+ *
4935
+ * In all three the first layer of each kind takes its paint from the base
4936
+ * props, so the two homes cannot report different paint — and so a style shares
4937
+ * the shape of an appearance without flattening every shape wearing it to one
4938
+ * colour. `styles` is what a caller passes to make the first case reachable;
4939
+ * omitting it resolves the other two exactly as before graphic styles existed.
4940
+ *
4941
+ * `paint-order` is deliberately NOT applied here. It permutes the base fill
4942
+ * and stroke of a single-layer shape and is a separate concern from the stack
4943
+ * itself; applying both would sequence the same shape twice.
4944
+ */
4945
+ declare function appearanceLayers(state: SerializedShapeState, styles?: AppearanceStyleSource): readonly AppearanceLayer[];
4946
+ /** Whether a layer contributes ink: it is enabled and its paint is not `none`. */
4947
+ declare function layerPaints(layer: AppearanceLayer): boolean;
4948
+ /** The layers that actually contribute ink, in paint order. */
4949
+ declare function paintingLayers(state: SerializedShapeState, styles?: AppearanceStyleSource): readonly AppearanceLayer[];
4950
+ /**
4951
+ * Whether a shape needs the appearance stack to describe what it paints.
4952
+ *
4953
+ * False for one fill and one stroke in default order, which is what the base
4954
+ * props already say — so those shapes omit the field and serialize exactly as
4955
+ * they did before it existed. This is the check that keeps the field off
4956
+ * nearly every shape in nearly every document.
4957
+ */
4958
+ declare function needsAppearanceStack(layers: readonly AppearanceLayer[]): boolean;
4959
+ /**
4960
+ * Project a stack back onto shape state: the first layer of each kind writes
4961
+ * the base props, and the list is stored only when it says more than they do.
4962
+ *
4963
+ * Returns a new state rather than mutating, and clears `appearance` when the
4964
+ * stack collapses back to a plain fill-and-stroke pair so a shape does not
4965
+ * accumulate a field that describes nothing.
4966
+ */
4967
+ declare function writeAppearanceLayers(state: SerializedShapeState, layers: readonly AppearanceLayer[]): SerializedShapeState;
4968
+ /**
4969
+ * Library def ids the stack's layers reference, beyond what the base props
4970
+ * already name.
4971
+ *
4972
+ * A second fill can carry a gradient, and any layer can carry its own filter
4973
+ * chain — references no base prop mentions. Every collector that decides which
4974
+ * defs a document needs has to see them, or the output points at a definition
4975
+ * that was never emitted.
4976
+ *
4977
+ * Base layers are scanned too. Their paint mirrors the base props and would be
4978
+ * counted twice, which is harmless in a set, but their per-layer filters are
4979
+ * theirs alone and appear nowhere else.
4980
+ */
4981
+ declare function forEachAppearanceLayerRef(state: SerializedShapeState | Record<string, unknown> | undefined, visit: (libraryId: string) => void): void;
4982
+ /**
4983
+ * Which layer, if any, claims each filter chain the shape's layers reference.
4984
+ *
4985
+ * A filter chain applies either to the shape as composed or to one paint pass
4986
+ * within it, and the reference direction is what says which: a chain named by a
4987
+ * layer belongs to that layer, and one named nowhere belongs to the shape. This
4988
+ * is the query that keeps the two from being applied twice - once on the
4989
+ * wrapper and again on the layer - which is what a shape-level reference to a
4990
+ * layer-claimed chain would produce.
4991
+ *
4992
+ * Maps filter def id to the id of the first layer that claims it.
4993
+ */
4994
+ declare function layerFilterTargets(state: SerializedShapeState | Record<string, unknown> | undefined): ReadonlyMap<string, string>;
4995
+ /** Append a layer to the top of a shape's stack. */
4996
+ declare function appendAppearanceLayer(state: SerializedShapeState, layer: AppearanceLayer): SerializedShapeState;
4997
+ /**
4998
+ * Split a stack the way a linked shape stores it: paint that is the shape's own
4999
+ * goes to its base props, and the list itself goes to a shared style.
5000
+ *
5001
+ * Two differences from `writeAppearanceLayers`, which it reuses so the
5002
+ * base-prop half cannot drift between them:
5003
+ *
5004
+ * - The list is always produced. A style whose layers happen to be a plain
5005
+ * fill-and-stroke pair is a legitimate style, whereas the same pair inline
5006
+ * says nothing the base props did not, so `appearance` drops it — and a
5007
+ * style with an empty list would paint nothing at all.
5008
+ * - The base entries keep their paint. Inline they must not, because the
5009
+ * props are the one home for it; in a style it is the seed a later
5010
+ * `applyAppearanceStyle` copies into whatever shape wears it next.
5011
+ */
5012
+ declare function splitAppearanceForStyle(state: SerializedShapeState, layers: readonly AppearanceLayer[]): {
5013
+ state: SerializedShapeState;
5014
+ styleLayers: AppearanceLayer[];
5015
+ };
5016
+ /**
5017
+ * Link a shape to a style.
5018
+ *
5019
+ * The style's layer-zero paint is copied into the shape's base props so the
5020
+ * shape looks like the style the moment it is applied. It is a starting value,
5021
+ * not a binding: recolouring the shape afterwards moves only that shape, which
5022
+ * is the per-instance half of the split described on
5023
+ * `AppearanceStyleLibraryDef`. The inline list is cleared because the style now
5024
+ * owns it, and the two are never both authoritative.
5025
+ */
5026
+ declare function applyAppearanceStyle(state: SerializedShapeState, style: AppearanceStyleLibraryDef): SerializedShapeState;
5027
+ /**
5028
+ * Break a shape's link to its style, keeping what it currently paints.
5029
+ *
5030
+ * The resolved layers are written back inline, so the shape carries on looking
5031
+ * identical and every later edit is local to it. A shape whose link was already
5032
+ * dangling detaches to exactly what it was painting, which is its base props.
5033
+ */
5034
+ declare function detachAppearanceStyle(state: SerializedShapeState, styles: AppearanceStyleSource): SerializedShapeState;
5035
+ /**
5036
+ * Library def ids a style's own layers reference.
5037
+ *
5038
+ * A style can name a gradient for its second fill and a filter chain for one of
5039
+ * its layers. Those references reach the document only through the style, so
5040
+ * every collector that decides which defs to emit — or which are safe to prune
5041
+ * — has to follow the link to find them.
5042
+ */
5043
+ declare function forEachAppearanceStyleRef(style: AppearanceStyleLibraryDef, visit: (libraryId: string) => void): void;
5044
+
5045
+ /**
5046
+ * Splitting a shape's effect chain by what each effect acts on.
5047
+ *
5048
+ * A shape's effects are authored as ONE ordered list, because that is what the
5049
+ * user sees and edits. What each effect ACTS on is per-effect: a glow can
5050
+ * belong to the bright inner stroke while a drop shadow belongs to the shape as
5051
+ * composed. SVG expresses that by putting the two on different elements, so one
5052
+ * authored list becomes several `<filter>` definitions - one per destination -
5053
+ * and each is referenced from the element it acts on.
5054
+ *
5055
+ * This module is the single place that split is defined. The editor uses it to
5056
+ * build the definitions and distribute their references; the headless renderer
5057
+ * uses it to synthesize the same definitions from a document that carries the
5058
+ * chain inline. That they agree is what keeps the canvas and the exported file
5059
+ * showing the same picture.
5060
+ *
5061
+ * **A chain with no targets is one group with the id it has always had.** That
5062
+ * is the whole back-compatibility story: every document written before effects
5063
+ * could be targeted has `target` on none of its primitives, produces exactly
5064
+ * one group, and emits `filter-<shapeId>` exactly as before.
5065
+ */
5066
+
5067
+ /** One `<filter>` definition a shape's chain produces, and who references it. */
5068
+ interface FilterChainGroup {
5069
+ /** The emitted definition id. */
5070
+ id: string;
5071
+ /**
5072
+ * The appearance layer whose `<use>` carries the reference, or null when the
5073
+ * definition acts on the shape as composed and the shape carries it.
5074
+ */
5075
+ targetLayerId: string | null;
5076
+ /** The primitives acting on that destination, in authored order. */
5077
+ filters: ShapeFilter[];
5078
+ }
5079
+ /**
5080
+ * The definition id a shape's chain uses for one destination.
5081
+ *
5082
+ * The untargeted group keeps the bare `filter-<shapeId>` an untargeted chain
5083
+ * has always emitted, so a document that never targets an effect produces
5084
+ * byte-identical output.
5085
+ */
5086
+ declare function filterChainGroupId(shapeId: string, targetLayerId: string | null): string;
5087
+ /**
5088
+ * Split a chain into one group per destination.
5089
+ *
5090
+ * Groups come out in the order their first primitive appears, and primitives
5091
+ * keep their authored order inside a group - both matter, because a filter
5092
+ * chain is a pipeline and the second primitive reads the first one's result.
5093
+ *
5094
+ * Disabled primitives are NOT filtered here: callers that emit definitions
5095
+ * filter them first (an all-disabled group emits nothing), and callers that ask
5096
+ * "which definitions does this chain reference" must see the same groups either
5097
+ * way or the reference set would change as effects are toggled.
5098
+ */
5099
+ declare function filterChainGroups(filters: readonly ShapeFilter[] | undefined, shapeId: string): FilterChainGroup[];
5100
+ /**
5101
+ * Whether any effect in the chain names a destination other than the shape.
5102
+ *
5103
+ * The cheap check callers use to stay on the single-definition path: false
5104
+ * means one group with the historical id, and nothing downstream has to think
5105
+ * about grouping at all.
5106
+ */
5107
+ declare function chainHasTargetedEffects(filters: readonly ShapeFilter[] | undefined): boolean;
5108
+
4673
5109
  /**
4674
5110
  * Callback fired when any property on a node changes.
4675
5111
  * Set by the owning SceneGraph.
@@ -6200,6 +6636,45 @@ declare const SAXES_SVG_XML_PARSER_HOST: SvgXmlParserHost;
6200
6636
  * present, including when its value is empty.
6201
6637
  */
6202
6638
  declare function getSvgSourceHref(element: SvgSourceElement): SvgSourceHref | null;
6639
+ /**
6640
+ * An XML name resolved into its namespace, which is the only identity an
6641
+ * element or attribute actually has.
6642
+ *
6643
+ * A prefix is a document-local spelling, not identity: Namespaces in XML lets
6644
+ * the same namespace be bound to different prefixes in different scopes, and
6645
+ * SVG Animations section 2.7 turns on exactly that, matching `a:href` on an
6646
+ * animation element against `b:href` on its target.
6647
+ */
6648
+ interface ExpandedName {
6649
+ readonly namespaceUri: string | null;
6650
+ readonly localName: string;
6651
+ }
6652
+ /**
6653
+ * Resolve a QName against the namespace declarations in scope at `element`.
6654
+ *
6655
+ * An unprefixed name resolves to no namespace rather than to the default
6656
+ * namespace, per Namespaces in XML section 6.2: a default declaration applies
6657
+ * to element names, never to attribute names. Returns `null` for a prefix with
6658
+ * no binding in scope, which is a namespace-well-formedness error the caller
6659
+ * must treat as unusable rather than guess at.
6660
+ */
6661
+ declare function resolveSvgQName(document: SvgSourceDocument, element: SvgSourceElement, qname: string): ExpandedName | null;
6662
+ /**
6663
+ * Whether an ancestor already owns this element's source bytes verbatim.
6664
+ *
6665
+ * SVG 2 section 3.2.2 does not render descendants of non-rendered elements,
6666
+ * and section 5.10 excludes foreign-namespace elements from rendering, so an
6667
+ * SVG element beneath one is never painted. `foreignObject` content is
6668
+ * likewise handed to a foreign processor rather than to the SVG scene
6669
+ * (Embedded Content, "Embedding Foreign Object Types").
6670
+ *
6671
+ * Both cases are already preserved whole: a foreign element through
6672
+ * `documentExtensions`, a `foreignObject` through its own shape. Giving the
6673
+ * same source node a second, independent owner paints content a conformant
6674
+ * viewer leaves blank, and re-serializes it once per owner, so the document
6675
+ * grows by one copy on every round trip.
6676
+ */
6677
+ declare function hasOpaqueSvgAncestor(document: SvgSourceDocument, element: SvgSourceElement): boolean;
6203
6678
  /**
6204
6679
  * Convert strict XML into the single ordered source tree consumed by every
6205
6680
  * foreign-SVG capability module.
@@ -6908,6 +7383,17 @@ declare function planSvgClipMasks(document: SvgSourceDocument, usePlan: SvgUseOc
6908
7383
 
6909
7384
  declare const XHTML_EXTENSION_URI: "http://www.w3.org/1999/xhtml";
6910
7385
  declare const MATHML_EXTENSION_URI: "http://www.w3.org/1998/Math/MathML";
7386
+ /**
7387
+ * Extension URIs a browser-hosted viewer supports.
7388
+ *
7389
+ * SVG 2's Embedded Content chapter leaves the mapping from a
7390
+ * `requiredExtensions` URI to a supported XML language undefined, so these two
7391
+ * are a convention rather than an identity: browsers accept the XHTML and
7392
+ * MathML *namespace* URIs as extension tokens for embedding those languages in
7393
+ * `foreignObject`. Registered vocabularies contribute whatever they explicitly
7394
+ * declare as an extension alias, and a vocabulary that only preserves declares
7395
+ * nothing, because advertising is a claim of rendering capability.
7396
+ */
6911
7397
  declare const BROWSER_SVG_EXTENSION_URIS: readonly string[];
6912
7398
  declare const SVG_CONDITIONAL_PROCESSING_ATTRIBUTES: readonly string[];
6913
7399
  interface SvgConditionalProcessingCandidate {
@@ -10928,9 +11414,158 @@ declare function resolvePatternLibraryDef(definitionOrId: PatternLibraryDef | st
10928
11414
  * from the document root. These bindings let projection hosts construct a
10929
11415
  * namespace-well-formed envelope without consulting the live DOM. Unknown
10930
11416
  * prefixes remain an explicit error because their URI cannot be invented.
11417
+ *
11418
+ * This is a last resort, not an authority. A prefix that arrived with a
11419
+ * declaration carries its own URI through the preserved markup, and that
11420
+ * binding wins: see the precedence in `output-finalization.ts`. Only a prefix
11421
+ * that reaches output with no recorded declaration anywhere falls back here,
11422
+ * and resolving it from a table is a guess about what the author meant.
10931
11423
  */
10932
11424
  declare const SVG_WELL_KNOWN_NAMESPACE_URIS: ReadonlyMap<string, string>;
10933
11425
 
11426
+ /**
11427
+ * Vocabularies for namespaces beyond SVG's own.
11428
+ *
11429
+ * SVG 2 section 5.10 sets the floor: foreign elements and attributes must be
11430
+ * kept in the document and ignored for rendering. Preservation already meets
11431
+ * that floor generically, through `documentExtensions` and
11432
+ * `metadata.foreignAttrs`, and nothing here changes it.
11433
+ *
11434
+ * What this adds is *interpretation*: mapping authored foreign data onto a
11435
+ * concept the editor already models, so it becomes editable instead of inert.
11436
+ * That is the only thing interpretation buys. It cannot change rendering,
11437
+ * because section 5.10 forbids it, and it cannot improve round-trip fidelity,
11438
+ * because preservation is already lossless.
11439
+ *
11440
+ * Two rules keep that honest.
11441
+ *
11442
+ * **A vocabulary may only project onto a concept the editor already models.**
11443
+ * `sodipodi:type="arc"` becomes an `<ellipse>`, which is in SVG 2 and in the
11444
+ * canonical model, so it is a legitimate registration. A vocabulary that needs
11445
+ * a new document concept is a feature request, not a registration, or the
11446
+ * registry becomes a channel for inventing document semantics.
11447
+ *
11448
+ * **Interpreting an attribute means owning it in both directions.** A
11449
+ * registration that reads authored data without regenerating it would silently
11450
+ * break the file for the tool that wrote it, so `owns` and `emit` are
11451
+ * mandatory and gated.
11452
+ *
11453
+ * The extension URIs are a separate field on purpose. SVG 2's Embedded Content
11454
+ * chapter says outright that "this specification does not define how
11455
+ * `requiredExtensions` values should be mapped to support for different XML
11456
+ * languages", and its own example guards XHTML content with
11457
+ * `http://example.com/SVGExtensions/EmbeddedXHTML` while the namespace is
11458
+ * `http://www.w3.org/1999/xhtml`. An extension URI names a capability; a
11459
+ * namespace URI names a vocabulary. Conflating them would make registration
11460
+ * silently advertise support.
11461
+ */
11462
+ /** A foreign attribute as authored, keyed by local name within a namespace. */
11463
+ type VocabularyAttributes = ReadonlyMap<string, string>;
11464
+ /** One regenerated attribute, spelled with the prefix the vocabulary uses. */
11465
+ interface VocabularyAttribute {
11466
+ readonly name: string;
11467
+ readonly value: string;
11468
+ }
11469
+ /**
11470
+ * A canonical reinterpretation of an authored element.
11471
+ *
11472
+ * `type` must name a shape the canonical model already has, and `state` is
11473
+ * merged over the state the base planner produced.
11474
+ */
11475
+ interface VocabularyProjection {
11476
+ readonly type: string;
11477
+ readonly state: Readonly<Record<string, unknown>>;
11478
+ /**
11479
+ * Attribute local names this projection read into canonical state.
11480
+ *
11481
+ * Must be non-empty. These stop travelling as inert `foreignAttrs` and are
11482
+ * regenerated by `emit`, so canonical state becomes their single source. A
11483
+ * projection that consumed nothing would leave the authored values in place
11484
+ * to drift out of agreement with the geometry the user then edits.
11485
+ */
11486
+ readonly consumes: readonly [string, ...string[]];
11487
+ }
11488
+ interface NamespaceVocabulary {
11489
+ /**
11490
+ * Every namespace URI this vocabulary claims, canonical one first.
11491
+ *
11492
+ * A vocabulary is not always one URI. Inkscape has shipped its `sodipodi`
11493
+ * vocabulary under two, and every file in the local corpus uses the one core
11494
+ * did *not* have hardcoded, which is what a per-vendor constant buys you.
11495
+ * Claiming the set keeps the identity on the vocabulary rather than on
11496
+ * whichever spelling a given file happened to use.
11497
+ */
11498
+ readonly namespaceUris: readonly [string, ...string[]];
11499
+ /** Stable machine name, used in diagnostics and tests. */
11500
+ readonly id: string;
11501
+ /** Conventional prefix, used when regenerating attributes on export. */
11502
+ readonly prefix: string;
11503
+ /**
11504
+ * Extension URIs this vocabulary satisfies for `requiredExtensions`.
11505
+ *
11506
+ * Empty by default, and empty is the honest answer for a vocabulary that
11507
+ * only preserves. Advertising is a claim of rendering capability and SVG 2
11508
+ * section 5.6.4 makes the test binary, so a false claim makes a `<switch>`
11509
+ * select a branch the renderer gets wrong, which is worse than declining.
11510
+ */
11511
+ readonly extensionUris: readonly string[];
11512
+ /**
11513
+ * Reinterpret an element, or decline it.
11514
+ *
11515
+ * This is the single authority on both questions the pipeline asks: whether
11516
+ * this vocabulary claims the element at all, and what it becomes. They were
11517
+ * once separate functions that had to agree, which no registration gate can
11518
+ * verify; returning `consumes` alongside the projection makes disagreement
11519
+ * unrepresentable.
11520
+ *
11521
+ * `null` means preserved untouched, which is the right answer whenever the
11522
+ * authored data is outside what this vocabulary can round-trip. A declined
11523
+ * element keeps every one of its attributes.
11524
+ */
11525
+ readonly project: (attributes: VocabularyAttributes) => VocabularyProjection | null;
11526
+ /**
11527
+ * Regenerate the owned attributes from canonical state, for a shape this
11528
+ * vocabulary previously claimed. Returns an empty list when the shape is no
11529
+ * longer one this vocabulary describes.
11530
+ */
11531
+ readonly emit: (retained: VocabularyAttributes, read: (key: string) => unknown) => readonly VocabularyAttribute[];
11532
+ }
11533
+ /**
11534
+ * Every namespace vocabulary, declared once.
11535
+ *
11536
+ * A namespace appears at most once: two owners for one URI would make
11537
+ * interpretation order-dependent, so `assertNamespaceVocabularyRegistry`
11538
+ * refuses it.
11539
+ */
11540
+ declare const NAMESPACE_VOCABULARIES: readonly NamespaceVocabulary[];
11541
+ /** Every vocabulary currently in effect, built-in and registered. */
11542
+ declare function namespaceVocabularies(): readonly NamespaceVocabulary[];
11543
+ /** The vocabulary claiming `namespaceUri`, if any. */
11544
+ declare function namespaceVocabulary(namespaceUri: string | null): NamespaceVocabulary | null;
11545
+ /**
11546
+ * Register a vocabulary for the lifetime of the returned disposer.
11547
+ *
11548
+ * Validated on the same gate as the built-ins, and refused if any namespace it
11549
+ * claims already has an owner: two owners for one URI would make
11550
+ * interpretation depend on load order, which is exactly the ambiguity the
11551
+ * registry exists to remove.
11552
+ */
11553
+ declare function registerNamespaceVocabulary(vocabulary: NamespaceVocabulary): () => void;
11554
+ /**
11555
+ * Extension URIs the registry advertises, for `requiredExtensions`.
11556
+ *
11557
+ * A namespace URI is not in this set unless a vocabulary declared it as an
11558
+ * extension alias, because the two URI spaces are different (see the header).
11559
+ */
11560
+ declare function registeredExtensionUris(): readonly string[];
11561
+ /**
11562
+ * Fail loudly on an incomplete or conflicting registry.
11563
+ *
11564
+ * Run from the registry test rather than at import time, on the pattern the
11565
+ * other core registries use.
11566
+ */
11567
+ declare function assertNamespaceVocabularyRegistry(vocabularies?: readonly NamespaceVocabulary[]): void;
11568
+
10934
11569
  /**
10935
11570
  * Machine-readable render diagnostics.
10936
11571
  *
@@ -10980,7 +11615,7 @@ type RenderDiagnosticSeverity = 'warning' | 'error';
10980
11615
  * - `unresolved-svg-viewport`: an auto-sized embedded viewport lacks the
10981
11616
  * parent geometry required by a decomposed transform pivot.
10982
11617
  */
10983
- declare const RENDER_DIAGNOSTIC_CODES: readonly ["unsupported-shape-type", "unsupported-polygon-type", "unresolved-reference", "undeclarable-namespace-prefix", "unresolved-container-pivot", "unresolved-reference-pivot", "duplicate-shape-id", "reference-cycle", "unresolved-svg-viewport", "symbol-cycle", "unresolved-symbol-definition", "duplicate-library-id", "invalid-symbol-viewport", "unresolved-symbol-viewport", "unresolved-symbol-pivot", "unknown-symbol-variant", "ambiguous-symbol-override-target", "unresolved-symbol-override-target"];
11618
+ declare const RENDER_DIAGNOSTIC_CODES: readonly ["unsupported-shape-type", "unsupported-polygon-type", "unresolved-reference", "undeclarable-namespace-prefix", "unresolved-container-pivot", "unresolved-reference-pivot", "duplicate-shape-id", "reference-cycle", "unresolved-svg-viewport", "symbol-cycle", "unresolved-symbol-definition", "duplicate-library-id", "invalid-symbol-viewport", "unresolved-symbol-viewport", "unresolved-symbol-pivot", "unknown-symbol-variant", "ambiguous-symbol-override-target", "unresolved-symbol-override-target", "unexpandable-appearance-stack"];
10984
11619
  type RenderDiagnosticCode = (typeof RENDER_DIAGNOSTIC_CODES)[number];
10985
11620
  /** One machine-readable problem reported while producing render output. */
10986
11621
  interface RenderDiagnostic {
@@ -11312,73 +11947,260 @@ declare function collectMarkerReferences(shapes: readonly SerializedShape[], lib
11312
11947
  */
11313
11948
  declare function collectReferencedMarkerIds(shapes: readonly SerializedShape[], library: LibrarySource): Set<string>;
11314
11949
 
11315
- type DefinitionAttribute = readonly [name: string, value: string | number];
11316
- interface GradientStopEnvelope {
11317
- attributes: readonly DefinitionAttribute[];
11318
- }
11319
- interface GradientDefinitionEnvelope {
11320
- element: 'linearGradient' | 'radialGradient';
11321
- attributes: readonly DefinitionAttribute[];
11322
- stops: readonly GradientStopEnvelope[];
11323
- }
11324
- interface PatternDefinitionEnvelope {
11325
- attributes: readonly DefinitionAttribute[];
11326
- content: string;
11327
- }
11328
- type FilterColorInterpolation = 'auto' | 'sRGB' | 'linearRGB';
11329
- type FilterUnits = 'userSpaceOnUse' | 'objectBoundingBox';
11330
- interface FilterElementAttrs {
11331
- colorInterpolation?: FilterColorInterpolation | null;
11332
- filterUnits?: FilterUnits;
11333
- primitiveUnits?: FilterUnits;
11334
- x?: string;
11335
- y?: string;
11336
- width?: string;
11337
- height?: string;
11338
- }
11339
- interface FilterEnvelopeBase {
11340
- attributes: readonly DefinitionAttribute[];
11341
- }
11342
- interface RawFilterEnvelope extends FilterEnvelopeBase {
11343
- kind: 'raw';
11344
- content: string;
11950
+ type PresentationValueReader = (key: string) => unknown;
11951
+ interface PresentationSemanticContext {
11952
+ shapeId: string;
11953
+ includeAuthoredAttributes?: boolean;
11954
+ includeContainerPresentation?: boolean;
11955
+ retainCssAnimationDeclarations?: boolean;
11956
+ /**
11957
+ * The live editor projects resolved static stylesheet values inline so its
11958
+ * structural scaffolding cannot alter selector matching. Serialized SVG
11959
+ * renderers leave both stylesheet channels to the canonical stylesheet.
11960
+ */
11961
+ projectStaticStylesheetValues?: boolean;
11345
11962
  }
11346
- interface PrimitiveChainFilterEnvelope extends FilterEnvelopeBase {
11347
- kind: 'primitive-chain';
11348
- chain: SvgPrimitiveChainFilter;
11963
+ interface PresentationWrite {
11964
+ channel: 'attribute' | 'style';
11965
+ name: string;
11966
+ value: string | number | null;
11967
+ allowEmpty?: boolean;
11968
+ ifAbsent?: boolean;
11349
11969
  }
11350
- interface GeneratedFilterEnvelope extends FilterEnvelopeBase {
11351
- kind: 'generated';
11352
- filters: readonly ShapeFilter[];
11353
- primitiveUnits: FilterUnits;
11970
+ interface PresentationSemanticEntry {
11971
+ id: string;
11972
+ keys: readonly string[];
11973
+ project: (read: PresentationValueReader, context: PresentationSemanticContext) => readonly PresentationWrite[];
11354
11974
  }
11355
- type FilterDefinitionEnvelope = RawFilterEnvelope | PrimitiveChainFilterEnvelope | GeneratedFilterEnvelope;
11356
- /**
11357
- * Build the one portable pattern definition consumed by static rendering and
11358
- * platform projections. SVG 2 section 14.3 keeps tile lengths on the pattern
11359
- * resource, so valid source spellings remain authoritative over the numeric
11360
- * editor projection.
11361
- */
11362
- declare function patternDefinitionEnvelope(id: string, pattern: PatternFill): PatternDefinitionEnvelope;
11363
- declare function linearGradientEnvelope(id: string, gradient: LinearGradient): GradientDefinitionEnvelope;
11364
- declare function radialGradientEnvelope(id: string, gradient: RadialGradient): GradientDefinitionEnvelope;
11365
- declare function filterChainExtendsBounds(filters: readonly ShapeFilter[]): boolean;
11366
- declare function filterDefinitionEnvelope(filterId: string, filters: readonly ShapeFilter[], attrs?: FilterElementAttrs): FilterDefinitionEnvelope | null;
11367
-
11368
11975
  /**
11369
- * Shared transform ownership for serialized container shapes.
11976
+ * Ordered common-presentation semantics shared by headless rendering,
11977
+ * component code generation, and the editor's incremental apply layer.
11370
11978
  *
11371
- * Imported groups preserve their source transform in `groupData.transform`.
11372
- * Canonical shape transform state owns the SVG attribute whenever it produces
11373
- * a non-identity matrix; the imported spelling is only the fallback. Rendering
11374
- * and analytic tree bounds use this module so the two projections cannot pick
11375
- * different owners.
11979
+ * Order is part of the contract. The dash row follows linecap so dotted
11980
+ * style can make the final cap round, and unmodeled authored attributes
11981
+ * remain the final row so typed state keeps one deterministic owner.
11376
11982
  */
11377
-
11378
- type ContainerTransformOwner = 'canonical' | 'group-data' | 'none';
11379
- interface ResolvedContainerTransform {
11380
- matrix: Affine2D;
11381
- attribute: string | null;
11983
+ declare const PRESENTATION_SEMANTICS: readonly [{
11984
+ readonly id: "fill";
11985
+ readonly keys: readonly ["fillColor", "fillType", "fillGradient", "fillLibraryId", "inheritFill", "authoredFillPaint"];
11986
+ readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
11987
+ }, {
11988
+ readonly id: "element-opacity";
11989
+ readonly keys: readonly ["opacity", "preserveOpacity"];
11990
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
11991
+ }, {
11992
+ readonly id: "fill-opacity";
11993
+ readonly keys: readonly ["fillOpacity", "preserveFillOpacity", "fillType", "fillGradient", "inheritFill"];
11994
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
11995
+ }, {
11996
+ readonly id: "fill-rule";
11997
+ readonly keys: readonly ["fillRule"];
11998
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
11999
+ }, {
12000
+ readonly id: "stroke";
12001
+ readonly keys: readonly ["borderColor", "strokeType", "strokeGradient", "strokeLibraryId", "inheritStroke", "authoredStrokePaint"];
12002
+ readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
12003
+ }, {
12004
+ readonly id: "stroke-width";
12005
+ readonly keys: readonly ["borderWidth"];
12006
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12007
+ }, {
12008
+ readonly id: "stroke-opacity";
12009
+ readonly keys: readonly ["strokeOpacity", "preserveStrokeOpacity", "strokeType", "strokeGradient", "inheritStroke"];
12010
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12011
+ }, {
12012
+ readonly id: "blend-mode";
12013
+ readonly keys: readonly ["blendMode"];
12014
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12015
+ }, {
12016
+ readonly id: "paint-order";
12017
+ readonly keys: readonly ["paintOrder"];
12018
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12019
+ }, {
12020
+ readonly id: "inline-style";
12021
+ readonly keys: readonly ["inlineStyle"];
12022
+ readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
12023
+ }, {
12024
+ readonly id: "markers";
12025
+ readonly keys: readonly ["markerStart", "markerMid", "markerEnd"];
12026
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12027
+ }, {
12028
+ readonly id: "stroke-linejoin";
12029
+ readonly keys: readonly ["strokeLinejoin"];
12030
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12031
+ }, {
12032
+ readonly id: "stroke-linecap";
12033
+ readonly keys: readonly ["strokeLinecap"];
12034
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12035
+ }, {
12036
+ readonly id: "stroke-miterlimit";
12037
+ readonly keys: readonly ["strokeMiterlimit"];
12038
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12039
+ }, {
12040
+ readonly id: "stroke-dasharray";
12041
+ readonly keys: readonly ["lineStyle", "dashLength", "gapLength", "strokeDasharray", "strokeLinecap"];
12042
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12043
+ }, {
12044
+ readonly id: "stroke-dashoffset";
12045
+ readonly keys: readonly ["dashOffset"];
12046
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12047
+ }, {
12048
+ readonly id: "shape-rendering";
12049
+ readonly keys: readonly ["shapeRendering"];
12050
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12051
+ }, {
12052
+ readonly id: "text-rendering";
12053
+ readonly keys: readonly ["textRendering"];
12054
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12055
+ }, {
12056
+ readonly id: "image-rendering";
12057
+ readonly keys: readonly ["imageRendering"];
12058
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12059
+ }, {
12060
+ readonly id: "color-rendering";
12061
+ readonly keys: readonly ["colorRendering"];
12062
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12063
+ }, {
12064
+ readonly id: "color-interpolation";
12065
+ readonly keys: readonly ["colorInterpolation"];
12066
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12067
+ }, {
12068
+ readonly id: "filter";
12069
+ readonly keys: readonly ["filters", "filterLibraryIds"];
12070
+ readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
12071
+ }, {
12072
+ readonly id: "system-language";
12073
+ readonly keys: readonly ["systemLanguage"];
12074
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12075
+ }, {
12076
+ readonly id: "required-extensions";
12077
+ readonly keys: readonly ["requiredExtensions"];
12078
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12079
+ }, {
12080
+ readonly id: "vector-effect";
12081
+ readonly keys: readonly ["vectorEffect"];
12082
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12083
+ }, {
12084
+ readonly id: "visibility";
12085
+ readonly keys: readonly ["visibility"];
12086
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12087
+ }, {
12088
+ readonly id: "display";
12089
+ readonly keys: readonly ["displayAttr"];
12090
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12091
+ }, {
12092
+ readonly id: "visible";
12093
+ readonly keys: readonly ["visible"];
12094
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12095
+ }, {
12096
+ readonly id: "path-length";
12097
+ readonly keys: readonly ["pathLength"];
12098
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12099
+ }, {
12100
+ readonly id: "transform-box";
12101
+ readonly keys: readonly ["transformBox"];
12102
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12103
+ }, {
12104
+ readonly id: "transform";
12105
+ readonly keys: readonly ["rotation", "transformMatrix", "translateX", "translateY", "skewX", "skewY", "scaleX", "scaleY", "customPivot", "rawTransform"];
12106
+ readonly project: () => never[];
12107
+ }, {
12108
+ readonly id: "locked";
12109
+ readonly keys: readonly ["locked"];
12110
+ readonly project: () => never[];
12111
+ }, {
12112
+ readonly id: "metadata";
12113
+ readonly keys: readonly ["metadata"];
12114
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12115
+ }, {
12116
+ readonly id: "css-clip-path";
12117
+ readonly keys: readonly ["cssClipPath"];
12118
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12119
+ }, {
12120
+ readonly id: "css-mask-properties";
12121
+ readonly keys: readonly ["cssMaskProperties"];
12122
+ readonly project: (read: PresentationValueReader) => PresentationWrite[];
12123
+ }, {
12124
+ readonly id: "container-presentation";
12125
+ readonly keys: readonly ["containerPresentation"];
12126
+ readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
12127
+ }, {
12128
+ readonly id: "authored-attributes";
12129
+ readonly keys: readonly ["authoredAttributes"];
12130
+ readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
12131
+ }];
12132
+ type PresentationSemanticId = (typeof PRESENTATION_SEMANTICS)[number]['id'];
12133
+ declare function projectPresentationEntry(entry: PresentationSemanticEntry, read: PresentationValueReader, context: PresentationSemanticContext): readonly PresentationWrite[];
12134
+ declare function projectPresentation(read: PresentationValueReader, context: PresentationSemanticContext): PresentationWrite[];
12135
+ declare function serializedPresentationReader(state: SerializedShapeState): PresentationValueReader;
12136
+
12137
+ type DefinitionAttribute = readonly [name: string, value: string | number];
12138
+ interface GradientStopEnvelope {
12139
+ attributes: readonly DefinitionAttribute[];
12140
+ }
12141
+ interface GradientDefinitionEnvelope {
12142
+ element: 'linearGradient' | 'radialGradient';
12143
+ attributes: readonly DefinitionAttribute[];
12144
+ stops: readonly GradientStopEnvelope[];
12145
+ }
12146
+ interface PatternDefinitionEnvelope {
12147
+ attributes: readonly DefinitionAttribute[];
12148
+ content: string;
12149
+ }
12150
+ type FilterColorInterpolation = 'auto' | 'sRGB' | 'linearRGB';
12151
+ type FilterUnits = 'userSpaceOnUse' | 'objectBoundingBox';
12152
+ interface FilterElementAttrs {
12153
+ colorInterpolation?: FilterColorInterpolation | null;
12154
+ filterUnits?: FilterUnits;
12155
+ primitiveUnits?: FilterUnits;
12156
+ x?: string;
12157
+ y?: string;
12158
+ width?: string;
12159
+ height?: string;
12160
+ }
12161
+ interface FilterEnvelopeBase {
12162
+ attributes: readonly DefinitionAttribute[];
12163
+ }
12164
+ interface RawFilterEnvelope extends FilterEnvelopeBase {
12165
+ kind: 'raw';
12166
+ content: string;
12167
+ }
12168
+ interface PrimitiveChainFilterEnvelope extends FilterEnvelopeBase {
12169
+ kind: 'primitive-chain';
12170
+ chain: SvgPrimitiveChainFilter;
12171
+ }
12172
+ interface GeneratedFilterEnvelope extends FilterEnvelopeBase {
12173
+ kind: 'generated';
12174
+ filters: readonly ShapeFilter[];
12175
+ primitiveUnits: FilterUnits;
12176
+ }
12177
+ type FilterDefinitionEnvelope = RawFilterEnvelope | PrimitiveChainFilterEnvelope | GeneratedFilterEnvelope;
12178
+ /**
12179
+ * Build the one portable pattern definition consumed by static rendering and
12180
+ * platform projections. SVG 2 section 14.3 keeps tile lengths on the pattern
12181
+ * resource, so valid source spellings remain authoritative over the numeric
12182
+ * editor projection.
12183
+ */
12184
+ declare function patternDefinitionEnvelope(id: string, pattern: PatternFill): PatternDefinitionEnvelope;
12185
+ declare function linearGradientEnvelope(id: string, gradient: LinearGradient): GradientDefinitionEnvelope;
12186
+ declare function radialGradientEnvelope(id: string, gradient: RadialGradient): GradientDefinitionEnvelope;
12187
+ declare function filterChainExtendsBounds(filters: readonly ShapeFilter[]): boolean;
12188
+ declare function filterDefinitionEnvelope(filterId: string, filters: readonly ShapeFilter[], attrs?: FilterElementAttrs): FilterDefinitionEnvelope | null;
12189
+
12190
+ /**
12191
+ * Shared transform ownership for serialized container shapes.
12192
+ *
12193
+ * Imported groups preserve their source transform in `groupData.transform`.
12194
+ * Canonical shape transform state owns the SVG attribute whenever it produces
12195
+ * a non-identity matrix; the imported spelling is only the fallback. Rendering
12196
+ * and analytic tree bounds use this module so the two projections cannot pick
12197
+ * different owners.
12198
+ */
12199
+
12200
+ type ContainerTransformOwner = 'canonical' | 'group-data' | 'none';
12201
+ interface ResolvedContainerTransform {
12202
+ matrix: Affine2D;
12203
+ attribute: string | null;
11382
12204
  owner: ContainerTransformOwner;
11383
12205
  }
11384
12206
  interface ContainerContentBounds {
@@ -12570,6 +13392,20 @@ type RenderPlanBodyEntry = ({
12570
13392
  /** The wrapper's close tag (`</g>`). */
12571
13393
  close: string;
12572
13394
  members: readonly RenderPlanShape[];
13395
+ } | {
13396
+ /**
13397
+ * One shape whose appearance stack renders as its geometry referenced
13398
+ * once per paint layer. The geometry itself rides the plan's defs as a
13399
+ * `generated` entry; these are the references to it, in paint order.
13400
+ */
13401
+ kind: 'appearance-stack';
13402
+ /** The shape the stack belongs to. */
13403
+ shape: SerializedShape;
13404
+ /** The wrapper's open tag, carrying everything acting on the composite. */
13405
+ open: string;
13406
+ /** The wrapper's close tag (`</g>`). */
13407
+ close: string;
13408
+ members: readonly RenderPlanShape[];
12573
13409
  };
12574
13410
  /** Document envelope blocks (already rendered). */
12575
13411
  interface RenderPlanEnvelope {
@@ -13339,192 +14175,146 @@ declare function filterReferenceValue(shapeId: string, filters: ShapeFilter[] |
13339
14175
  */
13340
14176
  declare function filterAttr(shapeId: string, filters: ShapeFilter[] | undefined, filterLibraryIds?: string[]): string;
13341
14177
 
13342
- type PresentationValueReader = (key: string) => unknown;
13343
- interface PresentationSemanticContext {
13344
- shapeId: string;
13345
- includeAuthoredAttributes?: boolean;
13346
- includeContainerPresentation?: boolean;
13347
- retainCssAnimationDeclarations?: boolean;
14178
+ /**
14179
+ * Expanding an appearance stack into SVG.
14180
+ *
14181
+ * A shape whose paint is one fill and one stroke renders as one element, the
14182
+ * way it always has. A shape carrying an appearance stack cannot: SVG has no
14183
+ * multi-fill element, so the stack renders as the shape's geometry defined once
14184
+ * and referenced once per layer, in document order. That is the painter's model
14185
+ * (SVG 2 §3.3) doing exactly what it always did, with the stack saying how many
14186
+ * times.
14187
+ *
14188
+ * <defs><rect id="s1-geometry" x="10" y="20" width="100" height="50"/></defs>
14189
+ * <g data-shape-id="s1">
14190
+ * <use href="#s1-geometry" fill="none" stroke="#12325e" stroke-width="12"/>
14191
+ * <use href="#s1-geometry" fill="#e2452f" stroke="none"/>
14192
+ * <use href="#s1-geometry" fill="none" stroke="#8fc0f5" stroke-width="6"/>
14193
+ * </g>
14194
+ *
14195
+ * **The geometry definition carries no paint.** Presentation attributes on a
14196
+ * referenced element are *cloned* into the use-element shadow tree (SVG 2
14197
+ * §5.5.3), and a cloned attribute beats an inherited one — so a `fill` left on
14198
+ * the definition would be unoverridable by every `<use>` that references it,
14199
+ * and every layer would paint the same colour. This is a correctness trap, not
14200
+ * a style preference, and it is what {@link geometryState} exists to prevent.
14201
+ *
14202
+ * **Each layer states its whole paint, including what it does not paint.** A
14203
+ * `<use>` inherits from its host, so a stroke layer that named only its stroke
14204
+ * would pick up a fill from the cascade — black, by initial value — and paint a
14205
+ * silhouette under everything above it. Every layer therefore emits both `fill`
14206
+ * and `stroke`, one of them `none`.
14207
+ *
14208
+ * Which presentation rows belong to which of the three elements is the whole
14209
+ * design, and it is declared below rather than discovered per call site.
14210
+ */
14211
+
14212
+ /**
14213
+ * Rows a single paint layer owns.
14214
+ *
14215
+ * Everything that describes one paint operation rather than the shape: the
14216
+ * paint itself, its opacity, and the stroke's geometry-of-the-stroke. Markers
14217
+ * are here because they are painted alongside the stroke and must be painted
14218
+ * once, not once per layer — they ride the first stroke layer.
14219
+ */
14220
+ declare const LAYER_PRESENTATION_IDS: ReadonlySet<PresentationSemanticId>;
14221
+ /**
14222
+ * Rows the wrapper owns, because they act on the composed result.
14223
+ *
14224
+ * Element opacity is the clearest case: a half-transparent shape with two
14225
+ * layers must fade as one picture. Applied per layer instead, the lower layer
14226
+ * would show through the upper one and the shape would look different from the
14227
+ * single-element version of itself.
14228
+ */
14229
+ declare const WRAPPER_PRESENTATION_IDS: ReadonlySet<PresentationSemanticId>;
14230
+ /**
14231
+ * Paint properties a shape authored through its inline style or its passthrough
14232
+ * attribute bag, which the stack cannot faithfully honour.
14233
+ *
14234
+ * A CSS declaration outranks a presentation attribute on the same element, so
14235
+ * `style="stroke:red"` on a single-element shape overrides that shape's own
14236
+ * `stroke`. Split into layers, the same declaration becomes an *inherited*
14237
+ * value on the wrapper, which every layer's own paint then outranks — so the
14238
+ * expanded shape would paint differently from the single-element one. There is
14239
+ * no placement that fixes it: one declaration cannot say which of several paint
14240
+ * operations it was meant to override.
14241
+ *
14242
+ * Rather than pick silently, expansion refuses for such a shape and says so.
14243
+ */
14244
+ declare function authoredPaintDeclarations(state: SerializedShapeState): readonly string[];
14245
+ /** The emitted id of a shape's hoisted geometry definition. */
14246
+ declare function geometryDefinitionId(shape: SerializedShape): string;
14247
+ /**
14248
+ * Whether a shape renders as a stack rather than as one element.
14249
+ *
14250
+ * Presence of the field is the signal, because `writeAppearanceLayers` stores
14251
+ * it only when the stack says more than the base props do. A shape with an
14252
+ * ordinary fill and stroke carries no `appearance` and takes the unchanged
14253
+ * single-element path — which is what keeps every existing document's output
14254
+ * byte-identical.
14255
+ */
14256
+ declare function shapeNeedsAppearanceExpansion(shape: SerializedShape, styles?: AppearanceStyleSource): boolean;
14257
+ /**
14258
+ * The shape state that renders the shared geometry: no paint, no composition,
14259
+ * nothing a layer or the wrapper owns, and no link to a style that would
14260
+ * reintroduce a list of them.
14261
+ *
14262
+ * `inheritFill` / `inheritStroke` are what actually suppress the paint
14263
+ * attributes. Merely deleting `fillColor` is not enough — the fill row falls
14264
+ * back to `#000000` when it finds nothing, so the definition would carry an
14265
+ * unoverridable black fill (see the module note on §5.5.3).
14266
+ */
14267
+ declare function geometryState(state: SerializedShapeState): SerializedShapeState;
14268
+ /**
14269
+ * The shape state that renders one layer's paint.
14270
+ *
14271
+ * Built as base props so the unchanged presentation registry can project it:
14272
+ * a layer is a fill and a stroke like any shape, with the operation it does not
14273
+ * perform set to `none`.
14274
+ */
14275
+ declare function layerState(layer: AppearanceLayer, options?: {
14276
+ readonly withMarkers?: SerializedShapeState;
14277
+ }): SerializedShapeState;
14278
+ /** One shape's stack, expanded into the three pieces of markup it renders as. */
14279
+ interface AppearanceExpansion {
14280
+ /** Emitted id of the hoisted geometry definition. */
14281
+ geometryId: string;
14282
+ /** `<defs>` markup for the shared, paint-free geometry. */
14283
+ geometryMarkup: string;
14284
+ /** The wrapper's open tag, carrying everything that acts on the composite. */
14285
+ open: string;
14286
+ /** The wrapper's close tag. */
14287
+ close: string;
14288
+ /** One `<use>` per painting layer, bottom-to-top. */
14289
+ members: readonly string[];
14290
+ }
14291
+ interface AppearanceExpansionDeps {
14292
+ /** Render a shape to markup. Supplied by the caller to avoid a cycle. */
14293
+ renderShape(shape: SerializedShape): string;
14294
+ /** Serialize presentation writes as an attribute run. */
14295
+ serializePresentationWrites(writes: readonly ReturnType<typeof projectPresentationEntry>[number][]): string;
14296
+ /** Escape a value for use inside a double-quoted attribute. */
14297
+ escapeAttributeValue(value: string): string;
13348
14298
  /**
13349
- * The live editor projects resolved static stylesheet values inline so its
13350
- * structural scaffolding cannot alter selector matching. Serialized SVG
13351
- * renderers leave both stylesheet channels to the canonical stylesheet.
14299
+ * Called when a stack cannot be expanded faithfully and the shape falls back
14300
+ * to single-element rendering, which paints only its base layer.
13352
14301
  */
13353
- projectStaticStylesheetValues?: boolean;
13354
- }
13355
- interface PresentationWrite {
13356
- channel: 'attribute' | 'style';
13357
- name: string;
13358
- value: string | number | null;
13359
- allowEmpty?: boolean;
13360
- ifAbsent?: boolean;
13361
- }
13362
- interface PresentationSemanticEntry {
13363
- id: string;
13364
- keys: readonly string[];
13365
- project: (read: PresentationValueReader, context: PresentationSemanticContext) => readonly PresentationWrite[];
14302
+ reportUnexpandable?(shape: SerializedShape, authoredPaintProperties: readonly string[]): void;
14303
+ /**
14304
+ * Where `graphicStyleId` is resolved. Omitted, a shape wearing a style
14305
+ * renders only the paint its own base props describe.
14306
+ */
14307
+ styles?: AppearanceStyleSource;
13366
14308
  }
13367
14309
  /**
13368
- * Ordered common-presentation semantics shared by headless rendering,
13369
- * component code generation, and the editor's incremental apply layer.
14310
+ * Expand a stacked shape.
13370
14311
  *
13371
- * Order is part of the contract. The dash row follows linecap so dotted
13372
- * style can make the final cap round, and unmodeled authored attributes
13373
- * remain the final row so typed state keeps one deterministic owner.
14312
+ * Returns `null` when the shape does not need expanding, so callers can keep
14313
+ * the single-element path exactly as it was.
13374
14314
  */
13375
- declare const PRESENTATION_SEMANTICS: readonly [{
13376
- readonly id: "fill";
13377
- readonly keys: readonly ["fillColor", "fillType", "fillGradient", "fillLibraryId", "inheritFill", "authoredFillPaint"];
13378
- readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
13379
- }, {
13380
- readonly id: "element-opacity";
13381
- readonly keys: readonly ["opacity", "preserveOpacity"];
13382
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13383
- }, {
13384
- readonly id: "fill-opacity";
13385
- readonly keys: readonly ["fillOpacity", "preserveFillOpacity", "fillType", "fillGradient", "inheritFill"];
13386
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13387
- }, {
13388
- readonly id: "fill-rule";
13389
- readonly keys: readonly ["fillRule"];
13390
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13391
- }, {
13392
- readonly id: "stroke";
13393
- readonly keys: readonly ["borderColor", "strokeType", "strokeGradient", "strokeLibraryId", "inheritStroke", "authoredStrokePaint"];
13394
- readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
13395
- }, {
13396
- readonly id: "stroke-width";
13397
- readonly keys: readonly ["borderWidth"];
13398
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13399
- }, {
13400
- readonly id: "stroke-opacity";
13401
- readonly keys: readonly ["strokeOpacity", "preserveStrokeOpacity", "strokeType", "strokeGradient", "inheritStroke"];
13402
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13403
- }, {
13404
- readonly id: "blend-mode";
13405
- readonly keys: readonly ["blendMode"];
13406
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13407
- }, {
13408
- readonly id: "paint-order";
13409
- readonly keys: readonly ["paintOrder"];
13410
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13411
- }, {
13412
- readonly id: "inline-style";
13413
- readonly keys: readonly ["inlineStyle"];
13414
- readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
13415
- }, {
13416
- readonly id: "markers";
13417
- readonly keys: readonly ["markerStart", "markerMid", "markerEnd"];
13418
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13419
- }, {
13420
- readonly id: "stroke-linejoin";
13421
- readonly keys: readonly ["strokeLinejoin"];
13422
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13423
- }, {
13424
- readonly id: "stroke-linecap";
13425
- readonly keys: readonly ["strokeLinecap"];
13426
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13427
- }, {
13428
- readonly id: "stroke-miterlimit";
13429
- readonly keys: readonly ["strokeMiterlimit"];
13430
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13431
- }, {
13432
- readonly id: "stroke-dasharray";
13433
- readonly keys: readonly ["lineStyle", "dashLength", "gapLength", "strokeDasharray", "strokeLinecap"];
13434
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13435
- }, {
13436
- readonly id: "stroke-dashoffset";
13437
- readonly keys: readonly ["dashOffset"];
13438
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13439
- }, {
13440
- readonly id: "shape-rendering";
13441
- readonly keys: readonly ["shapeRendering"];
13442
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13443
- }, {
13444
- readonly id: "text-rendering";
13445
- readonly keys: readonly ["textRendering"];
13446
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13447
- }, {
13448
- readonly id: "image-rendering";
13449
- readonly keys: readonly ["imageRendering"];
13450
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13451
- }, {
13452
- readonly id: "color-rendering";
13453
- readonly keys: readonly ["colorRendering"];
13454
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13455
- }, {
13456
- readonly id: "color-interpolation";
13457
- readonly keys: readonly ["colorInterpolation"];
13458
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13459
- }, {
13460
- readonly id: "filter";
13461
- readonly keys: readonly ["filters", "filterLibraryIds"];
13462
- readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
13463
- }, {
13464
- readonly id: "system-language";
13465
- readonly keys: readonly ["systemLanguage"];
13466
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13467
- }, {
13468
- readonly id: "required-extensions";
13469
- readonly keys: readonly ["requiredExtensions"];
13470
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13471
- }, {
13472
- readonly id: "vector-effect";
13473
- readonly keys: readonly ["vectorEffect"];
13474
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13475
- }, {
13476
- readonly id: "visibility";
13477
- readonly keys: readonly ["visibility"];
13478
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13479
- }, {
13480
- readonly id: "display";
13481
- readonly keys: readonly ["displayAttr"];
13482
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13483
- }, {
13484
- readonly id: "visible";
13485
- readonly keys: readonly ["visible"];
13486
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13487
- }, {
13488
- readonly id: "path-length";
13489
- readonly keys: readonly ["pathLength"];
13490
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13491
- }, {
13492
- readonly id: "transform-box";
13493
- readonly keys: readonly ["transformBox"];
13494
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13495
- }, {
13496
- readonly id: "transform";
13497
- readonly keys: readonly ["rotation", "transformMatrix", "translateX", "translateY", "skewX", "skewY", "scaleX", "scaleY", "customPivot", "rawTransform"];
13498
- readonly project: () => never[];
13499
- }, {
13500
- readonly id: "locked";
13501
- readonly keys: readonly ["locked"];
13502
- readonly project: () => never[];
13503
- }, {
13504
- readonly id: "metadata";
13505
- readonly keys: readonly ["metadata"];
13506
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13507
- }, {
13508
- readonly id: "css-clip-path";
13509
- readonly keys: readonly ["cssClipPath"];
13510
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13511
- }, {
13512
- readonly id: "css-mask-properties";
13513
- readonly keys: readonly ["cssMaskProperties"];
13514
- readonly project: (read: PresentationValueReader) => PresentationWrite[];
13515
- }, {
13516
- readonly id: "container-presentation";
13517
- readonly keys: readonly ["containerPresentation"];
13518
- readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
13519
- }, {
13520
- readonly id: "authored-attributes";
13521
- readonly keys: readonly ["authoredAttributes"];
13522
- readonly project: (read: PresentationValueReader, context: PresentationSemanticContext) => PresentationWrite[];
13523
- }];
13524
- type PresentationSemanticId = (typeof PRESENTATION_SEMANTICS)[number]['id'];
13525
- declare function projectPresentationEntry(entry: PresentationSemanticEntry, read: PresentationValueReader, context: PresentationSemanticContext): readonly PresentationWrite[];
13526
- declare function projectPresentation(read: PresentationValueReader, context: PresentationSemanticContext): PresentationWrite[];
13527
- declare function serializedPresentationReader(state: SerializedShapeState): PresentationValueReader;
14315
+ declare function expandAppearanceStack(shape: SerializedShape, deps: AppearanceExpansionDeps): AppearanceExpansion | null;
14316
+ /** The layers a shape paints, for callers that need the list without markup. */
14317
+ declare function shapeAppearanceLayers(shape: SerializedShape, styles?: AppearanceStyleSource): readonly AppearanceLayer[];
13528
14318
 
13529
14319
  /** DOM-free SVG path flattening and arc-length queries. */
13530
14320
 
@@ -14570,6 +15360,21 @@ declare function collectDocumentEnvelopeLibraryReferenceIds(source: DocumentEnve
14570
15360
  * This matches the plan's export ordering rule: symbols and markers can
14571
15361
  * reference any other library kind, but not vice versa.
14572
15362
  */
15363
+ /**
15364
+ * Kinds with no SVG element form, which are therefore never emitted.
15365
+ *
15366
+ * Every other `LibraryDef` names something SVG can express and reference:
15367
+ * a `<linearGradient>`, a `<filter>`, a `<symbol>`. An appearance style names
15368
+ * an ordered set of paint operations, which SVG performs but cannot name - so
15369
+ * a shape wearing one resolves it in the model and renders the result, and the
15370
+ * definition stays behind in the document format.
15371
+ *
15372
+ * Declared as the exclusion rather than {@link LIBRARY_EMIT_ORDER} being
15373
+ * declared as an inclusion, because a kind added later is far more likely to
15374
+ * render than not: leaving it out of the emit order should be a deliberate
15375
+ * entry here, and forgetting to add it there should fail the coverage test.
15376
+ */
15377
+ declare const NON_RENDERING_LIBRARY_KINDS: ReadonlySet<LibraryKind>;
14573
15378
  declare const LIBRARY_EMIT_ORDER: readonly LibraryKind[];
14574
15379
  /**
14575
15380
  * Build the {@link RenderShapeContext} a library implies: the def-kind
@@ -15029,6 +15834,30 @@ declare abstract class ShapeBuilder<T extends ShapeBuilder<T>> {
15029
15834
  fillOpacity(value: number): T;
15030
15835
  /** Set the fill rule. */
15031
15836
  fillRule(rule: 'nonzero' | 'evenodd'): T;
15837
+ /**
15838
+ * Add another fill on top of everything painted so far.
15839
+ *
15840
+ * `.fill()` sets the shape's base fill; this stacks an additional one above
15841
+ * it. SVG has no multi-fill element, so the layers render as repeats of the
15842
+ * shape's geometry in document order — the painter's model (SVG 2 §3.3)
15843
+ * doing what it always did, with the stack saying how many times.
15844
+ */
15845
+ addFill(color: string, opacity?: number): T;
15846
+ /**
15847
+ * Add another stroke on top of everything painted so far.
15848
+ *
15849
+ * Widest first is the usual ordering: a stroke is centred on the edge, so a
15850
+ * narrower one added afterwards paints over the middle of a wider one and
15851
+ * leaves a band of it showing on each side.
15852
+ */
15853
+ addStroke(color: string, width?: number): T;
15854
+ /**
15855
+ * Append to the stack, seeding it from the base props on first use so the
15856
+ * base fill and stroke keep their place underneath what gets added.
15857
+ */
15858
+ private pushAppearanceLayer;
15859
+ /** Next free ordinal for a layer kind, so ids stay unique within a shape. */
15860
+ private nextLayerOrdinal;
15032
15861
  /** Set the stroke color and optional width. */
15033
15862
  stroke(color: string, width?: number): T;
15034
15863
  /** Set stroke to none. */
@@ -16790,4 +17619,4 @@ interface RasterQualityReport {
16790
17619
  */
16791
17620
  declare function compareImages(reference: RasterImage, candidate: RasterImage, opts?: CompareImagesOptions): RasterQualityReport;
16792
17621
 
16793
- 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 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, 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 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, 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, NGon, type NGonNodeProps, NON_WIRE_PROP_KEYS, NUMERIC_SHAPE_TRANSFORM_STATE_KEYS, type NamedResource, 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 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, applyAffineToPoint, applyAffineToVector, applyClipMaskGroupDelta, applyClipMaskPlanToShapes, applyCssAnimationLonghandOverrides, applyGuideDeltaOp, applyIngestPlan, applyMeasurementDeltaOp, applyMetadataDeltaOp, applyOpToSnapshot, applyOpsInPlace, applyOpsToSnapshot, applyOpsToSnapshotWithAccepted, applyRichTextFormat, applyTextSplice, applyTextTransform, applyTimingFunctionToKeyframe, arcEndpointToCenter, areTracksTimingEquivalent, around, assembleLibraryDefs, assembleSvgFromPlan, assertIngestFeatureRegistry, assertIngestPolicyRegistry, assertRasterImage, assertSvgImportCapabilityOwners, 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, 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, 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, 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, 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, nodeSchemas, normalizeClipMaskGroups, normalizePaintServerDef, normalizeRichTextRuns, normalizeRichTextStyle, normalizeRichTextStyleDelta, normalizeSmilPointsValue, normalizeSnapshotStructure, normalizeSnapshotToCanonicalDocument, orderSiblings, 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, 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, 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, shapeLocalObjectBounds, shapeLocalObjectCenter, 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 };
17622
+ 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, 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 FilterChainGroup, 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, 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, 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 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, applyAppearanceStyle, 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, chainHasTargetedEffects, 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, detachAppearanceStyle, documentObjectBounds, ellipticalArcBounds, emptyDocumentMetadata, ensureTextSpanRange, escXml, evaluateParsedTimingFunction, evaluateSvgConditionalProcessing, expandAppearanceStack, extractVariables, filterAttr, filterChainExtendsBounds, filterChainGroupId, filterChainGroups, filterDefinitionEnvelope, filterReferenceValue, finalizeRenderPlan, findShapeById, fingerprintCssAnimationDocumentStyles, fingerprintCssAnimationInlineStyles, fingerprintCssAnimationTrack, fingerprintIngestSource, flattenShapeStateTree, flattenStateExtra, flattenUnknownDocumentFields, foldSchemaV2AncestorTransformIntoMatrix, forEachAppearanceLayerRef, forEachAppearanceStyleRef, 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, resolveAppearanceStyle, 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, shapeAppearanceStyle, shapeLocalObjectBounds, shapeLocalObjectCenter, shapeNeedsAppearanceExpansion, shapeObjectBoundsInSpace, shouldRoundSvgCoordinateAttribute, skewXAffine, skewYAffine, smilKeyframeAttributes, snapshotBoundsView, solveCubicBezier, solveSudoku, spliceTextSpanTree, splinePathBounds, splitAppearanceForStyle, 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 };