@pixerate/editor 0.57.0 → 0.59.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 (53) hide show
  1. package/dist/animation/index.cjs +23 -3
  2. package/dist/animation/index.cjs.map +1 -1
  3. package/dist/animation/index.d.cts +3 -2
  4. package/dist/animation/index.d.ts +3 -2
  5. package/dist/animation/index.js +23 -3
  6. package/dist/animation-editor/index.cjs +836 -158
  7. package/dist/animation-editor/index.cjs.map +1 -1
  8. package/dist/animation-editor/index.d.cts +454 -40
  9. package/dist/animation-editor/index.d.ts +454 -40
  10. package/dist/animation-editor/index.js +790 -112
  11. package/dist/animation-editor/index.js.map +1 -1
  12. package/dist/behavior-Ymbld6jL.d.cts +60 -0
  13. package/dist/behavior-Ymbld6jL.d.ts +60 -0
  14. package/dist/canvas/index.cjs +35 -29
  15. package/dist/canvas/index.cjs.map +1 -1
  16. package/dist/canvas/index.d.cts +4 -4
  17. package/dist/canvas/index.d.ts +4 -4
  18. package/dist/canvas/index.js +9 -3
  19. package/dist/canvas/index.js.map +1 -1
  20. package/dist/{chunk-O4ONBPZW.cjs → chunk-2FGRTYJN.cjs} +4 -4
  21. package/dist/{chunk-O4ONBPZW.cjs.map → chunk-2FGRTYJN.cjs.map} +1 -1
  22. package/dist/{chunk-XZ4L3R4K.cjs → chunk-2FHLHZAL.cjs} +39 -3
  23. package/dist/chunk-2FHLHZAL.cjs.map +1 -0
  24. package/dist/chunk-3NYXDBBW.js +122 -0
  25. package/dist/chunk-3NYXDBBW.js.map +1 -0
  26. package/dist/{chunk-NONDTTH7.js → chunk-3TLL5OID.js} +17 -2
  27. package/dist/{chunk-NONDTTH7.js.map → chunk-3TLL5OID.js.map} +1 -1
  28. package/dist/{chunk-UB2OY7FD.js → chunk-AGR4P4UZ.js} +38 -2
  29. package/dist/chunk-AGR4P4UZ.js.map +1 -0
  30. package/dist/{chunk-SHOVAHUB.js → chunk-JK6M6V7G.js} +2 -2
  31. package/dist/{chunk-XCXQDPID.cjs → chunk-YJLCBA7V.cjs} +25 -10
  32. package/dist/chunk-YJLCBA7V.cjs.map +1 -0
  33. package/dist/chunk-ZCNLBRT6.cjs +122 -0
  34. package/dist/chunk-ZCNLBRT6.cjs.map +1 -0
  35. package/dist/{easing-CNGk-W6d.d.ts → easing-lM0Xo9Ni.d.cts} +14 -2
  36. package/dist/{easing-CNGk-W6d.d.cts → easing-lM0Xo9Ni.d.ts} +14 -2
  37. package/dist/parameters/index.cjs +2 -2
  38. package/dist/parameters/index.d.cts +1 -1
  39. package/dist/parameters/index.d.ts +1 -1
  40. package/dist/parameters/index.js +1 -1
  41. package/dist/{player-W-5DX3Go.d.ts → player-DV4Jujdq.d.ts} +1 -1
  42. package/dist/{player-Dg0FT0UI.d.cts → player-DrcP2xqj.d.cts} +1 -1
  43. package/dist/{svg-CPK82TtU.d.ts → svg-Dh17jCyA.d.ts} +22 -1
  44. package/dist/{svg-CLg2zqZA.d.cts → svg-ymShkNtu.d.cts} +22 -1
  45. package/dist/vector/index.cjs +472 -472
  46. package/dist/vector/index.d.cts +3 -3
  47. package/dist/vector/index.d.ts +3 -3
  48. package/dist/vector/index.js +2 -2
  49. package/package.json +1 -1
  50. package/dist/chunk-UB2OY7FD.js.map +0 -1
  51. package/dist/chunk-XCXQDPID.cjs.map +0 -1
  52. package/dist/chunk-XZ4L3R4K.cjs.map +0 -1
  53. /package/dist/{chunk-SHOVAHUB.js.map → chunk-JK6M6V7G.js.map} +0 -0
