@pixerate/editor 0.126.0 → 0.127.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.
Files changed (97) hide show
  1. package/dist/animation/index.d.cts +2 -3
  2. package/dist/animation/index.d.ts +2 -3
  3. package/dist/animation-editor/index.cjs +63 -63
  4. package/dist/animation-editor/index.cjs.map +1 -1
  5. package/dist/animation-editor/index.d.cts +6 -8
  6. package/dist/animation-editor/index.d.ts +6 -8
  7. package/dist/animation-editor/index.js +10 -10
  8. package/dist/{bezier-CBzKKDjl.d.cts → bezier-DBz0IgEt.d.cts} +22 -2
  9. package/dist/{bezier-CWv6LQal.d.ts → bezier-DWI5MEkI.d.ts} +22 -2
  10. package/dist/{brushstrokeRender-LRV7GXGD.js → brushstrokeRender-7RUITO42.js} +3 -3
  11. package/dist/{brushstrokeRender-EELTV7U4.cjs → brushstrokeRender-OW6ENCZG.cjs} +7 -7
  12. package/dist/{brushstrokeRender-EELTV7U4.cjs.map → brushstrokeRender-OW6ENCZG.cjs.map} +1 -1
  13. package/dist/canvas/index.cjs +423 -37
  14. package/dist/canvas/index.cjs.map +1 -1
  15. package/dist/canvas/index.d.cts +189 -11
  16. package/dist/canvas/index.d.ts +189 -11
  17. package/dist/canvas/index.js +395 -9
  18. package/dist/canvas/index.js.map +1 -1
  19. package/dist/{chunk-7LQO6OHH.cjs → chunk-33SO3QWP.cjs} +4 -4
  20. package/dist/{chunk-7LQO6OHH.cjs.map → chunk-33SO3QWP.cjs.map} +1 -1
  21. package/dist/{chunk-MPQAO33O.js → chunk-A6KHMKI4.js} +3 -3
  22. package/dist/{chunk-V5YGPRCZ.cjs → chunk-BEGEWQHD.cjs} +41 -41
  23. package/dist/{chunk-V5YGPRCZ.cjs.map → chunk-BEGEWQHD.cjs.map} +1 -1
  24. package/dist/{chunk-N3FVUOZD.cjs → chunk-BJTCSLF6.cjs} +7 -7
  25. package/dist/{chunk-N3FVUOZD.cjs.map → chunk-BJTCSLF6.cjs.map} +1 -1
  26. package/dist/{chunk-WUDPFWAN.js → chunk-F7Q2NE2Y.js} +3 -3
  27. package/dist/{chunk-GUZ47CJM.cjs → chunk-IZ4WRXZA.cjs} +1 -1
  28. package/dist/{chunk-GUZ47CJM.cjs.map → chunk-IZ4WRXZA.cjs.map} +1 -1
  29. package/dist/{chunk-GLWZXQ4Q.js → chunk-KHNZ6MOU.js} +1 -1
  30. package/dist/chunk-KHNZ6MOU.js.map +1 -0
  31. package/dist/{chunk-GCJWMEYW.cjs → chunk-KSJLDRHK.cjs} +46 -46
  32. package/dist/{chunk-GCJWMEYW.cjs.map → chunk-KSJLDRHK.cjs.map} +1 -1
  33. package/dist/{chunk-QQKTOA4U.cjs → chunk-ORE334I6.cjs} +132 -132
  34. package/dist/{chunk-QQKTOA4U.cjs.map → chunk-ORE334I6.cjs.map} +1 -1
  35. package/dist/{chunk-X6KTSFAE.js → chunk-Q4NBEVV5.js} +2 -2
  36. package/dist/{chunk-FPRIUR4T.js → chunk-ROZFX4QI.js} +3 -3
  37. package/dist/{chunk-J67OLQUQ.js → chunk-UABQTYQF.js} +3 -3
  38. package/dist/{chunk-O5RVCDEC.cjs → chunk-XLUYXUBD.cjs} +88 -88
  39. package/dist/{chunk-O5RVCDEC.cjs.map → chunk-XLUYXUBD.cjs.map} +1 -1
  40. package/dist/{chunk-FG274FYT.js → chunk-YGJIER2R.js} +2 -2
  41. package/dist/effects/index.d.cts +6 -38
  42. package/dist/effects/index.d.ts +6 -38
  43. package/dist/evaluate-BbCeF6pt.d.ts +114 -0
  44. package/dist/evaluate-BsxYieLN.d.cts +114 -0
  45. package/dist/{export-DVl4fWy5.d.cts → export-Cbr9IqpJ.d.cts} +1 -1
  46. package/dist/{export-Bp7ji2r4.d.cts → export-CcldobdN.d.cts} +3 -3
  47. package/dist/{export-C1s4eolZ.d.ts → export-ClPKUB-v.d.ts} +1 -1
  48. package/dist/{export-DAyPY94f.d.ts → export-PGhOpDmz.d.ts} +3 -3
  49. package/dist/{helpers-i95Ob6Vi.d.cts → helpers-C5aAd44p.d.cts} +67 -4
  50. package/dist/{helpers-BBLlekuM.d.ts → helpers-CPWcK504.d.ts} +67 -4
  51. package/dist/image-editor/index.cjs +606 -606
  52. package/dist/image-editor/index.cjs.map +1 -1
  53. package/dist/image-editor/index.d.cts +9 -11
  54. package/dist/image-editor/index.d.ts +9 -11
  55. package/dist/image-editor/index.js +4 -4
  56. package/dist/{opentype-14PDI5D2.d.ts → opentype-01rMIuQR.d.ts} +1 -1
  57. package/dist/{opentype-D80AVmMu.d.cts → opentype-BgqvmGT-.d.cts} +1 -1
  58. package/dist/paint-editor/index.cjs +9 -9
  59. package/dist/paint-editor/index.cjs.map +1 -1
  60. package/dist/paint-editor/index.d.cts +6 -8
  61. package/dist/paint-editor/index.d.ts +6 -8
  62. package/dist/paint-editor/index.js +4 -4
  63. package/dist/{pathfinder-DjISxkUv.d.ts → pathfinder-D-h0Imus.d.ts} +1 -1
  64. package/dist/{pathfinder-C0UoFypx.d.cts → pathfinder-DgG0Z9Lr.d.cts} +1 -1
  65. package/dist/{player-cGLrngL_.d.ts → player-BK2kKbfd.d.ts} +1 -1
  66. package/dist/{player-CBtEoU2x.d.cts → player-CmbY3218.d.cts} +1 -1
  67. package/dist/pool-C7GtrL34.d.cts +34 -0
  68. package/dist/pool-CTrtciaN.d.ts +34 -0
  69. package/dist/{svg-DJKriJ4A.d.ts → svg-BRLwcibA.d.ts} +2 -3
  70. package/dist/{svg-BkRL-fZJ.d.cts → svg-DLBBPQP9.d.cts} +2 -3
  71. package/dist/{tools-CM8Oe8F3.d.ts → tools-AugT22z3.d.ts} +1 -1
  72. package/dist/{tools-DZCv2kX1.d.cts → tools-BpCmUNxb.d.cts} +1 -1
  73. package/dist/vector/index.cjs +918 -918
  74. package/dist/vector/index.cjs.map +1 -1
  75. package/dist/vector/index.d.cts +10 -12
  76. package/dist/vector/index.d.ts +10 -12
  77. package/dist/vector/index.js +11 -11
  78. package/dist/video-editor/index.d.cts +6 -8
  79. package/dist/video-editor/index.d.ts +6 -8
  80. package/dist/{warp-CH9MM435.d.cts → warp-C13L_GRn.d.cts} +1 -1
  81. package/dist/{warp-k_PdtXOG.d.ts → warp-q8FK5HHi.d.ts} +1 -1
  82. package/package.json +1 -1
  83. package/skills/pixerate-canvas/SKILL.md +19 -0
  84. package/dist/behavior-Ymbld6jL.d.cts +0 -60
  85. package/dist/behavior-Ymbld6jL.d.ts +0 -60
  86. package/dist/chunk-GLWZXQ4Q.js.map +0 -1
  87. package/dist/evaluate-2S3vSPLy.d.cts +0 -55
  88. package/dist/evaluate-CfmT6xA3.d.ts +0 -55
  89. package/dist/gradient-KDfCvhuj.d.cts +0 -66
  90. package/dist/gradient-KDfCvhuj.d.ts +0 -66
  91. /package/dist/{brushstrokeRender-LRV7GXGD.js.map → brushstrokeRender-7RUITO42.js.map} +0 -0
  92. /package/dist/{chunk-MPQAO33O.js.map → chunk-A6KHMKI4.js.map} +0 -0
  93. /package/dist/{chunk-WUDPFWAN.js.map → chunk-F7Q2NE2Y.js.map} +0 -0
  94. /package/dist/{chunk-X6KTSFAE.js.map → chunk-Q4NBEVV5.js.map} +0 -0
  95. /package/dist/{chunk-FPRIUR4T.js.map → chunk-ROZFX4QI.js.map} +0 -0
  96. /package/dist/{chunk-J67OLQUQ.js.map → chunk-UABQTYQF.js.map} +0 -0
  97. /package/dist/{chunk-FG274FYT.js.map → chunk-YGJIER2R.js.map} +0 -0
