@pixerate/editor 0.135.0 → 0.137.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 (164) hide show
  1. package/dist/animation-editor/index.cjs +63 -55
  2. package/dist/animation-editor/index.cjs.map +1 -1
  3. package/dist/animation-editor/index.d.cts +8 -5
  4. package/dist/animation-editor/index.d.ts +8 -5
  5. package/dist/animation-editor/index.js +10 -2
  6. package/dist/animation-editor/index.js.map +1 -1
  7. package/dist/{bezier-J8i4uqSH.d.cts → bezier-CZ2AhjID.d.cts} +1 -1
  8. package/dist/{bezier-lNEOp0Jx.d.ts → bezier-Dywv3Bw8.d.ts} +1 -1
  9. package/dist/blending-D7jCmjO6.d.cts +1026 -0
  10. package/dist/blending-NgF3qo3d.d.ts +1026 -0
  11. package/dist/brushes-CnvZSYYU.d.cts +744 -0
  12. package/dist/brushes-DJmUbIgz.d.ts +744 -0
  13. package/dist/{brushstrokeRender-SII6MG4R.js → brushstrokeRender-2FAXA3XC.js} +13 -16
  14. package/dist/{brushstrokeRender-SII6MG4R.js.map → brushstrokeRender-2FAXA3XC.js.map} +1 -1
  15. package/dist/{brushstrokeRender-JNHVEUFG.cjs → brushstrokeRender-IMFY3FF6.cjs} +16 -19
  16. package/dist/brushstrokeRender-IMFY3FF6.cjs.map +1 -0
  17. package/dist/canvas/index.cjs +10 -10
  18. package/dist/canvas/index.cjs.map +1 -1
  19. package/dist/canvas/index.d.cts +10 -7
  20. package/dist/canvas/index.d.ts +10 -7
  21. package/dist/canvas/index.js +4 -4
  22. package/dist/{chunk-W4LNKTHT.cjs → chunk-2XS6LTUP.cjs} +63 -63
  23. package/dist/{chunk-W4LNKTHT.cjs.map → chunk-2XS6LTUP.cjs.map} +1 -1
  24. package/dist/{chunk-HHTCDFZC.js → chunk-3D77LOBM.js} +234 -136
  25. package/dist/chunk-3D77LOBM.js.map +1 -0
  26. package/dist/{chunk-BR7EKQUP.js → chunk-3G6J7UFV.js} +322 -2
  27. package/dist/chunk-3G6J7UFV.js.map +1 -0
  28. package/dist/{chunk-62XUO5LB.js → chunk-3X6IAJUQ.js} +2 -2
  29. package/dist/{chunk-EM3FMJWE.js → chunk-5FSRTP6E.js} +320 -3
  30. package/dist/chunk-5FSRTP6E.js.map +1 -0
  31. package/dist/{chunk-Z2H7KECK.cjs → chunk-5OOIUXNJ.cjs} +345 -247
  32. package/dist/chunk-5OOIUXNJ.cjs.map +1 -0
  33. package/dist/{chunk-7RJ6P7MI.js → chunk-6S6362D2.js} +2 -2
  34. package/dist/chunk-A3BVTI3G.js +150 -0
  35. package/dist/chunk-A3BVTI3G.js.map +1 -0
  36. package/dist/{chunk-24ATT2PE.cjs → chunk-AEAAN4AD.cjs} +120 -120
  37. package/dist/{chunk-24ATT2PE.cjs.map → chunk-AEAAN4AD.cjs.map} +1 -1
  38. package/dist/chunk-ECCXGELC.cjs +727 -0
  39. package/dist/chunk-ECCXGELC.cjs.map +1 -0
  40. package/dist/{chunk-SVYE5HIM.js → chunk-EQQMGO42.js} +2 -2
  41. package/dist/{chunk-FHPVDTI2.cjs → chunk-F2Y4E4GU.cjs} +22 -22
  42. package/dist/{chunk-FHPVDTI2.cjs.map → chunk-F2Y4E4GU.cjs.map} +1 -1
  43. package/dist/{chunk-OXSV64JX.js → chunk-G6IKY6PL.js} +4 -4
  44. package/dist/{chunk-UYQUPUR6.js → chunk-HUO3TI4C.js} +3 -3
  45. package/dist/chunk-I52DRGGJ.js +727 -0
  46. package/dist/chunk-I52DRGGJ.js.map +1 -0
  47. package/dist/{chunk-DDSO4HS7.cjs → chunk-KEENUAFN.cjs} +2 -2
  48. package/dist/{chunk-DDSO4HS7.cjs.map → chunk-KEENUAFN.cjs.map} +1 -1
  49. package/dist/{chunk-2HC4DRF4.js → chunk-LLFHCSU2.js} +2 -2
  50. package/dist/{chunk-J5BA3BQ6.cjs → chunk-O7LUD7MH.cjs} +323 -3
  51. package/dist/chunk-O7LUD7MH.cjs.map +1 -0
  52. package/dist/{chunk-ILYFOJUN.js → chunk-OIBIRXRG.js} +3 -3
  53. package/dist/{chunk-FWEO3HSL.js → chunk-PQQF5KOW.js} +8 -8
  54. package/dist/{chunk-T6TV6HY6.cjs → chunk-PRSRYHQD.cjs} +36 -36
  55. package/dist/{chunk-T6TV6HY6.cjs.map → chunk-PRSRYHQD.cjs.map} +1 -1
  56. package/dist/chunk-Q6OUXEK3.cjs +150 -0
  57. package/dist/chunk-Q6OUXEK3.cjs.map +1 -0
  58. package/dist/{chunk-6GFRKLLS.cjs → chunk-QBWEH3IM.cjs} +429 -112
  59. package/dist/chunk-QBWEH3IM.cjs.map +1 -0
  60. package/dist/{chunk-ESIWZMMK.js → chunk-SYT2TLQF.js} +35 -37
  61. package/dist/{chunk-ESIWZMMK.js.map → chunk-SYT2TLQF.js.map} +1 -1
  62. package/dist/{chunk-YT3JL7YM.cjs → chunk-TLCTTQFF.cjs} +53 -53
  63. package/dist/{chunk-YT3JL7YM.cjs.map → chunk-TLCTTQFF.cjs.map} +1 -1
  64. package/dist/{chunk-P3RQ5UJE.cjs → chunk-UTQKC66X.cjs} +4 -4
  65. package/dist/{chunk-P3RQ5UJE.cjs.map → chunk-UTQKC66X.cjs.map} +1 -1
  66. package/dist/{chunk-J3B45HTA.cjs → chunk-XB25WOC2.cjs} +6 -6
  67. package/dist/{chunk-J3B45HTA.cjs.map → chunk-XB25WOC2.cjs.map} +1 -1
  68. package/dist/{chunk-YAFS2QFZ.cjs → chunk-XN2NBLV5.cjs} +313 -315
  69. package/dist/chunk-XN2NBLV5.cjs.map +1 -0
  70. package/dist/effects/index.d.cts +7 -4
  71. package/dist/effects/index.d.ts +7 -4
  72. package/dist/{export-DMeG6E06.d.ts → export-41rL6Cne.d.ts} +1 -1
  73. package/dist/{export-AZSwX087.d.cts → export-CyJdfP_Z.d.cts} +5 -4
  74. package/dist/{export-KzubBKo7.d.cts → export-D9mXp05Q.d.cts} +1 -1
  75. package/dist/{export-BDkyDNM8.d.ts → export-DwnZ_hvQ.d.ts} +5 -4
  76. package/dist/extensions/index.cjs +3 -3
  77. package/dist/extensions/index.cjs.map +1 -1
  78. package/dist/extensions/index.js +2 -2
  79. package/dist/generation/index.cjs +150 -945
  80. package/dist/generation/index.cjs.map +1 -1
  81. package/dist/generation/index.d.cts +3 -423
  82. package/dist/generation/index.d.ts +3 -423
  83. package/dist/generation/index.js +59 -854
  84. package/dist/generation/index.js.map +1 -1
  85. package/dist/grammar/index.cjs +3 -3
  86. package/dist/grammar/index.cjs.map +1 -1
  87. package/dist/grammar/index.js +2 -2
  88. package/dist/{helpers-Coa4e2j_.d.ts → helpers-C-RgeyvH.d.ts} +25 -8
  89. package/dist/{helpers-DHl28yLO.d.cts → helpers-v6GMazzg.d.cts} +25 -8
  90. package/dist/image-editor/index.cjs +986 -986
  91. package/dist/image-editor/index.cjs.map +1 -1
  92. package/dist/image-editor/index.d.cts +15 -11
  93. package/dist/image-editor/index.d.ts +15 -11
  94. package/dist/image-editor/index.js +94 -94
  95. package/dist/index.cjs +28 -28
  96. package/dist/index.cjs.map +1 -1
  97. package/dist/index.js +36 -36
  98. package/dist/{opentype-BWR7Qv8W.d.cts → opentype-KR_jj6b_.d.cts} +1 -1
  99. package/dist/{opentype-Dfcx6wFx.d.ts → opentype-a1KAW-qs.d.ts} +1 -1
  100. package/dist/paint/index.cjs +5 -8
  101. package/dist/paint/index.cjs.map +1 -1
  102. package/dist/paint/index.d.cts +4 -2
  103. package/dist/paint/index.d.ts +4 -2
  104. package/dist/paint/index.js +15 -18
  105. package/dist/paint-editor/index.cjs +405 -403
  106. package/dist/paint-editor/index.cjs.map +1 -1
  107. package/dist/paint-editor/index.d.cts +15 -748
  108. package/dist/paint-editor/index.d.ts +15 -748
  109. package/dist/paint-editor/index.js +79 -77
  110. package/dist/paint-editor/index.js.map +1 -1
  111. package/dist/{pathfinder-D8KQ6blQ.d.cts → pathfinder-BHS4vQNm.d.cts} +1 -1
  112. package/dist/{pathfinder-Celbi3e6.d.ts → pathfinder-BVvTIBMo.d.ts} +1 -1
  113. package/dist/{pool-8JZGWHvR.d.ts → pool-CZQOrSXZ.d.ts} +1 -1
  114. package/dist/{pool-BfuxBKTd.d.cts → pool-FjZZmZ80.d.cts} +1 -1
  115. package/dist/provenance-DmlcgdzT.d.cts +426 -0
  116. package/dist/provenance-uh5r2TQ8.d.ts +426 -0
  117. package/dist/rand-8xbUb6ur.d.ts +1118 -0
  118. package/dist/rand-Cw9VLrVC.d.cts +1118 -0
  119. package/dist/raster/index.cjs +17 -19
  120. package/dist/raster/index.cjs.map +1 -1
  121. package/dist/raster/index.js +9 -11
  122. package/dist/raster/index.js.map +1 -1
  123. package/dist/{svg-CxxqG3_W.d.ts → svg-CSz3mzkw.d.ts} +2 -2
  124. package/dist/{svg-pwXWq6s2.d.cts → svg-DTb40ICU.d.cts} +2 -2
  125. package/dist/{tools-y1M6O3UT.d.ts → tools-B0wXP5cF.d.ts} +1 -1
  126. package/dist/{tools-3EBjR91b.d.cts → tools-Ca0kI1qo.d.cts} +1 -1
  127. package/dist/vector/index.cjs +2698 -1674
  128. package/dist/vector/index.cjs.map +1 -1
  129. package/dist/vector/index.d.cts +390 -72
  130. package/dist/vector/index.d.ts +390 -72
  131. package/dist/vector/index.js +1665 -641
  132. package/dist/vector/index.js.map +1 -1
  133. package/dist/video-editor/index.d.cts +7 -4
  134. package/dist/video-editor/index.d.ts +7 -4
  135. package/dist/{warp-Ceqdz7kj.d.cts → warp-DTOp0lON.d.cts} +1 -1
  136. package/dist/{warp-C1gwu2G_.d.ts → warp-pd7hrH4T.d.ts} +1 -1
  137. package/package.json +1 -1
  138. package/skills/pixerate-vector/SKILL.md +22 -0
  139. package/dist/brushstrokeRender-JNHVEUFG.cjs.map +0 -1
  140. package/dist/chunk-64PYNEHJ.js +0 -340
  141. package/dist/chunk-64PYNEHJ.js.map +0 -1
  142. package/dist/chunk-6GFRKLLS.cjs.map +0 -1
  143. package/dist/chunk-7QN76ESJ.js +0 -323
  144. package/dist/chunk-7QN76ESJ.js.map +0 -1
  145. package/dist/chunk-BR7EKQUP.js.map +0 -1
  146. package/dist/chunk-DCLJNVZS.cjs +0 -323
  147. package/dist/chunk-DCLJNVZS.cjs.map +0 -1
  148. package/dist/chunk-EM3FMJWE.js.map +0 -1
  149. package/dist/chunk-HHTCDFZC.js.map +0 -1
  150. package/dist/chunk-J5BA3BQ6.cjs.map +0 -1
  151. package/dist/chunk-YAFS2QFZ.cjs.map +0 -1
  152. package/dist/chunk-Z2H7KECK.cjs.map +0 -1
  153. package/dist/chunk-Z6OUCS2K.cjs +0 -340
  154. package/dist/chunk-Z6OUCS2K.cjs.map +0 -1
  155. package/dist/rand-BszBST4s.d.ts +0 -2140
  156. package/dist/rand-DOH_aMvm.d.cts +0 -2140
  157. /package/dist/{chunk-62XUO5LB.js.map → chunk-3X6IAJUQ.js.map} +0 -0
  158. /package/dist/{chunk-7RJ6P7MI.js.map → chunk-6S6362D2.js.map} +0 -0
  159. /package/dist/{chunk-SVYE5HIM.js.map → chunk-EQQMGO42.js.map} +0 -0
  160. /package/dist/{chunk-OXSV64JX.js.map → chunk-G6IKY6PL.js.map} +0 -0
  161. /package/dist/{chunk-UYQUPUR6.js.map → chunk-HUO3TI4C.js.map} +0 -0
  162. /package/dist/{chunk-2HC4DRF4.js.map → chunk-LLFHCSU2.js.map} +0 -0
  163. /package/dist/{chunk-ILYFOJUN.js.map → chunk-OIBIRXRG.js.map} +0 -0
  164. /package/dist/{chunk-FWEO3HSL.js.map → chunk-PQQF5KOW.js.map} +0 -0
