@pixerate/editor 0.108.0 → 0.110.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 (105) hide show
  1. package/dist/animation/index.cjs +5 -5
  2. package/dist/animation/index.cjs.map +1 -1
  3. package/dist/animation/index.js +9 -9
  4. package/dist/animation-editor/index.cjs +59 -59
  5. package/dist/animation-editor/index.cjs.map +1 -1
  6. package/dist/animation-editor/index.d.cts +2 -1
  7. package/dist/animation-editor/index.d.ts +2 -1
  8. package/dist/animation-editor/index.js +29 -29
  9. package/dist/blending-DXl06NSx.d.ts +486 -0
  10. package/dist/blending-aOE6Y3UE.d.cts +486 -0
  11. package/dist/canvas/index.cjs +27 -27
  12. package/dist/canvas/index.cjs.map +1 -1
  13. package/dist/canvas/index.js +11 -11
  14. package/dist/{chunk-2FGRTYJN.cjs → chunk-477UVMNR.cjs} +3 -3
  15. package/dist/{chunk-2FGRTYJN.cjs.map → chunk-477UVMNR.cjs.map} +1 -1
  16. package/dist/chunk-7VOHOPLW.cjs +1136 -0
  17. package/dist/chunk-7VOHOPLW.cjs.map +1 -0
  18. package/dist/{chunk-HUQ7EHVI.js → chunk-BLWCAQCW.js} +723 -1975
  19. package/dist/chunk-BLWCAQCW.js.map +1 -0
  20. package/dist/{chunk-SOROZ2BF.js → chunk-DMRSJBJF.js} +1939 -318
  21. package/dist/chunk-DMRSJBJF.js.map +1 -0
  22. package/dist/chunk-FTBZPI77.cjs +1 -0
  23. package/dist/chunk-FTBZPI77.cjs.map +1 -0
  24. package/dist/{chunk-WMBIJCHA.js → chunk-HNS7UHCM.js} +5 -1
  25. package/dist/{chunk-WMBIJCHA.js.map → chunk-HNS7UHCM.js.map} +1 -1
  26. package/dist/chunk-JLYX4V57.cjs +2001 -0
  27. package/dist/chunk-JLYX4V57.cjs.map +1 -0
  28. package/dist/chunk-KB2YBCVS.js +2001 -0
  29. package/dist/chunk-KB2YBCVS.js.map +1 -0
  30. package/dist/{chunk-G4BIYE6R.js → chunk-LQEEDHOP.js} +40 -2
  31. package/dist/chunk-LQEEDHOP.js.map +1 -0
  32. package/dist/{chunk-FRD3FUXI.cjs → chunk-MGL4U5WA.cjs} +2144 -523
  33. package/dist/chunk-MGL4U5WA.cjs.map +1 -0
  34. package/dist/{chunk-T3QZ6S47.cjs → chunk-POGBUYWE.cjs} +131 -93
  35. package/dist/chunk-POGBUYWE.cjs.map +1 -0
  36. package/dist/chunk-VKK5VS2T.js +1 -0
  37. package/dist/{chunk-UTEVPQTS.cjs → chunk-W3GXSUSQ.cjs} +746 -1998
  38. package/dist/chunk-W3GXSUSQ.cjs.map +1 -0
  39. package/dist/{chunk-SZ6KMZNM.cjs → chunk-XIOMMGPD.cjs} +6 -2
  40. package/dist/chunk-XIOMMGPD.cjs.map +1 -0
  41. package/dist/{chunk-JK6M6V7G.js → chunk-Z3YWVUWT.js} +4 -4
  42. package/dist/{chunk-3PHA3UKI.js → chunk-Z4BC6M74.js} +523 -121
  43. package/dist/chunk-Z4BC6M74.js.map +1 -0
  44. package/dist/{export-a9bnF7Cl.d.ts → export-CO2ryu3I.d.ts} +419 -18
  45. package/dist/{export-JGWQEPJn.d.cts → export-DRiLzP_j.d.cts} +419 -18
  46. package/dist/image-editor/index.cjs +1665 -1113
  47. package/dist/image-editor/index.cjs.map +1 -1
  48. package/dist/image-editor/index.d.cts +78 -14
  49. package/dist/image-editor/index.d.ts +78 -14
  50. package/dist/image-editor/index.js +843 -291
  51. package/dist/image-editor/index.js.map +1 -1
  52. package/dist/paint/index.cjs +28 -4
  53. package/dist/paint/index.cjs.map +1 -1
  54. package/dist/paint/index.d.cts +3 -89
  55. package/dist/paint/index.d.ts +3 -89
  56. package/dist/paint/index.js +27 -3
  57. package/dist/paint-editor/index.cjs +1056 -287
  58. package/dist/paint-editor/index.cjs.map +1 -1
  59. package/dist/paint-editor/index.d.cts +304 -22
  60. package/dist/paint-editor/index.d.ts +304 -22
  61. package/dist/paint-editor/index.js +852 -83
  62. package/dist/paint-editor/index.js.map +1 -1
  63. package/dist/raster/index.cjs +7 -3
  64. package/dist/raster/index.cjs.map +1 -1
  65. package/dist/raster/index.d.cts +3 -129
  66. package/dist/raster/index.d.ts +3 -129
  67. package/dist/raster/index.js +6 -2
  68. package/dist/{compositor-D92URMlm.d.cts → render-BEriFuqK.d.cts} +136 -2
  69. package/dist/{compositor-Kt_M4ruo.d.ts → render-tjzKaik-.d.ts} +136 -2
  70. package/dist/{surface-CkKOHGPm.d.cts → surface-C8RRg_Bh.d.cts} +109 -1
  71. package/dist/{surface-CkKOHGPm.d.ts → surface-C8RRg_Bh.d.ts} +109 -1
  72. package/dist/{svg-SseJTIrA.d.ts → svg-D_cfkhlB.d.cts} +3 -629
  73. package/dist/{svg-ClVIG4T7.d.cts → svg-wIaKLrU0.d.ts} +3 -629
  74. package/dist/types-DtL_qLFz.d.ts +630 -0
  75. package/dist/types-DyQq-WPY.d.cts +630 -0
  76. package/dist/vector/index.cjs +563 -563
  77. package/dist/vector/index.cjs.map +1 -1
  78. package/dist/vector/index.d.cts +4 -2
  79. package/dist/vector/index.d.ts +4 -2
  80. package/dist/vector/index.js +69 -69
  81. package/dist/video-editor/index.cjs +3 -3
  82. package/dist/video-editor/index.js +2 -2
  83. package/package.json +1 -1
  84. package/skills/pixerate-paint-editor/SKILL.md +49 -13
  85. package/dist/chunk-3PHA3UKI.js.map +0 -1
  86. package/dist/chunk-6BU5WU4R.cjs +0 -1
  87. package/dist/chunk-6BU5WU4R.cjs.map +0 -1
  88. package/dist/chunk-DWGZUSES.cjs +0 -694
  89. package/dist/chunk-DWGZUSES.cjs.map +0 -1
  90. package/dist/chunk-FRD3FUXI.cjs.map +0 -1
  91. package/dist/chunk-G4BIYE6R.js.map +0 -1
  92. package/dist/chunk-HUFQD4CB.cjs +0 -734
  93. package/dist/chunk-HUFQD4CB.cjs.map +0 -1
  94. package/dist/chunk-HUQ7EHVI.js.map +0 -1
  95. package/dist/chunk-KKREERP2.js +0 -694
  96. package/dist/chunk-KKREERP2.js.map +0 -1
  97. package/dist/chunk-SOROZ2BF.js.map +0 -1
  98. package/dist/chunk-SZ6KMZNM.cjs.map +0 -1
  99. package/dist/chunk-T3QZ6S47.cjs.map +0 -1
  100. package/dist/chunk-UTEVPQTS.cjs.map +0 -1
  101. package/dist/chunk-XYBJKUAU.js +0 -1
  102. package/dist/mixer-5ziHU8OS.d.cts +0 -282
  103. package/dist/mixer-DNqiYXYQ.d.ts +0 -282
  104. /package/dist/{chunk-XYBJKUAU.js.map → chunk-VKK5VS2T.js.map} +0 -0
  105. /package/dist/{chunk-JK6M6V7G.js.map → chunk-Z3YWVUWT.js.map} +0 -0