@@ -1,23 +1,21 @@
1
- import { p as Vec2$1, x as VectorSubpath, i as VectorBounds, bn as VectorAnchor, y as VectorDocument, f as VectorNode, c as VectorPathNode, bo as VectorTextNode, bp as VectorAnchorType, t as VectorPaint, h as VectorGroupNode, bq as VectorCornerKind, z as VectorWidthPoint, o as VectorGradient, v as VectorGradientStop, br as VectorViewport, bs as VectorConnectorRoute, bt as VectorConnectorSide, bu as VectorConnectorEnd, bv as VectorConnector, bw as VectorConstraintKind, bx as VectorConstraint, by as VectorCharacterStyle, bz as VectorTextRun, bA as VectorParagraphStyle, bB as VectorTextFrame, bC as VectorTransformHandle, bD as VectorAnchorRef, bE as VectorPathfinderOperation, bF as VectorTool, bG as VectorDefaults, bH as VectorTextAlign, bI as VectorStyle, bJ as VectorHandleRef, bK as VectorSegmentRef, bL as VectorBlendOptions, u as VectorMatrix, bM as VectorModifiers, W as EffectsSlot, E as EffectProvider, C as EffectValue, bN as VectorProviderEffect, bO as VectorBlendMode, l as VectorFilterType, V as VectorEffectType, bP as VectorAlign, bQ as VectorDistribute, bR as VectorArrange, e as VectorBooleanOperation, bS as VectorMaskType, bT as VectorSymmetryMode, bU as VectorSymmetry, bV as VectorFreeformPoint, bW as VectorMeshGradient, bX as VectorFreeformGradient, bY as VectorArrowhead, bZ as VectorResizing, b_ as VectorFrame, b$ as VectorHorizontalResizing, c0 as VectorVerticalResizing, c1 as VectorMask, c2 as VectorAverageAxis, c3 as VectorSymbol, c4 as VectorParameter, j as VectorWarpMesh, d as VectorFillRule, c5 as VectorBlendSpacing, c6 as VectorGradientInterpolation, r as VectorGradientSpread, s as VectorGradientType, w as VectorStrokeAlign, c7 as VectorStrokeGradientMode, c8 as VectorArrowAlign, g as VectorEffect, c9 as VectorPaintLayer, ca as VectorStrokeLayer, n as VectorFilter, cb as VectorBlend, cc as VectorMergeMode, cd as VectorLineJoin, b as VectorEffectParamsMap, ce as VectorStrokeSettings, cf as VectorInstanceOverrides, k as VectorInstanceNode } from '../helpers-i95Ob6Vi.cjs';
2
- export { cg as VECTOR_ARROWHEADS, ch as VECTOR_BLEND_MODES, ci as VECTOR_BLEND_SPACINGS, cj as VECTOR_CONNECTOR_ROUTES, ck as VECTOR_CONNECTOR_SIDES, cl as VECTOR_CONSTRAINT_KINDS, cm as VECTOR_CORNER_KINDS, cn as VECTOR_EFFECT_TYPES, co as VECTOR_FILTER_TYPES, cp as VECTOR_GRADIENT_INTERPOLATIONS, cq as VECTOR_GRADIENT_SPREADS, cr as VECTOR_GRADIENT_TYPES, cs as VECTOR_HORIZONTAL_RESIZING, ct as VECTOR_MASK_TYPES, cu as VECTOR_MERGE_MODES, cv as VECTOR_PATHFINDER_OPERATIONS, cw as VECTOR_PATH_TEXT_BASELINES, cx as VECTOR_STROKE_GRADIENT_MODES, cy as VECTOR_SYMMETRY_MODES, cz as VECTOR_TEXT_ALIGNS, cA as VECTOR_TOOLS, cB as VECTOR_TRANSFORM_HANDLES, cC as VECTOR_VERTICAL_RESIZING, cD as VectorCorner, m as VectorFilterParamsMap, cE as VectorGeomRef, q as VectorGradientUnits, cF as VectorLineCap, cG as VectorPathTextBaseline, cH as VectorStrokeLayerKind, cI as VectorTextRunStyle, cJ as VectorWarpStyle } from '../helpers-i95Ob6Vi.cjs';
1
+ import { X as Vec2$1, a3 as VectorSubpath, O as VectorBounds, bp as VectorAnchor, a4 as VectorDocument, L as VectorNode, I as VectorPathNode, bq as VectorTextNode, br as VectorAnchorType, $ as VectorPaint, N as VectorGroupNode, bs as VectorCornerKind, a5 as VectorWidthPoint, W as VectorGradient, a1 as VectorGradientStop, bt as VectorViewport, bu as VectorConnectorRoute, bv as VectorConnectorSide, bw as VectorConnectorEnd, bx as VectorConnector, by as VectorConstraintKind, bz as VectorConstraint, bA as VectorCharacterStyle, bB as VectorTextRun, bC as VectorParagraphStyle, bD as VectorTextFrame, bE as VectorTransformHandle, bF as VectorAnchorRef, bG as VectorPathfinderOperation, bH as VectorTool, bI as VectorDefaults, bJ as VectorTextAlign, bK as VectorStyle, bL as VectorHandleRef, bM as VectorSegmentRef, bN as VectorBlendOptions, a0 as VectorMatrix, bO as VectorModifiers, v as EffectsSlot, E as EffectProvider, e as EffectValue, bP as VectorProviderEffect, bQ as VectorBlendMode, R as VectorFilterType, V as VectorEffectType, bR as VectorAlign, bS as VectorDistribute, bT as VectorArrange, K as VectorBooleanOperation, bU as VectorMaskType, bV as VectorSymmetryMode, bW as VectorSymmetry, bX as VectorFreeformPoint, bY as VectorMeshGradient, bZ as VectorFreeformGradient, b_ as VectorArrowhead, b$ as VectorResizing, c0 as VectorFrame, c1 as VectorHorizontalResizing, c2 as VectorVerticalResizing, c3 as VectorMask, c4 as VectorAverageAxis, c5 as VectorSymbol, c6 as VectorParameter, P as VectorWarpMesh, J as VectorFillRule, c7 as VectorBlendSpacing, c8 as VectorGradientInterpolation, Z as VectorGradientSpread, _ as VectorGradientType, a2 as VectorStrokeAlign, c9 as VectorStrokeGradientMode, ca as VectorArrowAlign, M as VectorEffect, cb as VectorPaintLayer, cc as VectorStrokeLayer, U as VectorFilter, cd as VectorBlend, ce as VectorMergeMode, cf as VectorLineJoin, H as VectorEffectParamsMap, cg as VectorStrokeSettings, ch as VectorInstanceOverrides, Q as VectorInstanceNode } from '../helpers-C5aAd44p.cjs';
2
+ export { S as SvgGradientDef, ci as VECTOR_ARROWHEADS, cj as VECTOR_BLEND_MODES, ck as VECTOR_BLEND_SPACINGS, cl as VECTOR_CONNECTOR_ROUTES, cm as VECTOR_CONNECTOR_SIDES, cn as VECTOR_CONSTRAINT_KINDS, co as VECTOR_CORNER_KINDS, cp as VECTOR_EFFECT_TYPES, cq as VECTOR_FILTER_TYPES, cr as VECTOR_GRADIENT_INTERPOLATIONS, cs as VECTOR_GRADIENT_SPREADS, ct as VECTOR_GRADIENT_TYPES, cu as VECTOR_HORIZONTAL_RESIZING, cv as VECTOR_MASK_TYPES, cw as VECTOR_MERGE_MODES, cx as VECTOR_PATHFINDER_OPERATIONS, cy as VECTOR_PATH_TEXT_BASELINES, cz as VECTOR_STROKE_GRADIENT_MODES, cA as VECTOR_SYMMETRY_MODES, cB as VECTOR_TEXT_ALIGNS, cC as VECTOR_TOOLS, cD as VECTOR_TRANSFORM_HANDLES, cE as VECTOR_VERTICAL_RESIZING, cF as VectorCorner, T as VectorFilterParamsMap, cG as VectorGeomRef, Y as VectorGradientUnits, cH as VectorLineCap, cI as VectorPathTextBaseline, cJ as VectorStrokeLayerKind, cK as VectorTextRunStyle, cL as VectorWarpStyle } from '../helpers-C5aAd44p.cjs';
3
3
  import { P as Point } from '../brushTypes-IG7ZZjIN.cjs';