@@ -1,12 +1,12 @@
1
- import { d as Vec2, e as VectorSubpath, b as VectorBounds, f as VectorAnchor, V as VectorDocument, a as VectorNode, g as VectorPathNode, h as VectorAnchorType, i as VectorPaint, j as VectorGroupNode, k as VectorCornerKind, l as VectorWidthPoint, m as VectorGradientHandle, n as VectorGradient, o as VectorGradientStop, p as VectorViewport, q as VectorEffectType, r as VectorEffectParamsMap, s as VectorFillRule, t as VectorBooleanOperation, u as VectorEffect, v as VectorWarpMesh, w as VectorTransformHandle, x as VectorAnchorRef, y as VectorPathfinderOperation, z as VectorTool, A as VectorDefaults, B as VectorStyle, C as VectorHandleRef, D as VectorSegmentRef, E as VectorBlendOptions, F as VectorModifiers, c as VectorSvgExportOptions, G as VectorGradientPatch, H as VectorAlign, I as VectorDistribute, J as VectorArrange, K as VectorAverageAxis, L as VectorArrowhead, M as VectorBlendSpacing, N as VectorGradientInterpolation, O as VectorGradientSpread, P as VectorGradientType, Q as VectorStrokeAlign, R as VectorStrokeGradientMode, S as VectorRenderStrokeParts, T as VectorPaintDef, U as VectorArrowAlign, W as VectorBlend, X as VectorMergeMode, Y as VectorLineJoin, Z as VectorWarpStyle } from '../svg-CLg2zqZA.cjs';
2
- export { _ as VECTOR_ARROWHEADS, $ as VECTOR_BLEND_SPACINGS, a0 as VECTOR_CORNER_KINDS, a1 as VECTOR_EFFECT_TYPES, a2 as VECTOR_GRADIENT_INTERPOLATIONS, a3 as VECTOR_GRADIENT_MAX_PERIODS, a4 as VECTOR_GRADIENT_MIN_STOPS, a5 as VECTOR_GRADIENT_SPREADS, a6 as VECTOR_GRADIENT_TYPES, a7 as VECTOR_MERGE_MODES, a8 as VECTOR_PATHFINDER_OPERATIONS, a9 as VECTOR_STROKE_GRADIENT_MODES, aa as VECTOR_TOOLS, ab as VECTOR_TRANSFORM_HANDLES, ac as VectorCorner, ad as VectorGradientPoints, ae as VectorGradientRamp, af as VectorGradientSvgOptions, ag as VectorGradientUnits, ah as VectorLineCap, ai as VectorMatrix, aj as VectorPaintSvgOptions, ak as VectorRgba, al as VectorSvgImportOptions, am as VectorSvgPatternDef, an as applyVectorCornersAttribute, ao as applyVectorGradientPatch, ap as applyVectorGradientSpread, aq as convertVectorGradient, ar as defaultVectorGradient, as as expandVectorGradientSpread, at as expandVectorGradientStops, au as explicitVectorGradient, av as gradientMidpointRemap, aw as hasExplicitGradientGeometry, ax as insertVectorGradientStop, ay as isCentredVectorGradient, az as isVectorGradient, aA as mapVectorGradient, aB as mapVectorPaint, aC as moveVectorGradientHandle, aD as moveVectorGradientStop, aE as parseSvgTransform, aF as parseVectorColor, aG as parseVectorSvg, aH as patternAttrs, aI as periodicVectorGradientStops, aJ as pinVectorGradient, aK as removeVectorGradientStop, aL as reverseVectorGradient, aM as samplePlainStops, aN as sampleVectorGradient, aO as sampleVectorGradientAt, aP as sampleVectorPaintDefAt, aQ as sanitizeVectorGradient, aR as setVectorGradientVector, aS as sortedVectorGradientStops, aT as spanVectorGradientStops, aU as transformVectorGradient, aV as transformVectorPaint, aW as vectorBoxMatrix, aX as vectorCornersAttribute, aY as vectorDocumentToSvg, aZ as vectorGradientArea, a_ as vectorGradientAspect, a$ as vectorGradientFocalParam, b0 as vectorGradientHandles, b1 as vectorGradientMatrix, b2 as vectorGradientMidpointFromPosition, b3 as vectorGradientMidpointPosition, b4 as vectorGradientNeedsExpansion, b5 as vectorGradientParam, b6 as vectorGradientPoints, b7 as vectorGradientRamp, b8 as vectorGradientSvgDefs, b9 as vectorGradientTAt, ba as vectorGradientUnitsMatrix, bb as vectorPaintToSvg, bc as vectorPathLocalBounds, bd as vectorStrokeSvgParts, be as widthProfileFromAttribute, bf as widthProfileToAttribute } from '../svg-CLg2zqZA.cjs';
1
+ import { d as Vec2, e as VectorSubpath, b as VectorBounds, f as VectorAnchor, V as VectorDocument, a as VectorNode, g as VectorPathNode, h as VectorAnchorType, i as VectorPaint, j as VectorGroupNode, k as VectorCornerKind, l as VectorWidthPoint, m as VectorGradientHandle, n as VectorGradient, o as VectorGradientStop, p as VectorViewport, q as VectorEffectType, r as VectorEffectParamsMap, s as VectorFillRule, t as VectorBooleanOperation, u as VectorEffect, v as VectorWarpMesh, w as VectorTransformHandle, x as VectorAnchorRef, y as VectorPathfinderOperation, z as VectorTool, A as VectorDefaults, B as VectorStyle, C as VectorHandleRef, D as VectorSegmentRef, E as VectorBlendOptions, F as VectorModifiers, c as VectorSvgExportOptions, G as VectorGradientPatch, H as VectorAlign, I as VectorDistribute, J as VectorArrange, K as VectorAverageAxis, L as VectorArrowhead, M as VectorBlendSpacing, N as VectorGradientInterpolation, O as VectorGradientSpread, P as VectorGradientType, Q as VectorStrokeAlign, R as VectorStrokeGradientMode, S as VectorRenderStrokeParts, T as VectorPaintDef, U as VectorArrowAlign, W as VectorBlend, X as VectorMergeMode, Y as VectorLineJoin, Z as VectorWarpStyle } from '../svg-ymShkNtu.cjs';
2
+ export { _ as VECTOR_ARROWHEADS, $ as VECTOR_BLEND_SPACINGS, a0 as VECTOR_CORNER_KINDS, a1 as VECTOR_EFFECT_TYPES, a2 as VECTOR_GRADIENT_INTERPOLATIONS, a3 as VECTOR_GRADIENT_MAX_PERIODS, a4 as VECTOR_GRADIENT_MIN_STOPS, a5 as VECTOR_GRADIENT_SPREADS, a6 as VECTOR_GRADIENT_TYPES, a7 as VECTOR_MERGE_MODES, a8 as VECTOR_PATHFINDER_OPERATIONS, a9 as VECTOR_STROKE_GRADIENT_MODES, aa as VECTOR_TOOLS, ab as VECTOR_TRANSFORM_HANDLES, ac as VectorCorner, ad as VectorGradientPoints, ae as VectorGradientRamp, af as VectorGradientSvgOptions, ag as VectorGradientUnits, ah as VectorLineCap, ai as VectorMatrix, aj as VectorPaintSvgOptions, ak as VectorRgba, al as VectorSvgImportOptions, am as VectorSvgPatternDef, an as VectorSvgWrapper, ao as applyVectorCornersAttribute, ap as applyVectorGradientPatch, aq as applyVectorGradientSpread, ar as convertVectorGradient, as as defaultVectorGradient, at as expandVectorGradientSpread, au as expandVectorGradientStops, av as explicitVectorGradient, aw as gradientMidpointRemap, ax as hasExplicitGradientGeometry, ay as insertVectorGradientStop, az as isCentredVectorGradient, aA as isVectorGradient, aB as mapVectorGradient, aC as mapVectorPaint, aD as moveVectorGradientHandle, aE as moveVectorGradientStop, aF as parseSvgTransform, aG as parseVectorColor, aH as parseVectorSvg, aI as patternAttrs, aJ as periodicVectorGradientStops, aK as pinVectorGradient, aL as removeVectorGradientStop, aM as reverseVectorGradient, aN as samplePlainStops, aO as sampleVectorGradient, aP as sampleVectorGradientAt, aQ as sampleVectorPaintDefAt, aR as sanitizeVectorGradient, aS as setVectorGradientVector, aT as sortedVectorGradientStops, aU as spanVectorGradientStops, aV as transformVectorGradient, aW as transformVectorPaint, aX as vectorBoxMatrix, aY as vectorCornersAttribute, aZ as vectorDocumentToSvg, a_ as vectorGradientArea, a$ as vectorGradientAspect, b0 as vectorGradientFocalParam, b1 as vectorGradientHandles, b2 as vectorGradientMatrix, b3 as vectorGradientMidpointFromPosition, b4 as vectorGradientMidpointPosition, b5 as vectorGradientNeedsExpansion, b6 as vectorGradientParam, b7 as vectorGradientPoints, b8 as vectorGradientRamp, b9 as vectorGradientSvgDefs, ba as vectorGradientTAt, bb as vectorGradientUnitsMatrix, bc as vectorPaintToSvg, bd as vectorPathLocalBounds, be as vectorStrokeSvgParts, bf as widthProfileFromAttribute, bg as widthProfileToAttribute } from '../svg-ymShkNtu.cjs';
3
3
  import { P as Point } from '../types-BFkYA4eF.cjs';