@@ -1,8 +1,10 @@
1
- import { d as Vec2$1, 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 VectorTransformHandle, r as VectorAnchorRef, s as VectorPathfinderOperation, t as VectorTool, u as VectorDefaults, v as VectorStyle, w as VectorHandleRef, x as VectorSegmentRef, y as VectorBlendOptions, z as VectorModifiers, c as VectorSvgExportOptions, A as VectorGradientPatch, B as VectorBlendMode, C as VectorFilterType, D as VectorEffectType, E as VectorEnvelopeParams, F as VectorAlign, G as VectorDistribute, H as VectorArrange, I as VectorBooleanOperation, J as VectorMaskType, K as VectorMask, L as VectorAverageAxis, M as VectorWarpMesh, N as VectorFillRule, O as VectorRenderFilter, P as VectorAppearanceShape, Q as VectorArrowhead, R as VectorBlendSpacing, S as VectorGradientInterpolation, T as VectorGradientSpread, U as VectorGradientType, W as VectorStrokeAlign, X as VectorStrokeGradientMode, Y as VectorFilterParamSpec, Z as VectorEffectParamSpec, _ as VectorRenderStrokeParts, $ as VectorPaintDef, a0 as VectorArrowAlign, a1 as VectorEffect, a2 as VectorPaintLayer, a3 as VectorStrokeLayer, a4 as VectorFilter, a5 as VectorBlend, a6 as VectorMergeMode, a7 as VectorLineJoin, a8 as VectorEffectParamsMap, a9 as VectorStrokeSettings } from '../svg-ClVIG4T7.cjs';
2
- export { aa as VECTOR_ARROWHEADS, ab as VECTOR_BLEND_MODES, ac as VECTOR_BLEND_SPACINGS, ad as VECTOR_CORNER_KINDS, ae as VECTOR_EFFECT_DEFAULTS, af as VECTOR_EFFECT_LABELS, ag as VECTOR_EFFECT_PARAM_SPECS, ah as VECTOR_EFFECT_TYPES, ai as VECTOR_FILTER_DEFAULTS, aj as VECTOR_FILTER_LABELS, ak as VECTOR_FILTER_MENU, al as VECTOR_FILTER_PARAM_SPECS, am as VECTOR_FILTER_TYPES, an as VECTOR_GRADIENT_INTERPOLATIONS, ao as VECTOR_GRADIENT_MAX_PERIODS, ap as VECTOR_GRADIENT_MIN_STOPS, aq as VECTOR_GRADIENT_SPREADS, ar as VECTOR_GRADIENT_TYPES, as as VECTOR_MASK_TYPES, at as VECTOR_MERGE_MODES, au as VECTOR_PATHFINDER_OPERATIONS, av as VECTOR_STROKE_GRADIENT_MODES, aw as VECTOR_TOOLS, ax as VECTOR_TRANSFORM_HANDLES, ay as VectorBooleanOperand, az as VectorCorner, aA as VectorFilterParamsMap, aB as VectorFilterPrimitive, aC as VectorGradientPoints, aD as VectorGradientRamp, aE as VectorGradientSvgOptions, aF as VectorGradientUnits, aG as VectorLineCap, aH as VectorMatrix, aI as VectorPaintSvgOptions, aJ as VectorRgba, aK as VectorStrokeLayerKind, aL as VectorSvgImportOptions, aM as VectorSvgPatternDef, aN as VectorSvgWrapper, aO as VectorWarpStyle, aP as activeVectorEffects, aQ as activeVectorFilters, aR as applyVectorCornersAttribute, aS as applyVectorEffects, aT as applyVectorGradientPatch, aU as applyVectorGradientSpread, aV as clearVectorLiveBooleanCache, aW as convertVectorGradient, aX as createVectorEffect, aY as createVectorFilter, aZ as defaultVectorGradient, a_ as expandVectorAppearance, a$ as expandVectorAppearances, b0 as expandVectorGradientSpread, b1 as expandVectorGradientStops, b2 as explicitVectorGradient, b3 as foldVectorBooleanOperands, b4 as gradientMidpointRemap, b5 as hasExplicitGradientGeometry, b6 as hasOwnVectorAppearance, b7 as hasVectorAppearance, b8 as insertVectorGradientStop, b9 as isCentredVectorGradient, ba as isVectorFilterType, bb as isVectorGradient, bc as isVectorLiveBoolean, bd as mapVectorGradient, be as mapVectorPaint, bf as moveVectorGradientHandle, bg as moveVectorGradientStop, bh as normalizeVectorEffectParams, bi as normalizeVectorFilterParams, bj as parseSvgTransform, bk as parseVectorColor, bl as parseVectorSvg, bm as patternAttrs, bn as periodicVectorGradientStops, bo as pinVectorGradient, bp as removeVectorGradientStop, bq as reverseVectorGradient, br as samplePlainStops, bs as sampleVectorGradient, bt as sampleVectorGradientAt, bu as sampleVectorPaintDefAt, bv as sanitizeVectorEffects, bw as sanitizeVectorFilters, bx as sanitizeVectorGradient, by as setVectorGradientVector, bz as sortedVectorGradientStops, bA as spanVectorGradientStops, bB as transformVectorEffects, bC as transformVectorGradient, bD as transformVectorPaint, bE as vectorAppearanceNodes, bF as vectorAppearanceOutline, bG as vectorAppearanceShapes, bH as vectorBoxMatrix, bI as vectorChildAppearanceShapes, bJ as vectorCornersAttribute, bK as vectorDocumentToSvg, bL as vectorEffectInputBounds, bM as vectorEffectInputPaths, bN as vectorEnteredGroups, bO as vectorEnvelopeFrame, bP as vectorEnvelopeMap, bQ as vectorEnvelopeMesh, bR as vectorFilterMarkup, bS as vectorFilterParamKeys, bT as vectorFilterReach, bU as vectorFilterSvg, bV as vectorGradientArea, bW as vectorGradientAspect, bX as vectorGradientFocalParam, bY as vectorGradientHandles, bZ as vectorGradientMatrix, b_ as vectorGradientMidpointFromPosition, b$ as vectorGradientMidpointPosition, c0 as vectorGradientNeedsExpansion, c1 as vectorGradientParam, c2 as vectorGradientPoints, c3 as vectorGradientRamp, c4 as vectorGradientSvgDefs, c5 as vectorGradientTAt, c6 as vectorGradientUnitsMatrix, c7 as vectorLiveBooleanSteps, c8 as vectorNodeEnvelope, c9 as vectorNodeFilterSvg, ca as vectorNodeLocalPaintBounds, cb as vectorOperandOperation, cc as vectorPaintToSvg, cd as vectorPathLocalBounds, ce as vectorStrokeSvgParts, cf as widthProfileFromAttribute, cg as widthProfileToAttribute } from '../svg-ClVIG4T7.cjs';
1
+ import { n as Vec2$1, v as VectorSubpath, h as VectorBounds, y as VectorAnchor, w as VectorDocument, e as VectorNode, b as VectorPathNode, z as VectorAnchorType, r as VectorPaint, g as VectorGroupNode, A as VectorCornerKind, x as VectorWidthPoint, m as VectorGradient, t as VectorGradientStop, B as VectorViewport, C as VectorTransformHandle, D as VectorAnchorRef, E as VectorPathfinderOperation, F as VectorTool, G as VectorDefaults, H as VectorStyle, I as VectorHandleRef, J as VectorSegmentRef, K as VectorBlendOptions, L as VectorModifiers, M as VectorBlendMode, j as VectorFilterType, V as VectorEffectType, N as VectorAlign, O as VectorDistribute, P as VectorArrange, d as VectorBooleanOperation, Q as VectorMaskType, R as VectorMask, S as VectorAverageAxis, i as VectorWarpMesh, c as VectorFillRule, T as VectorArrowhead, U as VectorBlendSpacing, W as VectorGradientInterpolation, p as VectorGradientSpread, q as VectorGradientType, u as VectorStrokeAlign, X as VectorStrokeGradientMode, Y as VectorArrowAlign, f as VectorEffect, Z as VectorPaintLayer, _ as VectorStrokeLayer, l as VectorFilter, $ as VectorBlend, a0 as VectorMergeMode, a1 as VectorLineJoin, a as VectorEffectParamsMap, a2 as VectorStrokeSettings } from '../types-DyQq-WPY.cjs';
2
+ export { a3 as VECTOR_ARROWHEADS, a4 as VECTOR_BLEND_MODES, a5 as VECTOR_BLEND_SPACINGS, a6 as VECTOR_CORNER_KINDS, a7 as VECTOR_EFFECT_TYPES, a8 as VECTOR_FILTER_TYPES, a9 as VECTOR_GRADIENT_INTERPOLATIONS, aa as VECTOR_GRADIENT_SPREADS, ab as VECTOR_GRADIENT_TYPES, ac as VECTOR_MASK_TYPES, ad as VECTOR_MERGE_MODES, ae as VECTOR_PATHFINDER_OPERATIONS, af as VECTOR_STROKE_GRADIENT_MODES, ag as VECTOR_TOOLS, ah as VECTOR_TRANSFORM_HANDLES, ai as VectorCorner, k as VectorFilterParamsMap, o as VectorGradientUnits, aj as VectorLineCap, s as VectorMatrix, ak as VectorStrokeLayerKind, al as VectorWarpStyle } from '../types-DyQq-WPY.cjs';
3
3
  import { P as Point } from '../types-BFkYA4eF.cjs';