4
- import { a as BezierPathInput, A as AffineMatrix$1, B as BezierPath, c as BezierSegment } from '../bezier-CBzKKDjl.cjs';
5
- import { a as VectorGradientHandle, V as VectorSvgExportOptions, b as VectorGradientPatch, c as VectorEnvelopeParams, d as VectorRenderFilter, e as VectorAppearanceShape, f as VectorFilterParamSpec, g as VectorEffectParamSpec, h as VectorRenderStrokeParts, i as VectorPaintDef, j as VectorRgba, k as VectorSvgPatternDef } from '../svg-BkRL-fZJ.cjs';
6
- export { l as VECTOR_EFFECT_DEFAULTS, m as VECTOR_EFFECT_LABELS, n as VECTOR_EFFECT_PARAM_SPECS, o as VECTOR_FILTER_DEFAULTS, p as VECTOR_FILTER_LABELS, q as VECTOR_FILTER_MENU, r as VECTOR_FILTER_PARAM_SPECS, s as VECTOR_GRADIENT_MAX_PERIODS, t as VECTOR_GRADIENT_MIN_STOPS, u as VectorBooleanOperand, v as VectorFilterPrimitive, w as VectorGradientPoints, x as VectorGradientRamp, y as VectorGradientSvgOptions, z as VectorPaintSvgOptions, A as VectorSvgImportOptions, B as VectorSvgWrapper, C as activeVectorEffects, D as activeVectorFilters, E as applyVectorCornersAttribute, F as applyVectorEffects, G as applyVectorGradientPatch, H as applyVectorGradientSpread, I as clearVectorLiveBooleanCache, J as convertVectorGradient, K as createVectorEffect, L as createVectorFilter, M as defaultVectorGradient, N as expandVectorAppearance, O as expandVectorAppearances, P as expandVectorGradientSpread, Q as expandVectorGradientStops, R as explicitVectorGradient, S as foldVectorBooleanOperands, T as gradientMidpointRemap, U as hasExplicitGradientGeometry, W as hasOwnVectorAppearance, X as hasVectorAppearance, Y as insertVectorGradientStop, Z as isCentredVectorGradient, _ as isVectorFilterType, $ as isVectorGradient, a0 as isVectorLiveBoolean, a1 as mapVectorGradient, a2 as mapVectorPaint, a3 as moveVectorGradientHandle, a4 as moveVectorGradientStop, a5 as normalizeVectorEffectParams, a6 as normalizeVectorFilterParams, a7 as parseSvgTransform, a8 as parseVectorColor, a9 as parseVectorSvg, aa as patternAttrs, ab as periodicVectorGradientStops, ac as pinVectorGradient, ad as removeVectorGradientStop, ae as reverseVectorGradient, af as samplePlainStops, ag as sampleVectorGradient, ah as sampleVectorGradientAt, ai as sampleVectorPaintDefAt, aj as sanitizeVectorEffects, ak as sanitizeVectorFilters, al as sanitizeVectorGradient, am as setVectorGradientVector, an as sortedVectorGradientStops, ao as spanVectorGradientStops, ap as transformVectorEffects, aq as transformVectorGradient, ar as transformVectorPaint, as as vectorAppearanceNodes, at as vectorAppearanceOutline, au as vectorAppearanceShapes, av as vectorBoxMatrix, aw as vectorChildAppearanceShapes, ax as vectorCornersAttribute, ay as vectorDocumentToSvg, az as vectorEffectInputBounds, aA as vectorEffectInputPaths, aB as vectorEnteredGroups, aC as vectorEnvelopeFrame, aD as vectorEnvelopeMap, aE as vectorEnvelopeMesh, aF as vectorFilterMarkup, aG as vectorFilterParamKeys, aH as vectorFilterReach, aI as vectorFilterSvg, aJ as vectorGradientArea, aK as vectorGradientAspect, aL as vectorGradientFocalParam, aM as vectorGradientHandles, aN as vectorGradientMatrix, aO as vectorGradientMidpointFromPosition, aP as vectorGradientMidpointPosition, aQ as vectorGradientNeedsExpansion, aR as vectorGradientParam, aS as vectorGradientPoints, aT as vectorGradientRamp, aU as vectorGradientSvgDefs, aV as vectorGradientTAt, aW as vectorGradientUnitsMatrix, aX as vectorInstanceDrawn, aY as vectorLiveBooleanSteps, aZ as vectorNodeEnvelope, a_ as vectorNodeFilterSvg, a$ as vectorNodeLocalPaintBounds, b0 as vectorOperandOperation, b1 as vectorPaintToSvg, b2 as vectorPathLocalBounds, b3 as vectorStrokeSvgParts, b4 as widthProfileFromAttribute, b5 as widthProfileToAttribute } from '../svg-BkRL-fZJ.cjs';
4
+ import { a as BezierPathInput, A as AffineMatrix$1, B as BezierPath, c as BezierSegment } from '../bezier-DBz0IgEt.cjs';
5
+ import { a as VectorGradientHandle, V as VectorSvgExportOptions, b as VectorGradientPatch, c as VectorEnvelopeParams, d as VectorRenderFilter, e as VectorAppearanceShape, f as VectorFilterParamSpec, g as VectorEffectParamSpec, h as VectorRenderStrokeParts, i as VectorPaintDef, j as VectorRgba, k as VectorSvgPatternDef } from '../svg-DLBBPQP9.cjs';
6
+ export { l as VECTOR_EFFECT_DEFAULTS, m as VECTOR_EFFECT_LABELS, n as VECTOR_EFFECT_PARAM_SPECS, o as VECTOR_FILTER_DEFAULTS, p as VECTOR_FILTER_LABELS, q as VECTOR_FILTER_MENU, r as VECTOR_FILTER_PARAM_SPECS, s as VECTOR_GRADIENT_MAX_PERIODS, t as VECTOR_GRADIENT_MIN_STOPS, u as VectorBooleanOperand, v as VectorFilterPrimitive, w as VectorGradientPoints, x as VectorGradientRamp, y as VectorGradientSvgOptions, z as VectorPaintSvgOptions, A as VectorSvgImportOptions, B as VectorSvgWrapper, C as activeVectorEffects, D as activeVectorFilters, E as applyVectorCornersAttribute, F as applyVectorEffects, G as applyVectorGradientPatch, H as applyVectorGradientSpread, I as clearVectorLiveBooleanCache, J as convertVectorGradient, K as createVectorEffect, L as createVectorFilter, M as defaultVectorGradient, N as expandVectorAppearance, O as expandVectorAppearances, P as expandVectorGradientSpread, Q as expandVectorGradientStops, R as explicitVectorGradient, S as foldVectorBooleanOperands, T as gradientMidpointRemap, U as hasExplicitGradientGeometry, W as hasOwnVectorAppearance, X as hasVectorAppearance, Y as insertVectorGradientStop, Z as isCentredVectorGradient, _ as isVectorFilterType, $ as isVectorGradient, a0 as isVectorLiveBoolean, a1 as mapVectorGradient, a2 as mapVectorPaint, a3 as moveVectorGradientHandle, a4 as moveVectorGradientStop, a5 as normalizeVectorEffectParams, a6 as normalizeVectorFilterParams, a7 as parseSvgTransform, a8 as parseVectorColor, a9 as parseVectorSvg, aa as patternAttrs, ab as periodicVectorGradientStops, ac as pinVectorGradient, ad as removeVectorGradientStop, ae as reverseVectorGradient, af as samplePlainStops, ag as sampleVectorGradient, ah as sampleVectorGradientAt, ai as sampleVectorPaintDefAt, aj as sanitizeVectorEffects, ak as sanitizeVectorFilters, al as sanitizeVectorGradient, am as setVectorGradientVector, an as sortedVectorGradientStops, ao as spanVectorGradientStops, ap as transformVectorEffects, aq as transformVectorGradient, ar as transformVectorPaint, as as vectorAppearanceNodes, at as vectorAppearanceOutline, au as vectorAppearanceShapes, av as vectorBoxMatrix, aw as vectorChildAppearanceShapes, ax as vectorCornersAttribute, ay as vectorDocumentToSvg, az as vectorEffectInputBounds, aA as vectorEffectInputPaths, aB as vectorEnteredGroups, aC as vectorEnvelopeFrame, aD as vectorEnvelopeMap, aE as vectorEnvelopeMesh, aF as vectorFilterMarkup, aG as vectorFilterParamKeys, aH as vectorFilterReach, aI as vectorFilterSvg, aJ as vectorGradientArea, aK as vectorGradientAspect, aL as vectorGradientFocalParam, aM as vectorGradientHandles, aN as vectorGradientMatrix, aO as vectorGradientMidpointFromPosition, aP as vectorGradientMidpointPosition, aQ as vectorGradientNeedsExpansion, aR as vectorGradientParam, aS as vectorGradientPoints, aT as vectorGradientRamp, aU as vectorGradientSvgDefs, aV as vectorGradientTAt, aW as vectorGradientUnitsMatrix, aX as vectorInstanceDrawn, aY as vectorLiveBooleanSteps, aZ as vectorNodeEnvelope, a_ as vectorNodeFilterSvg, a$ as vectorNodeLocalPaintBounds, b0 as vectorOperandOperation, b1 as vectorPaintToSvg, b2 as vectorPathLocalBounds, b3 as vectorStrokeSvgParts, b4 as widthProfileFromAttribute, b5 as widthProfileToAttribute } from '../svg-DLBBPQP9.cjs';
7
7
  import { H as HistoryManager } from '../HistoryManager-DeQQMBCj.cjs';
8
- import { a as TextFont, L as LaidFragment, f as LaidLine, e as TextLayout, T as TextShaper } from '../warp-CH9MM435.cjs';
9
- export { g as VECTOR_WARP_STYLES, h as VECTOR_WARP_STYLE_LABELS, W as VectorWarpPreset, i as dragVectorMeshPoint, j as evalVectorMesh, k as fitVectorMesh, l as isValidVectorMesh, m as mapVectorMeshPoints, p as pullVectorMesh, r as removeVectorMeshSplitU, n as removeVectorMeshSplitV, o as resizeVectorMesh, s as splitVectorMeshU, q as splitVectorMeshV, t as vectorIdentityMesh, w as vectorMeshColumns, u as vectorMeshControlBounds, v as vectorMeshEditPoints, x as vectorMeshGridCurves, y as vectorMeshParamAt, z as vectorMeshRows, A as vectorWarpPresetGrid, B as vectorWarpPresetMesh } from '../warp-CH9MM435.cjs';
8
+ import { a as TextFont, L as LaidFragment, f as LaidLine, e as TextLayout, T as TextShaper } from '../warp-C13L_GRn.cjs';
9
+ export { g as VECTOR_WARP_STYLES, h as VECTOR_WARP_STYLE_LABELS, W as VectorWarpPreset, i as dragVectorMeshPoint, j as evalVectorMesh, k as fitVectorMesh, l as isValidVectorMesh, m as mapVectorMeshPoints, p as pullVectorMesh, r as removeVectorMeshSplitU, n as removeVectorMeshSplitV, o as resizeVectorMesh, s as splitVectorMeshU, q as splitVectorMeshV, t as vectorIdentityMesh, w as vectorMeshColumns, u as vectorMeshControlBounds, v as vectorMeshEditPoints, x as vectorMeshGridCurves, y as vectorMeshParamAt, z as vectorMeshRows, A as vectorWarpPresetGrid, B as vectorWarpPresetMesh } from '../warp-C13L_GRn.cjs';
10
10
  import { A as AffineMatrix, V as Vec2 } from '../types-CwMPoRMU.cjs';
11
11
  export { H as VectorHomography } from '../types-CwMPoRMU.cjs';
12
12
  import { C as CommandSpec } from '../registry-CaR7LC6W.cjs';
13
- import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-C0UoFypx.cjs';
13
+ import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-DgG0Z9Lr.cjs';
14
14
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.cjs';
15
- export { C as CanvasTextShaperOptions, O as OpenTypeFont, a as OutlineFontEntry, b as OutlineFontFace, c as OutlinePathCommand, d as applyVectorHomography, e as createCanvasTextShaper, f as createMetricTextShaper, g as createOutlineTextShaper, h as cssFontFamily, l as loadOpenTypeFont, o as orderVectorQuad, p as parseOpenTypeFont, s as solve8, i as vectorHomography, j as vectorHomographyKeepsQuad } from '../opentype-D80AVmMu.cjs';
15
+ export { C as CanvasTextShaperOptions, O as OpenTypeFont, a as OutlineFontEntry, b as OutlineFontFace, c as OutlinePathCommand, d as applyVectorHomography, e as createCanvasTextShaper, f as createMetricTextShaper, g as createOutlineTextShaper, h as cssFontFamily, l as loadOpenTypeFont, o as orderVectorQuad, p as parseOpenTypeFont, s as solve8, i as vectorHomography, j as vectorHomographyKeepsQuad } from '../opentype-BgqvmGT-.cjs';
16
16
  import { a as AgentToolProvider } from '../registry-BqA1AZt0.cjs';
17
- export { S as SvgGradientDef } from '../gradient-KDfCvhuj.cjs';
18
17
  import '../schema-Di0CS6Pe.cjs';
19
- import '../behavior-Ymbld6jL.cjs';
20
- import '../evaluate-2S3vSPLy.cjs';
18
+ import '../evaluate-BsxYieLN.cjs';
21
19
  import '../types-DsiXGmjo.cjs';