@@ -5,26 +5,29 @@ export { a as AnimationPlayerOptions, M as ManualClock, c as createAnimationPlay
5
5
  import { b as CanvasNodeUpdate, N as NodeRectOptions, A as AlignEdge, c as AlignNodesOptions, D as DistributeAxis, a as DistributeMode, d as DistributeNodesOptions, S as SizeDimension, M as MatchSizeOptions, Z as ZOrderOperation, C as CanvasArrangeAction } from '../arrange-CKXK_hf7.cjs';
6
6
  export { e as ArrangeShortcutBinding, f as DEFAULT_ARRANGE_SHORTCUTS, L as LOCKED_DATA_KEY, g as LOCKED_PREVIOUS_FLAGS_KEY, h as alignNodes, i as applyNodeUpdates, j as createNodeLookup, k as distributeNodes, l as getAbsolutePosition, m as getNodeRect, n as getNodeSize, o as invertNodeUpdates, p as isLocked, q as lockNodes, r as matchArrangeShortcut, s as matchSize, t as readStyleSize, u as reorderNodes, v as toggleLockNodes, w as unlockNodes, x as withStyleSize } from '../arrange-CKXK_hf7.cjs';
7
7
  import { C as Command, M as MergedExecutionOptions } from '../types-DsiXGmjo.cjs';
8
- import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-J8i4uqSH.cjs';
9
- export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-J8i4uqSH.cjs';
10
- import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-D8KQ6blQ.cjs';
11
- export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-D8KQ6blQ.cjs';
8
+ import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-CZ2AhjID.cjs';
9
+ export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-CZ2AhjID.cjs';
10
+ import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-BHS4vQNm.cjs';
11
+ export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-BHS4vQNm.cjs';
12
12
  import { d as TokenModeContext, r as TokenType, o as TokenScope, f as TokenLiteral, c as TokenVariable, e as TokenResolution, T as TokenState } from '../model-C1zApQM8.cjs';
13
13
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.cjs';
14
14
  export { A as ANIMATION_EASING_LABELS, a as ANIMATION_EASING_PRESETS, c as AnimationEasingPreset, C as CUBIC_BEZIER_PRESETS, d as CubicBezierEasing, E as ElasticEasing, S as SPRING_PRESETS, e as SpringEasing, f as cubicBezierAt, g as easingFromInfluence, h as easingLabel, i as easingToCss, j as elasticAt, k as evaluateEasing, l as isAnimationEasing, p as parseCssEasing, r as resolveEasing, m as reverseCubicBezier, s as springAt, n as springSettleMs } from '../easing-lM0Xo9Ni.cjs';
15
15
  export { O as OklabColor, f as formatOklab, m as mixColorsOklab, o as oklabToRgb, p as parseOklab, r as rgbToOklab } from '../color-E9pwm--w.cjs';
16
16
  import { e as AnimationValueType, d as AnimationValue, c as AnimationTrack, b as AnimationLoopMode } from '../evaluate-BsxYieLN.cjs';
17
17
  export { A as ANIMATION_TIME_EPSILON, a as AnimationKeyframe, h as evaluateTrack, j as interpolateAnimationValue, k as isAnimationKeyframe, n as normalizeKeyframes, w as wrapAnimationTime } from '../evaluate-BsxYieLN.cjs';
18
- import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-DHl28yLO.cjs';
19
- export { cS as CANVAS_GRADIENT_PRESETS, cT as CanvasLinearGradient, cU as CanvasRadialGradient, cV as GradientStop, cW as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cX as SvgGradientStop, cY as angleToSvgLinearCoords, cZ as gradientToSvgDef, c_ as isCanvasGradient, c$ as parseCssGradient, d0 as resolveCanvasGradient } from '../helpers-DHl28yLO.cjs';
18
+ import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-v6GMazzg.cjs';
19
+ export { cT as CANVAS_GRADIENT_PRESETS, cU as CanvasLinearGradient, cV as CanvasRadialGradient, cW as GradientStop, cX as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cY as SvgGradientStop, cZ as angleToSvgLinearCoords, c_ as gradientToSvgDef, c$ as isCanvasGradient, d0 as parseCssGradient, d1 as resolveCanvasGradient } from '../helpers-v6GMazzg.cjs';
20
20
  import { P as Point$1, G as GraphNode, D as DiagramFamily, a as DiagramGraph, b as DiagramMeta, c as GraphGroup, d as GraphEdge, E as EdgePattern, A as ArrowHead, M as MermaidDocument, e as EditOp } from '../types-DYkjhzdz.cjs';
21
21
  import { a as CapturedImage, g as CaptureToolProviderOptions, b as CaptureSurface } from '../capture-DFEMFmVt.cjs';
22
22
  import { R as RasterizeElementOptions } from '../dom-capture-GyYuE-zq.cjs';
23
23
  import { a as AgentToolProvider } from '../registry-BqA1AZt0.cjs';
24
- import { E as EffectRendererPool } from '../pool-BfuxBKTd.cjs';
24
+ import { E as EffectRendererPool } from '../pool-FjZZmZ80.cjs';
25
25
  export { b as brushstrokeScaleBucket } from '../brushstroke-scale-B6XAdPSY.cjs';
26
26
  import { n as ChartSpec } from '../types-BRp-6zkY.cjs';
27
27
  import '../schema-Di0CS6Pe.cjs';
28
+ import '../provenance-DmlcgdzT.cjs';
29
+ import '../sourcemap-C8AH3MBQ.cjs';
30
+ import '../tokens-D7yXvUU6.cjs';
28
31
  import '../types-CwMPoRMU.cjs';
29
32
 
30
33
  declare const DEFAULT_NODE_WIDTH = 200;
@@ -5,26 +5,29 @@ export { a as AnimationPlayerOptions, M as ManualClock, c as createAnimationPlay
5
5
  import { b as CanvasNodeUpdate, N as NodeRectOptions, A as AlignEdge, c as AlignNodesOptions, D as DistributeAxis, a as DistributeMode, d as DistributeNodesOptions, S as SizeDimension, M as MatchSizeOptions, Z as ZOrderOperation, C as CanvasArrangeAction } from '../arrange-BUREmgD9.js';
6
6
  export { e as ArrangeShortcutBinding, f as DEFAULT_ARRANGE_SHORTCUTS, L as LOCKED_DATA_KEY, g as LOCKED_PREVIOUS_FLAGS_KEY, h as alignNodes, i as applyNodeUpdates, j as createNodeLookup, k as distributeNodes, l as getAbsolutePosition, m as getNodeRect, n as getNodeSize, o as invertNodeUpdates, p as isLocked, q as lockNodes, r as matchArrangeShortcut, s as matchSize, t as readStyleSize, u as reorderNodes, v as toggleLockNodes, w as unlockNodes, x as withStyleSize } from '../arrange-BUREmgD9.js';
7
7
  import { C as Command, M as MergedExecutionOptions } from '../types-DsiXGmjo.js';
8
- import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-lNEOp0Jx.js';
9
- export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-lNEOp0Jx.js';
10
- import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-Celbi3e6.js';
11
- export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-Celbi3e6.js';
8
+ import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-Dywv3Bw8.js';
9
+ export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-Dywv3Bw8.js';
10
+ import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-BVvTIBMo.js';
11
+ export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-BVvTIBMo.js';
12
12
  import { d as TokenModeContext, r as TokenType, o as TokenScope, f as TokenLiteral, c as TokenVariable, e as TokenResolution, T as TokenState } from '../model-C1zApQM8.js';
13
13
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.js';
14
14
  export { A as ANIMATION_EASING_LABELS, a as ANIMATION_EASING_PRESETS, c as AnimationEasingPreset, C as CUBIC_BEZIER_PRESETS, d as CubicBezierEasing, E as ElasticEasing, S as SPRING_PRESETS, e as SpringEasing, f as cubicBezierAt, g as easingFromInfluence, h as easingLabel, i as easingToCss, j as elasticAt, k as evaluateEasing, l as isAnimationEasing, p as parseCssEasing, r as resolveEasing, m as reverseCubicBezier, s as springAt, n as springSettleMs } from '../easing-lM0Xo9Ni.js';
15
15
  export { O as OklabColor, f as formatOklab, m as mixColorsOklab, o as oklabToRgb, p as parseOklab, r as rgbToOklab } from '../color-E9pwm--w.js';
16
16
  import { e as AnimationValueType, d as AnimationValue, c as AnimationTrack, b as AnimationLoopMode } from '../evaluate-BbCeF6pt.js';
17
17
  export { A as ANIMATION_TIME_EPSILON, a as AnimationKeyframe, h as evaluateTrack, j as interpolateAnimationValue, k as isAnimationKeyframe, n as normalizeKeyframes, w as wrapAnimationTime } from '../evaluate-BbCeF6pt.js';
18
- import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-Coa4e2j_.js';
19
- export { cS as CANVAS_GRADIENT_PRESETS, cT as CanvasLinearGradient, cU as CanvasRadialGradient, cV as GradientStop, cW as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cX as SvgGradientStop, cY as angleToSvgLinearCoords, cZ as gradientToSvgDef, c_ as isCanvasGradient, c$ as parseCssGradient, d0 as resolveCanvasGradient } from '../helpers-Coa4e2j_.js';
18
+ import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-C-RgeyvH.js';
19
+ export { cT as CANVAS_GRADIENT_PRESETS, cU as CanvasLinearGradient, cV as CanvasRadialGradient, cW as GradientStop, cX as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cY as SvgGradientStop, cZ as angleToSvgLinearCoords, c_ as gradientToSvgDef, c$ as isCanvasGradient, d0 as parseCssGradient, d1 as resolveCanvasGradient } from '../helpers-C-RgeyvH.js';
20
20
  import { P as Point$1, G as GraphNode, D as DiagramFamily, a as DiagramGraph, b as DiagramMeta, c as GraphGroup, d as GraphEdge, E as EdgePattern, A as ArrowHead, M as MermaidDocument, e as EditOp } from '../types-DYkjhzdz.js';
21
21
  import { a as CapturedImage, g as CaptureToolProviderOptions, b as CaptureSurface } from '../capture-wwNGaW05.js';
22
22
  import { R as RasterizeElementOptions } from '../dom-capture-7Wvf6Tyg.js';
23
23
  import { a as AgentToolProvider } from '../registry-D-4fit9C.js';
24
- import { E as EffectRendererPool } from '../pool-8JZGWHvR.js';
24
+ import { E as EffectRendererPool } from '../pool-CZQOrSXZ.js';
25
25
  export { b as brushstrokeScaleBucket } from '../brushstroke-scale-B6XAdPSY.js';
26
26
  import { n as ChartSpec } from '../types-BRp-6zkY.js';
27
27
  import '../schema-Di0CS6Pe.js';
28
+ import '../provenance-uh5r2TQ8.js';
29
+ import '../sourcemap-DA1Evhrv.js';
30
+ import '../tokens-D7yXvUU6.js';
28
31
  import '../types-CwMPoRMU.js';
29
32
 
30
33
  declare const DEFAULT_NODE_WIDTH = 200;
@@ -51,7 +51,7 @@ import {
51
51
  renderShapeBrushstroke,
52
52
  validateCanvasBrush,
53
53
  validateCanvasBrushPaint
54
- } from "../chunk-SVYE5HIM.js";
54
+ } from "../chunk-EQQMGO42.js";
55
55
  import {
56
56
  TokenError,
57
57
  getTokenCollection,
@@ -90,9 +90,6 @@ import {
90
90
  createCaptureToolProvider,
91
91
  unionCaptureRects
92
92
  } from "../chunk-REOJJIY3.js";
93
- import {
94
- brushstrokeScaleBucket
95
- } from "../chunk-63AZAUSN.js";
96
93
  import {
97
94
  layoutChart
98
95
  } from "../chunk-OEFCLWZ3.js";
@@ -192,6 +189,9 @@ import {
192
189
  resolveEffectValues
193
190
  } from "../chunk-QFSTQHZY.js";
194
191
  import "../chunk-4FX5ACVG.js";
192
+ import {
193
+ brushstrokeScaleBucket
194
+ } from "../chunk-63AZAUSN.js";
195
195
  import {
196
196
  ANIMATION_TIME_EPSILON,
197
197
  AnimationPlayer,
@@ -17,17 +17,17 @@
17
17
 
18
18
 
19
19
 
20
- var _chunk6GFRKLLScjs = require('./chunk-6GFRKLLS.cjs');
20
+ var _chunkQBWEH3IMcjs = require('./chunk-QBWEH3IM.cjs');
21
21
 
22
22
 
23
23
 
24
24
 
25
25
 
26
- var _chunkJ5BA3BQ6cjs = require('./chunk-J5BA3BQ6.cjs');
26
+ var _chunkO7LUD7MHcjs = require('./chunk-O7LUD7MH.cjs');
27
27
 
28
28
  // src/paint-editor/noise.ts
29
29
  function randSigned(seed, index, stream) {
30
- return _chunk6GFRKLLScjs.rand01.call(void 0, seed, index, stream) * 2 - 1;
30
+ return _chunkQBWEH3IMcjs.rand01.call(void 0, seed, index, stream) * 2 - 1;
31
31
  }
32
32
  function seedFromString(text) {
33
33
  let h = 2166136261;
@@ -35,7 +35,7 @@ function seedFromString(text) {
35
35
  h ^= text.charCodeAt(i);
36
36
  h = Math.imul(h, 16777619);
37
37
  }
38
- return _chunk6GFRKLLScjs.mix32.call(void 0, h >>> 0);
38
+ return _chunkQBWEH3IMcjs.mix32.call(void 0, h >>> 0);
39
39
  }
40
40
  var smooth = (t) => t * t * (3 - 2 * t);
41
41
  var Lattice = class {
@@ -43,7 +43,7 @@ var Lattice = class {
43
43
  this.px = px;
44
44
  this.py = py;
45
45
  this.values = new Float32Array(px * py);
46
- for (let j = 0; j < py; j++) for (let i = 0; i < px; i++) this.values[j * px + i] = _chunk6GFRKLLScjs.hash2.call(void 0, i, j, salt);
46
+ for (let j = 0; j < py; j++) for (let i = 0; i < px; i++) this.values[j * px + i] = _chunkQBWEH3IMcjs.hash2.call(void 0, i, j, salt);
47
47
  }
48
48
 
49
49
 
@@ -181,24 +181,24 @@ function patternHeights(pattern, n, seed) {
181
181
  const base = noise(20 * k, 20 * k, 4);
182
182
  const fine = noise(64 * k, 64 * k, 2, 3);
183
183
  for (let y = 0; y < n; y++)
184
- for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 1.8 + 0.5 + (fine.at(x, y) - 0.5) * 0.5 + (_chunk6GFRKLLScjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.12);
184
+ for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 1.8 + 0.5 + (fine.at(x, y) - 0.5) * 0.5 + (_chunkQBWEH3IMcjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.12);
185
185
  break;
186
186
  }
187
187
  case "hot-pressed": {
188
188
  const base = noise(40 * k, 40 * k, 3);
189
- for (let y = 0; y < n; y++) for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 1.1 + 0.6 + (_chunk6GFRKLLScjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.08);
189
+ for (let y = 0; y < n; y++) for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 1.1 + 0.6 + (_chunkQBWEH3IMcjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.08);
190
190
  break;
191
191
  }
192
192
  case "rough": {
193
193
  const base = noise(10 * k, 10 * k, 5);
194
194
  const blot = noise(28 * k, 28 * k, 2, 5);
195
195
  for (let y = 0; y < n; y++)
196
- for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 2.4 + 0.5 + (blot.at(x, y) - 0.5) * 0.7 + (_chunk6GFRKLLScjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.15);
196
+ for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 2.4 + 0.5 + (blot.at(x, y) - 0.5) * 0.7 + (_chunkQBWEH3IMcjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.15);
197
197
  break;
198
198
  }
199
199
  case "vellum": {
200
200
  const base = noise(40 * k, 40 * k, 3);
201
- for (let y = 0; y < n; y++) for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 1.6 + 0.55 + (_chunk6GFRKLLScjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.2);
201
+ for (let y = 0; y < n; y++) for (let x = 0; x < n; x++) out[y * n + x] = clamp01((base.at(x, y) - 0.5) * 1.6 + 0.55 + (_chunkQBWEH3IMcjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.2);
202
202
  break;
203
203
  }
204
204
  case "laid": {
@@ -219,7 +219,7 @@ function patternHeights(pattern, n, seed) {
219
219
  const base = noise(16 * k, 16 * k, 3, 7);
220
220
  for (let y = 0; y < n; y++)
221
221
  for (let x = 0; x < n; x++) {
222
- const g = _chunk6GFRKLLScjs.hash2.call(void 0, x, y, salt ^ 85);
222
+ const g = _chunkQBWEH3IMcjs.hash2.call(void 0, x, y, salt ^ 85);
223
223
  out[y * n + x] = clamp01((fibres.at(x, y) - 0.5) * 1.5 + (base.at(x, y) - 0.5) * 0.7 + 0.55 + (g < 0.1 ? -0.3 : 0));
224
224
  }
225
225
  break;
@@ -228,7 +228,7 @@ function patternHeights(pattern, n, seed) {
228
228
  const grit = noise(96 * k, 96 * k, 2);
229
229
  for (let y = 0; y < n; y++)
230
230
  for (let x = 0; x < n; x++) {
231
- const h = _chunk6GFRKLLScjs.hash2.call(void 0, x, y, salt);
231
+ const h = _chunkQBWEH3IMcjs.hash2.call(void 0, x, y, salt);
232
232
  out[y * n + x] = clamp01((grit.at(x, y) - 0.5) * 2.4 + 0.5 + (h - 0.5) * 0.7);
233
233
  }
234
234
  break;
@@ -249,7 +249,7 @@ function patternHeights(pattern, n, seed) {
249
249
  const weft = Math.sin(Math.PI * (fy - cy));
250
250
  const top = (cx + cy) % 2 === 0 ? warp : weft;
251
251
  const irregular = pattern === "linen" ? (slub.at(x, y) - 0.5) * 0.5 : 0;
252
- out[y * n + x] = clamp01(0.2 + 0.7 * top + irregular + (_chunk6GFRKLLScjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.15);
252
+ out[y * n + x] = clamp01(0.2 + 0.7 * top + irregular + (_chunkQBWEH3IMcjs.hash2.call(void 0, x, y, salt) - 0.5) * 0.15);
253
253
  }
254
254
  break;
255
255
  }
@@ -599,7 +599,7 @@ var DryStroke = (_class5 = class {
599
599
  }
600
600
 
601
601
 
602
- __init14() {this.coverage = new (0, _chunk6GFRKLLScjs.CoverageMap)()}
602
+ __init14() {this.coverage = new (0, _chunkQBWEH3IMcjs.CoverageMap)()}
603
603
  __init15() {this.dabCount = 0}
604
604
 
605
605
 
@@ -633,11 +633,11 @@ var DryStroke = (_class5 = class {
633
633
  const hardness = this.brush.tip.hardness;
634
634
  const grain = this.options.grain;
635
635
  for (const d of dabs) {
636
- const rect = _chunk6GFRKLLScjs.dabRect.call(void 0, d, hardness);
636
+ const rect = _chunkQBWEH3IMcjs.dabRect.call(void 0, d, hardness);
637
637
  const n = rect.width * rect.height;
638
638
  if (this.buf.length < n) this.buf = new Float32Array(n);
639
639
  const vals = this.buf.subarray(0, n);
640
- _chunk6GFRKLLScjs.rasterizeDab.call(void 0, d, hardness, rect, vals);
640
+ _chunkQBWEH3IMcjs.rasterizeDab.call(void 0, d, hardness, rect, vals);
641
641
  if (this.depth > 0 && grain) {
642
642
  for (let yy = 0, k = 0; yy < rect.height; yy++) {
643
643
  const y = rect.y + yy + 0.5;
@@ -715,14 +715,14 @@ function stampCoverage(kind, u, v, t) {
715
715
  }
716
716
  case "splat": {
717
717
  let rr = 0.55;
718
- for (let k = 1; k <= 3; k++) rr += 0.08 * Math.sin(a * (k + 2) + _chunk6GFRKLLScjs.hash2.call(void 0, k, 1, t) * 6.28) / k;
718
+ for (let k = 1; k <= 3; k++) rr += 0.08 * Math.sin(a * (k + 2) + _chunkQBWEH3IMcjs.hash2.call(void 0, k, 1, t) * 6.28) / k;
719
719
  let c = edge(rr - r);
720
720
  for (let k = 0; k < 4; k++) {
721
- const ang = _chunk6GFRKLLScjs.hash2.call(void 0, k, 7, t) * Math.PI * 2;
722
- const dist = 0.72 + 0.2 * _chunk6GFRKLLScjs.hash2.call(void 0, k, 9, t);
721
+ const ang = _chunkQBWEH3IMcjs.hash2.call(void 0, k, 7, t) * Math.PI * 2;
722
+ const dist = 0.72 + 0.2 * _chunkQBWEH3IMcjs.hash2.call(void 0, k, 9, t);
723
723
  const dx = u - Math.cos(ang) * dist;
724
724
  const dy = v - Math.sin(ang) * dist;
725
- c = Math.max(c, edge(0.08 + 0.06 * _chunk6GFRKLLScjs.hash2.call(void 0, k, 11, t) - Math.hypot(dx, dy)));
725
+ c = Math.max(c, edge(0.08 + 0.06 * _chunkQBWEH3IMcjs.hash2.call(void 0, k, 11, t) - Math.hypot(dx, dy)));
726
726
  }
727
727
  return c;
728
728
  }
@@ -760,7 +760,7 @@ function drawSticker(medium, s) {
760
760
  c /= 4;
761
761
  if (c <= 0) continue;
762
762
  cov[p] = c;
763
- const shade = 1 + 0.12 * (-(u + v) / 2) + 0.06 * (_chunk6GFRKLLScjs.hash2.call(void 0, px, rect.y + yy, s.seed) - 0.5);
763
+ const shade = 1 + 0.12 * (-(u + v) / 2) + 0.06 * (_chunkQBWEH3IMcjs.hash2.call(void 0, px, rect.y + yy, s.seed) - 0.5);
764
764
  field[p * 3] = Math.min(1, Math.max(0, r * shade));
765
765
  field[p * 3 + 1] = Math.min(1, Math.max(0, g * shade));
766
766
  field[p * 3 + 2] = Math.min(1, Math.max(0, b * shade));
@@ -771,8 +771,8 @@ function drawSticker(medium, s) {
771
771
  }
772
772
  function jitterColor(hex, amount, seed, i) {
773
773
  const [r, g, b] = hexRgb(hex);
774
- const l = (_chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 61) - 0.5) * amount * 0.6;
775
- const h = (_chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 63) - 0.5) * amount;
774
+ const l = (_chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 61) - 0.5) * amount * 0.6;
775
+ const h = (_chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 63) - 0.5) * amount;
776
776
  const m = (r + g + b) / 3;
777
777
  const rot = (c0, c1) => c0 + (c1 - c0) * h;
778
778
  const out = [rot(r, g), rot(g, b), rot(b, r)].map((c) => Math.min(1, Math.max(0, c + l + (c - m) * 0)));
@@ -787,7 +787,7 @@ var StickerSpray = (_class6 = class {
787
787
  const spacing = Math.max(0.05, 1 / Math.max(0.05, b.sticker.density * 4));
788
788
  const walk = { ...b, tip: { ...b.tip, spacing }, dynamics: { ...b.dynamics, scatter: 0, sizeJitter: 0, angleJitter: 0 } };
789
789
  this.walkers = this.copies.map((c, i) => new PenDabWalker(walk, init.seed + i * 7919 | 0, c.linear));
790
- this.medium = new (0, _chunk6GFRKLLScjs.TileMedium)(init.target, {});
790
+ this.medium = new (0, _chunkQBWEH3IMcjs.TileMedium)(init.target, {});
791
791
  this.next = init.nextId;
792
792
  }
793
793
 
@@ -830,21 +830,21 @@ var StickerSpray = (_class6 = class {
830
830
  const st = this.init.brush.sticker;
831
831
  const i = this.next;
832
832
  const seed = this.init.seed;
833
- const size = d.radius * 2 * (1 - st.sizeJitter * 0.7 * _chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 51));
833
+ const size = d.radius * 2 * (1 - st.sizeJitter * 0.7 * _chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 51));
834
834
  const off = st.scatter * d.radius * 2;
835
- const a = _chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 53) * Math.PI * 2;
836
- const dist = _chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 55) * off;
835
+ const a = _chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 53) * Math.PI * 2;
836
+ const dist = _chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 55) * off;
837
837
  const base = this.colorAt(d, Math.cos(a) * dist, Math.sin(a) * dist);
838
838
  const sticker = {
839
839
  id: `st${this.next++}`,
840
- stamp: _nullishCoalesce(st.stamps[Math.floor(_chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 57) * st.stamps.length)], () => ( "dot")),
840
+ stamp: _nullishCoalesce(st.stamps[Math.floor(_chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 57) * st.stamps.length)], () => ( "dot")),
841
841
  x: Math.round((d.x + Math.cos(a) * dist) * 100) / 100,
842
842
  y: Math.round((d.y + Math.sin(a) * dist) * 100) / 100,
843
843
  size: Math.max(2, Math.round(size * 10) / 10),
844
- rotation: Math.round((-d.angle * 180 / Math.PI + (_chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 59) * 2 - 1) * 180 * st.rotationJitter) * 10) / 10,
844
+ rotation: Math.round((-d.angle * 180 / Math.PI + (_chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 59) * 2 - 1) * 180 * st.rotationJitter) * 10) / 10,
845
845
  color: st.colorJitter > 0 ? jitterColor(base.color, st.colorJitter, seed, i) : base.color,
846
846
  opacity: Math.round(Math.min(1, d.opacity * this.init.brush.tip.opacity * base.alpha) * 1e3) / 1e3,
847
- seed: Math.floor(_chunk6GFRKLLScjs.rand01.call(void 0, seed, i, 65) * 1e9)
847
+ seed: Math.floor(_chunkQBWEH3IMcjs.rand01.call(void 0, seed, i, 65) * 1e9)
848
848
  };
849
849
  this.stickers.push(sticker);
850
850
  rects.push(drawSticker(this.medium, sticker));
@@ -855,13 +855,13 @@ var StickerSpray = (_class6 = class {
855
855
  colorAt(d, dx, dy) {
856
856
  const g = this.init.paint;
857
857
  if (!g) return { color: this.init.color, alpha: 1 };
858
- this.sampler ??= new (0, _chunk6GFRKLLScjs.PaintGradientSampler)(g, this.init.seed);
858
+ this.sampler ??= new (0, _chunkQBWEH3IMcjs.PaintGradientSampler)(g, this.init.seed);
859
859
  const s = g.map.by === "across-tip" ? this.sampler.sample(((dx * Math.sin(d.direction) + dy * Math.cos(d.direction)) / Math.max(0.5, d.radius) + 1) / 2) : this.sampler.dab(d);
860
860
  return { color: "#" + s.rgb.map((c) => Math.round(Math.min(1, Math.max(0, c)) * 255).toString(16).padStart(2, "0")).join(""), alpha: s.alpha };
861
861
  }
862
862
  }, _class6);
863
863
  function renderStickers(stickers, target) {
864
- const medium = new (0, _chunk6GFRKLLScjs.TileMedium)(target, {});
864
+ const medium = new (0, _chunkQBWEH3IMcjs.TileMedium)(target, {});
865
865
  for (const s of stickers) drawSticker(medium, s);
866
866
  }
867
867
  function normalizeStickerUpdate(u) {
@@ -898,21 +898,21 @@ function stickerSurface(stickers) {
898
898
  offset: { x: 0, y: 0 },
899
899
  lockTransparency: false,
900
900
  selection: null,
901
- readTile: (tx, ty) => _nullishCoalesce(live.get(_chunkJ5BA3BQ6cjs.tileKey.call(void 0, tx, ty)), () => ( null)),
901
+ readTile: (tx, ty) => _nullishCoalesce(live.get(_chunkO7LUD7MHcjs.tileKey.call(void 0, tx, ty)), () => ( null)),
902
902
  writeTile: (tx, ty) => {
903
- const k = _chunkJ5BA3BQ6cjs.tileKey.call(void 0, tx, ty);
903
+ const k = _chunkO7LUD7MHcjs.tileKey.call(void 0, tx, ty);
904
904
  let t = live.get(k);
905
- if (!t) live.set(k, t = new Uint8ClampedArray(_chunkJ5BA3BQ6cjs.TILE * _chunkJ5BA3BQ6cjs.TILE * 4));
905
+ if (!t) live.set(k, t = new Uint8ClampedArray(_chunkO7LUD7MHcjs.TILE * _chunkO7LUD7MHcjs.TILE * 4));
906
906
  return t;
907
907
  }
908
908
  };
909
909
  renderStickers(stickers, target);
910
910
  const tiles = /* @__PURE__ */ new Map();
911
911
  for (const [k, d] of live) {
912
- const t = _chunkJ5BA3BQ6cjs.finishTile.call(void 0, d, 4, 0);
912
+ const t = _chunkO7LUD7MHcjs.finishTile.call(void 0, d, 4, 0);
913
913
  if (t) tiles.set(k, t);
914
914
  }
915
- return new (0, _chunkJ5BA3BQ6cjs.TiledSurface)(4, tiles, 0);
915
+ return new (0, _chunkO7LUD7MHcjs.TiledSurface)(4, tiles, 0);
916
916
  }
917
917
 
918
918
  // src/paint-editor/procedural.ts
@@ -921,8 +921,8 @@ var MarkStroke = (_class7 = class {
921
921
  constructor(brush, options) {;_class7.prototype.__init23.call(this);_class7.prototype.__init24.call(this);_class7.prototype.__init25.call(this);_class7.prototype.__init26.call(this);_class7.prototype.__init27.call(this);_class7.prototype.__init28.call(this);_class7.prototype.__init29.call(this);
922
922
  this.brush = brush;
923
923
  this.options = options;
924
- this.sampler = options.paint ? new (0, _chunk6GFRKLLScjs.PaintGradientSampler)(options.paint, _nullishCoalesce(options.seed, () => ( 0))) : null;
925
- this.tipTable = _optionalChain([this, 'access', _5 => _5.sampler, 'optionalAccess', _6 => _6.acrossTip]) ? this.sampler.tipTable(_chunk6GFRKLLScjs.TIP_GRADIENT_STEPS) : null;
924
+ this.sampler = options.paint ? new (0, _chunkQBWEH3IMcjs.PaintGradientSampler)(options.paint, _nullishCoalesce(options.seed, () => ( 0))) : null;
925
+ this.tipTable = _optionalChain([this, 'access', _5 => _5.sampler, 'optionalAccess', _6 => _6.acrossTip]) ? this.sampler.tipTable(_chunkQBWEH3IMcjs.TIP_GRADIENT_STEPS) : null;
926
926
  this.smoother = new PenSmoother(brush.tip.smoothing, brush.pressureSmoothing);
927
927
  this.copies = _optionalChain([options, 'access', _7 => _7.copies, 'optionalAccess', _8 => _8.length]) ? options.copies : [IDENTITY_COPY];
928
928
  this.seed = _nullishCoalesce(options.seed, () => ( 0));
@@ -932,7 +932,7 @@ var MarkStroke = (_class7 = class {
932
932
  }
933
933
 
934
934
 
935
- __init23() {this.coverage = new (0, _chunk6GFRKLLScjs.CoverageMap)()}
935
+ __init23() {this.coverage = new (0, _chunkQBWEH3IMcjs.CoverageMap)()}
936
936
  __init24() {this.dabCount = 0}
937
937
 
938
938
 
@@ -994,12 +994,12 @@ var MarkStroke = (_class7 = class {
994
994
  if (!(r > 0.05) || !(alpha > 0)) return;
995
995
  const dab = { x, y, radius: Math.max(0.5, r), alpha: Math.min(1, alpha), opacity: Math.min(1, opacity), angle: 0, roundness: 1 };
996
996
  const hardness = this.brush.tip.hardness;
997
- const rect = _chunk6GFRKLLScjs.dabRect.call(void 0, dab, hardness);
997
+ const rect = _chunkQBWEH3IMcjs.dabRect.call(void 0, dab, hardness);
998
998
  const n = rect.width * rect.height;
999
999
  if (n <= 0) return;
1000
1000
  if (this.buf.length < n) this.buf = new Float32Array(n);
1001
1001
  const vals = this.buf.subarray(0, n);
1002
- _chunk6GFRKLLScjs.rasterizeDab.call(void 0, dab, hardness, rect, vals);
1002
+ _chunkQBWEH3IMcjs.rasterizeDab.call(void 0, dab, hardness, rect, vals);
1003
1003
  const grain = this.options.grain;
1004
1004
  if (this.depth > 0 && grain) {
1005
1005
  for (let yy = 0, k = 0; yy < rect.height; yy++)
@@ -1046,7 +1046,7 @@ function curl(x, y, seed) {
1046
1046
  const fy = v - y0;
1047
1047
  const sx = fx * fx * (3 - 2 * fx);
1048
1048
  const sy = fy * fy * (3 - 2 * fy);
1049
- const h = (a2, b2) => _chunk6GFRKLLScjs.rand01.call(void 0, seed, a2 * 73856093 + b2 * 19349663, 41);
1049
+ const h = (a2, b2) => _chunkQBWEH3IMcjs.rand01.call(void 0, seed, a2 * 73856093 + b2 * 19349663, 41);
1050
1050
  const a = h(x0, y0);
1051
1051
  const b = h(x0 + 1, y0);
1052
1052
  const c = h(x0, y0 + 1);
@@ -1070,11 +1070,11 @@ var ParticleStroke = (_class8 = class extends MarkStroke {
1070
1070
  const list = this.sets[copy];
1071
1071
  const size = Math.max(1, d.radius * 2);
1072
1072
  for (let i = 0; i < (s.kind === "flow" ? 0 : s.count); i++) {
1073
- const r = _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 3 + copy) * s.spread * size * 0.5;
1074
- const a = _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 5 + copy) * Math.PI * 2;
1073
+ const r = _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 3 + copy) * s.spread * size * 0.5;
1074
+ const a = _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 5 + copy) * Math.PI * 2;
1075
1075
  const ox = Math.cos(a) * r;
1076
1076
  const oy = Math.sin(a) * r;
1077
- const p = { x: d.x + ox, y: d.y + oy, vx: 0, vy: 0, ox, oy, k: 0.6 + 0.8 * _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 7), phase: a, age: 0, run: 0, bead: 0, alive: true };
1077
+ const p = { x: d.x + ox, y: d.y + oy, vx: 0, vy: 0, ox, oy, k: 0.6 + 0.8 * _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 7), phase: a, age: 0, run: 0, bead: 0, alive: true };
1078
1078
  if (s.kind === "string") p.strand = Array.from({ length: 6 }, () => ({ x: d.x + ox, y: d.y + oy, vx: 0, vy: 0 }));
1079
1079
  if (s.kind === "orbit") {
1080
1080
  p.ox = Math.max(1, r + size * 0.15);
@@ -1099,8 +1099,8 @@ var ParticleStroke = (_class8 = class extends MarkStroke {
1099
1099
  while (this.spawn >= 1) {
1100
1100
  this.spawn -= 1;
1101
1101
  const i = this.dabCount + list.length * 31 + Math.floor(d.index);
1102
- const a = _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 11 + copy) * Math.PI * 2;
1103
- const r = _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 13 + copy) * s.spread * size * 0.5;
1102
+ const a = _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 11 + copy) * Math.PI * 2;
1103
+ const r = _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 13 + copy) * s.spread * size * 0.5;
1104
1104
  list.push({ x: d.x + Math.cos(a) * r, y: d.y + Math.sin(a) * r, vx: 0, vy: 0, ox: 0, oy: 0, k: 1, phase: a, age: 0, run: 0, bead: 0, alive: true });
1105
1105
  }
1106
1106
  }
@@ -1135,7 +1135,7 @@ var ParticleStroke = (_class8 = class extends MarkStroke {
1135
1135
  break;
1136
1136
  }
1137
1137
  case "orbit": {
1138
- p.phase += (0.05 + 0.3 * s.speed) * (i % 2 ? -1 : 1) * (0.7 + 0.6 * _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 17));
1138
+ p.phase += (0.05 + 0.3 * s.speed) * (i % 2 ? -1 : 1) * (0.7 + 0.6 * _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 17));
1139
1139
  p.x = d.x + Math.cos(p.phase) * p.ox;
1140
1140
  p.y = d.y + Math.sin(p.phase) * p.ox + g * p.ox;
1141
1141
  break;
@@ -1194,16 +1194,16 @@ var BristleStroke = class extends MarkStroke {
1194
1194
  const s = this.s;
1195
1195
  this.tufts = this.copies.map(
1196
1196
  (_, c) => Array.from({ length: s.count }, (_2, i) => {
1197
- const a = _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 21 + c) * Math.PI * 2;
1198
- const r = Math.sqrt(_chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 23 + c));
1197
+ const a = _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 21 + c) * Math.PI * 2;
1198
+ const r = Math.sqrt(_chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 23 + c));
1199
1199
  return {
1200
1200
  u: Math.cos(a) * r,
1201
1201
  v: Math.sin(a) * r,
1202
1202
  x: 0,
1203
1203
  y: 0,
1204
- paint: 1 - s.jitter * 0.4 * _chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 25 + c),
1205
- thirst: 1 + s.jitter * (_chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 27 + c) * 2 - 1),
1206
- w: 1 + s.jitter * 0.6 * (_chunk6GFRKLLScjs.rand01.call(void 0, this.seed, i, 29 + c) - 0.5),
1204
+ paint: 1 - s.jitter * 0.4 * _chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 25 + c),
1205
+ thirst: 1 + s.jitter * (_chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 27 + c) * 2 - 1),
1206
+ w: 1 + s.jitter * 0.6 * (_chunkQBWEH3IMcjs.rand01.call(void 0, this.seed, i, 29 + c) - 0.5),
1207
1207
  started: false
1208
1208
  };
1209
1209
  })
@@ -1402,12 +1402,12 @@ function normalizePaintBrush(raw = {}, base) {
1402
1402
  if (rb.dirty !== void 0) mixerIn.cleanEachStroke = !rb.dirty;
1403
1403
  if (rb.mixing !== void 0) mixerIn.mixing = rb.mixing;
1404
1404
  }
1405
- const mixer = _chunk6GFRKLLScjs.normalizeMixer.call(void 0, mixerIn);
1405
+ const mixer = _chunkQBWEH3IMcjs.normalizeMixer.call(void 0, mixerIn);
1406
1406
  let behavior = normalizeBehavior(rb, b.behavior);
1407
1407
  if (engine === "mixer") behavior = { ...behavior, pickup: mixer.wet, mix: mixer.mix, dirty: !mixer.cleanEachStroke, mixing: mixer.mixing };
1408
1408
  let paint = _nullishCoalesce(b.paint, () => ( null));
1409
1409
  if (raw.paint !== void 0) {
1410
- const p = _chunk6GFRKLLScjs.readPaintSource.call(void 0, raw.paint);
1410
+ const p = _chunkQBWEH3IMcjs.readPaintSource.call(void 0, raw.paint);
1411
1411
  paint = p && p.type === "gradient" ? p : null;
1412
1412
  } else if (rb.multicolor !== void 0) {
1413
1413
  const mc = normalizeMultiColor(rb.multicolor, _nullishCoalesce(paintToMultiColor(paint), () => ( DEFAULT_MULTI_COLOR)));
@@ -1419,7 +1419,7 @@ function normalizePaintBrush(raw = {}, base) {
1419
1419
  name: typeof raw.name === "string" && raw.name.trim() ? raw.name.trim().slice(0, 80) : b.name,
1420
1420
  category: PAINT_BRUSH_CATEGORIES.includes(raw.category) ? raw.category : b.category,
1421
1421
  engine,
1422
- tip: _chunk6GFRKLLScjs.normalizeBrush.call(void 0, { ...b.tip, ..._nullishCoalesce(raw.tip, () => ( {})) }),
1422
+ tip: _chunkQBWEH3IMcjs.normalizeBrush.call(void 0, { ...b.tip, ..._nullishCoalesce(raw.tip, () => ( {})) }),
1423
1423
  grain: unit4(raw.grain, b.grain),
1424
1424
  pressureSmoothing: range(raw.pressureSmoothing, 0, 0.95, b.pressureSmoothing),
1425
1425
  rotation: BRUSH_ROTATIONS.includes(raw.rotation) ? raw.rotation : b.rotation,
@@ -1427,8 +1427,8 @@ function normalizePaintBrush(raw = {}, base) {
1427
1427
  mixer,
1428
1428
  loadsColor: typeof raw.loadsColor === "boolean" ? raw.loadsColor : b.loadsColor,
1429
1429
  behavior,
1430
- blender: _chunk6GFRKLLScjs.normalizeBlender.call(void 0, _nullishCoalesce(raw.blender, () => ( {})), b.blender),
1431
- smudge: _chunk6GFRKLLScjs.normalizeSmudge.call(void 0, _nullishCoalesce(raw.smudge, () => ( {})), b.smudge),
1430
+ blender: _chunkQBWEH3IMcjs.normalizeBlender.call(void 0, _nullishCoalesce(raw.blender, () => ( {})), b.blender),
1431
+ smudge: _chunkQBWEH3IMcjs.normalizeSmudge.call(void 0, _nullishCoalesce(raw.smudge, () => ( {})), b.smudge),
1432
1432
  wet: normalizeWetBrush(_nullishCoalesce(raw.wet, () => ( {})), _nullishCoalesce(b.wet, () => ( DEFAULT_WET_BRUSH))),
1433
1433
  impasto: normalizeImpasto(_nullishCoalesce(raw.impasto, () => ( {})), _nullishCoalesce(b.impasto, () => ( DEFAULT_IMPASTO))),
1434
1434
  particle: normalizeParticle(_nullishCoalesce(raw.particle, () => ( {})), _nullishCoalesce(b.particle, () => ( DEFAULT_PARTICLE))),
@@ -1443,16 +1443,16 @@ var BASE_BRUSH = {
1443
1443
  name: "Round",
1444
1444
  category: "custom",
1445
1445
  engine: "dab",
1446
- tip: { ..._chunk6GFRKLLScjs.DEFAULT_BRUSH },
1446
+ tip: { ..._chunkQBWEH3IMcjs.DEFAULT_BRUSH },
1447
1447
  grain: 0,
1448
1448
  pressureSmoothing: 0,
1449
1449
  rotation: "fixed",
1450
1450
  dynamics: { ...DEFAULT_DYNAMICS },
1451
- mixer: { ..._chunk6GFRKLLScjs.DEFAULT_MIXER },
1451
+ mixer: { ..._chunkQBWEH3IMcjs.DEFAULT_MIXER },
1452
1452
  loadsColor: true,
1453
1453
  behavior: { ...DEFAULT_BEHAVIOR, multicolor: { ...DEFAULT_MULTI_COLOR, colors: [] } },
1454
- blender: { ..._chunk6GFRKLLScjs.DEFAULT_BLENDER },
1455
- smudge: { ..._chunk6GFRKLLScjs.DEFAULT_SMUDGE },
1454
+ blender: { ..._chunkQBWEH3IMcjs.DEFAULT_BLENDER },
1455
+ smudge: { ..._chunkQBWEH3IMcjs.DEFAULT_SMUDGE },
1456
1456
  wet: { ...DEFAULT_WET_BRUSH },
1457
1457
  impasto: { ...DEFAULT_IMPASTO },
1458
1458
  particle: { ...DEFAULT_PARTICLE },
@@ -2073,4 +2073,4 @@ function parseBrushLibrary(raw, problems = []) {
2073
2073
 
2074
2074
 
2075
2075
  exports.randSigned = randSigned; exports.seedFromString = seedFromString; exports.TileableNoise = TileableNoise; exports.GRAIN_PATTERNS = GRAIN_PATTERNS; exports.PAPER_FAMILIES = PAPER_FAMILIES; exports.GRAIN_TILE = GRAIN_TILE; exports.PAPER_LIBRARY = PAPER_LIBRARY; exports.DEFAULT_PAPER = DEFAULT_PAPER; exports.paperPreset = paperPreset; exports.clonePaper = clonePaper; exports.normalizePaper = normalizePaper; exports.grainHeights = grainHeights; exports.PaperGrain = PaperGrain; exports.grainCatch = grainCatch; exports.hexToRgb8 = hexToRgb8; exports.renderPaper = renderPaper; exports.penOrientation = penOrientation; exports.tiltToOrientation = tiltToOrientation; exports.PenSmoother = PenSmoother; exports.IDENTITY_COPY = IDENTITY_COPY; exports.PenDabWalker = PenDabWalker; exports.DryStroke = DryStroke; exports.mixerTip = mixerTip; exports.toStrokePoint = toStrokePoint; exports.STAMP_KINDS = STAMP_KINDS; exports.DEFAULT_STICKER = DEFAULT_STICKER; exports.normalizeStickerSettings = normalizeStickerSettings; exports.stampCoverage = stampCoverage; exports.stickerRect = stickerRect; exports.drawSticker = drawSticker; exports.StickerSpray = StickerSpray; exports.renderStickers = renderStickers; exports.normalizeStickerUpdate = normalizeStickerUpdate; exports.stickerSurface = stickerSurface; exports.PARTICLE_KINDS = PARTICLE_KINDS; exports.PARTICLE_RENDERS = PARTICLE_RENDERS; exports.DEFAULT_PARTICLE = DEFAULT_PARTICLE; exports.normalizeParticle = normalizeParticle; exports.ParticleStroke = ParticleStroke; exports.DEFAULT_BRISTLE = DEFAULT_BRISTLE; exports.normalizeBristle = normalizeBristle; exports.BristleStroke = BristleStroke; exports.PAINT_BRUSH_ENGINES = PAINT_BRUSH_ENGINES; exports.PAINT_BRUSH_CATEGORIES = PAINT_BRUSH_CATEGORIES; exports.WET_TOOLS = WET_TOOLS; exports.WET_MEDIA = WET_MEDIA; exports.DEFAULT_WET_BRUSH = DEFAULT_WET_BRUSH; exports.normalizeWetBrush = normalizeWetBrush; exports.IMPASTO_TOOLS = IMPASTO_TOOLS; exports.DEFAULT_IMPASTO = DEFAULT_IMPASTO; exports.normalizeImpasto = normalizeImpasto; exports.MULTI_COLOR_MODES = MULTI_COLOR_MODES; exports.DEFAULT_MULTI_COLOR = DEFAULT_MULTI_COLOR; exports.DEFAULT_BEHAVIOR = DEFAULT_BEHAVIOR; exports.BRUSH_ROTATIONS = BRUSH_ROTATIONS; exports.DEFAULT_DYNAMICS = DEFAULT_DYNAMICS; exports.normalizeDynamics = normalizeDynamics; exports.BRUSH_ID = BRUSH_ID; exports.normalizeMultiColor = normalizeMultiColor; exports.normalizeBehavior = normalizeBehavior; exports.isWetCapable = isWetCapable; exports.isWetBrush = isWetBrush; exports.usesPaintExchange = usesPaintExchange; exports.brushTakesPaint = brushTakesPaint; exports.paintToMultiColor = paintToMultiColor; exports.multiColorToPaint = multiColorToPaint; exports.normalizePaintBrush = normalizePaintBrush; exports.BUILTIN_BRUSHES = BUILTIN_BRUSHES; exports.DEFAULT_BRUSH_ID = DEFAULT_BRUSH_ID; exports.brushToJSON = brushToJSON; exports.parseBrushLibrary = parseBrushLibrary;
2076
- //# sourceMappingURL=chunk-W4LNKTHT.cjs.map
2076
+ //# sourceMappingURL=chunk-2XS6LTUP.cjs.map