4
4
  import { a as BezierPathInput, A as AffineMatrix$1, B as BezierPath, c as BezierSegment } from '../bezier-BfwIbVTl.cjs';
5
5
  export { S as SvgGradientDef } from '../bezier-BfwIbVTl.cjs';
6
+ 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 } from '../svg-D_cfkhlB.cjs';
7
+ export { j as VECTOR_EFFECT_DEFAULTS, k as VECTOR_EFFECT_LABELS, l as VECTOR_EFFECT_PARAM_SPECS, m as VECTOR_FILTER_DEFAULTS, n as VECTOR_FILTER_LABELS, o as VECTOR_FILTER_MENU, p as VECTOR_FILTER_PARAM_SPECS, q as VECTOR_GRADIENT_MAX_PERIODS, r as VECTOR_GRADIENT_MIN_STOPS, s as VectorBooleanOperand, t as VectorFilterPrimitive, u as VectorGradientPoints, v as VectorGradientRamp, w as VectorGradientSvgOptions, x as VectorPaintSvgOptions, y as VectorRgba, z as VectorSvgImportOptions, A as VectorSvgPatternDef, 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 vectorLiveBooleanSteps, aY as vectorNodeEnvelope, aZ as vectorNodeFilterSvg, a_ as vectorNodeLocalPaintBounds, a$ as vectorOperandOperation, b0 as vectorPaintToSvg, b1 as vectorPathLocalBounds, b2 as vectorStrokeSvgParts, b3 as widthProfileFromAttribute, b4 as widthProfileToAttribute } from '../svg-D_cfkhlB.cjs';
6
8
  import { H as HistoryManager } from '../HistoryManager-DeQQMBCj.cjs';
7
9
  import { C as CommandSpec } from '../registry-CaR7LC6W.cjs';
8
10
  import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-BZL8aSu0.cjs';