4
4
  import { A as AffineMatrix, a as BezierPathInput, B as BezierPath, c as BezierSegment } from '../bezier-BfwIbVTl.cjs';
5
5
  export { S as SvgGradientDef } from '../bezier-BfwIbVTl.cjs';
6
6
  import { H as HistoryManager } from '../HistoryManager-DeQQMBCj.cjs';
7
7
  import { C as CommandSpec } from '../registry-CaR7LC6W.cjs';
8
8
  import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-BZL8aSu0.cjs';
9
- import { b as AnimationEasing } from '../easing-CNGk-W6d.cjs';
9
+ import { b as AnimationEasing } from '../easing-lM0Xo9Ni.cjs';
10
10
  import '../types-DsiXGmjo.cjs';
11
11
  import '../schema-Di0CS6Pe.cjs';
12
12
 
@@ -1,12 +1,12 @@
1
- import { d as Vec2, e as VectorSubpath, b as VectorBounds, f as VectorAnchor, V as VectorDocument, a as VectorNode, g as VectorPathNode, h as VectorAnchorType, i as VectorPaint, j as VectorGroupNode, k as VectorCornerKind, l as VectorWidthPoint, m as VectorGradientHandle, n as VectorGradient, o as VectorGradientStop, p as VectorViewport, q as VectorEffectType, r as VectorEffectParamsMap, s as VectorFillRule, t as VectorBooleanOperation, u as VectorEffect, v as VectorWarpMesh, w as VectorTransformHandle, x as VectorAnchorRef, y as VectorPathfinderOperation, z as VectorTool, A as VectorDefaults, B as VectorStyle, C as VectorHandleRef, D as VectorSegmentRef, E as VectorBlendOptions, F as VectorModifiers, c as VectorSvgExportOptions, G as VectorGradientPatch, H as VectorAlign, I as VectorDistribute, J as VectorArrange, K as VectorAverageAxis, L as VectorArrowhead, M as VectorBlendSpacing, N as VectorGradientInterpolation, O as VectorGradientSpread, P as VectorGradientType, Q as VectorStrokeAlign, R as VectorStrokeGradientMode, S as VectorRenderStrokeParts, T as VectorPaintDef, U as VectorArrowAlign, W as VectorBlend, X as VectorMergeMode, Y as VectorLineJoin, Z as VectorWarpStyle } from '../svg-CPK82TtU.js';
2
- export { _ as VECTOR_ARROWHEADS, $ as VECTOR_BLEND_SPACINGS, a0 as VECTOR_CORNER_KINDS, a1 as VECTOR_EFFECT_TYPES, a2 as VECTOR_GRADIENT_INTERPOLATIONS, a3 as VECTOR_GRADIENT_MAX_PERIODS, a4 as VECTOR_GRADIENT_MIN_STOPS, a5 as VECTOR_GRADIENT_SPREADS, a6 as VECTOR_GRADIENT_TYPES, a7 as VECTOR_MERGE_MODES, a8 as VECTOR_PATHFINDER_OPERATIONS, a9 as VECTOR_STROKE_GRADIENT_MODES, aa as VECTOR_TOOLS, ab as VECTOR_TRANSFORM_HANDLES, ac as VectorCorner, ad as VectorGradientPoints, ae as VectorGradientRamp, af as VectorGradientSvgOptions, ag as VectorGradientUnits, ah as VectorLineCap, ai as VectorMatrix, aj as VectorPaintSvgOptions, ak as VectorRgba, al as VectorSvgImportOptions, am as VectorSvgPatternDef, an as applyVectorCornersAttribute, ao as applyVectorGradientPatch, ap as applyVectorGradientSpread, aq as convertVectorGradient, ar as defaultVectorGradient, as as expandVectorGradientSpread, at as expandVectorGradientStops, au as explicitVectorGradient, av as gradientMidpointRemap, aw as hasExplicitGradientGeometry, ax as insertVectorGradientStop, ay as isCentredVectorGradient, az as isVectorGradient, aA as mapVectorGradient, aB as mapVectorPaint, aC as moveVectorGradientHandle, aD as moveVectorGradientStop, aE as parseSvgTransform, aF as parseVectorColor, aG as parseVectorSvg, aH as patternAttrs, aI as periodicVectorGradientStops, aJ as pinVectorGradient, aK as removeVectorGradientStop, aL as reverseVectorGradient, aM as samplePlainStops, aN as sampleVectorGradient, aO as sampleVectorGradientAt, aP as sampleVectorPaintDefAt, aQ as sanitizeVectorGradient, aR as setVectorGradientVector, aS as sortedVectorGradientStops, aT as spanVectorGradientStops, aU as transformVectorGradient, aV as transformVectorPaint, aW as vectorBoxMatrix, aX as vectorCornersAttribute, aY as vectorDocumentToSvg, aZ as vectorGradientArea, a_ as vectorGradientAspect, a$ as vectorGradientFocalParam, b0 as vectorGradientHandles, b1 as vectorGradientMatrix, b2 as vectorGradientMidpointFromPosition, b3 as vectorGradientMidpointPosition, b4 as vectorGradientNeedsExpansion, b5 as vectorGradientParam, b6 as vectorGradientPoints, b7 as vectorGradientRamp, b8 as vectorGradientSvgDefs, b9 as vectorGradientTAt, ba as vectorGradientUnitsMatrix, bb as vectorPaintToSvg, bc as vectorPathLocalBounds, bd as vectorStrokeSvgParts, be as widthProfileFromAttribute, bf as widthProfileToAttribute } from '../svg-CPK82TtU.js';
1
+ import { d as Vec2, e as VectorSubpath, b as VectorBounds, f as VectorAnchor, V as VectorDocument, a as VectorNode, g as VectorPathNode, h as VectorAnchorType, i as VectorPaint, j as VectorGroupNode, k as VectorCornerKind, l as VectorWidthPoint, m as VectorGradientHandle, n as VectorGradient, o as VectorGradientStop, p as VectorViewport, q as VectorEffectType, r as VectorEffectParamsMap, s as VectorFillRule, t as VectorBooleanOperation, u as VectorEffect, v as VectorWarpMesh, w as VectorTransformHandle, x as VectorAnchorRef, y as VectorPathfinderOperation, z as VectorTool, A as VectorDefaults, B as VectorStyle, C as VectorHandleRef, D as VectorSegmentRef, E as VectorBlendOptions, F as VectorModifiers, c as VectorSvgExportOptions, G as VectorGradientPatch, H as VectorAlign, I as VectorDistribute, J as VectorArrange, K as VectorAverageAxis, L as VectorArrowhead, M as VectorBlendSpacing, N as VectorGradientInterpolation, O as VectorGradientSpread, P as VectorGradientType, Q as VectorStrokeAlign, R as VectorStrokeGradientMode, S as VectorRenderStrokeParts, T as VectorPaintDef, U as VectorArrowAlign, W as VectorBlend, X as VectorMergeMode, Y as VectorLineJoin, Z as VectorWarpStyle } from '../svg-Dh17jCyA.js';
2
+ export { _ as VECTOR_ARROWHEADS, $ as VECTOR_BLEND_SPACINGS, a0 as VECTOR_CORNER_KINDS, a1 as VECTOR_EFFECT_TYPES, a2 as VECTOR_GRADIENT_INTERPOLATIONS, a3 as VECTOR_GRADIENT_MAX_PERIODS, a4 as VECTOR_GRADIENT_MIN_STOPS, a5 as VECTOR_GRADIENT_SPREADS, a6 as VECTOR_GRADIENT_TYPES, a7 as VECTOR_MERGE_MODES, a8 as VECTOR_PATHFINDER_OPERATIONS, a9 as VECTOR_STROKE_GRADIENT_MODES, aa as VECTOR_TOOLS, ab as VECTOR_TRANSFORM_HANDLES, ac as VectorCorner, ad as VectorGradientPoints, ae as VectorGradientRamp, af as VectorGradientSvgOptions, ag as VectorGradientUnits, ah as VectorLineCap, ai as VectorMatrix, aj as VectorPaintSvgOptions, ak as VectorRgba, al as VectorSvgImportOptions, am as VectorSvgPatternDef, an as VectorSvgWrapper, ao as applyVectorCornersAttribute, ap as applyVectorGradientPatch, aq as applyVectorGradientSpread, ar as convertVectorGradient, as as defaultVectorGradient, at as expandVectorGradientSpread, au as expandVectorGradientStops, av as explicitVectorGradient, aw as gradientMidpointRemap, ax as hasExplicitGradientGeometry, ay as insertVectorGradientStop, az as isCentredVectorGradient, aA as isVectorGradient, aB as mapVectorGradient, aC as mapVectorPaint, aD as moveVectorGradientHandle, aE as moveVectorGradientStop, aF as parseSvgTransform, aG as parseVectorColor, aH as parseVectorSvg, aI as patternAttrs, aJ as periodicVectorGradientStops, aK as pinVectorGradient, aL as removeVectorGradientStop, aM as reverseVectorGradient, aN as samplePlainStops, aO as sampleVectorGradient, aP as sampleVectorGradientAt, aQ as sampleVectorPaintDefAt, aR as sanitizeVectorGradient, aS as setVectorGradientVector, aT as sortedVectorGradientStops, aU as spanVectorGradientStops, aV as transformVectorGradient, aW as transformVectorPaint, aX as vectorBoxMatrix, aY as vectorCornersAttribute, aZ as vectorDocumentToSvg, a_ as vectorGradientArea, a$ as vectorGradientAspect, b0 as vectorGradientFocalParam, b1 as vectorGradientHandles, b2 as vectorGradientMatrix, b3 as vectorGradientMidpointFromPosition, b4 as vectorGradientMidpointPosition, b5 as vectorGradientNeedsExpansion, b6 as vectorGradientParam, b7 as vectorGradientPoints, b8 as vectorGradientRamp, b9 as vectorGradientSvgDefs, ba as vectorGradientTAt, bb as vectorGradientUnitsMatrix, bc as vectorPaintToSvg, bd as vectorPathLocalBounds, be as vectorStrokeSvgParts, bf as widthProfileFromAttribute, bg as widthProfileToAttribute } from '../svg-Dh17jCyA.js';
3
3
  import { P as Point } from '../types-BFkYA4eF.js';