22
20
 
23
21
  /**
@@ -1,23 +1,21 @@
1
- import { p as Vec2$1, x as VectorSubpath, i as VectorBounds, bn as VectorAnchor, y as VectorDocument, f as VectorNode, c as VectorPathNode, bo as VectorTextNode, bp as VectorAnchorType, t as VectorPaint, h as VectorGroupNode, bq as VectorCornerKind, z as VectorWidthPoint, o as VectorGradient, v as VectorGradientStop, br as VectorViewport, bs as VectorConnectorRoute, bt as VectorConnectorSide, bu as VectorConnectorEnd, bv as VectorConnector, bw as VectorConstraintKind, bx as VectorConstraint, by as VectorCharacterStyle, bz as VectorTextRun, bA as VectorParagraphStyle, bB as VectorTextFrame, bC as VectorTransformHandle, bD as VectorAnchorRef, bE as VectorPathfinderOperation, bF as VectorTool, bG as VectorDefaults, bH as VectorTextAlign, bI as VectorStyle, bJ as VectorHandleRef, bK as VectorSegmentRef, bL as VectorBlendOptions, u as VectorMatrix, bM as VectorModifiers, W as EffectsSlot, E as EffectProvider, C as EffectValue, bN as VectorProviderEffect, bO as VectorBlendMode, l as VectorFilterType, V as VectorEffectType, bP as VectorAlign, bQ as VectorDistribute, bR as VectorArrange, e as VectorBooleanOperation, bS as VectorMaskType, bT as VectorSymmetryMode, bU as VectorSymmetry, bV as VectorFreeformPoint, bW as VectorMeshGradient, bX as VectorFreeformGradient, bY as VectorArrowhead, bZ as VectorResizing, b_ as VectorFrame, b$ as VectorHorizontalResizing, c0 as VectorVerticalResizing, c1 as VectorMask, c2 as VectorAverageAxis, c3 as VectorSymbol, c4 as VectorParameter, j as VectorWarpMesh, d as VectorFillRule, c5 as VectorBlendSpacing, c6 as VectorGradientInterpolation, r as VectorGradientSpread, s as VectorGradientType, w as VectorStrokeAlign, c7 as VectorStrokeGradientMode, c8 as VectorArrowAlign, g as VectorEffect, c9 as VectorPaintLayer, ca as VectorStrokeLayer, n as VectorFilter, cb as VectorBlend, cc as VectorMergeMode, cd as VectorLineJoin, b as VectorEffectParamsMap, ce as VectorStrokeSettings, cf as VectorInstanceOverrides, k as VectorInstanceNode } from '../helpers-BBLlekuM.js';
2
- export { cg as VECTOR_ARROWHEADS, ch as VECTOR_BLEND_MODES, ci as VECTOR_BLEND_SPACINGS, cj as VECTOR_CONNECTOR_ROUTES, ck as VECTOR_CONNECTOR_SIDES, cl as VECTOR_CONSTRAINT_KINDS, cm as VECTOR_CORNER_KINDS, cn as VECTOR_EFFECT_TYPES, co as VECTOR_FILTER_TYPES, cp as VECTOR_GRADIENT_INTERPOLATIONS, cq as VECTOR_GRADIENT_SPREADS, cr as VECTOR_GRADIENT_TYPES, cs as VECTOR_HORIZONTAL_RESIZING, ct as VECTOR_MASK_TYPES, cu as VECTOR_MERGE_MODES, cv as VECTOR_PATHFINDER_OPERATIONS, cw as VECTOR_PATH_TEXT_BASELINES, cx as VECTOR_STROKE_GRADIENT_MODES, cy as VECTOR_SYMMETRY_MODES, cz as VECTOR_TEXT_ALIGNS, cA as VECTOR_TOOLS, cB as VECTOR_TRANSFORM_HANDLES, cC as VECTOR_VERTICAL_RESIZING, cD as VectorCorner, m as VectorFilterParamsMap, cE as VectorGeomRef, q as VectorGradientUnits, cF as VectorLineCap, cG as VectorPathTextBaseline, cH as VectorStrokeLayerKind, cI as VectorTextRunStyle, cJ as VectorWarpStyle } from '../helpers-BBLlekuM.js';
1
+ import { X as Vec2$1, a3 as VectorSubpath, O as VectorBounds, bp as VectorAnchor, a4 as VectorDocument, L as VectorNode, I as VectorPathNode, bq as VectorTextNode, br as VectorAnchorType, $ as VectorPaint, N as VectorGroupNode, bs as VectorCornerKind, a5 as VectorWidthPoint, W as VectorGradient, a1 as VectorGradientStop, bt as VectorViewport, bu as VectorConnectorRoute, bv as VectorConnectorSide, bw as VectorConnectorEnd, bx as VectorConnector, by as VectorConstraintKind, bz as VectorConstraint, bA as VectorCharacterStyle, bB as VectorTextRun, bC as VectorParagraphStyle, bD as VectorTextFrame, bE as VectorTransformHandle, bF as VectorAnchorRef, bG as VectorPathfinderOperation, bH as VectorTool, bI as VectorDefaults, bJ as VectorTextAlign, bK as VectorStyle, bL as VectorHandleRef, bM as VectorSegmentRef, bN as VectorBlendOptions, a0 as VectorMatrix, bO as VectorModifiers, v as EffectsSlot, E as EffectProvider, e as EffectValue, bP as VectorProviderEffect, bQ as VectorBlendMode, R as VectorFilterType, V as VectorEffectType, bR as VectorAlign, bS as VectorDistribute, bT as VectorArrange, K as VectorBooleanOperation, bU as VectorMaskType, bV as VectorSymmetryMode, bW as VectorSymmetry, bX as VectorFreeformPoint, bY as VectorMeshGradient, bZ as VectorFreeformGradient, b_ as VectorArrowhead, b$ as VectorResizing, c0 as VectorFrame, c1 as VectorHorizontalResizing, c2 as VectorVerticalResizing, c3 as VectorMask, c4 as VectorAverageAxis, c5 as VectorSymbol, c6 as VectorParameter, P as VectorWarpMesh, J as VectorFillRule, c7 as VectorBlendSpacing, c8 as VectorGradientInterpolation, Z as VectorGradientSpread, _ as VectorGradientType, a2 as VectorStrokeAlign, c9 as VectorStrokeGradientMode, ca as VectorArrowAlign, M as VectorEffect, cb as VectorPaintLayer, cc as VectorStrokeLayer, U as VectorFilter, cd as VectorBlend, ce as VectorMergeMode, cf as VectorLineJoin, H as VectorEffectParamsMap, cg as VectorStrokeSettings, ch as VectorInstanceOverrides, Q as VectorInstanceNode } from '../helpers-CPWcK504.js';
2
+ export { S as SvgGradientDef, ci as VECTOR_ARROWHEADS, cj as VECTOR_BLEND_MODES, ck as VECTOR_BLEND_SPACINGS, cl as VECTOR_CONNECTOR_ROUTES, cm as VECTOR_CONNECTOR_SIDES, cn as VECTOR_CONSTRAINT_KINDS, co as VECTOR_CORNER_KINDS, cp as VECTOR_EFFECT_TYPES, cq as VECTOR_FILTER_TYPES, cr as VECTOR_GRADIENT_INTERPOLATIONS, cs as VECTOR_GRADIENT_SPREADS, ct as VECTOR_GRADIENT_TYPES, cu as VECTOR_HORIZONTAL_RESIZING, cv as VECTOR_MASK_TYPES, cw as VECTOR_MERGE_MODES, cx as VECTOR_PATHFINDER_OPERATIONS, cy as VECTOR_PATH_TEXT_BASELINES, cz as VECTOR_STROKE_GRADIENT_MODES, cA as VECTOR_SYMMETRY_MODES, cB as VECTOR_TEXT_ALIGNS, cC as VECTOR_TOOLS, cD as VECTOR_TRANSFORM_HANDLES, cE as VECTOR_VERTICAL_RESIZING, cF as VectorCorner, T as VectorFilterParamsMap, cG as VectorGeomRef, Y as VectorGradientUnits, cH as VectorLineCap, cI as VectorPathTextBaseline, cJ as VectorStrokeLayerKind, cK as VectorTextRunStyle, cL as VectorWarpStyle } from '../helpers-CPWcK504.js';
3
3
  import { P as Point } from '../brushTypes-IG7ZZjIN.js';
4
- import { a as BezierPathInput, A as AffineMatrix$1, B as BezierPath, c as BezierSegment } from '../bezier-CWv6LQal.js';
5
- import { a as VectorGradientHandle, V as VectorSvgExportOptions, b as VectorGradientPatch, c as VectorEnvelopeParams, d as VectorRenderFilter, e as VectorAppearanceShape, f as VectorFilterParamSpec, g as VectorEffectParamSpec, h as VectorRenderStrokeParts, i as VectorPaintDef, j as VectorRgba, k as VectorSvgPatternDef } from '../svg-DJKriJ4A.js';
6
- export { l as VECTOR_EFFECT_DEFAULTS, m as VECTOR_EFFECT_LABELS, n as VECTOR_EFFECT_PARAM_SPECS, o as VECTOR_FILTER_DEFAULTS, p as VECTOR_FILTER_LABELS, q as VECTOR_FILTER_MENU, r as VECTOR_FILTER_PARAM_SPECS, s as VECTOR_GRADIENT_MAX_PERIODS, t as VECTOR_GRADIENT_MIN_STOPS, u as VectorBooleanOperand, v as VectorFilterPrimitive, w as VectorGradientPoints, x as VectorGradientRamp, y as VectorGradientSvgOptions, z as VectorPaintSvgOptions, A as VectorSvgImportOptions, B as VectorSvgWrapper, C as activeVectorEffects, D as activeVectorFilters, E as applyVectorCornersAttribute, F as applyVectorEffects, G as applyVectorGradientPatch, H as applyVectorGradientSpread, I as clearVectorLiveBooleanCache, J as convertVectorGradient, K as createVectorEffect, L as createVectorFilter, M as defaultVectorGradient, N as expandVectorAppearance, O as expandVectorAppearances, P as expandVectorGradientSpread, Q as expandVectorGradientStops, R as explicitVectorGradient, S as foldVectorBooleanOperands, T as gradientMidpointRemap, U as hasExplicitGradientGeometry, W as hasOwnVectorAppearance, X as hasVectorAppearance, Y as insertVectorGradientStop, Z as isCentredVectorGradient, _ as isVectorFilterType, $ as isVectorGradient, a0 as isVectorLiveBoolean, a1 as mapVectorGradient, a2 as mapVectorPaint, a3 as moveVectorGradientHandle, a4 as moveVectorGradientStop, a5 as normalizeVectorEffectParams, a6 as normalizeVectorFilterParams, a7 as parseSvgTransform, a8 as parseVectorColor, a9 as parseVectorSvg, aa as patternAttrs, ab as periodicVectorGradientStops, ac as pinVectorGradient, ad as removeVectorGradientStop, ae as reverseVectorGradient, af as samplePlainStops, ag as sampleVectorGradient, ah as sampleVectorGradientAt, ai as sampleVectorPaintDefAt, aj as sanitizeVectorEffects, ak as sanitizeVectorFilters, al as sanitizeVectorGradient, am as setVectorGradientVector, an as sortedVectorGradientStops, ao as spanVectorGradientStops, ap as transformVectorEffects, aq as transformVectorGradient, ar as transformVectorPaint, as as vectorAppearanceNodes, at as vectorAppearanceOutline, au as vectorAppearanceShapes, av as vectorBoxMatrix, aw as vectorChildAppearanceShapes, ax as vectorCornersAttribute, ay as vectorDocumentToSvg, az as vectorEffectInputBounds, aA as vectorEffectInputPaths, aB as vectorEnteredGroups, aC as vectorEnvelopeFrame, aD as vectorEnvelopeMap, aE as vectorEnvelopeMesh, aF as vectorFilterMarkup, aG as vectorFilterParamKeys, aH as vectorFilterReach, aI as vectorFilterSvg, aJ as vectorGradientArea, aK as vectorGradientAspect, aL as vectorGradientFocalParam, aM as vectorGradientHandles, aN as vectorGradientMatrix, aO as vectorGradientMidpointFromPosition, aP as vectorGradientMidpointPosition, aQ as vectorGradientNeedsExpansion, aR as vectorGradientParam, aS as vectorGradientPoints, aT as vectorGradientRamp, aU as vectorGradientSvgDefs, aV as vectorGradientTAt, aW as vectorGradientUnitsMatrix, aX as vectorInstanceDrawn, aY as vectorLiveBooleanSteps, aZ as vectorNodeEnvelope, a_ as vectorNodeFilterSvg, a$ as vectorNodeLocalPaintBounds, b0 as vectorOperandOperation, b1 as vectorPaintToSvg, b2 as vectorPathLocalBounds, b3 as vectorStrokeSvgParts, b4 as widthProfileFromAttribute, b5 as widthProfileToAttribute } from '../svg-DJKriJ4A.js';
4
+ import { a as BezierPathInput, A as AffineMatrix$1, B as BezierPath, c as BezierSegment } from '../bezier-DWI5MEkI.js';
5
+ import { a as VectorGradientHandle, V as VectorSvgExportOptions, b as VectorGradientPatch, c as VectorEnvelopeParams, d as VectorRenderFilter, e as VectorAppearanceShape, f as VectorFilterParamSpec, g as VectorEffectParamSpec, h as VectorRenderStrokeParts, i as VectorPaintDef, j as VectorRgba, k as VectorSvgPatternDef } from '../svg-BRLwcibA.js';
6
+ export { l as VECTOR_EFFECT_DEFAULTS, m as VECTOR_EFFECT_LABELS, n as VECTOR_EFFECT_PARAM_SPECS, o as VECTOR_FILTER_DEFAULTS, p as VECTOR_FILTER_LABELS, q as VECTOR_FILTER_MENU, r as VECTOR_FILTER_PARAM_SPECS, s as VECTOR_GRADIENT_MAX_PERIODS, t as VECTOR_GRADIENT_MIN_STOPS, u as VectorBooleanOperand, v as VectorFilterPrimitive, w as VectorGradientPoints, x as VectorGradientRamp, y as VectorGradientSvgOptions, z as VectorPaintSvgOptions, A as VectorSvgImportOptions, B as VectorSvgWrapper, C as activeVectorEffects, D as activeVectorFilters, E as applyVectorCornersAttribute, F as applyVectorEffects, G as applyVectorGradientPatch, H as applyVectorGradientSpread, I as clearVectorLiveBooleanCache, J as convertVectorGradient, K as createVectorEffect, L as createVectorFilter, M as defaultVectorGradient, N as expandVectorAppearance, O as expandVectorAppearances, P as expandVectorGradientSpread, Q as expandVectorGradientStops, R as explicitVectorGradient, S as foldVectorBooleanOperands, T as gradientMidpointRemap, U as hasExplicitGradientGeometry, W as hasOwnVectorAppearance, X as hasVectorAppearance, Y as insertVectorGradientStop, Z as isCentredVectorGradient, _ as isVectorFilterType, $ as isVectorGradient, a0 as isVectorLiveBoolean, a1 as mapVectorGradient, a2 as mapVectorPaint, a3 as moveVectorGradientHandle, a4 as moveVectorGradientStop, a5 as normalizeVectorEffectParams, a6 as normalizeVectorFilterParams, a7 as parseSvgTransform, a8 as parseVectorColor, a9 as parseVectorSvg, aa as patternAttrs, ab as periodicVectorGradientStops, ac as pinVectorGradient, ad as removeVectorGradientStop, ae as reverseVectorGradient, af as samplePlainStops, ag as sampleVectorGradient, ah as sampleVectorGradientAt, ai as sampleVectorPaintDefAt, aj as sanitizeVectorEffects, ak as sanitizeVectorFilters, al as sanitizeVectorGradient, am as setVectorGradientVector, an as sortedVectorGradientStops, ao as spanVectorGradientStops, ap as transformVectorEffects, aq as transformVectorGradient, ar as transformVectorPaint, as as vectorAppearanceNodes, at as vectorAppearanceOutline, au as vectorAppearanceShapes, av as vectorBoxMatrix, aw as vectorChildAppearanceShapes, ax as vectorCornersAttribute, ay as vectorDocumentToSvg, az as vectorEffectInputBounds, aA as vectorEffectInputPaths, aB as vectorEnteredGroups, aC as vectorEnvelopeFrame, aD as vectorEnvelopeMap, aE as vectorEnvelopeMesh, aF as vectorFilterMarkup, aG as vectorFilterParamKeys, aH as vectorFilterReach, aI as vectorFilterSvg, aJ as vectorGradientArea, aK as vectorGradientAspect, aL as vectorGradientFocalParam, aM as vectorGradientHandles, aN as vectorGradientMatrix, aO as vectorGradientMidpointFromPosition, aP as vectorGradientMidpointPosition, aQ as vectorGradientNeedsExpansion, aR as vectorGradientParam, aS as vectorGradientPoints, aT as vectorGradientRamp, aU as vectorGradientSvgDefs, aV as vectorGradientTAt, aW as vectorGradientUnitsMatrix, aX as vectorInstanceDrawn, aY as vectorLiveBooleanSteps, aZ as vectorNodeEnvelope, a_ as vectorNodeFilterSvg, a$ as vectorNodeLocalPaintBounds, b0 as vectorOperandOperation, b1 as vectorPaintToSvg, b2 as vectorPathLocalBounds, b3 as vectorStrokeSvgParts, b4 as widthProfileFromAttribute, b5 as widthProfileToAttribute } from '../svg-BRLwcibA.js';
7
7
  import { H as HistoryManager } from '../HistoryManager-DWSLd6Tf.js';
8
- import { a as TextFont, L as LaidFragment, f as LaidLine, e as TextLayout, T as TextShaper } from '../warp-k_PdtXOG.js';
9
- export { g as VECTOR_WARP_STYLES, h as VECTOR_WARP_STYLE_LABELS, W as VectorWarpPreset, i as dragVectorMeshPoint, j as evalVectorMesh, k as fitVectorMesh, l as isValidVectorMesh, m as mapVectorMeshPoints, p as pullVectorMesh, r as removeVectorMeshSplitU, n as removeVectorMeshSplitV, o as resizeVectorMesh, s as splitVectorMeshU, q as splitVectorMeshV, t as vectorIdentityMesh, w as vectorMeshColumns, u as vectorMeshControlBounds, v as vectorMeshEditPoints, x as vectorMeshGridCurves, y as vectorMeshParamAt, z as vectorMeshRows, A as vectorWarpPresetGrid, B as vectorWarpPresetMesh } from '../warp-k_PdtXOG.js';
8
+ import { a as TextFont, L as LaidFragment, f as LaidLine, e as TextLayout, T as TextShaper } from '../warp-q8FK5HHi.js';
9
+ export { g as VECTOR_WARP_STYLES, h as VECTOR_WARP_STYLE_LABELS, W as VectorWarpPreset, i as dragVectorMeshPoint, j as evalVectorMesh, k as fitVectorMesh, l as isValidVectorMesh, m as mapVectorMeshPoints, p as pullVectorMesh, r as removeVectorMeshSplitU, n as removeVectorMeshSplitV, o as resizeVectorMesh, s as splitVectorMeshU, q as splitVectorMeshV, t as vectorIdentityMesh, w as vectorMeshColumns, u as vectorMeshControlBounds, v as vectorMeshEditPoints, x as vectorMeshGridCurves, y as vectorMeshParamAt, z as vectorMeshRows, A as vectorWarpPresetGrid, B as vectorWarpPresetMesh } from '../warp-q8FK5HHi.js';
10
10
  import { A as AffineMatrix, V as Vec2 } from '../types-CwMPoRMU.js';
11
11
  export { H as VectorHomography } from '../types-CwMPoRMU.js';
12
12
  import { C as CommandSpec } from '../registry-rVtFJjRM.js';
13
- import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-DjISxkUv.js';
13
+ import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-D-h0Imus.js';
14
14
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.js';
15
- export { C as CanvasTextShaperOptions, O as OpenTypeFont, a as OutlineFontEntry, b as OutlineFontFace, c as OutlinePathCommand, d as applyVectorHomography, e as createCanvasTextShaper, f as createMetricTextShaper, g as createOutlineTextShaper, h as cssFontFamily, l as loadOpenTypeFont, o as orderVectorQuad, p as parseOpenTypeFont, s as solve8, i as vectorHomography, j as vectorHomographyKeepsQuad } from '../opentype-14PDI5D2.js';
15
+ export { C as CanvasTextShaperOptions, O as OpenTypeFont, a as OutlineFontEntry, b as OutlineFontFace, c as OutlinePathCommand, d as applyVectorHomography, e as createCanvasTextShaper, f as createMetricTextShaper, g as createOutlineTextShaper, h as cssFontFamily, l as loadOpenTypeFont, o as orderVectorQuad, p as parseOpenTypeFont, s as solve8, i as vectorHomography, j as vectorHomographyKeepsQuad } from '../opentype-01rMIuQR.js';
16
16
  import { a as AgentToolProvider } from '../registry-D-4fit9C.js';
17
- export { S as SvgGradientDef } from '../gradient-KDfCvhuj.js';
18
17
  import '../schema-Di0CS6Pe.js';
19
- import '../behavior-Ymbld6jL.js';
20
- import '../evaluate-CfmT6xA3.js';
18
+ import '../evaluate-BbCeF6pt.js';
21
19
  import '../types-DsiXGmjo.js';
22
20
 
23
21
  /**
@@ -3,7 +3,7 @@ import {
3
3
  cutOutPiece,
4
4
  hatchPath,
5
5
  pathfinder
6
- } from "../chunk-X6KTSFAE.js";
6
+ } from "../chunk-Q4NBEVV5.js";
7
7
  import {
8
8
  loadOpenTypeFont,
9
9
  parseOpenTypeFont
@@ -42,7 +42,7 @@ import {
42
42
  reverseMorphContour,
43
43
  subpathToMorphContour,
44
44
  turnMorphContour
45
- } from "../chunk-MPQAO33O.js";
45
+ } from "../chunk-A6KHMKI4.js";
46
46
  import {
47
47
  DEFAULT_VECTOR_FONT,
48
48
  IDENTITY_MATRIX,
@@ -478,13 +478,7 @@ import {
478
478
  withVectorStrokes,
479
479
  withVectorTargetPaint,
480
480
  zigzagPaths
481
- } from "../chunk-FPRIUR4T.js";
482
- import {
483
- EffectUnsupportedError,
484
- EffectsSlot,
485
- createEffectToolProvider,
486
- resolveEffectValues
487
- } from "../chunk-QFSTQHZY.js";
481
+ } from "../chunk-ROZFX4QI.js";
488
482
  import {
489
483
  bezierPathBounds,
490
484
  bezierPathToSvg,
@@ -501,13 +495,19 @@ import {
501
495
  segmentPoint,
502
496
  segmentTangent,
503
497
  transformBezierPath
504
- } from "../chunk-FG274FYT.js";
498
+ } from "../chunk-YGJIER2R.js";
505
499
  import {
506
500
  fitCubicWithTangents,
507
501
  fitCubics,
508
502
  parseSvgPath,
509
503
  simplifyRing
510
- } from "../chunk-GLWZXQ4Q.js";
504
+ } from "../chunk-KHNZ6MOU.js";
505
+ import {
506
+ EffectUnsupportedError,
507
+ EffectsSlot,
508
+ createEffectToolProvider,
509
+ resolveEffectValues
510
+ } from "../chunk-QFSTQHZY.js";
511
511
  import "../chunk-4FX5ACVG.js";
512
512
  import {
513
513
  HistoryManager
@@ -1,16 +1,14 @@
1
- import { V as VideoProject, a as VideoAnimatable, b as VideoAsset, c as VideoAssetProxy, d as VideoClip, e as VideoClipAnimation, f as VideoClipEffect, g as VideoEffectRef, h as VideoEffectValues, i as VideoGrade, j as VideoGradeLut, k as VideoKeyframes, l as VideoMarker, m as VideoSequence, n as VideoTrack, o as VideoTranscriptWord, p as VideoTransform, q as VideoTransition, v as videoKeysOf, r as VideoTrackKind, s as VideoPlacementMode, t as VideoKeyframeProperty, u as VideoKey, w as VideoMediaClip, x as VideoEffectsEngine, y as VideoLayer, z as VideoFrame, A as VideoRect, B as VideoEffectPlace, C as VideoFfmpegOptions, D as VideoFfmpegExport, E as VideoEdlOptions, F as VideoFadeCurve, G as VideoFit, H as VideoBlendMode, I as VideoAssetKind, J as VideoClipAnimationEffect, K as VideoTransitionType } from '../export-DVl4fWy5.cjs';
2
- export { L as VIDEO_BLEND_MODES, M as VIDEO_CLIP_ANIMATION_EFFECTS, N as VIDEO_CLIP_TYPES, O as VIDEO_EASE_NAMES, P as VIDEO_EFFECT_PLACES, Q as VIDEO_FADE_CURVES, R as VIDEO_FITS, S as VIDEO_KEYFRAME_LIMITS, T as VIDEO_KEYFRAME_PROPERTIES, U as VIDEO_PLACEMENT_MODES, W as VIDEO_TRANSFORM_PROPERTIES, X as VIDEO_TRANSITION_TYPES, Y as VIDEO_WIPE_DIRECTIONS, Z as VideoAudioSource, _ as VideoClipType, $ as VideoColorClip, a0 as VideoEase, a1 as VideoEffectClip, a2 as VideoEffectJob, a3 as VideoEffectUse, a4 as VideoEffectsEngineOptions, a5 as VideoLayerEffect, a6 as VideoLoudnessMeasurement, a7 as VideoLoudnessTarget, a8 as VideoSequenceClip, a9 as VideoTextClip, aa as VideoWipeDirection, ab as checkVideoEffectPlace, ac as checkVideoEffectValues, ad as ffmpegFilterValue, ae as isVideoKeyframes, af as mixEffectPixels, ag as overEffectPixels, ah as parseVideoLoudnessMeasurement, ai as placeVideoRect, aj as removeVideoKey, ak as retimeVideoAnimatable, al as setVideoKey, am as sortVideoKeys, an as splitVideoAnimatable, ao as toVideoEdl, ap as toVideoFfmpeg, aq as toVideoLoudnessMeasure, ar as videoClipEffectUses, as as videoClipSoundGain, at as videoEaseBezier, au as videoEaseProgress, av as videoEffectFrameTime, aw as videoEffectLayerKey, ax as videoEffectValuesAt, ay as videoFadeCurveGain, az as videoFfmpegUnsupportedEffects, aA as videoFrameAt, aB as videoFrameLeafLayers, aC as videoKeyframeBreakpoints, aD as videoKeyframeFfmpegExpr, aE as videoLayersUseEffects, aF as videoLayersWithoutTransitionEffects, aG as videoProjectEffects, aH as videoShellQuote, aI as videoTextStyle, aJ as videoTitleFrame, aK as videoTransformAt, aL as videoTransitionAudioCurve, aM as videoTransitionEase, aN as videoValueAt } from '../export-DVl4fWy5.cjs';
3
- import { A as AnimationPlayer, C as Clock } from '../player-CBtEoU2x.cjs';
4
- import { b as AnimationLoopMode } from '../evaluate-2S3vSPLy.cjs';
1
+ import { V as VideoProject, a as VideoAnimatable, b as VideoAsset, c as VideoAssetProxy, d as VideoClip, e as VideoClipAnimation, f as VideoClipEffect, g as VideoEffectRef, h as VideoEffectValues, i as VideoGrade, j as VideoGradeLut, k as VideoKeyframes, l as VideoMarker, m as VideoSequence, n as VideoTrack, o as VideoTranscriptWord, p as VideoTransform, q as VideoTransition, v as videoKeysOf, r as VideoTrackKind, s as VideoPlacementMode, t as VideoKeyframeProperty, u as VideoKey, w as VideoMediaClip, x as VideoEffectsEngine, y as VideoLayer, z as VideoFrame, A as VideoRect, B as VideoEffectPlace, C as VideoFfmpegOptions, D as VideoFfmpegExport, E as VideoEdlOptions, F as VideoFadeCurve, G as VideoFit, H as VideoBlendMode, I as VideoAssetKind, J as VideoClipAnimationEffect, K as VideoTransitionType } from '../export-Cbr9IqpJ.cjs';
2
+ export { L as VIDEO_BLEND_MODES, M as VIDEO_CLIP_ANIMATION_EFFECTS, N as VIDEO_CLIP_TYPES, O as VIDEO_EASE_NAMES, P as VIDEO_EFFECT_PLACES, Q as VIDEO_FADE_CURVES, R as VIDEO_FITS, S as VIDEO_KEYFRAME_LIMITS, T as VIDEO_KEYFRAME_PROPERTIES, U as VIDEO_PLACEMENT_MODES, W as VIDEO_TRANSFORM_PROPERTIES, X as VIDEO_TRANSITION_TYPES, Y as VIDEO_WIPE_DIRECTIONS, Z as VideoAudioSource, _ as VideoClipType, $ as VideoColorClip, a0 as VideoEase, a1 as VideoEffectClip, a2 as VideoEffectJob, a3 as VideoEffectUse, a4 as VideoEffectsEngineOptions, a5 as VideoLayerEffect, a6 as VideoLoudnessMeasurement, a7 as VideoLoudnessTarget, a8 as VideoSequenceClip, a9 as VideoTextClip, aa as VideoWipeDirection, ab as checkVideoEffectPlace, ac as checkVideoEffectValues, ad as ffmpegFilterValue, ae as isVideoKeyframes, af as mixEffectPixels, ag as overEffectPixels, ah as parseVideoLoudnessMeasurement, ai as placeVideoRect, aj as removeVideoKey, ak as retimeVideoAnimatable, al as setVideoKey, am as sortVideoKeys, an as splitVideoAnimatable, ao as toVideoEdl, ap as toVideoFfmpeg, aq as toVideoLoudnessMeasure, ar as videoClipEffectUses, as as videoClipSoundGain, at as videoEaseBezier, au as videoEaseProgress, av as videoEffectFrameTime, aw as videoEffectLayerKey, ax as videoEffectValuesAt, ay as videoFadeCurveGain, az as videoFfmpegUnsupportedEffects, aA as videoFrameAt, aB as videoFrameLeafLayers, aC as videoKeyframeBreakpoints, aD as videoKeyframeFfmpegExpr, aE as videoLayersUseEffects, aF as videoLayersWithoutTransitionEffects, aG as videoProjectEffects, aH as videoShellQuote, aI as videoTextStyle, aJ as videoTitleFrame, aK as videoTransformAt, aL as videoTransitionAudioCurve, aM as videoTransitionEase, aN as videoValueAt } from '../export-Cbr9IqpJ.cjs';
3
+ import { A as AnimationPlayer, C as Clock } from '../player-CmbY3218.cjs';
4
+ import { b as AnimationLoopMode } from '../evaluate-BsxYieLN.cjs';
5
5
  import { H as HistoryManager } from '../HistoryManager-DeQQMBCj.cjs';
6
- import { W as EffectsSlot, E as EffectProvider, D as EffectDescription, C as EffectValue } from '../helpers-i95Ob6Vi.cjs';
6
+ import { v as EffectsSlot, E as EffectProvider, f as EffectDescription, e as EffectValue } from '../helpers-C5aAd44p.cjs';
7
7
  import { a as AgentToolProvider } from '../registry-BqA1AZt0.cjs';
8
- import { A as AppliedEffectInfo } from '../tools-DZCv2kX1.cjs';
8
+ import { A as AppliedEffectInfo } from '../tools-BpCmUNxb.cjs';
9
9
  import '../easing-lM0Xo9Ni.cjs';
10
10
  import '../types-DsiXGmjo.cjs';
11
11
  import '../schema-Di0CS6Pe.cjs';
12
- import '../behavior-Ymbld6jL.cjs';
13
- import '../gradient-KDfCvhuj.cjs';
14
12
  import '../types-CwMPoRMU.cjs';
15
13
 
16
14
  /**
@@ -1,16 +1,14 @@
1
- import { V as VideoProject, a as VideoAnimatable, b as VideoAsset, c as VideoAssetProxy, d as VideoClip, e as VideoClipAnimation, f as VideoClipEffect, g as VideoEffectRef, h as VideoEffectValues, i as VideoGrade, j as VideoGradeLut, k as VideoKeyframes, l as VideoMarker, m as VideoSequence, n as VideoTrack, o as VideoTranscriptWord, p as VideoTransform, q as VideoTransition, v as videoKeysOf, r as VideoTrackKind, s as VideoPlacementMode, t as VideoKeyframeProperty, u as VideoKey, w as VideoMediaClip, x as VideoEffectsEngine, y as VideoLayer, z as VideoFrame, A as VideoRect, B as VideoEffectPlace, C as VideoFfmpegOptions, D as VideoFfmpegExport, E as VideoEdlOptions, F as VideoFadeCurve, G as VideoFit, H as VideoBlendMode, I as VideoAssetKind, J as VideoClipAnimationEffect, K as VideoTransitionType } from '../export-C1s4eolZ.js';
2
- export { L as VIDEO_BLEND_MODES, M as VIDEO_CLIP_ANIMATION_EFFECTS, N as VIDEO_CLIP_TYPES, O as VIDEO_EASE_NAMES, P as VIDEO_EFFECT_PLACES, Q as VIDEO_FADE_CURVES, R as VIDEO_FITS, S as VIDEO_KEYFRAME_LIMITS, T as VIDEO_KEYFRAME_PROPERTIES, U as VIDEO_PLACEMENT_MODES, W as VIDEO_TRANSFORM_PROPERTIES, X as VIDEO_TRANSITION_TYPES, Y as VIDEO_WIPE_DIRECTIONS, Z as VideoAudioSource, _ as VideoClipType, $ as VideoColorClip, a0 as VideoEase, a1 as VideoEffectClip, a2 as VideoEffectJob, a3 as VideoEffectUse, a4 as VideoEffectsEngineOptions, a5 as VideoLayerEffect, a6 as VideoLoudnessMeasurement, a7 as VideoLoudnessTarget, a8 as VideoSequenceClip, a9 as VideoTextClip, aa as VideoWipeDirection, ab as checkVideoEffectPlace, ac as checkVideoEffectValues, ad as ffmpegFilterValue, ae as isVideoKeyframes, af as mixEffectPixels, ag as overEffectPixels, ah as parseVideoLoudnessMeasurement, ai as placeVideoRect, aj as removeVideoKey, ak as retimeVideoAnimatable, al as setVideoKey, am as sortVideoKeys, an as splitVideoAnimatable, ao as toVideoEdl, ap as toVideoFfmpeg, aq as toVideoLoudnessMeasure, ar as videoClipEffectUses, as as videoClipSoundGain, at as videoEaseBezier, au as videoEaseProgress, av as videoEffectFrameTime, aw as videoEffectLayerKey, ax as videoEffectValuesAt, ay as videoFadeCurveGain, az as videoFfmpegUnsupportedEffects, aA as videoFrameAt, aB as videoFrameLeafLayers, aC as videoKeyframeBreakpoints, aD as videoKeyframeFfmpegExpr, aE as videoLayersUseEffects, aF as videoLayersWithoutTransitionEffects, aG as videoProjectEffects, aH as videoShellQuote, aI as videoTextStyle, aJ as videoTitleFrame, aK as videoTransformAt, aL as videoTransitionAudioCurve, aM as videoTransitionEase, aN as videoValueAt } from '../export-C1s4eolZ.js';
3
- import { A as AnimationPlayer, C as Clock } from '../player-cGLrngL_.js';
4
- import { b as AnimationLoopMode } from '../evaluate-CfmT6xA3.js';
1
+ import { V as VideoProject, a as VideoAnimatable, b as VideoAsset, c as VideoAssetProxy, d as VideoClip, e as VideoClipAnimation, f as VideoClipEffect, g as VideoEffectRef, h as VideoEffectValues, i as VideoGrade, j as VideoGradeLut, k as VideoKeyframes, l as VideoMarker, m as VideoSequence, n as VideoTrack, o as VideoTranscriptWord, p as VideoTransform, q as VideoTransition, v as videoKeysOf, r as VideoTrackKind, s as VideoPlacementMode, t as VideoKeyframeProperty, u as VideoKey, w as VideoMediaClip, x as VideoEffectsEngine, y as VideoLayer, z as VideoFrame, A as VideoRect, B as VideoEffectPlace, C as VideoFfmpegOptions, D as VideoFfmpegExport, E as VideoEdlOptions, F as VideoFadeCurve, G as VideoFit, H as VideoBlendMode, I as VideoAssetKind, J as VideoClipAnimationEffect, K as VideoTransitionType } from '../export-ClPKUB-v.js';
2
+ export { L as VIDEO_BLEND_MODES, M as VIDEO_CLIP_ANIMATION_EFFECTS, N as VIDEO_CLIP_TYPES, O as VIDEO_EASE_NAMES, P as VIDEO_EFFECT_PLACES, Q as VIDEO_FADE_CURVES, R as VIDEO_FITS, S as VIDEO_KEYFRAME_LIMITS, T as VIDEO_KEYFRAME_PROPERTIES, U as VIDEO_PLACEMENT_MODES, W as VIDEO_TRANSFORM_PROPERTIES, X as VIDEO_TRANSITION_TYPES, Y as VIDEO_WIPE_DIRECTIONS, Z as VideoAudioSource, _ as VideoClipType, $ as VideoColorClip, a0 as VideoEase, a1 as VideoEffectClip, a2 as VideoEffectJob, a3 as VideoEffectUse, a4 as VideoEffectsEngineOptions, a5 as VideoLayerEffect, a6 as VideoLoudnessMeasurement, a7 as VideoLoudnessTarget, a8 as VideoSequenceClip, a9 as VideoTextClip, aa as VideoWipeDirection, ab as checkVideoEffectPlace, ac as checkVideoEffectValues, ad as ffmpegFilterValue, ae as isVideoKeyframes, af as mixEffectPixels, ag as overEffectPixels, ah as parseVideoLoudnessMeasurement, ai as placeVideoRect, aj as removeVideoKey, ak as retimeVideoAnimatable, al as setVideoKey, am as sortVideoKeys, an as splitVideoAnimatable, ao as toVideoEdl, ap as toVideoFfmpeg, aq as toVideoLoudnessMeasure, ar as videoClipEffectUses, as as videoClipSoundGain, at as videoEaseBezier, au as videoEaseProgress, av as videoEffectFrameTime, aw as videoEffectLayerKey, ax as videoEffectValuesAt, ay as videoFadeCurveGain, az as videoFfmpegUnsupportedEffects, aA as videoFrameAt, aB as videoFrameLeafLayers, aC as videoKeyframeBreakpoints, aD as videoKeyframeFfmpegExpr, aE as videoLayersUseEffects, aF as videoLayersWithoutTransitionEffects, aG as videoProjectEffects, aH as videoShellQuote, aI as videoTextStyle, aJ as videoTitleFrame, aK as videoTransformAt, aL as videoTransitionAudioCurve, aM as videoTransitionEase, aN as videoValueAt } from '../export-ClPKUB-v.js';
3
+ import { A as AnimationPlayer, C as Clock } from '../player-BK2kKbfd.js';
4
+ import { b as AnimationLoopMode } from '../evaluate-BbCeF6pt.js';
5
5
  import { H as HistoryManager } from '../HistoryManager-DWSLd6Tf.js';
6
- import { W as EffectsSlot, E as EffectProvider, D as EffectDescription, C as EffectValue } from '../helpers-BBLlekuM.js';
6
+ import { v as EffectsSlot, E as EffectProvider, f as EffectDescription, e as EffectValue } from '../helpers-CPWcK504.js';
7
7
  import { a as AgentToolProvider } from '../registry-D-4fit9C.js';
8
- import { A as AppliedEffectInfo } from '../tools-CM8Oe8F3.js';
8
+ import { A as AppliedEffectInfo } from '../tools-AugT22z3.js';
9
9
  import '../easing-lM0Xo9Ni.js';
10
10
  import '../types-DsiXGmjo.js';
11
11
  import '../schema-Di0CS6Pe.js';
12
- import '../behavior-Ymbld6jL.js';
13
- import '../gradient-KDfCvhuj.js';
14
12
  import '../types-CwMPoRMU.js';
15
13
 
16
14
  /**
@@ -1,4 +1,4 @@
1
- import { B as BezierPath } from './bezier-CBzKKDjl.cjs';
1
+ import { B as BezierPath } from './bezier-DBz0IgEt.cjs';
2
2
  import { W as WarpStyle, a as WarpMesh, V as Vec2, B as Box } from './types-CwMPoRMU.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { B as BezierPath } from './bezier-CWv6LQal.js';
1
+ import { B as BezierPath } from './bezier-DWI5MEkI.js';
2
2
  import { W as WarpStyle, a as WarpMesh, V as Vec2, B as Box } from './types-CwMPoRMU.js';
3
3
 
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixerate/editor",
3
- "version": "0.126.0",
3
+ "version": "0.127.0",
4
4
  "description": "UI-agnostic rich text and media editing core library",
5
5
  "author": "Pixerate",
6
6
  "license": "MIT",
@@ -225,8 +225,27 @@ easing applies to the segment leaving a keyframe. Animatable properties: `x`, `y
225
225
  | `canvas.animation.previousKeyframe` | Jump the playhead to the previous keyframe. |
226
226
  | `canvas.animation.exportCss` | Read-only: CSS `@keyframes` for `nodeId`'s animation, as `{ css, exact }`. `exact: false` means some tracks were sampled (OKLab colour tweens, `x` / `y` with different timing, motion paths). |
227
227
 
228
+ ### Provider effects
229
+
230
+ These tools come from `createCanvasEffectsToolProvider`. They work once the host registers an
231
+ effects provider (for example Flair); without one the read tools say so and the write tools refuse.
232
+
233
+ | Tool | Use it to |
234
+ | --- | --- |
235
+ | `search_effects` | Find effects: use `generator` for fills, `overlay`, `title` or `interactive` for overlays, and `transition` for scene transitions. |
236
+ | `describe_effect` | Read an effect's controls, ranges, defaults and presets before applying it. |
237
+ | `list_applied_effects` | List the shape nodes that carry effects, with each effect's role (fill or overlay), opacity and values. |
238
+ | `apply_effect` | Put an effect on a shape node: a generator fills the shape (clipped to its outline), anything else draws over its box. This replaces any effect already there. Returns the effect. |
239
+ | `update_effect` | Change a node's effect (`effect` is "effect"): `values` (`null` resets a control), `opacity`, and `enabled` (false holds the first frame). |
240
+ | `remove_effect` | Take the effect off a node. |
241
+ | `set_canvas_effect_mode` | Switch a node's effect between `fill` and `overlay`. |
242
+ | `list_scene_transitions` | List the Scenes in order, each with the transition played when moving to it. |
243
+ | `set_scene_transition` | Set (or with `effect` null, remove) the transition effect played when moving to a scene, with its `duration` in ms. |
244
+
228
245
  ## Pitfalls
229
246
 
247
+ - **A shape node holds one effect.** `apply_effect` replaces the effect that is there. Effects draw on shape nodes only (nodes with `data.shape`).
248
+
230
249
  - **Brushes are dry only.** Wet presets (watercolour, gouache, wet oils), mixer, blender, smudge and
231
250
  eraser presets are refused: wet paint needs an area to flow in, and the others need paint under
232
251
  them. `pressure` and tilt without a `brush` are refused too.
@@ -1,60 +0,0 @@
1
- /**
2
- * Behaviours: how a change gets from `from` to `to` other than straight along its ease (a
3
- * pulse there and back, an oscillation, a seeded wriggle, a springy overshoot). Ported from
4
- * `@pixerate/flair` (MIT): `SvgBehavior` and `behaviorProgress` in `vector/motion.ts`, the
5
- * oscillate and overshoot evaluators in `scene/behavior.ts` and the noise in `time/noise.ts`.
6
- * The numbers must stay identical to Flair's, so a behaviour exported to Flair plays the same
7
- * frames there as here (the animation editor writes them as Flair `behavior`s, Flair ≥ 0.38).
8
- */
9
- /**
10
- * A behaviour: its progress `u` at each moment, where 0 is `from`, 1 is `to`, and numbers go
11
- * past either. `t` is the change's time, 0–1, through its ease (linear unless given).
12
- *
13
- * - `pulse`: there and back `count` times (default 1): u = sin²(π·count·t).
14
- * - `oscillate`: swings round `from`, out to `to` and as far the other way, `count` times
15
- * (default 1), dying away by (1 − t)^`decay` (default 0, no decay).
16
- * - `wriggle`: wanders round `from` by up to about `to − from`, as seeded smooth fractal noise
17
- * at `frequency` Hz (default 2) with `octaves` layers (default 2); each number in a value
18
- * wanders on its own channel. It eases out of and back to rest over the first and last 15%
19
- * of its time. The same `seed` (default 42) gives the same wander.
20
- * - `overshoot`: goes to `to`, past it and back, settling like a spring:
21
- * u = 1 − e^(−damping·t)·cos(cycles·π·t) (default 3 cycles, damping 4).
22
- */
23
- type MotionBehavior = {
24
- type: 'pulse';
25
- count?: number;
26
- } | {
27
- type: 'oscillate';
28
- count?: number;
29
- decay?: number;
30
- wave?: 'sine' | 'triangle' | 'square' | 'sawtooth';
31
- } | {
32
- type: 'wriggle';
33
- frequency?: number;
34
- octaves?: number;
35
- seed?: number;
36
- } | {
37
- type: 'overshoot';
38
- cycles?: number;
39
- damping?: number;
40
- };
41
- /** Every `MotionBehavior` type. */
42
- declare const MOTION_BEHAVIORS: readonly ["pulse", "oscillate", "wriggle", "overshoot"];
43
- /**
44
- * A behaviour's progress at `t` (0–1, eased) of a change lasting `ms`, for the `index`-th number
45
- * in a value (only a wriggle tells numbers apart).
46
- */
47
- declare function behaviorProgress(behavior: MotionBehavior, t: number, index?: number, ms?: number): number;
48
- /** Whether `value` is a well-formed `MotionBehavior`. */
49
- declare function isMotionBehavior(value: unknown): value is MotionBehavior;
50
- /** A seed from an id (FNV-1a), so each element wriggles its own way: Flair's `seedOf`. */
51
- declare function motionSeedFromId(id: string): number;
52
- /** 6t⁵ − 15t⁴ + 10t³: zero slope and curvature at 0 and 1. */
53
- declare function quinticFade(t: number): number;
54
- /**
55
- * Multi-octave smooth noise (After Effects' `wiggle`): the sum over `octaves` of
56
- * amp·ampMult^k · noise(freq·2^k·t), each octave and `dimension` seeded apart. `t` in seconds.
57
- */
58
- declare function fractalWiggle(freq: number, amp: number, octaves?: number, ampMult?: number, t?: number, seed?: number, dimension?: number): number;
59
-
60
- export { MOTION_BEHAVIORS as M, type MotionBehavior as a, behaviorProgress as b, fractalWiggle as f, isMotionBehavior as i, motionSeedFromId as m, quinticFade as q };
@@ -1,60 +0,0 @@
1
- /**
2
- * Behaviours: how a change gets from `from` to `to` other than straight along its ease (a
3
- * pulse there and back, an oscillation, a seeded wriggle, a springy overshoot). Ported from
4
- * `@pixerate/flair` (MIT): `SvgBehavior` and `behaviorProgress` in `vector/motion.ts`, the
5
- * oscillate and overshoot evaluators in `scene/behavior.ts` and the noise in `time/noise.ts`.
6
- * The numbers must stay identical to Flair's, so a behaviour exported to Flair plays the same
7
- * frames there as here (the animation editor writes them as Flair `behavior`s, Flair ≥ 0.38).
8
- */
9
- /**
10
- * A behaviour: its progress `u` at each moment, where 0 is `from`, 1 is `to`, and numbers go
11
- * past either. `t` is the change's time, 0–1, through its ease (linear unless given).
12
- *
13
- * - `pulse`: there and back `count` times (default 1): u = sin²(π·count·t).
14
- * - `oscillate`: swings round `from`, out to `to` and as far the other way, `count` times
15
- * (default 1), dying away by (1 − t)^`decay` (default 0, no decay).
16
- * - `wriggle`: wanders round `from` by up to about `to − from`, as seeded smooth fractal noise
17
- * at `frequency` Hz (default 2) with `octaves` layers (default 2); each number in a value
18
- * wanders on its own channel. It eases out of and back to rest over the first and last 15%
19
- * of its time. The same `seed` (default 42) gives the same wander.
20
- * - `overshoot`: goes to `to`, past it and back, settling like a spring:
21
- * u = 1 − e^(−damping·t)·cos(cycles·π·t) (default 3 cycles, damping 4).
22
- */
23
- type MotionBehavior = {
24
- type: 'pulse';
25
- count?: number;
26
- } | {
27
- type: 'oscillate';
28
- count?: number;
29
- decay?: number;
30
- wave?: 'sine' | 'triangle' | 'square' | 'sawtooth';
31
- } | {
32
- type: 'wriggle';
33
- frequency?: number;
34
- octaves?: number;
35
- seed?: number;
36
- } | {
37
- type: 'overshoot';
38
- cycles?: number;
39
- damping?: number;
40
- };
41
- /** Every `MotionBehavior` type. */
42
- declare const MOTION_BEHAVIORS: readonly ["pulse", "oscillate", "wriggle", "overshoot"];
43
- /**
44
- * A behaviour's progress at `t` (0–1, eased) of a change lasting `ms`, for the `index`-th number
45
- * in a value (only a wriggle tells numbers apart).
46
- */
47
- declare function behaviorProgress(behavior: MotionBehavior, t: number, index?: number, ms?: number): number;
48
- /** Whether `value` is a well-formed `MotionBehavior`. */
49
- declare function isMotionBehavior(value: unknown): value is MotionBehavior;
50
- /** A seed from an id (FNV-1a), so each element wriggles its own way: Flair's `seedOf`. */
51
- declare function motionSeedFromId(id: string): number;
52
- /** 6t⁵ − 15t⁴ + 10t³: zero slope and curvature at 0 and 1. */
53
- declare function quinticFade(t: number): number;
54
- /**
55
- * Multi-octave smooth noise (After Effects' `wiggle`): the sum over `octaves` of
56
- * amp·ampMult^k · noise(freq·2^k·t), each octave and `dimension` seeded apart. `t` in seconds.
57
- */
58
- declare function fractalWiggle(freq: number, amp: number, octaves?: number, ampMult?: number, t?: number, seed?: number, dimension?: number): number;
59
-
60
- export { MOTION_BEHAVIORS as M, type MotionBehavior as a, behaviorProgress as b, fractalWiggle as f, isMotionBehavior as i, motionSeedFromId as m, quinticFade as q };