@@ -1,8 +1,10 @@
1
- import { d as Vec2$1, 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 VectorTransformHandle, r as VectorAnchorRef, s as VectorPathfinderOperation, t as VectorTool, u as VectorDefaults, v as VectorStyle, w as VectorHandleRef, x as VectorSegmentRef, y as VectorBlendOptions, z as VectorModifiers, c as VectorSvgExportOptions, A as VectorGradientPatch, B as VectorBlendMode, C as VectorFilterType, D as VectorEffectType, E as VectorEnvelopeParams, F as VectorAlign, G as VectorDistribute, H as VectorArrange, I as VectorBooleanOperation, J as VectorMaskType, K as VectorMask, L as VectorAverageAxis, M as VectorWarpMesh, N as VectorFillRule, O as VectorRenderFilter, P as VectorAppearanceShape, Q as VectorArrowhead, R as VectorBlendSpacing, S as VectorGradientInterpolation, T as VectorGradientSpread, U as VectorGradientType, W as VectorStrokeAlign, X as VectorStrokeGradientMode, Y as VectorFilterParamSpec, Z as VectorEffectParamSpec, _ as VectorRenderStrokeParts, $ as VectorPaintDef, a0 as VectorArrowAlign, a1 as VectorEffect, a2 as VectorPaintLayer, a3 as VectorStrokeLayer, a4 as VectorFilter, a5 as VectorBlend, a6 as VectorMergeMode, a7 as VectorLineJoin, a8 as VectorEffectParamsMap, a9 as VectorStrokeSettings } from '../svg-SseJTIrA.js';
2
- export { aa as VECTOR_ARROWHEADS, ab as VECTOR_BLEND_MODES, ac as VECTOR_BLEND_SPACINGS, ad as VECTOR_CORNER_KINDS, ae as VECTOR_EFFECT_DEFAULTS, af as VECTOR_EFFECT_LABELS, ag as VECTOR_EFFECT_PARAM_SPECS, ah as VECTOR_EFFECT_TYPES, ai as VECTOR_FILTER_DEFAULTS, aj as VECTOR_FILTER_LABELS, ak as VECTOR_FILTER_MENU, al as VECTOR_FILTER_PARAM_SPECS, am as VECTOR_FILTER_TYPES, an as VECTOR_GRADIENT_INTERPOLATIONS, ao as VECTOR_GRADIENT_MAX_PERIODS, ap as VECTOR_GRADIENT_MIN_STOPS, aq as VECTOR_GRADIENT_SPREADS, ar as VECTOR_GRADIENT_TYPES, as as VECTOR_MASK_TYPES, at as VECTOR_MERGE_MODES, au as VECTOR_PATHFINDER_OPERATIONS, av as VECTOR_STROKE_GRADIENT_MODES, aw as VECTOR_TOOLS, ax as VECTOR_TRANSFORM_HANDLES, ay as VectorBooleanOperand, az as VectorCorner, aA as VectorFilterParamsMap, aB as VectorFilterPrimitive, aC as VectorGradientPoints, aD as VectorGradientRamp, aE as VectorGradientSvgOptions, aF as VectorGradientUnits, aG as VectorLineCap, aH as VectorMatrix, aI as VectorPaintSvgOptions, aJ as VectorRgba, aK as VectorStrokeLayerKind, aL as VectorSvgImportOptions, aM as VectorSvgPatternDef, aN as VectorSvgWrapper, aO as VectorWarpStyle, aP as activeVectorEffects, aQ as activeVectorFilters, aR as applyVectorCornersAttribute, aS as applyVectorEffects, aT as applyVectorGradientPatch, aU as applyVectorGradientSpread, aV as clearVectorLiveBooleanCache, aW as convertVectorGradient, aX as createVectorEffect, aY as createVectorFilter, aZ as defaultVectorGradient, a_ as expandVectorAppearance, a$ as expandVectorAppearances, b0 as expandVectorGradientSpread, b1 as expandVectorGradientStops, b2 as explicitVectorGradient, b3 as foldVectorBooleanOperands, b4 as gradientMidpointRemap, b5 as hasExplicitGradientGeometry, b6 as hasOwnVectorAppearance, b7 as hasVectorAppearance, b8 as insertVectorGradientStop, b9 as isCentredVectorGradient, ba as isVectorFilterType, bb as isVectorGradient, bc as isVectorLiveBoolean, bd as mapVectorGradient, be as mapVectorPaint, bf as moveVectorGradientHandle, bg as moveVectorGradientStop, bh as normalizeVectorEffectParams, bi as normalizeVectorFilterParams, bj as parseSvgTransform, bk as parseVectorColor, bl as parseVectorSvg, bm as patternAttrs, bn as periodicVectorGradientStops, bo as pinVectorGradient, bp as removeVectorGradientStop, bq as reverseVectorGradient, br as samplePlainStops, bs as sampleVectorGradient, bt as sampleVectorGradientAt, bu as sampleVectorPaintDefAt, bv as sanitizeVectorEffects, bw as sanitizeVectorFilters, bx as sanitizeVectorGradient, by as setVectorGradientVector, bz as sortedVectorGradientStops, bA as spanVectorGradientStops, bB as transformVectorEffects, bC as transformVectorGradient, bD as transformVectorPaint, bE as vectorAppearanceNodes, bF as vectorAppearanceOutline, bG as vectorAppearanceShapes, bH as vectorBoxMatrix, bI as vectorChildAppearanceShapes, bJ as vectorCornersAttribute, bK as vectorDocumentToSvg, bL as vectorEffectInputBounds, bM as vectorEffectInputPaths, bN as vectorEnteredGroups, bO as vectorEnvelopeFrame, bP as vectorEnvelopeMap, bQ as vectorEnvelopeMesh, bR as vectorFilterMarkup, bS as vectorFilterParamKeys, bT as vectorFilterReach, bU as vectorFilterSvg, bV as vectorGradientArea, bW as vectorGradientAspect, bX as vectorGradientFocalParam, bY as vectorGradientHandles, bZ as vectorGradientMatrix, b_ as vectorGradientMidpointFromPosition, b$ as vectorGradientMidpointPosition, c0 as vectorGradientNeedsExpansion, c1 as vectorGradientParam, c2 as vectorGradientPoints, c3 as vectorGradientRamp, c4 as vectorGradientSvgDefs, c5 as vectorGradientTAt, c6 as vectorGradientUnitsMatrix, c7 as vectorLiveBooleanSteps, c8 as vectorNodeEnvelope, c9 as vectorNodeFilterSvg, ca as vectorNodeLocalPaintBounds, cb as vectorOperandOperation, cc as vectorPaintToSvg, cd as vectorPathLocalBounds, ce as vectorStrokeSvgParts, cf as widthProfileFromAttribute, cg as widthProfileToAttribute } from '../svg-SseJTIrA.js';
1
+ import { n as Vec2$1, v as VectorSubpath, h as VectorBounds, y as VectorAnchor, w as VectorDocument, e as VectorNode, b as VectorPathNode, z as VectorAnchorType, r as VectorPaint, g as VectorGroupNode, A as VectorCornerKind, x as VectorWidthPoint, m as VectorGradient, t as VectorGradientStop, B as VectorViewport, C as VectorTransformHandle, D as VectorAnchorRef, E as VectorPathfinderOperation, F as VectorTool, G as VectorDefaults, H as VectorStyle, I as VectorHandleRef, J as VectorSegmentRef, K as VectorBlendOptions, L as VectorModifiers, M as VectorBlendMode, j as VectorFilterType, V as VectorEffectType, N as VectorAlign, O as VectorDistribute, P as VectorArrange, d as VectorBooleanOperation, Q as VectorMaskType, R as VectorMask, S as VectorAverageAxis, i as VectorWarpMesh, c as VectorFillRule, T as VectorArrowhead, U as VectorBlendSpacing, W as VectorGradientInterpolation, p as VectorGradientSpread, q as VectorGradientType, u as VectorStrokeAlign, X as VectorStrokeGradientMode, Y as VectorArrowAlign, f as VectorEffect, Z as VectorPaintLayer, _ as VectorStrokeLayer, l as VectorFilter, $ as VectorBlend, a0 as VectorMergeMode, a1 as VectorLineJoin, a as VectorEffectParamsMap, a2 as VectorStrokeSettings } from '../types-DtL_qLFz.js';
2
+ export { a3 as VECTOR_ARROWHEADS, a4 as VECTOR_BLEND_MODES, a5 as VECTOR_BLEND_SPACINGS, a6 as VECTOR_CORNER_KINDS, a7 as VECTOR_EFFECT_TYPES, a8 as VECTOR_FILTER_TYPES, a9 as VECTOR_GRADIENT_INTERPOLATIONS, aa as VECTOR_GRADIENT_SPREADS, ab as VECTOR_GRADIENT_TYPES, ac as VECTOR_MASK_TYPES, ad as VECTOR_MERGE_MODES, ae as VECTOR_PATHFINDER_OPERATIONS, af as VECTOR_STROKE_GRADIENT_MODES, ag as VECTOR_TOOLS, ah as VECTOR_TRANSFORM_HANDLES, ai as VectorCorner, k as VectorFilterParamsMap, o as VectorGradientUnits, aj as VectorLineCap, s as VectorMatrix, ak as VectorStrokeLayerKind, al as VectorWarpStyle } from '../types-DtL_qLFz.js';
3
3
  import { P as Point } from '../types-BFkYA4eF.js';
4
4
  import { a as BezierPathInput, A as AffineMatrix$1, B as BezierPath, c as BezierSegment } from '../bezier-DYBvLgUH.js';
5
5
  export { S as SvgGradientDef } from '../bezier-DYBvLgUH.js';
6
+ 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 } from '../svg-wIaKLrU0.js';
7
+ export { j as VECTOR_EFFECT_DEFAULTS, k as VECTOR_EFFECT_LABELS, l as VECTOR_EFFECT_PARAM_SPECS, m as VECTOR_FILTER_DEFAULTS, n as VECTOR_FILTER_LABELS, o as VECTOR_FILTER_MENU, p as VECTOR_FILTER_PARAM_SPECS, q as VECTOR_GRADIENT_MAX_PERIODS, r as VECTOR_GRADIENT_MIN_STOPS, s as VectorBooleanOperand, t as VectorFilterPrimitive, u as VectorGradientPoints, v as VectorGradientRamp, w as VectorGradientSvgOptions, x as VectorPaintSvgOptions, y as VectorRgba, z as VectorSvgImportOptions, A as VectorSvgPatternDef, 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 vectorLiveBooleanSteps, aY as vectorNodeEnvelope, aZ as vectorNodeFilterSvg, a_ as vectorNodeLocalPaintBounds, a$ as vectorOperandOperation, b0 as vectorPaintToSvg, b1 as vectorPathLocalBounds, b2 as vectorStrokeSvgParts, b3 as widthProfileFromAttribute, b4 as widthProfileToAttribute } from '../svg-wIaKLrU0.js';
6
8
  import { H as HistoryManager } from '../HistoryManager-DWSLd6Tf.js';
7
9
  import { C as CommandSpec } from '../registry-rVtFJjRM.js';
8
10
  import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-CNtsbCRK.js';
@@ -12,6 +12,39 @@ import {
12
12
  solve8
13
13
  } from "../chunk-GX332W2C.js";