4
4
  import { A as AffineMatrix, a as BezierPathInput, B as BezierPath, c as BezierSegment } from '../bezier-DYBvLgUH.js';
5
5
  export { S as SvgGradientDef } from '../bezier-DYBvLgUH.js';
6
6
  import { H as HistoryManager } from '../HistoryManager-DWSLd6Tf.js';
7
7
  import { C as CommandSpec } from '../registry-rVtFJjRM.js';
8
8
  import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-CNtsbCRK.js';
9
- import { b as AnimationEasing } from '../easing-CNGk-W6d.js';
9
+ import { b as AnimationEasing } from '../easing-lM0Xo9Ni.js';
10
10
  import '../types-DsiXGmjo.js';
11
11
  import '../schema-Di0CS6Pe.js';
12
12
 
@@ -267,7 +267,7 @@ import {
267
267
  widthProfileToAttribute,
268
268
  wigglePaths,
269
269
  zigzagPaths
270
- } from "../chunk-NONDTTH7.js";
270
+ } from "../chunk-3TLL5OID.js";
271
271
  import {
272
272
  bezierPathBounds,
273
273
  bezierPathToSvg,
@@ -299,7 +299,7 @@ import "../chunk-ZRJMJIQU.js";
299
299
  import {
300
300
  hexToRgba
301
301
  } from "../chunk-TGD52FEZ.js";
302
- import "../chunk-UB2OY7FD.js";
302
+ import "../chunk-AGR4P4UZ.js";
303
303
 
304
304
  // src/vector/gradientTool.ts
305
305
  var VECTOR_GRADIENT_STOP_GAP = 12;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixerate/editor",
3
- "version": "0.57.0",
3
+ "version": "0.59.0",
4
4
  "description": "UI-agnostic rich text and media editing core library",
5
5
  "author": "Pixerate",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/animation/easing.ts"],"sourcesContent":["// Portions ported from filmcraft-main/crates/project/src/keyframe.rs (MIT OR Apache-2.0, © ArtCraft Team and contributors). See THIRD_PARTY_NOTICES.md.\n\n/**\n * Keyframe easing: the curve a segment follows from one keyframe to the next.\n *\n * - `hold` keeps the first keyframe's value until the next one (a step).\n * - `linear` and the CSS presets (`ease`, `ease-in`, `ease-out`, `ease-in-out`) are\n * CSS-compatible `cubic-bezier()` curves; `{ type: 'cubic-bezier', x1, y1, x2, y2 }` is any\n * such curve (x1 / y1 is the leaving keyframe's out handle, x2 / y2 the next one's in handle).\n * - `spring` is a damped spring settling on the next value (it may overshoot).\n */\n\n/** Named easing presets. */\nexport type AnimationEasingPreset =\n\t| 'linear'\n\t| 'hold'\n\t| 'ease'\n\t| 'ease-in'\n\t| 'ease-out'\n\t| 'ease-in-out'\n\t| 'ease-in-back'\n\t| 'ease-out-back'\n\t| 'ease-out-elastic'\n\t| 'ease-in-elastic'\n\t| 'ease-in-out-elastic'\n\t| 'elastic'\n\t| 'spring';\n\nexport interface CubicBezierEasing {\n\ttype: 'cubic-bezier';\n\tx1: number;\n\ty1: number;\n\tx2: number;\n\ty2: number;\n}\n\nexport interface SpringEasing {\n\ttype: 'spring';\n\t/** Spring stiffness (default 170). */\n\tstiffness?: number;\n\t/** Damping (default 26). */\n\tdamping?: number;\n\t/** Mass (default 1). */\n\tmass?: number;\n\t/** Initial velocity in units of the segment's value change per second (default 0). */\n\tvelocity?: number;\n}\n\nexport interface ElasticEasing {\n\ttype: 'elastic';\n\t/** Amplitude / overshoot factor (default 1). */\n\tamplitude?: number;\n\t/** Period of oscillation as a fraction of duration (default 0.3). */\n\tperiod?: number;\n\t/** Mode of elastic oscillation ('out' | 'in' | 'in-out', default 'out'). */\n\tmode?: 'out' | 'in' | 'in-out';\n}\n\nexport type AnimationEasing = AnimationEasingPreset | CubicBezierEasing | SpringEasing | ElasticEasing;\n\n/** Preset names, in picker order. */\nexport const ANIMATION_EASING_PRESETS: readonly AnimationEasingPreset[] = [\n\t'linear',\n\t'ease',\n\t'ease-in',\n\t'ease-out',\n\t'ease-in-out',\n\t'ease-in-back',\n\t'ease-out-back',\n\t'ease-out-elastic',\n\t'ease-in-elastic',\n\t'ease-in-out-elastic',\n\t'elastic',\n\t'spring',\n\t'hold'\n];\n\n/** Picker labels for the presets. */\nexport const ANIMATION_EASING_LABELS: Readonly<Record<AnimationEasingPreset, string>> = {\n\tlinear: 'Linear',\n\thold: 'Hold',\n\tease: 'Ease',\n\t'ease-in': 'Ease in',\n\t'ease-out': 'Ease out',\n\t'ease-in-out': 'Ease in-out',\n\t'ease-in-back': 'Back in',\n\t'ease-out-back': 'Back out',\n\t'ease-out-elastic': 'Elastic out',\n\t'ease-in-elastic': 'Elastic in',\n\t'ease-in-out-elastic': 'Elastic in-out',\n\telastic: 'Elastic',\n\tspring: 'Spring'\n};\n\n/** The CSS control points of the bezier presets (CSS Easing Functions Level 1 values for the CSS keywords). */\nexport const CUBIC_BEZIER_PRESETS: Readonly<Record<string, readonly [number, number, number, number]>> = {\n\tlinear: [0, 0, 1, 1],\n\tease: [0.25, 0.1, 0.25, 1],\n\t'ease-in': [0.42, 0, 1, 1],\n\t'ease-out': [0, 0, 0.58, 1],\n\t'ease-in-out': [0.42, 0, 0.58, 1],\n\t'ease-in-back': [0.36, 0, 0.66, -0.56],\n\t'ease-out-back': [0.34, 1.56, 0.64, 1]\n};\n\nconst DEFAULT_SPRING = { stiffness: 170, damping: 26, mass: 1, velocity: 0 };\nconst DEFAULT_ELASTIC = { amplitude: 1, period: 0.3, mode: 'out' as const };\n\nconst clamp = (v: number, lo: number, hi: number) => Math.min(hi, Math.max(lo, v));\nconst finite = (v: unknown, fallback: number) => (typeof v === 'number' && Number.isFinite(v) ? v : fallback);\n\n/**\n * Normalised position for a parametric elastic oscillation curve (as used in Rive and Penner curves).\n * Amplitude controls the overshoot intensity; period controls the wave frequency across normalized progress `t` (0–1).\n */\nexport function elasticAt(elastic: Omit<ElasticEasing, 'type'>, t: number): number {\n\tif (t <= 0) return 0;\n\tif (t >= 1) return 1;\n\n\tconst a = Math.max(1e-6, finite(elastic.amplitude, DEFAULT_ELASTIC.amplitude));\n\tconst p = Math.max(1e-6, finite(elastic.period, DEFAULT_ELASTIC.period));\n\tconst mode = elastic.mode ?? 'out';\n\n\tconst TAU = 2 * Math.PI;\n\n\tconst solveOut = (u: number, amp: number, per: number) => {\n\t\tconst s = amp < 1 ? per / 4 : (per / TAU) * Math.asin(1 / amp);\n\t\treturn amp * Math.pow(2, -10 * u) * Math.sin(((u - s) * TAU) / per) + 1;\n\t};\n\n\tconst solveIn = (u: number, amp: number, per: number) => {\n\t\tconst s = amp < 1 ? per / 4 : (per / TAU) * Math.asin(1 / amp);\n\t\tconst adjusted = u - 1;\n\t\treturn -(amp * Math.pow(2, 10 * adjusted) * Math.sin(((adjusted - s) * TAU) / per));\n\t};\n\n\tif (mode === 'in') {\n\t\treturn solveIn(t, a, p);\n\t}\n\tif (mode === 'in-out') {\n\t\tif (t < 0.5) {\n\t\t\treturn 0.5 * solveIn(t * 2, a, p);\n\t\t}\n\t\treturn 0.5 + 0.5 * solveOut((t - 0.5) * 2, a, p);\n\t}\n\treturn solveOut(t, a, p);\n}\n\n/**\n * Solves a CSS `cubic-bezier(x1, y1, x2, y2)` for y at progress x (Newton steps with a\n * bisection fallback). x1 / x2 are clamped to 0–1 as CSS requires.\n */\nexport function cubicBezierAt(x1: number, y1: number, x2: number, y2: number, x: number): number {\n\tif (x <= 0) return 0;\n\tif (x >= 1) return 1;\n\tx1 = clamp(x1, 0, 1);\n\tx2 = clamp(x2, 0, 1);\n\tconst bx = (s: number) => 3 * (1 - s) * (1 - s) * s * x1 + 3 * (1 - s) * s * s * x2 + s * s * s;\n\tconst by = (s: number) => 3 * (1 - s) * (1 - s) * s * y1 + 3 * (1 - s) * s * s * y2 + s * s * s;\n\tconst dbx = (s: number) => 3 * (1 - s) * (1 - s) * x1 + 6 * (1 - s) * s * (x2 - x1) + 3 * s * s * (1 - x2);\n\tlet s = x;\n\tfor (let i = 0; i < 8; i++) {\n\t\tconst d = dbx(s);\n\t\tif (Math.abs(d) < 1e-9) break;\n\t\tconst next = s - (bx(s) - x) / d;\n\t\tif (!(next >= 0 && next <= 1)) break;\n\t\ts = next;\n\t}\n\tif (Math.abs(bx(s) - x) > 1e-7) {\n\t\tlet lo = 0;\n\t\tlet hi = 1;\n\t\tfor (let i = 0; i < 60; i++) {\n\t\t\ts = (lo + hi) / 2;\n\t\t\tif (bx(s) < x) lo = s;\n\t\t\telse hi = s;\n\t\t}\n\t}\n\treturn by(s);\n}\n\n/**\n * Normalised position of a damped spring released from 0 towards 1, `seconds` after release.\n * Closed form for under-, critically and over-damped springs.\n */\nexport function springAt(spring: Omit<SpringEasing, 'type'>, seconds: number): number {\n\tconst stiffness = Math.max(1e-6, finite(spring.stiffness, DEFAULT_SPRING.stiffness));\n\tconst damping = Math.max(0, finite(spring.damping, DEFAULT_SPRING.damping));\n\tconst mass = Math.max(1e-6, finite(spring.mass, DEFAULT_SPRING.mass));\n\tconst v0 = -finite(spring.velocity, DEFAULT_SPRING.velocity);\n\tconst t = Math.max(0, seconds);\n\tconst w0 = Math.sqrt(stiffness / mass);\n\tconst zeta = damping / (2 * Math.sqrt(stiffness * mass));\n\t// x(t) is the displacement from the target (starts at 1); progress = 1 - x.\n\tlet x: number;\n\tif (zeta < 1 - 1e-6) {\n\t\tconst wd = w0 * Math.sqrt(1 - zeta * zeta);\n\t\tx = Math.exp(-zeta * w0 * t) * (Math.cos(wd * t) + ((zeta * w0 + v0) / wd) * Math.sin(wd * t));\n\t} else if (zeta <= 1 + 1e-6) {\n\t\tx = Math.exp(-w0 * t) * (1 + (w0 + v0) * t);\n\t} else {\n\t\tconst r = Math.sqrt(zeta * zeta - 1);\n\t\tconst s1 = -w0 * (zeta - r);\n\t\tconst s2 = -w0 * (zeta + r);\n\t\tconst c2 = (v0 - s1) / (s2 - s1);\n\t\tconst c1 = 1 - c2;\n\t\tx = c1 * Math.exp(s1 * t) + c2 * Math.exp(s2 * t);\n\t}\n\treturn 1 - x;\n}\n\n/** Resolves an easing to a cubic-bezier, spring, elastic or hold descriptor (unknown input → linear). */\nexport function resolveEasing(\n\teasing: AnimationEasing | string | undefined | null\n): CubicBezierEasing | Required<SpringEasing> | Required<ElasticEasing> | 'hold' {\n\tif (easing === 'hold') return 'hold';\n\tif (easing === 'spring') return { type: 'spring', ...DEFAULT_SPRING };\n\tif (easing === 'elastic' || easing === 'ease-out-elastic') {\n\t\treturn { type: 'elastic', ...DEFAULT_ELASTIC, mode: 'out' };\n\t}\n\tif (easing === 'ease-in-elastic') {\n\t\treturn { type: 'elastic', ...DEFAULT_ELASTIC, mode: 'in' };\n\t}\n\tif (easing === 'ease-in-out-elastic') {\n\t\treturn { type: 'elastic', ...DEFAULT_ELASTIC, mode: 'in-out' };\n\t}\n\tif (typeof easing === 'string') {\n\t\tconst preset = CUBIC_BEZIER_PRESETS[easing];\n\t\tif (preset) return { type: 'cubic-bezier', x1: preset[0], y1: preset[1], x2: preset[2], y2: preset[3] };\n\t\tconst parsed = parseCssEasing(easing);\n\t\treturn parsed ? resolveEasing(parsed) : { type: 'cubic-bezier', x1: 0, y1: 0, x2: 1, y2: 1 };\n\t}\n\tif (easing && typeof easing === 'object') {\n\t\tif (easing.type === 'spring') {\n\t\t\treturn {\n\t\t\t\ttype: 'spring',\n\t\t\t\tstiffness: finite(easing.stiffness, DEFAULT_SPRING.stiffness),\n\t\t\t\tdamping: finite(easing.damping, DEFAULT_SPRING.damping),\n\t\t\t\tmass: finite(easing.mass, DEFAULT_SPRING.mass),\n\t\t\t\tvelocity: finite(easing.velocity, DEFAULT_SPRING.velocity)\n\t\t\t};\n\t\t}\n\t\tif (easing.type === 'elastic') {\n\t\t\treturn {\n\t\t\t\ttype: 'elastic',\n\t\t\t\tamplitude: finite(easing.amplitude, DEFAULT_ELASTIC.amplitude),\n\t\t\t\tperiod: finite(easing.period, DEFAULT_ELASTIC.period),\n\t\t\t\tmode: easing.mode === 'in' || easing.mode === 'in-out' ? easing.mode : 'out'\n\t\t\t};\n\t\t}\n\t\tif (easing.type === 'cubic-bezier') {\n\t\t\treturn {\n\t\t\t\ttype: 'cubic-bezier',\n\t\t\t\tx1: clamp(finite(easing.x1, 0), 0, 1),\n\t\t\t\ty1: finite(easing.y1, 0),\n\t\t\t\tx2: clamp(finite(easing.x2, 1), 0, 1),\n\t\t\t\ty2: finite(easing.y2, 1)\n\t\t\t};\n\t\t}\n\t}\n\treturn { type: 'cubic-bezier', x1: 0, y1: 0, x2: 1, y2: 1 };\n}\n\n/**\n * Eased progress for linear progress `u` (0–1) through a segment lasting `durationMs`\n * (springs depend on real time; other curves ignore it). `hold` returns 0 until `u` reaches 1.\n */\nexport function evaluateEasing(easing: AnimationEasing | string | undefined | null, u: number, durationMs = 1000): number {\n\tif (!(u > 0)) return 0;\n\tif (u >= 1) return 1;\n\tconst resolved = resolveEasing(easing);\n\tif (resolved === 'hold') return 0;\n\tif (resolved.type === 'spring') return springAt(resolved, (u * Math.max(0, durationMs)) / 1000);\n\tif (resolved.type === 'elastic') return elasticAt(resolved, u);\n\tconst { x1, y1, x2, y2 } = resolved;\n\tif (x1 === y1 && x2 === y2) return u; // linear\n\treturn cubicBezierAt(x1, y1, x2, y2, u);\n}\n\n/**\n * The easing filmcraft (and Premiere) derive from temporal \"influence\" handles: flat handles of\n * the given influences (0.01–1, default 1/3) on the leaving and arriving keyframe.\n */\nexport function easingFromInfluence(outInfluence = 1 / 3, inInfluence = 1 / 3): CubicBezierEasing {\n\treturn {\n\t\ttype: 'cubic-bezier',\n\t\tx1: clamp(outInfluence, 0.01, 1),\n\t\ty1: 0,\n\t\tx2: 1 - clamp(inInfluence, 0.01, 1),\n\t\ty2: 1\n\t};\n}\n\nconst NUMBER = String.raw`\\s*(-?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[-+]?\\d+)?)\\s*`;\nconst CUBIC_RE = new RegExp(`^cubic-bezier\\\\(${NUMBER},${NUMBER},${NUMBER},${NUMBER}\\\\)$`, 'i');\n\n/**\n * Parses a CSS easing (`linear`, `ease…`, `cubic-bezier(…)`, `steps(1, end)` / `step-end` →\n * hold) or a preset name. Returns `null` for anything else.\n */\nexport function parseCssEasing(text: string): AnimationEasing | null {\n\tconst value = text.trim().toLowerCase();\n\tif (value.length > 200) return null;\n\tif ((ANIMATION_EASING_PRESETS as readonly string[]).includes(value)) return value as AnimationEasingPreset;\n\tif (value === 'step-end' || /^steps\\(\\s*1\\s*(,\\s*(end|jump-end)\\s*)?\\)$/.test(value)) return 'hold';\n\tconst m = CUBIC_RE.exec(value);\n\tif (!m) return null;\n\tconst [x1, y1, x2, y2] = m.slice(1).map(Number);\n\tif (![x1, y1, x2, y2].every(Number.isFinite) || x1 < 0 || x1 > 1 || x2 < 0 || x2 > 1) return null;\n\treturn { type: 'cubic-bezier', x1, y1, x2, y2 };\n}\n\n/** Whether a value is a usable easing (preset name, CSS easing string or descriptor). */\nexport function isAnimationEasing(value: unknown): value is AnimationEasing {\n\tif (typeof value === 'string') return parseCssEasing(value) !== null;\n\tif (typeof value !== 'object' || value === null) return false;\n\tconst e = value as Record<string, unknown>;\n\tif (e.type === 'spring') return true;\n\tif (e.type === 'elastic') return true;\n\treturn e.type === 'cubic-bezier' && [e.x1, e.y1, e.x2, e.y2].every((v) => typeof v === 'number' && Number.isFinite(v));\n}\n\nconst round = (v: number, digits = 4) => {\n\tconst p = 10 ** digits;\n\treturn Math.round(v * p) / p;\n};\n\n/**\n * The CSS `animation-timing-function` for an easing: a keyword or `cubic-bezier()`,\n * `steps(1, end)` for hold, and a sampled `linear(…)` for springs over `durationMs`.\n */\nexport function easingToCss(easing: AnimationEasing | string | undefined | null, durationMs = 1000, samples = 24): string {\n\tconst resolved = resolveEasing(easing);\n\tif (resolved === 'hold') return 'steps(1, end)';\n\tif (resolved.type === 'spring') {\n\t\tconst n = Math.max(2, Math.floor(samples));\n\t\tconst points: string[] = [];\n\t\tfor (let i = 0; i <= n; i++) points.push(String(round(i === n ? 1 : springAt(resolved, ((i / n) * durationMs) / 1000))));\n\t\treturn `linear(${points.join(', ')})`;\n\t}\n\tif (resolved.type === 'elastic') {\n\t\tconst n = Math.max(2, Math.floor(samples));\n\t\tconst points: string[] = [];\n\t\tfor (let i = 0; i <= n; i++) points.push(String(round(i === n ? 1 : elasticAt(resolved, i / n))));\n\t\treturn `linear(${points.join(', ')})`;\n\t}\n\tconst { x1, y1, x2, y2 } = resolved;\n\tfor (const [name, p] of Object.entries(CUBIC_BEZIER_PRESETS)) {\n\t\tif (['linear', 'ease', 'ease-in', 'ease-out', 'ease-in-out'].includes(name) && p[0] === x1 && p[1] === y1 && p[2] === x2 && p[3] === y2) {\n\t\t\treturn name;\n\t\t}\n\t}\n\treturn `cubic-bezier(${round(x1)}, ${round(y1)}, ${round(x2)}, ${round(y2)})`;\n}\n\n/** Short label for an easing (a preset's label, or `Custom` / `Spring` / `Elastic`). */\nexport function easingLabel(easing: AnimationEasing | undefined | null): string {\n\tif (easing === undefined || easing === null) return ANIMATION_EASING_LABELS.linear;\n\tif (typeof easing === 'string') return ANIMATION_EASING_LABELS[easing as AnimationEasingPreset] ?? easing;\n\tif (easing.type === 'spring') return 'Spring';\n\tif (easing.type === 'elastic') return 'Elastic';\n\treturn 'Custom';\n}\n"],"mappings":"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","names":["s"]}