14
14
  import {
15
+ applyVectorCornersAttribute,
16
+ correspondMorphContours,
17
+ createVectorMorph,
18
+ evaluateVectorPathKeyframes,
19
+ interpolateMorphContours,
20
+ interpolateRigidMatrix,
21
+ interpolateVectorColor,
22
+ interpolateVectorPaint,
23
+ interpolateVectorPaths,
24
+ interpolateVectorStyle,
25
+ interpolateWidthProfiles,
26
+ morphContourToSubpath,
27
+ morphPathsCross,
28
+ parseSvgTransform,
29
+ parseVectorSvg,
30
+ refineMorphContour,
31
+ resampleGradientStops,
32
+ reverseMorphContour,
33
+ subpathToMorphContour,
34
+ turnMorphContour,
35
+ vectorCornersAttribute,
36
+ vectorDocumentToSvg,
37
+ vectorNodeFilterSvg,
38
+ vectorNodeLocalPaintBounds,
39
+ vectorPaintToSvg,
40
+ vectorPathLocalBounds,
41
+ vectorStrokeGradientDefs,
42
+ vectorStrokeSvgParts,
43
+ widthProfileFromAttribute,
44
+ widthProfileToAttribute
45
+ } from "../chunk-KB2YBCVS.js";
46
+ import {
47
+ IDENTITY_MATRIX,
15
48
  KAPPA,
16
49
  VECTOR_ARROWHEADS,
17
50
  VECTOR_BLEND_MODES,
@@ -45,9 +78,12 @@ import {
45
78
  VECTOR_WIDTH_PROFILE_MAX_POINTS,
46
79
  VECTOR_WIDTH_PROFILE_MAX_SCALE,
47
80
  VECTOR_WIDTH_SAME_T,
81
+ WARP_STYLES,
82
+ WARP_STYLE_LABELS,
48
83
  activeVectorEffects,
49
84
  activeVectorFilters,
50
- applyVectorCornersAttribute,
85
+ applyMatrix,
86
+ applyMatrixLinear,
51
87
  applyVectorEffects,
52
88
  applyVectorGradientPatch,
53
89
  applyVectorGradientSpread,
@@ -68,12 +104,12 @@ import {
68
104
  cornerBisectorPoint,
69
105
  cornerRadiusChange,
70
106
  cornerSetback,
71
- correspondMorphContours,
72
107
  createVectorEffect,
73
108
  createVectorFilter,
74
- createVectorMorph,
75
109
  dashIntervals,
110
+ decomposeRigid,
76
111
  defaultVectorGradient,
112
+ dragWarpMeshPoint,
77
113
  effectPathLength,
78
114
  effectPathVertexCount,
79
115
  effectiveStrokeAlign,
@@ -81,7 +117,7 @@ import {
81
117
  eraseFromFill,
82
118
  eraseFromOutline,
83
119
  eraserRegion,
84
- evaluateVectorPathKeyframes,
120
+ evalWarpMesh,
85
121
  expandVectorAppearance,
86
122
  expandVectorAppearances,
87
123
  expandVectorCorners,
@@ -91,6 +127,7 @@ import {
91
127
  explicitVectorGradient,
92
128
  findVectorNode,
93
129
  fitCornerRadius,
130
+ fitWarpMesh,
94
131
  foldVectorBooleanOperands,
95
132
  generateWidthProfile,
96
133
  gradientMidpointRemap,
@@ -106,22 +143,19 @@ import {
106
143
  hitTestVectorPaintLayer,
107
144
  hitTestVectorPaintStack,
108
145
  hitTestVectorStroke,
146
+ identityWarpMesh,
109
147
  inferAnchorType,
110
148
  insertAnchor,
111
149
  insertVectorGradientStop,
112
150
  insertWidthPoint,
113
- interpolateMorphContours,
114
- interpolateRigidMatrix,
115
- interpolateVectorColor,
116
- interpolateVectorPaint,
117
- interpolateVectorPaths,
118
- interpolateVectorStyle,
119
- interpolateWidthProfiles,
151
+ invertMatrix,
120
152
  isCentredVectorGradient,
121
153
  isClosedBezierShape,
122
154
  isDrawnVectorPaintLayer,
155
+ isIdentityMatrix,
123
156
  isPlainVectorPaintLayer,
124
157
  isUniformWidthProfile,
158
+ isValidWarpMesh,
125
159
  isVectorBlendMode,
126
160
  isVectorFilterType,
127
161
  isVectorGradient,
@@ -137,13 +171,15 @@ import {
137
171
  mapVectorPaint,
138
172
  mapVectorPoints,
139
173
  mapVectorSubpaths,
174
+ mapWarpMeshPoints,
175
+ matrixAbout,
176
+ matrixRotation,
140
177
  mergePaths,
141
178
  mirrorWidthProfile,
142
- morphContourToSubpath,
143
- morphPathsCross,
144
179
  moveAnchorHandle,
145
180
  moveVectorGradientHandle,
146
181
  moveVectorGradientStop,
182
+ multiplyMatrices,
147
183
  nearestSegment,
148
184
  nearestStrokePosition,
149
185
  needsVectorPaintLayers,
@@ -154,9 +190,7 @@ import {
154
190
  normalizeVectorFilterParams,
155
191
  normalizeVectorPaintStacks,
156
192
  offsetPaths,
157
- parseSvgTransform,
158
193
  parseVectorColor,
159
- parseVectorSvg,
160
194
  pathsCenter,
161
195
  patternAttrs,
162
196
  periodicVectorGradientStops,
@@ -165,17 +199,19 @@ import {
165
199
  polylineBounds,
166
200
  pressureWidthProfile,
167
201
  puckerBloatPaths,
202
+ pullWarpMesh,
168
203
  rectSubpath,
169
- refineMorphContour,
170
204
  removeAnchors,
171
205
  removeVectorGradientStop,
206
+ removeWarpMeshSplitU,
207
+ removeWarpMeshSplitV,
172
208
  removeWidthPoints,
173
209
  repeatPaths,
174
- resampleGradientStops,
175
- reverseMorphContour,
210
+ resizeWarpMesh,
176
211
  reverseSubpath,
177
212
  reverseVectorGradient,
178
213
  reverseWidthProfile,
214
+ rotateMatrix,
179
215
  roundCornerPaths,
180
216
  roundSubpaths,
181
217
  samplePlainStops,
@@ -190,20 +226,23 @@ import {
190
226
  sanitizeVectorStrokeSettings,
191
227
  sanitizeVectorStrokes,
192
228
  sanitizeWidthProfile,
229
+ scaleMatrix,
193
230
  setAnchorCorner,
194
231
  setSubpathCorners,
195
232
  setVectorGradientVector,
196
233
  setWidthPoint,
197
234
  simplifyPolyline,
235
+ skewMatrix,
198
236
  sortedVectorGradientStops,
199
237
  spanVectorGradientStops,
200
238
  splitIntoFaces,
239
+ splitWarpMeshU,
240
+ splitWarpMeshV,
201
241
  starSubpath,
202
242
  strokePositionPoint,
203
243
  strokeWidthProfileOf,
204
244
  subpathSegment,
205
245
  subpathSegmentCount,
206
- subpathToMorphContour,
207
246
  subpathsToBezier,
208
247
  taperWaveFactor,
209
248
  transformVectorEffects,
@@ -211,10 +250,10 @@ import {
211
250
  transformVectorNode,
212
251
  transformVectorPaint,
213
252
  translateAnchor,
253
+ translateMatrix,
214
254
  trimIntervals,
215
255
  trimPaths,
216
256
  trimPathsIndividually,
217
- turnMorphContour,
218
257
  twistPaths,
219
258
  unionBounds,
220
259
  variableStrokeOutline,
@@ -228,8 +267,6 @@ import {
228
267
  vectorChildAppearanceShapes,
229
268
  vectorCornerAt,
230
269
  vectorCorners,
231
- vectorCornersAttribute,
232
- vectorDocumentToSvg,
233
270
  vectorEffectInputBounds,
234
271
  vectorEffectInputPaths,
235
272
  vectorEnteredGroups,
@@ -273,20 +310,15 @@ import {
273
310
  vectorMeshOutline,
274
311
  vectorNodeBounds,
275
312
  vectorNodeEnvelope,
276
- vectorNodeFilterSvg,
277
- vectorNodeLocalPaintBounds,
278
313
  vectorNodeRotation,
279
314
  vectorNodeToBezier,
280
315
  vectorOperandOperation,
281
316
  vectorPaintLayerNodes,
282
- vectorPaintToSvg,
283
317
  vectorParentMatrix,
284
318
  vectorPathData,
285
- vectorPathLocalBounds,
286
319
  vectorPathWorldBezier,
287
320
  vectorRepeaterCopies,
288
321
  vectorStacksHaveGradient,
289
- vectorStrokeGradientDefs,
290
322
  vectorStrokeLineArea,
291
323
  vectorStrokeOutline,
292
324
  vectorStrokeOutlinePath,
@@ -294,23 +326,28 @@ import {
294
326
  vectorStrokeReach,
295
327
  vectorStrokeSettings,
296
328
  vectorStrokeStackReach,
297
- vectorStrokeSvgParts,
298
329
  vectorStrokes,
299
330
  vectorTargetPaint,
300
331
  vectorWorldMatrix,
301
332
  walkVectorNodes,
333
+ warpMeshColumns,
334
+ warpMeshControlBounds,
335
+ warpMeshEditPoints,
336
+ warpMeshGridCurves,
337
+ warpMeshParamAt,
338
+ warpMeshRows,
339
+ warpPresetGrid,
340
+ warpPresetMesh,
302
341
  widthProfileAt,
303
- widthProfileFromAttribute,
304
342
  widthProfileMaxScale,
305
343
  widthProfilePreset,
306
344
  widthProfilePresetId,
307
- widthProfileToAttribute,
308
345
  wigglePaths,
309
346
  withVectorFills,
310
347
  withVectorStrokes,
311
348
  withVectorTargetPaint,
312
349
  zigzagPaths
313
- } from "../chunk-HUQ7EHVI.js";
350
+ } from "../chunk-BLWCAQCW.js";
314
351
  import {
315
352
  bezierPathBounds,
316
353
  bezierPathToSvg,
@@ -329,51 +366,14 @@ import {
329
366
  segmentTangent,
330
367
  transformBezierPath
331
368
  } from "../chunk-YCSFS3GK.js";
332
- import {
333
- IDENTITY_MATRIX,
334
- WARP_STYLES,
335
- WARP_STYLE_LABELS,
336
- applyMatrix,
337
- applyMatrixLinear,
338
- decomposeRigid,
339
- dragWarpMeshPoint,
340
- evalWarpMesh,
341
- fitWarpMesh,
342
- identityWarpMesh,
343
- invertMatrix,
344
- isIdentityMatrix,
345
- isValidWarpMesh,
346
- mapWarpMeshPoints,
347
- matrixAbout,
348
- matrixRotation,
349
- multiplyMatrices,
350
- pullWarpMesh,
351
- removeWarpMeshSplitU,
352
- removeWarpMeshSplitV,
353
- resizeWarpMesh,
354
- rotateMatrix,
355
- scaleMatrix,
356
- skewMatrix,
357
- splitWarpMeshU,
358
- splitWarpMeshV,
359
- translateMatrix,
360
- warpMeshColumns,
361
- warpMeshControlBounds,
362
- warpMeshEditPoints,
363
- warpMeshGridCurves,
364
- warpMeshParamAt,
365
- warpMeshRows,
366
- warpPresetGrid,
367
- warpPresetMesh
368
- } from "../chunk-KKREERP2.js";
369
369
  import {
370
370
  HistoryManager
371
371
  } from "../chunk-QVZZGT4X.js";
372
+ import "../chunk-AGR4P4UZ.js";
372
373
  import "../chunk-ZRJMJIQU.js";
373
374
  import {
374
375
  hexToRgba
375
376
  } from "../chunk-TGD52FEZ.js";
376
- import "../chunk-AGR4P4UZ.js";
377
377
 
378
378
  // src/vector/gradientTool.ts
379
379
  var VECTOR_GRADIENT_STOP_GAP = 12;
@@ -6,10 +6,10 @@ var _chunkWAJQKWQUcjs = require('../chunk-WAJQKWQU.cjs');
6
6
  var _chunkQKLRAA4Tcjs = require('../chunk-QKLRAA4T.cjs');
7
7
 
8
8
 
9
- var _chunk2FGRTYJNcjs = require('../chunk-2FGRTYJN.cjs');
9
+ var _chunk477UVMNRcjs = require('../chunk-477UVMNR.cjs');
10
+ require('../chunk-2FHLHZAL.cjs');
10
11
  require('../chunk-MR3Z4OQI.cjs');
11
12
  require('../chunk-A6PHCAGX.cjs');
12
- require('../chunk-2FHLHZAL.cjs');
13
13
 
14
14
  // src/video-editor/types.ts
15
15
  var VIDEO_FITS = ["contain", "cover", "fill", "none"];
@@ -4374,7 +4374,7 @@ var VideoEditorController = (_class7 = class {
4374
4374
  this.readOnly = _nullishCoalesce(options.readOnly, () => ( false));
4375
4375
  this.previewScale = checkPreviewScale(_nullishCoalesce(options.previewScale, () => ( "auto")));
4376
4376
  this.onChange = options.onChange;
4377
- this.player = new (0, _chunk2FGRTYJNcjs.AnimationPlayer)({ clock: options.clock, duration: () => videoProjectDuration(this.project), loop: "none" });
4377
+ this.player = new (0, _chunk477UVMNRcjs.AnimationPlayer)({ clock: options.clock, duration: () => videoProjectDuration(this.project), loop: "none" });
4378
4378
  this.state = this.computeState();
4379
4379
  this.connect();
4380
4380
  }
@@ -6,10 +6,10 @@ import {
6
6
  } from "../chunk-QVZZGT4X.js";
7
7
  import {
8
8
  AnimationPlayer
9
- } from "../chunk-JK6M6V7G.js";
9
+ } from "../chunk-Z3YWVUWT.js";
10
+ import "../chunk-AGR4P4UZ.js";
10
11
  import "../chunk-ZRJMJIQU.js";
11
12
  import "../chunk-TGD52FEZ.js";
12
- import "../chunk-AGR4P4UZ.js";
13
13
 
14
14
  // src/video-editor/types.ts
15
15
  var VIDEO_FITS = ["contain", "cover", "fill", "none"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixerate/editor",
3
- "version": "0.108.0",
3
+ "version": "0.110.0",
4
4
  "description": "UI-agnostic rich text and media editing core library",
5
5
  "author": "Pixerate",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pixerate-paint-editor
3
- description: How to make a picture in the Pixerate paint editor (natural media in the spirit of Painter and Rebelle) through its agent tools - canvas and paper (generated grain, depth, colour, families from cold pressed watercolour to canvas and gesso), layers, dry-media brushes (pencil, pastel, charcoal, airbrush, marker, ink, erasers, blender, smudge, Mixer Brush) with pressure, tilt, barrel rotation and velocity, the brush library, strokes as data that replay and vary, mirror and kaleidoscope painting, perspective guides, tracing and reference images, colour harmonies, swatches, a mixing pad and pigment mixing, previews and PNG, JPEG, WebP, PSD and JSON output. Use when asked to paint, sketch, draw, shade, block in, texture with paper grain, mix colours, paint symmetric or in perspective, trace an image, or when paint_stroke, set_paper, replay_strokes, set_symmetry or mix_colors are available.
3
+ description: How to make a picture in the Pixerate paint editor (natural media in the spirit of Painter, Rebelle and ArtRage) through its agent tools - canvas and paper (generated grain, depth, families from cold pressed watercolour to canvas), layers with painterly blend modes (watercolor, tint, highlight, shadow), dry-media brushes (pencil, pastel, charcoal, airbrush, marker, ink, erasers) with pressure, tilt, barrel rotation and velocity, blending tools (blender, smudge, Mixer Brush), brush behaviours (pick-up and mix ratios, dirty and multi-coloured brushes), the brush library, strokes that replay and vary, symmetry and perspective guides, tracing and reference images, harmonies, swatches, a mixing pad and pigment mixing, and PNG, JPEG, WebP, PSD and JSON output. Use when asked to paint, sketch, shade, blend, smudge, glaze, mix colours, paint symmetric or in perspective, trace an image, or when paint_stroke, set_paper, replay_strokes or mix_colors are available.
4
4
  ---
5
5
 
6
6
  # Paint editor
@@ -14,8 +14,15 @@ is never part of a layer. Coordinates are document pixels, (0, 0) top-left, y do
14
14
  - **Brushes** are library presets (`list_brushes`): a tip from the shared engine (size,
15
15
  hardness, spacing, angle, roundness, opacity, flow, blend), a **grain** response, pen dynamics
16
16
  (pressure, tilt, velocity, jitter), a **rotation** mode (`fixed`, `stroke`, `barrel`) and an
17
- engine: `dab` (most media), `eraser`, or `mixer` (Mixer Brush, blender, smudge: they pick up and
18
- move paint already on the layer).
17
+ engine: `dab` (most media), `eraser`, `mixer` (the Mixer Brush: a reservoir of paint plus paint
18
+ it picks up), `blender` (mixes the colours under and near the tip) or `smudge` (drags paint
19
+ along the stroke).
20
+ - **Behaviour** (`behavior`, dab and mixer brushes) is how a brush treats paint already on the
21
+ canvas: a **pick-up ratio** (how much paint each dab lifts and carries), a **mix ratio** (how
22
+ much of the carried paint goes into what it lays down), **dirty** (keep the carried colour into
23
+ the next stroke) and **multi-colour** (`tip`: several colours side by side across the tip;
24
+ `dab`: the colour changes along the stroke). A Mixer Brush's `mixer.wet` / `mixer.mix` are the
25
+ same two ratios. `get_mixer_brush` reads what the brush carries; `clean_mixer_brush` wipes it.
19
26
  - **Grain**: a brush's grain response times the paper's `depth` decides how much light pressure
20
27
  skips the valleys. Pencil, pastel and charcoal are grainy; airbrush, marker and ink are not.
21
28
  - **Strokes are data.** Every stroke is recorded (brush, colour, raw points, seed, symmetry
@@ -46,8 +53,13 @@ is never part of a layer. Coordinates are document pixels, (0, 0) top-left, y do
46
53
  greys); the mixing pad (`mixing_pad_stroke`, `pick_mixing_pad_color`) mixes by hand with a
47
54
  palette knife. Keep chosen colours as swatches (`add_swatch`). Use the result as the stroke
48
55
  `color`; `set_color` makes it the default.
49
- 5. **Refine** with smaller brushes on new layers: pencil and ink for line, charcoal for value,
50
- blender or smudge to soften edges, the Mixer Brush to blend wet into wet.
56
+ 5. **Refine** with smaller brushes on new layers: pencil and ink for line, charcoal for value.
57
+ **Blend** on the layer that holds the paint: `blender` to melt neighbouring colours together
58
+ (pigment mixing, so blue next to yellow goes green), `smudge` / `wet-smudge` to drag paint
59
+ into soft edges and streaks, `mixer-brush` to paint wet into wet, `dirty-round` to paint with
60
+ a brush that picks up and carries colour, `multicolor-flat` for strokes loaded with several
61
+ colours. Glaze with a `watercolor` layer, warm or cool with `tint`, light with `highlight`,
62
+ shade with `shadow`.
51
63
  6. **Let the guides multiply your marks.** `set_symmetry` (mirror for faces and vases,
52
64
  kaleidoscope for mandalas and ornaments) paints every copy from one stroke;
53
65
  `set_perspective_guide` plus `paint_stroke` with `snapToPerspective` lays converging lines for
@@ -76,8 +88,21 @@ is never part of a layer. Coordinates are document pixels, (0, 0) top-left, y do
76
88
  between them. Long smooth curves need more points than straight lines.
77
89
  - **Use `rotation: "stroke"`** for flat tips (pastel, charcoal, chisel marker) so the mark turns
78
90
  with the path; `fixed` for calligraphic nibs.
79
- - **Blend with flow, not opacity**: blender and smudge work best at flow 0.3..0.6; at full flow
80
- the Mixer Brush paints only its own colour.
91
+ - **Blending tools**:
92
+ - `blender`: `strength` 0.3..0.6 for soft transitions, `distance` 0.2..0.5 (fraction of the
93
+ tip) for how far colours travel. Keep `mixing: "pigment"` for painterly blends; `rgb`
94
+ blends like a soft blur. Work along an edge in short strokes rather than over everything.
95
+ - `smudge`: `length` near 0.9 drags paint far (long streaks), 0.5 short pushes; `strength`
96
+ 0.5..0.8. `mixing: "pigment"` (the `wet-smudge` preset) smears colours into each other like
97
+ wet paint.
98
+ - Mixer Brush: blend with flow 0.3..0.6; at full flow it paints only its own colour.
99
+ - **Pick-up and mix ratios**: `pickup` 0.3..0.7 with `mix` 0.4..0.7 gives a brush that drags
100
+ the colours it crosses into its own; `dirty: true` keeps them for the next stroke (wipe with
101
+ `clean_mixer_brush`). Keep `pickup` 0 for clean, predictable colour.
102
+ - **Multi-colour**: give 2..8 `colors` (or none for the paint and secondary colours). `tip` mode
103
+ with a flat tip and `rotation: "stroke"` paints ribbons; `softness` 0.3..0.7 keeps the stripes
104
+ readable. `dab` mode with `order: "sequence"` and `length` 5..20 walks through a palette;
105
+ `random` for foliage and confetti.
81
106
  - **Pigment for paint, multiply for markers**: tip `blend: "pigment"` mixes subtractively on the
82
107
  canvas; `multiply` darkens where marker strokes overlap. Pigment layers are written as Normal
83
108
  to PSD (the export warns).
@@ -130,9 +155,9 @@ is never part of a layer. Coordinates are document pixels, (0, 0) top-left, y do
130
155
 
131
156
  | Tool | Use |
132
157
  | --- | --- |
133
- | `list_brushes` | Read the library (built-in and saved): id, name, category, engine, size, grain response, rotation, `builtin`; plus the active brush id and whether it is edited. |
158
+ | `list_brushes` | Read the library (built-in and saved): id, name, category, engine, size, grain response, rotation, `wetCapable`, `pickup`, `dirty`, `multicolor` mode, `builtin`; plus the active brush id and whether it is edited. |
134
159
  | `get_brush` | Read every setting of a brush, or of the active brush as edited (no `id`). Read before changing a brush you did not build. |
135
- | `set_brush` | Choose the active brush (`id`) and / or change it: `tip` (size px, hardness, spacing, angle, roundness, opacity, flow, smoothing, pressureSize, pressureOpacity, blend), `grain`, `pressureSmoothing`, `rotation`, `dynamics` (minSize, pressureFlow, tiltSize, tiltRoundness, tiltOpacity, velocitySize, velocityOpacity, jitters, scatter), `mixer`, `loadsColor`. Editor state. Returns the brush. |
160
+ | `set_brush` | Choose the active brush (`id`) and / or change it: `tip` (size px, hardness, spacing, angle, roundness, opacity, flow, smoothing, pressureSize, pressureOpacity, blend), `grain`, `pressureSmoothing`, `rotation`, `dynamics` (minSize, pressureFlow, tiltSize, tiltRoundness, tiltOpacity, velocitySize, velocityOpacity, jitters, scatter), `engine`, `mixer`, `loadsColor`, `behavior` (pickup, mix, dirty, mixing, multicolor: mode, colors, order, length, softness), `blender` (strength, distance, mixing), `smudge` (strength, length, mixing). Editor state. Returns the brush. |
136
161
  | `save_brush` | Store the active brush in the user library under `id` (lowercase, digits, dashes) and `name`. Built-in ids are refused. |
137
162
  | `remove_brush` | Delete a user brush. Built-in brushes cannot be removed. |
138
163
  | `export_brushes` | Get a brush library file (JSON) of `ids`, or of every user brush. |
@@ -143,12 +168,12 @@ is never part of a layer. Coordinates are document pixels, (0, 0) top-left, y do
143
168
 
144
169
  | Tool | Use |
145
170
  | --- | --- |
146
- | `mix_colors` | Predict a paint mix: `colors` with `weight` parts (and optional tinting `strength`). Returns `mixed` (#rrggbb, Kubelka-Munk) and the plain RGB average for comparison. Changes nothing. Use it to choose stroke colours. |
171
+ | `mix_colors` | Predict a mix: `colors` with `weight` parts (and optional tinting `strength`), `model` `pigment` (default, Kubelka-Munk: what pigment blends, the Mixer Brush, pigment blending tools and the pad do) or `rgb` (what normal blending and rgb mixing do). Returns `mixed` by the model plus `pigment` and `rgbLerp` for comparison. Changes nothing. Use it to choose stroke colours. |
147
172
  | `set_color` | Set the default paint `color` (and `secondaryColor`). |
148
173
  | `pick_color` | Read the colour at `x`, `y`: of the painting with its paper, or of one layer (with alpha). |
149
- | `get_mixer_brush` | Read what the Mixer Brush carries: `reservoir`, `amount` left, `pickup`. |
174
+ | `get_mixer_brush` | Read what the brush carries: the Mixer Brush `reservoir` and `amount` left, and `pickup` (paint picked up, kept by dirty brushes). |
150
175
  | `load_mixer_brush` | Fill the Mixer Brush reservoir with a colour (keeps its pickup). |
151
- | `clean_mixer_brush` | Empty the pickup well (and with `emptyReservoir` the paint). |
176
+ | `clean_mixer_brush` | Wipe the brush: drop the picked-up paint a dirty brush or the Mixer Brush carries (and with `emptyReservoir` the Mixer Brush paint). |
152
177
  | `color_harmony` | Get a harmony (`kind`: complementary, split-complementary, analogous, triadic, tetradic, square, monochromatic) around `color` (default the paint colour), on the `ryb` painter's wheel (default; red ↔ green) or the `rgb` wheel (red ↔ cyan), `spread` degrees for analogous and split. Changes nothing. |
153
178
  | `list_swatches` | Read the swatches (index, colour, name). |
154
179
  | `add_swatch` | Keep a colour as a swatch (saved with the document). |
@@ -156,13 +181,18 @@ is never part of a layer. Coordinates are document pixels, (0, 0) top-left, y do
156
181
  | `mixing_pad_stroke` | Paint on the 360 × 220 mixing pad (pad px): `tool` paint lays `color` with a pigment Mixer Brush, `knife` smears what is there and mixes it as paint. Scratch space, not the painting, no undo. |
157
182
  | `pick_mixing_pad_color` | Read the mix on the pad at `x`, `y` (averaged over `radius`, default 3); `setColor` makes it the paint colour. Null where the pad is bare. |
158
183
  | `clear_mixing_pad` | Wipe the pad. |
184
+ | `mix_on_pad` | Mix `paints` (`color`, `parts`) on the pad in one call: blobs by parts, knife passes, and a fully mixed Kubelka-Munk core. Optional pile `x`, `y`, `radius`, `passes`, `clear`; `setColor` makes the mix the paint colour. Returns `color` and the pile `bounds`. The quickest way to get a paint colour from named paints. |
185
+ | `save_mixing_pad` | Keep the pad as it is under a `name` (saved with the document). Refused when the pad is empty. Returns the id. |
186
+ | `list_mixing_pads` | Read the kept pads (`id`, `name`). |
187
+ | `load_mixing_pad` | Put a kept pad back (replaces what is on the pad). |
188
+ | `remove_mixing_pad` | Forget a kept pad. |
159
189
  | `render_mixing_pad` | See the pad as a PNG. |
160
190
 
161
191
  ### Painting and strokes
162
192
 
163
193
  | Tool | Use |
164
194
  | --- | --- |
165
- | `paint_stroke` | Paint one stroke through `points` (document px; `pressure` 0..1, `t` ms, `tiltX` / `tiltY` or `altitude` / `azimuth`, `twist`) with `brushId` (default the active brush), optional per-stroke `brush` changes, `color`, `layerId`, `seed`, `snapToPerspective`. The symmetry guide adds its copies; a sampling tracing image supplies the colour when `color` is missing. Returns `layerId`, `bounds`, `dabs`, `strokeId` and for the mixer engine its `mixerLoad`. Refused on locked, hidden or group layers, with the fix in the message. |
195
+ | `paint_stroke` | Paint one stroke through `points` (document px; `pressure` 0..1, `t` ms, `tiltX` / `tiltY` or `altitude` / `azimuth`, `twist`) with `brushId` (default the active brush), optional per-stroke `brush` changes, `color`, `layerId`, `seed`, `snapToPerspective`. The symmetry guide adds its copies; a sampling tracing image supplies the colour when `color` is missing. Returns `layerId`, `bounds`, `dabs`, `strokeId` and, for brushes that pick up paint, `mixerLoad` (what the brush carries now). Refused on locked, hidden or group layers, with the fix in the message. |
166
196
  | `list_strokes` | Read the recorded strokes, oldest first (default the last 100): id, layer, brush, colour, point count, seed, bounds. With `ids`, their points too. |
167
197
  | `replay_strokes` | Paint recorded `strokeIds` again: exactly, or varied by `dx` / `dy` (px), `rotate` (degrees clockwise), `scale` (brush size follows), `flipX`, `origin`, `pressureScale`, `color`, `brushId`, `layerId`, `repeat` (each copy applies the variation again). One undo step. Returns the new stroke ids, bounds and layers. |
168
198
  | `undo_paint` | Undo the last step. Returns what was undone and what is next. |
@@ -206,6 +236,12 @@ is never part of a layer. Coordinates are document pixels, (0, 0) top-left, y do
206
236
  has depth 0.
207
237
  - **Grain is fixed to the document**, not to the layer: moving content does not move the grain,
208
238
  and two strokes on the same spot catch the same peaks.
239
+ - **Blending tools need paint to blend.** Blender and smudge only move what is on the target
240
+ layer: blend on the layer you painted, not on an empty one above it.
241
+ - **A dirty brush stays dirty** across strokes and colour changes until `clean_mixer_brush`.
242
+ Pick-up lifts only paint on the target layer: the paper and other layers lift nothing.
243
+ - **Replays use the recorded load**: a replayed pick-up stroke starts with what the brush carried
244
+ when it was painted, not with the current load.
209
245
  - **Big soft brushes at full flow look flat.** Lower `flow` (airbrush 0.05..0.15) and build up.
210
246
  - **JPEG and WebP need a browser**; in Node use PNG. Exports never upscale (`scale` ≤ 1).
211
247
  - **Symmetry stays on until you turn it off.** Set `mode: "off"` after the symmetric part, or