@pixerate/editor 0.123.0 → 0.124.1

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 (116) hide show
  1. package/dist/agent/index.cjs +2 -2
  2. package/dist/agent/index.cjs.map +1 -1
  3. package/dist/agent/index.js +3 -3
  4. package/dist/animation/index.d.cts +2 -1
  5. package/dist/animation/index.d.ts +2 -1
  6. package/dist/animation-editor/index.cjs.map +1 -1
  7. package/dist/animation-editor/index.d.cts +11 -733
  8. package/dist/animation-editor/index.d.ts +11 -733
  9. package/dist/animation-editor/index.js.map +1 -1
  10. package/dist/{bezier-C-W9LFyD.d.cts → bezier-CBzKKDjl.d.cts} +2 -66
  11. package/dist/{bezier-DQZE5dxA.d.ts → bezier-CWv6LQal.d.ts} +2 -66
  12. package/dist/{brushstrokeRender-M4S65DHT.cjs → brushstrokeRender-EELTV7U4.cjs} +8 -8
  13. package/dist/{brushstrokeRender-M4S65DHT.cjs.map → brushstrokeRender-EELTV7U4.cjs.map} +1 -1
  14. package/dist/{brushstrokeRender-CDDRSV2W.js → brushstrokeRender-LRV7GXGD.js} +3 -3
  15. package/dist/canvas/index.cjs +6 -6
  16. package/dist/canvas/index.d.cts +10 -6
  17. package/dist/canvas/index.d.ts +10 -6
  18. package/dist/canvas/index.js +1 -1
  19. package/dist/{chunk-SMJGE7HM.cjs → chunk-4QQZV5Y5.cjs} +512 -39
  20. package/dist/chunk-4QQZV5Y5.cjs.map +1 -0
  21. package/dist/{chunk-TVXFHE4T.js → chunk-64PYNEHJ.js} +45 -12
  22. package/dist/chunk-64PYNEHJ.js.map +1 -0
  23. package/dist/{chunk-2IW3BWRT.cjs → chunk-7LQO6OHH.cjs} +2 -2
  24. package/dist/{chunk-2IW3BWRT.cjs.map → chunk-7LQO6OHH.cjs.map} +1 -1
  25. package/dist/chunk-CN4PJHUG.cjs +234 -0
  26. package/dist/chunk-CN4PJHUG.cjs.map +1 -0
  27. package/dist/chunk-FHYDQOPC.cjs +215 -0
  28. package/dist/chunk-FHYDQOPC.cjs.map +1 -0
  29. package/dist/{chunk-KMBC4HNV.js → chunk-J67OLQUQ.js} +2 -2
  30. package/dist/chunk-JRXJTPES.js +215 -0
  31. package/dist/chunk-JRXJTPES.js.map +1 -0
  32. package/dist/{chunk-IPFRWILU.js → chunk-ORHMVUR6.js} +488 -15
  33. package/dist/chunk-ORHMVUR6.js.map +1 -0
  34. package/dist/{chunk-6CJRDJCU.cjs → chunk-PEHYWUVV.cjs} +176 -111
  35. package/dist/chunk-PEHYWUVV.cjs.map +1 -0
  36. package/dist/chunk-QEG3GRN2.js +234 -0
  37. package/dist/chunk-QEG3GRN2.js.map +1 -0
  38. package/dist/{chunk-6ZBR4J62.js → chunk-WATAQ2Z2.js} +79 -14
  39. package/dist/chunk-WATAQ2Z2.js.map +1 -0
  40. package/dist/{chunk-RLRUAPBJ.cjs → chunk-Z6OUCS2K.cjs} +47 -14
  41. package/dist/chunk-Z6OUCS2K.cjs.map +1 -0
  42. package/dist/effects/index.cjs +605 -0
  43. package/dist/effects/index.cjs.map +1 -0
  44. package/dist/effects/index.d.cts +163 -0
  45. package/dist/effects/index.d.ts +163 -0
  46. package/dist/effects/index.js +605 -0
  47. package/dist/effects/index.js.map +1 -0
  48. package/dist/evaluate-2S3vSPLy.d.cts +55 -0
  49. package/dist/evaluate-CfmT6xA3.d.ts +55 -0
  50. package/dist/{export-DfjzHAJI.d.ts → export-BGtXgMJ3.d.ts} +536 -128
  51. package/dist/{export-Dv0-ZVrV.d.cts → export-BdfY_lH0.d.ts} +392 -5
  52. package/dist/{export-Dv0-ZVrV.d.ts → export-CbpjwxaI.d.cts} +392 -5
  53. package/dist/{export-lU5qSpHE.d.cts → export-WmYoWmLM.d.cts} +536 -128
  54. package/dist/flair-CxB3fOcU.d.ts +739 -0
  55. package/dist/flair-D7BxyBwL.d.cts +739 -0
  56. package/dist/gradient-KDfCvhuj.d.cts +66 -0
  57. package/dist/gradient-KDfCvhuj.d.ts +66 -0
  58. package/dist/helpers-777mC6dc.d.cts +253 -0
  59. package/dist/helpers-DX2_7L5t.d.ts +253 -0
  60. package/dist/image-editor/index.cjs +1296 -805
  61. package/dist/image-editor/index.cjs.map +1 -1
  62. package/dist/image-editor/index.d.cts +39 -182
  63. package/dist/image-editor/index.d.ts +39 -182
  64. package/dist/image-editor/index.js +497 -6
  65. package/dist/image-editor/index.js.map +1 -1
  66. package/dist/{opentype-p8Xxf-Wh.d.ts → opentype-14PDI5D2.d.ts} +1 -1
  67. package/dist/{opentype-BV7wWatY.d.cts → opentype-D80AVmMu.d.cts} +1 -1
  68. package/dist/paint/index.cjs +2 -2
  69. package/dist/paint/index.d.cts +32 -10
  70. package/dist/paint/index.d.ts +32 -10
  71. package/dist/paint/index.js +1 -1
  72. package/dist/paint-editor/index.cjs +10 -8
  73. package/dist/paint-editor/index.cjs.map +1 -1
  74. package/dist/paint-editor/index.d.cts +11 -5
  75. package/dist/paint-editor/index.d.ts +11 -5
  76. package/dist/paint-editor/index.js +4 -2
  77. package/dist/paint-editor/index.js.map +1 -1
  78. package/dist/parameters/index.d.cts +4 -184
  79. package/dist/parameters/index.d.ts +4 -184
  80. package/dist/{pathfinder-IxcyhO00.d.cts → pathfinder-C0UoFypx.d.cts} +1 -1
  81. package/dist/{pathfinder-StVChJOT.d.ts → pathfinder-DjISxkUv.d.ts} +1 -1
  82. package/dist/{player-DrcP2xqj.d.cts → player-CBtEoU2x.d.cts} +2 -54
  83. package/dist/{player-DV4Jujdq.d.ts → player-cGLrngL_.d.ts} +2 -54
  84. package/dist/{svg-BtND4TJu.d.cts → svg-BDrjRnL1.d.cts} +3 -2
  85. package/dist/{svg-BfVXG7hL.d.ts → svg-C-vZ3q50.d.ts} +3 -2
  86. package/dist/tools/index.cjs +2 -2
  87. package/dist/tools/index.cjs.map +1 -1
  88. package/dist/tools/index.js +3 -3
  89. package/dist/tools-C7JtLYzo.d.ts +126 -0
  90. package/dist/tools-DHKGHiSK.d.cts +126 -0
  91. package/dist/{types-fuXEme9j.d.ts → types-BcX7sCsn.d.ts} +2 -2
  92. package/dist/{types-DJF3Ghn5.d.cts → types-CznabG7m.d.cts} +2 -2
  93. package/dist/types-D3-J3TFf.d.ts +185 -0
  94. package/dist/types-DMcf_z4J.d.cts +185 -0
  95. package/dist/vector/index.d.cts +10 -10
  96. package/dist/vector/index.d.ts +10 -10
  97. package/dist/video-editor/index.cjs +749 -277
  98. package/dist/video-editor/index.cjs.map +1 -1
  99. package/dist/video-editor/index.d.cts +265 -138
  100. package/dist/video-editor/index.d.ts +265 -138
  101. package/dist/video-editor/index.js +490 -18
  102. package/dist/video-editor/index.js.map +1 -1
  103. package/dist/{warp-BjmAgQwq.d.cts → warp-CH9MM435.d.cts} +1 -1
  104. package/dist/{warp-Ca5fedzS.d.ts → warp-k_PdtXOG.d.ts} +1 -1
  105. package/package.json +6 -1
  106. package/skills/pixerate-image-editor/SKILL.md +7 -0
  107. package/skills/pixerate-image-editor/references/provider-effects.md +35 -0
  108. package/skills/pixerate-video-editor/SKILL.md +39 -1
  109. package/dist/chunk-6CJRDJCU.cjs.map +0 -1
  110. package/dist/chunk-6ZBR4J62.js.map +0 -1
  111. package/dist/chunk-IPFRWILU.js.map +0 -1
  112. package/dist/chunk-RLRUAPBJ.cjs.map +0 -1
  113. package/dist/chunk-SMJGE7HM.cjs.map +0 -1
  114. package/dist/chunk-TVXFHE4T.js.map +0 -1
  115. /package/dist/{brushstrokeRender-CDDRSV2W.js.map → brushstrokeRender-LRV7GXGD.js.map} +0 -0
  116. /package/dist/{chunk-KMBC4HNV.js.map → chunk-J67OLQUQ.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { H as Homography, V as Vec2, B as Box, Q as Quad, A as AffineMatrix } from './types-CwMPoRMU.js';
2
- import { T as TextShaper, a as TextFont } from './warp-Ca5fedzS.js';
2
+ import { T as TextShaper, a as TextFont } from './warp-k_PdtXOG.js';
3
3
 
4
4
  /**
5
5
  * Perspective (projective) maps between quadrilaterals: Free Distort and Perspective in both the
@@ -1,5 +1,5 @@
1
1
  import { H as Homography, V as Vec2, B as Box, Q as Quad, A as AffineMatrix } from './types-CwMPoRMU.cjs';
2
- import { T as TextShaper, a as TextFont } from './warp-BjmAgQwq.cjs';
2
+ import { T as TextShaper, a as TextFont } from './warp-CH9MM435.cjs';
3
3
 
4
4
  /**
5
5
  * Perspective (projective) maps between quadrilaterals: Free Distort and Perspective in both the
@@ -42,7 +42,7 @@ var _chunkW6M7C7R3cjs = require('../chunk-W6M7C7R3.cjs');
42
42
 
43
43
 
44
44
 
45
- var _chunkRLRUAPBJcjs = require('../chunk-RLRUAPBJ.cjs');
45
+ var _chunkZ6OUCS2Kcjs = require('../chunk-Z6OUCS2K.cjs');
46
46
 
47
47
 
48
48
 
@@ -451,5 +451,5 @@ require('../chunk-643B2HKC.cjs');
451
451
 
452
452
 
453
453
 
454
- exports.BODY_SCATTER = _chunkFHPVDTI2cjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MIN_SCALE; exports.BrushstrokeCache = _chunkRLRUAPBJcjs.BrushstrokeCache; exports.CoverageMap = _chunk6GFRKLLScjs.CoverageMap; exports.DEFAULT_BLENDER = _chunk6GFRKLLScjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunk6GFRKLLScjs.DEFAULT_BRUSH; exports.DEFAULT_FLOW = _chunkFHPVDTI2cjs.DEFAULT_FLOW; exports.DEFAULT_MIXER = _chunk6GFRKLLScjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunk6GFRKLLScjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunk6GFRKLLScjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_RETOUCH = _chunkW6M7C7R3cjs.DEFAULT_RETOUCH; exports.DEFAULT_SMUDGE = _chunk6GFRKLLScjs.DEFAULT_SMUDGE; exports.DEFAULT_WET_PAPER = _chunkFHPVDTI2cjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkFHPVDTI2cjs.DEFAULT_WET_PARAMS; exports.DRY_EPS = _chunkFHPVDTI2cjs.DRY_EPS; exports.DabWalker = _chunk6GFRKLLScjs.DabWalker; exports.EMPTY_MIXER_LOAD = _chunk6GFRKLLScjs.EMPTY_MIXER_LOAD; exports.EX = _chunkFHPVDTI2cjs.EX; exports.EY = _chunkFHPVDTI2cjs.EY; exports.FLAG_ALIVE = _chunkFHPVDTI2cjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkFHPVDTI2cjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkFHPVDTI2cjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkFHPVDTI2cjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkFHPVDTI2cjs.FLAG_TOP; exports.FLAG_WET = _chunkFHPVDTI2cjs.FLAG_WET; exports.FLAT = _chunkFHPVDTI2cjs.FLAT; exports.FREE_INTERVAL = _chunkFHPVDTI2cjs.FREE_INTERVAL; exports.HIDE = _chunkFHPVDTI2cjs.HIDE; exports.MAX_BATCH = _chunkFHPVDTI2cjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunk6GFRKLLScjs.MAX_BRUSH_SIZE; exports.MAX_TILT_ACCEL = _chunkFHPVDTI2cjs.MAX_TILT_ACCEL; exports.MAX_WET_LANES = _chunkFHPVDTI2cjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkFHPVDTI2cjs.MAX_WET_SLOTS; exports.MIXER_DRAIN = _chunk6GFRKLLScjs.MIXER_DRAIN; exports.MIXER_PICKUP_RATE = _chunk6GFRKLLScjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunk6GFRKLLScjs.MIXING_MODELS; exports.MixerStroke = _chunk6GFRKLLScjs.MixerStroke; exports.OPP = _chunkFHPVDTI2cjs.OPP; exports.PAINT_COLOR_JSON_SCHEMA = _chunk6GFRKLLScjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunk6GFRKLLScjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunk6GFRKLLScjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunk6GFRKLLScjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunk6GFRKLLScjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunk6GFRKLLScjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunk6GFRKLLScjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunk6GFRKLLScjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunk6GFRKLLScjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunk6GFRKLLScjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunk6GFRKLLScjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunk6GFRKLLScjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAPER_CAPACITY = _chunkFHPVDTI2cjs.PAPER_CAPACITY; exports.PARAM = _chunkFHPVDTI2cjs.PARAM; exports.PARAM_FLOATS = _chunkFHPVDTI2cjs.PARAM_FLOATS; exports.PIGMENT_BANDS = _chunkJ5BA3BQ6cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkFHPVDTI2cjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkJ5BA3BQ6cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkJ5BA3BQ6cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkFHPVDTI2cjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkJ5BA3BQ6cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkFHPVDTI2cjs.PLANE; exports.PLANE_BYTES = _chunkFHPVDTI2cjs.PLANE_BYTES; exports.P_D0 = _chunkFHPVDTI2cjs.P_D0; exports.P_EDGE = _chunkFHPVDTI2cjs.P_EDGE; exports.P_FX = _chunkFHPVDTI2cjs.P_FX; exports.P_FY = _chunkFHPVDTI2cjs.P_FY; exports.P_H = _chunkFHPVDTI2cjs.P_H; exports.P_P0 = _chunkFHPVDTI2cjs.P_P0; exports.P_RHO = _chunkFHPVDTI2cjs.P_RHO; exports.P_SW = _chunkFHPVDTI2cjs.P_SW; exports.P_UX = _chunkFHPVDTI2cjs.P_UX; exports.P_UY = _chunkFHPVDTI2cjs.P_UY; exports.PaintExchange = _chunk6GFRKLLScjs.PaintExchange; exports.PaintGradientSampler = _chunk6GFRKLLScjs.PaintGradientSampler; exports.PaintSourceError = _chunk6GFRKLLScjs.PaintSourceError; exports.RETOUCH_SAMPLES = _chunkW6M7C7R3cjs.RETOUCH_SAMPLES; exports.RegionPixelSource = _chunkW6M7C7R3cjs.RegionPixelSource; exports.RetouchDabStroke = _chunkW6M7C7R3cjs.RetouchDabStroke; exports.SET_PLANES = _chunkFHPVDTI2cjs.SET_PLANES; exports.SLOT_BYTES = _chunkFHPVDTI2cjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkFHPVDTI2cjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkFHPVDTI2cjs.SLOT_SIDE; exports.SPOT_HEAL_TYPES = _chunkW6M7C7R3cjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkFHPVDTI2cjs.SRGB_TO_LINEAR; exports.STRIP = _chunkFHPVDTI2cjs.STRIP; exports.SmudgeTip = _chunk6GFRKLLScjs.SmudgeTip; exports.StrokeCoverage = _chunk6GFRKLLScjs.StrokeCoverage; exports.TIP_GRADIENT_STEPS = _chunk6GFRKLLScjs.TIP_GRADIENT_STEPS; exports.TONE_RANGES = _chunkW6M7C7R3cjs.TONE_RANGES; exports.TileMedium = _chunk6GFRKLLScjs.TileMedium; exports.TilePixelSource = _chunkW6M7C7R3cjs.TilePixelSource; exports.U_MAX = _chunkFHPVDTI2cjs.U_MAX; exports.W9 = _chunkFHPVDTI2cjs.W9; exports.WET_FLOW_KINDS = _chunkFHPVDTI2cjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkFHPVDTI2cjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkFHPVDTI2cjs.WET_TILE; exports.WGSL_HALO = _chunkFHPVDTI2cjs.WGSL_HALO; exports.WGSL_SHADE = _chunkFHPVDTI2cjs.WGSL_SHADE; exports.WGSL_STEP = _chunkFHPVDTI2cjs.WGSL_STEP; exports.WetGpuEngine = _chunkFHPVDTI2cjs.WetGpuEngine; exports.WetMedium = _chunkFHPVDTI2cjs.WetMedium; exports.WetWorkerPool = _chunkFHPVDTI2cjs.WetWorkerPool; exports.WetWorld = _chunkFHPVDTI2cjs.WetWorld; exports.WetWorldError = _chunkFHPVDTI2cjs.WetWorldError; exports.addPaintGradientStop = _chunk6GFRKLLScjs.addPaintGradientStop; exports.applyRetouchToTile = _chunkW6M7C7R3cjs.applyRetouchToTile; exports.applyStrokeToDeepTile = _chunk6GFRKLLScjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunk6GFRKLLScjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunkW6M7C7R3cjs.applyToneToDeepTile; exports.bestOffset = _chunkW6M7C7R3cjs.bestOffset; exports.blendRadius = _chunk6GFRKLLScjs.blendRadius; exports.blenderDab = _chunk6GFRKLLScjs.blenderDab; exports.brushstrokeDataUrl = _chunkRLRUAPBJcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkRLRUAPBJcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkRLRUAPBJcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkSYPFUL5Bcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkRLRUAPBJcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkRLRUAPBJcjs.brushstrokeToCanvas; exports.canShareMemory = _chunkFHPVDTI2cjs.canShareMemory; exports.cleanMixer = _chunk6GFRKLLScjs.cleanMixer; exports.coverageTileCoord = _chunk6GFRKLLScjs.coverageTileCoord; exports.createBlenderScratch = _chunk6GFRKLLScjs.createBlenderScratch; exports.createPigment = _chunkJ5BA3BQ6cjs.createPigment; exports.createPigmentTools = _chunkFHPVDTI2cjs.createPigmentTools; exports.createWetGpuEngine = _chunkFHPVDTI2cjs.createWetGpuEngine; exports.dabCoverage = _chunk6GFRKLLScjs.dabCoverage; exports.dabRect = _chunk6GFRKLLScjs.dabRect; exports.dexp = _chunkFHPVDTI2cjs.dexp; exports.dilateMask = _chunkW6M7C7R3cjs.dilateMask; exports.dlog = _chunkFHPVDTI2cjs.dlog; exports.dodgeBurn = _chunkW6M7C7R3cjs.dodgeBurn; exports.dodgeBurnCurve = _chunkW6M7C7R3cjs.dodgeBurnCurve; exports.dpow = _chunkFHPVDTI2cjs.dpow; exports.dsincos = _chunkFHPVDTI2cjs.dsincos; exports.edgeBits = _chunkFHPVDTI2cjs.edgeBits; exports.exchangeRates = _chunk6GFRKLLScjs.exchangeRates; exports.expNeg = _chunkFHPVDTI2cjs.expNeg; exports.filmPixel = _chunkFHPVDTI2cjs.filmPixel; exports.filmReflectance = _chunkFHPVDTI2cjs.filmReflectance; exports.findWebGpu = _chunkFHPVDTI2cjs.findWebGpu; exports.flowField = _chunkFHPVDTI2cjs.flowField; exports.gradientDabColor = _chunk6GFRKLLScjs.gradientDabColor; exports.hash2 = _chunk6GFRKLLScjs.hash2; exports.healPixels = _chunkW6M7C7R3cjs.healPixels; exports.hexToPaintRgb = _chunk6GFRKLLScjs.hexToPaintRgb; exports.isBrushstrokeBrush = _chunkRLRUAPBJcjs.isBrushstrokeBrush; exports.isGradientPaint = _chunk6GFRKLLScjs.isGradientPaint; exports.latticeViscosity = _chunkFHPVDTI2cjs.latticeViscosity; exports.lerpPigment = _chunkJ5BA3BQ6cjs.lerpPigment; exports.lerpPigmentInto = _chunkJ5BA3BQ6cjs.lerpPigmentInto; exports.linearToSrgb8 = _chunkFHPVDTI2cjs.linearToSrgb8; exports.loadMixer = _chunk6GFRKLLScjs.loadMixer; exports.loadWetKernel = _chunkFHPVDTI2cjs.loadWetKernel; exports.luma = _chunkW6M7C7R3cjs.luma; exports.maskBounds = _chunkW6M7C7R3cjs.maskBounds; exports.membraneFill = _chunkW6M7C7R3cjs.membraneFill; exports.mix32 = _chunk6GFRKLLScjs.mix32; exports.mixPigments = _chunkJ5BA3BQ6cjs.mixPigments; exports.mixerRates = _chunk6GFRKLLScjs.mixerRates; exports.normalizeBlender = _chunk6GFRKLLScjs.normalizeBlender; exports.normalizeBrush = _chunk6GFRKLLScjs.normalizeBrush; exports.normalizeFlow = _chunkFHPVDTI2cjs.normalizeFlow; exports.normalizeHexColor = _chunk6GFRKLLScjs.normalizeHexColor; exports.normalizeMixer = _chunk6GFRKLLScjs.normalizeMixer; exports.normalizeRetouch = _chunkW6M7C7R3cjs.normalizeRetouch; exports.normalizeSmudge = _chunk6GFRKLLScjs.normalizeSmudge; exports.normalizeTilt = _chunkFHPVDTI2cjs.normalizeTilt; exports.normalizeWetParams = _chunkFHPVDTI2cjs.normalizeWetParams; exports.packWetParams = _chunkFHPVDTI2cjs.packWetParams; exports.paintGradientMappingFor = _chunk6GFRKLLScjs.paintGradientMappingFor; exports.paintPathStroke = _chunkRLRUAPBJcjs.paintPathStroke; exports.paintSourceColor = _chunk6GFRKLLScjs.paintSourceColor; exports.paintSourceCss = _chunk6GFRKLLScjs.paintSourceCss; exports.parsePaintSource = _chunk6GFRKLLScjs.parsePaintSource; exports.pathStrokeCoverage = _chunkRLRUAPBJcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkRLRUAPBJcjs.pathStrokeDabs; exports.perDabStrength = _chunkW6M7C7R3cjs.perDabStrength; exports.pigmentColor = _chunkFHPVDTI2cjs.pigmentColor; exports.pigmentOf = _chunkFHPVDTI2cjs.pigmentOf; exports.pixelPigment = _chunkFHPVDTI2cjs.pixelPigment; exports.pointerPressure = _chunkFHPVDTI2cjs.pointerPressure; exports.pointerStrokeSample = _chunkFHPVDTI2cjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkFHPVDTI2cjs.pointerStrokeSamples; exports.put255 = _chunk6GFRKLLScjs.put255; exports.rand01 = _chunk6GFRKLLScjs.rand01; exports.rasterizeDab = _chunk6GFRKLLScjs.rasterizeDab; exports.readPaintSource = _chunk6GFRKLLScjs.readPaintSource; exports.readSourceRegion = _chunkW6M7C7R3cjs.readSourceRegion; exports.reflectanceToRgb = _chunkJ5BA3BQ6cjs.reflectanceToRgb; exports.removePaintGradientStop = _chunk6GFRKLLScjs.removePaintGradientStop; exports.renderBrushstroke = _chunkRLRUAPBJcjs.renderBrushstroke; exports.resolvePaintGradient = _chunk6GFRKLLScjs.resolvePaintGradient; exports.reversePaintGradient = _chunk6GFRKLLScjs.reversePaintGradient; exports.rgbToReflectance = _chunkJ5BA3BQ6cjs.rgbToReflectance; exports.rgbaViewOfGrey = _chunkW6M7C7R3cjs.rgbaViewOfGrey; exports.saturationOf = _chunkW6M7C7R3cjs.saturationOf; exports.scalePaintGradient = _chunk6GFRKLLScjs.scalePaintGradient; exports.seamlessClone = _chunkW6M7C7R3cjs.seamlessClone; exports.setPigmentColor = _chunkJ5BA3BQ6cjs.setPigmentColor; exports.shadeTile = _chunkFHPVDTI2cjs.shadeTile; exports.smoothPoints = _chunk6GFRKLLScjs.smoothPoints; exports.smudgeEffect = _chunkW6M7C7R3cjs.smudgeEffect; exports.solidPaint = _chunk6GFRKLLScjs.solidPaint; exports.solveMembrane = _chunkW6M7C7R3cjs.solveMembrane; exports.sponge = _chunkW6M7C7R3cjs.sponge; exports.spongeEffect = _chunkW6M7C7R3cjs.spongeEffect; exports.spotHealPixels = _chunkW6M7C7R3cjs.spotHealPixels; exports.spotHealWindow = _chunkW6M7C7R3cjs.spotHealWindow; exports.srgbByteToLinear = _chunkFHPVDTI2cjs.srgbByteToLinear; exports.stepSlotTs = _chunkFHPVDTI2cjs.stepSlotTs; exports.tipFalloff = _chunk6GFRKLLScjs.tipFalloff; exports.tipReach = _chunk6GFRKLLScjs.tipReach; exports.tipShape = _chunk6GFRKLLScjs.tipShape; exports.toneOf = _chunkW6M7C7R3cjs.toneOf; exports.updatePaintGradientStop = _chunk6GFRKLLScjs.updatePaintGradientStop; exports.walkDabs = _chunk6GFRKLLScjs.walkDabs; exports.wetGpuSupport = _chunkFHPVDTI2cjs.wetGpuSupport; exports.wetSimdSupported = _chunkFHPVDTI2cjs.wetSimdSupported; exports.wetSupport = _chunkFHPVDTI2cjs.wetSupport;
454
+ exports.BODY_SCATTER = _chunkFHPVDTI2cjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MIN_SCALE; exports.BrushstrokeCache = _chunkZ6OUCS2Kcjs.BrushstrokeCache; exports.CoverageMap = _chunk6GFRKLLScjs.CoverageMap; exports.DEFAULT_BLENDER = _chunk6GFRKLLScjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunk6GFRKLLScjs.DEFAULT_BRUSH; exports.DEFAULT_FLOW = _chunkFHPVDTI2cjs.DEFAULT_FLOW; exports.DEFAULT_MIXER = _chunk6GFRKLLScjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunk6GFRKLLScjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunk6GFRKLLScjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_RETOUCH = _chunkW6M7C7R3cjs.DEFAULT_RETOUCH; exports.DEFAULT_SMUDGE = _chunk6GFRKLLScjs.DEFAULT_SMUDGE; exports.DEFAULT_WET_PAPER = _chunkFHPVDTI2cjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkFHPVDTI2cjs.DEFAULT_WET_PARAMS; exports.DRY_EPS = _chunkFHPVDTI2cjs.DRY_EPS; exports.DabWalker = _chunk6GFRKLLScjs.DabWalker; exports.EMPTY_MIXER_LOAD = _chunk6GFRKLLScjs.EMPTY_MIXER_LOAD; exports.EX = _chunkFHPVDTI2cjs.EX; exports.EY = _chunkFHPVDTI2cjs.EY; exports.FLAG_ALIVE = _chunkFHPVDTI2cjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkFHPVDTI2cjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkFHPVDTI2cjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkFHPVDTI2cjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkFHPVDTI2cjs.FLAG_TOP; exports.FLAG_WET = _chunkFHPVDTI2cjs.FLAG_WET; exports.FLAT = _chunkFHPVDTI2cjs.FLAT; exports.FREE_INTERVAL = _chunkFHPVDTI2cjs.FREE_INTERVAL; exports.HIDE = _chunkFHPVDTI2cjs.HIDE; exports.MAX_BATCH = _chunkFHPVDTI2cjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunk6GFRKLLScjs.MAX_BRUSH_SIZE; exports.MAX_TILT_ACCEL = _chunkFHPVDTI2cjs.MAX_TILT_ACCEL; exports.MAX_WET_LANES = _chunkFHPVDTI2cjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkFHPVDTI2cjs.MAX_WET_SLOTS; exports.MIXER_DRAIN = _chunk6GFRKLLScjs.MIXER_DRAIN; exports.MIXER_PICKUP_RATE = _chunk6GFRKLLScjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunk6GFRKLLScjs.MIXING_MODELS; exports.MixerStroke = _chunk6GFRKLLScjs.MixerStroke; exports.OPP = _chunkFHPVDTI2cjs.OPP; exports.PAINT_COLOR_JSON_SCHEMA = _chunk6GFRKLLScjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunk6GFRKLLScjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunk6GFRKLLScjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunk6GFRKLLScjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunk6GFRKLLScjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunk6GFRKLLScjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunk6GFRKLLScjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunk6GFRKLLScjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunk6GFRKLLScjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunk6GFRKLLScjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunk6GFRKLLScjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunk6GFRKLLScjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAPER_CAPACITY = _chunkFHPVDTI2cjs.PAPER_CAPACITY; exports.PARAM = _chunkFHPVDTI2cjs.PARAM; exports.PARAM_FLOATS = _chunkFHPVDTI2cjs.PARAM_FLOATS; exports.PIGMENT_BANDS = _chunkJ5BA3BQ6cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkFHPVDTI2cjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkJ5BA3BQ6cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkJ5BA3BQ6cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkFHPVDTI2cjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkJ5BA3BQ6cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkFHPVDTI2cjs.PLANE; exports.PLANE_BYTES = _chunkFHPVDTI2cjs.PLANE_BYTES; exports.P_D0 = _chunkFHPVDTI2cjs.P_D0; exports.P_EDGE = _chunkFHPVDTI2cjs.P_EDGE; exports.P_FX = _chunkFHPVDTI2cjs.P_FX; exports.P_FY = _chunkFHPVDTI2cjs.P_FY; exports.P_H = _chunkFHPVDTI2cjs.P_H; exports.P_P0 = _chunkFHPVDTI2cjs.P_P0; exports.P_RHO = _chunkFHPVDTI2cjs.P_RHO; exports.P_SW = _chunkFHPVDTI2cjs.P_SW; exports.P_UX = _chunkFHPVDTI2cjs.P_UX; exports.P_UY = _chunkFHPVDTI2cjs.P_UY; exports.PaintExchange = _chunk6GFRKLLScjs.PaintExchange; exports.PaintGradientSampler = _chunk6GFRKLLScjs.PaintGradientSampler; exports.PaintSourceError = _chunk6GFRKLLScjs.PaintSourceError; exports.RETOUCH_SAMPLES = _chunkW6M7C7R3cjs.RETOUCH_SAMPLES; exports.RegionPixelSource = _chunkW6M7C7R3cjs.RegionPixelSource; exports.RetouchDabStroke = _chunkW6M7C7R3cjs.RetouchDabStroke; exports.SET_PLANES = _chunkFHPVDTI2cjs.SET_PLANES; exports.SLOT_BYTES = _chunkFHPVDTI2cjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkFHPVDTI2cjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkFHPVDTI2cjs.SLOT_SIDE; exports.SPOT_HEAL_TYPES = _chunkW6M7C7R3cjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkFHPVDTI2cjs.SRGB_TO_LINEAR; exports.STRIP = _chunkFHPVDTI2cjs.STRIP; exports.SmudgeTip = _chunk6GFRKLLScjs.SmudgeTip; exports.StrokeCoverage = _chunk6GFRKLLScjs.StrokeCoverage; exports.TIP_GRADIENT_STEPS = _chunk6GFRKLLScjs.TIP_GRADIENT_STEPS; exports.TONE_RANGES = _chunkW6M7C7R3cjs.TONE_RANGES; exports.TileMedium = _chunk6GFRKLLScjs.TileMedium; exports.TilePixelSource = _chunkW6M7C7R3cjs.TilePixelSource; exports.U_MAX = _chunkFHPVDTI2cjs.U_MAX; exports.W9 = _chunkFHPVDTI2cjs.W9; exports.WET_FLOW_KINDS = _chunkFHPVDTI2cjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkFHPVDTI2cjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkFHPVDTI2cjs.WET_TILE; exports.WGSL_HALO = _chunkFHPVDTI2cjs.WGSL_HALO; exports.WGSL_SHADE = _chunkFHPVDTI2cjs.WGSL_SHADE; exports.WGSL_STEP = _chunkFHPVDTI2cjs.WGSL_STEP; exports.WetGpuEngine = _chunkFHPVDTI2cjs.WetGpuEngine; exports.WetMedium = _chunkFHPVDTI2cjs.WetMedium; exports.WetWorkerPool = _chunkFHPVDTI2cjs.WetWorkerPool; exports.WetWorld = _chunkFHPVDTI2cjs.WetWorld; exports.WetWorldError = _chunkFHPVDTI2cjs.WetWorldError; exports.addPaintGradientStop = _chunk6GFRKLLScjs.addPaintGradientStop; exports.applyRetouchToTile = _chunkW6M7C7R3cjs.applyRetouchToTile; exports.applyStrokeToDeepTile = _chunk6GFRKLLScjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunk6GFRKLLScjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunkW6M7C7R3cjs.applyToneToDeepTile; exports.bestOffset = _chunkW6M7C7R3cjs.bestOffset; exports.blendRadius = _chunk6GFRKLLScjs.blendRadius; exports.blenderDab = _chunk6GFRKLLScjs.blenderDab; exports.brushstrokeDataUrl = _chunkZ6OUCS2Kcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkZ6OUCS2Kcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkZ6OUCS2Kcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkSYPFUL5Bcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkZ6OUCS2Kcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkZ6OUCS2Kcjs.brushstrokeToCanvas; exports.canShareMemory = _chunkFHPVDTI2cjs.canShareMemory; exports.cleanMixer = _chunk6GFRKLLScjs.cleanMixer; exports.coverageTileCoord = _chunk6GFRKLLScjs.coverageTileCoord; exports.createBlenderScratch = _chunk6GFRKLLScjs.createBlenderScratch; exports.createPigment = _chunkJ5BA3BQ6cjs.createPigment; exports.createPigmentTools = _chunkFHPVDTI2cjs.createPigmentTools; exports.createWetGpuEngine = _chunkFHPVDTI2cjs.createWetGpuEngine; exports.dabCoverage = _chunk6GFRKLLScjs.dabCoverage; exports.dabRect = _chunk6GFRKLLScjs.dabRect; exports.dexp = _chunkFHPVDTI2cjs.dexp; exports.dilateMask = _chunkW6M7C7R3cjs.dilateMask; exports.dlog = _chunkFHPVDTI2cjs.dlog; exports.dodgeBurn = _chunkW6M7C7R3cjs.dodgeBurn; exports.dodgeBurnCurve = _chunkW6M7C7R3cjs.dodgeBurnCurve; exports.dpow = _chunkFHPVDTI2cjs.dpow; exports.dsincos = _chunkFHPVDTI2cjs.dsincos; exports.edgeBits = _chunkFHPVDTI2cjs.edgeBits; exports.exchangeRates = _chunk6GFRKLLScjs.exchangeRates; exports.expNeg = _chunkFHPVDTI2cjs.expNeg; exports.filmPixel = _chunkFHPVDTI2cjs.filmPixel; exports.filmReflectance = _chunkFHPVDTI2cjs.filmReflectance; exports.findWebGpu = _chunkFHPVDTI2cjs.findWebGpu; exports.flowField = _chunkFHPVDTI2cjs.flowField; exports.gradientDabColor = _chunk6GFRKLLScjs.gradientDabColor; exports.hash2 = _chunk6GFRKLLScjs.hash2; exports.healPixels = _chunkW6M7C7R3cjs.healPixels; exports.hexToPaintRgb = _chunk6GFRKLLScjs.hexToPaintRgb; exports.isBrushstrokeBrush = _chunkZ6OUCS2Kcjs.isBrushstrokeBrush; exports.isGradientPaint = _chunk6GFRKLLScjs.isGradientPaint; exports.latticeViscosity = _chunkFHPVDTI2cjs.latticeViscosity; exports.lerpPigment = _chunkJ5BA3BQ6cjs.lerpPigment; exports.lerpPigmentInto = _chunkJ5BA3BQ6cjs.lerpPigmentInto; exports.linearToSrgb8 = _chunkFHPVDTI2cjs.linearToSrgb8; exports.loadMixer = _chunk6GFRKLLScjs.loadMixer; exports.loadWetKernel = _chunkFHPVDTI2cjs.loadWetKernel; exports.luma = _chunkW6M7C7R3cjs.luma; exports.maskBounds = _chunkW6M7C7R3cjs.maskBounds; exports.membraneFill = _chunkW6M7C7R3cjs.membraneFill; exports.mix32 = _chunk6GFRKLLScjs.mix32; exports.mixPigments = _chunkJ5BA3BQ6cjs.mixPigments; exports.mixerRates = _chunk6GFRKLLScjs.mixerRates; exports.normalizeBlender = _chunk6GFRKLLScjs.normalizeBlender; exports.normalizeBrush = _chunk6GFRKLLScjs.normalizeBrush; exports.normalizeFlow = _chunkFHPVDTI2cjs.normalizeFlow; exports.normalizeHexColor = _chunk6GFRKLLScjs.normalizeHexColor; exports.normalizeMixer = _chunk6GFRKLLScjs.normalizeMixer; exports.normalizeRetouch = _chunkW6M7C7R3cjs.normalizeRetouch; exports.normalizeSmudge = _chunk6GFRKLLScjs.normalizeSmudge; exports.normalizeTilt = _chunkFHPVDTI2cjs.normalizeTilt; exports.normalizeWetParams = _chunkFHPVDTI2cjs.normalizeWetParams; exports.packWetParams = _chunkFHPVDTI2cjs.packWetParams; exports.paintGradientMappingFor = _chunk6GFRKLLScjs.paintGradientMappingFor; exports.paintPathStroke = _chunkZ6OUCS2Kcjs.paintPathStroke; exports.paintSourceColor = _chunk6GFRKLLScjs.paintSourceColor; exports.paintSourceCss = _chunk6GFRKLLScjs.paintSourceCss; exports.parsePaintSource = _chunk6GFRKLLScjs.parsePaintSource; exports.pathStrokeCoverage = _chunkZ6OUCS2Kcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkZ6OUCS2Kcjs.pathStrokeDabs; exports.perDabStrength = _chunkW6M7C7R3cjs.perDabStrength; exports.pigmentColor = _chunkFHPVDTI2cjs.pigmentColor; exports.pigmentOf = _chunkFHPVDTI2cjs.pigmentOf; exports.pixelPigment = _chunkFHPVDTI2cjs.pixelPigment; exports.pointerPressure = _chunkFHPVDTI2cjs.pointerPressure; exports.pointerStrokeSample = _chunkFHPVDTI2cjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkFHPVDTI2cjs.pointerStrokeSamples; exports.put255 = _chunk6GFRKLLScjs.put255; exports.rand01 = _chunk6GFRKLLScjs.rand01; exports.rasterizeDab = _chunk6GFRKLLScjs.rasterizeDab; exports.readPaintSource = _chunk6GFRKLLScjs.readPaintSource; exports.readSourceRegion = _chunkW6M7C7R3cjs.readSourceRegion; exports.reflectanceToRgb = _chunkJ5BA3BQ6cjs.reflectanceToRgb; exports.removePaintGradientStop = _chunk6GFRKLLScjs.removePaintGradientStop; exports.renderBrushstroke = _chunkZ6OUCS2Kcjs.renderBrushstroke; exports.resolvePaintGradient = _chunk6GFRKLLScjs.resolvePaintGradient; exports.reversePaintGradient = _chunk6GFRKLLScjs.reversePaintGradient; exports.rgbToReflectance = _chunkJ5BA3BQ6cjs.rgbToReflectance; exports.rgbaViewOfGrey = _chunkW6M7C7R3cjs.rgbaViewOfGrey; exports.saturationOf = _chunkW6M7C7R3cjs.saturationOf; exports.scalePaintGradient = _chunk6GFRKLLScjs.scalePaintGradient; exports.seamlessClone = _chunkW6M7C7R3cjs.seamlessClone; exports.setPigmentColor = _chunkJ5BA3BQ6cjs.setPigmentColor; exports.shadeTile = _chunkFHPVDTI2cjs.shadeTile; exports.smoothPoints = _chunk6GFRKLLScjs.smoothPoints; exports.smudgeEffect = _chunkW6M7C7R3cjs.smudgeEffect; exports.solidPaint = _chunk6GFRKLLScjs.solidPaint; exports.solveMembrane = _chunkW6M7C7R3cjs.solveMembrane; exports.sponge = _chunkW6M7C7R3cjs.sponge; exports.spongeEffect = _chunkW6M7C7R3cjs.spongeEffect; exports.spotHealPixels = _chunkW6M7C7R3cjs.spotHealPixels; exports.spotHealWindow = _chunkW6M7C7R3cjs.spotHealWindow; exports.srgbByteToLinear = _chunkFHPVDTI2cjs.srgbByteToLinear; exports.stepSlotTs = _chunkFHPVDTI2cjs.stepSlotTs; exports.tipFalloff = _chunk6GFRKLLScjs.tipFalloff; exports.tipReach = _chunk6GFRKLLScjs.tipReach; exports.tipShape = _chunk6GFRKLLScjs.tipShape; exports.toneOf = _chunkW6M7C7R3cjs.toneOf; exports.updatePaintGradientStop = _chunk6GFRKLLScjs.updatePaintGradientStop; exports.walkDabs = _chunk6GFRKLLScjs.walkDabs; exports.wetGpuSupport = _chunkFHPVDTI2cjs.wetGpuSupport; exports.wetSimdSupported = _chunkFHPVDTI2cjs.wetSimdSupported; exports.wetSupport = _chunkFHPVDTI2cjs.wetSupport;
455
455
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- import { bc as PaintMedium, W as WetWorld, be as PaintSample, p as RgbTriple, B as BrushSettings, C as CoverageMap, D as Dab } from '../rand-CfinE-1c.cjs';
2
- export { au as BlenderScratch, k as BlenderSettings, av as DEFAULT_BLENDER, aw as DEFAULT_BRUSH, v as DEFAULT_FLOW, ax as DEFAULT_MIXER, w as DEFAULT_PAINT_GRADIENT, x as DEFAULT_PAINT_GRADIENT_MAPPING, ay as DEFAULT_RETOUCH, az as DEFAULT_SMUDGE, aA as DEFAULT_WET_PAPER, y as DEFAULT_WET_PARAMS, aB as DRY_EPS, aC as DabWalker, aD as EMPTY_MIXER_LOAD, aE as EX, aF as EY, aG as ExchangeRates, aH as FLAG_ALIVE, aI as FLAG_BOTTOM, aJ as FLAG_LEFT, aK as FLAG_RIGHT, aL as FLAG_TOP, aM as FLAG_WET, aN as FLAT, aO as FREE_INTERVAL, aP as MAX_BATCH, z as MAX_BRUSH_SIZE, aQ as MAX_TILT_ACCEL, aR as MAX_WET_LANES, aS as MAX_WET_SLOTS, aT as MIXER_DRAIN, aU as MIXER_PICKUP_RATE, aV as MIXING_MODELS, a as MixerLoad, M as MixerSettings, c as MixerStroke, b as MixerTarget, j as MixingModel, aW as OPP, A as PAINT_COLOR_JSON_SCHEMA, E as PAINT_GRADIENT_FULL_SPEED, F as PAINT_GRADIENT_JSON_SCHEMA, G as PAINT_GRADIENT_KIT, H as PAINT_GRADIENT_MAPPINGS, I as PAINT_GRADIENT_MAPPING_LABELS, J as PAINT_GRADIENT_PRESETS, K as PAINT_GRADIENT_REPEATS, L as PAINT_GRADIENT_REPEAT_LABELS, N as PAINT_GRADIENT_SPACES, O as PAINT_GRADIENT_SPACE_LABELS, Q as PAINT_SOURCE_JSON_SCHEMA, aX as PAPER_CAPACITY, aY as PARAM, aZ as PARAM_FLOATS, a_ as PIGMENT_CHANNELS, a$ as PLANE, b0 as PLANE_BYTES, b1 as P_D0, b2 as P_EDGE, b3 as P_FX, b4 as P_FY, b5 as P_H, b6 as P_P0, b7 as P_RHO, b8 as P_SW, b9 as P_UX, ba as P_UY, U as PaintColorSource, V as PaintDabParams, bb as PaintExchange, X as PaintGradientKit, Y as PaintGradientMapping, Z as PaintGradientMappingKind, _ as PaintGradientRepeat, $ as PaintGradientSample, a0 as PaintGradientSampler, i as PaintGradientSource, a1 as PaintGradientSpace, a2 as PaintGradientStop, bd as PaintPixels, a3 as PaintRgb, P as PaintSource, a4 as PaintSourceError, g as PaintTileTarget, bf as PixelSource, bg as RETOUCH_SAMPLES, bh as RegionPixelSource, d as RetouchApply, bi as RetouchDabEffect, bj as RetouchDabStroke, f as RetouchPaint, bk as RetouchSample, R as RetouchSettings, bl as SET_PLANES, bm as SLOT_BYTES, bn as SLOT_PLANES, bo as SLOT_SIDE, bp as SPOT_HEAL_TYPES, bq as STRIP, br as SmudgeDab, l as SmudgeSettings, bs as SmudgeTip, bt as SpotHealType, h as StrokeApply, S as StrokeCoverage, e as StrokePoint, bu as TIP_GRADIENT_STEPS, bv as TONE_RANGES, T as TileMedium, bw as TileMediumOptions, bx as TilePixelSource, by as ToneRange, bz as U_MAX, bA as W9, a5 as WET_FLOW_KINDS, a6 as WET_PARAM_KEYS, bB as WET_TILE, s as WetBackendInfo, bC as WetFlowField, a7 as WetFlowKind, o as WetFlowSpec, bD as WetGpuEngine, bE as WetGpuJob, r as WetGpuProvider, bF as WetGpuSupport, bG as WetKernelKind, bH as WetLaneOptions, bI as WetLaneStats, bJ as WetPaper, u as WetPaperInput, n as WetParams, t as WetSnapshot, a8 as WetSupport, m as WetTilt, bK as WetWorkerLayout, bL as WetWorkerPool, bM as WetWorldError, q as WetWorldOptions, a9 as addPaintGradientStop, bN as applyRetouchToTile, bO as applyStrokeToDeepTile, bP as applyStrokeToTile, bQ as applyToneToDeepTile, bR as blendRadius, bS as blenderDab, bT as canShareMemory, bU as cleanMixer, bV as coverageTileCoord, bW as createBlenderScratch, bX as createWetGpuEngine, bY as dabCoverage, bZ as dabRect, b_ as dodgeBurn, b$ as dodgeBurnCurve, c0 as dsincos, c1 as edgeBits, c2 as exchangeRates, c3 as findWebGpu, c4 as flowField, c5 as gradientDabColor, aa as hash2, c6 as healPixels, ab as hexToPaintRgb, ac as isGradientPaint, c7 as latticeViscosity, c8 as loadMixer, c9 as loadWetKernel, ca as luma, ad as mix32, cb as mixerRates, cc as normalizeBlender, cd as normalizeBrush, ae as normalizeFlow, af as normalizeHexColor, ce as normalizeMixer, cf as normalizeRetouch, cg as normalizeSmudge, ch as normalizeTilt, ag as normalizeWetParams, ci as packWetParams, ah as paintGradientMappingFor, ai as paintSourceColor, aj as paintSourceCss, ak as parsePaintSource, cj as perDabStrength, ck as put255, al as rand01, cl as rasterizeDab, am as readPaintSource, cm as readSourceRegion, an as removePaintGradientStop, ao as resolvePaintGradient, ap as reversePaintGradient, cn as rgbaViewOfGrey, co as saturationOf, aq as scalePaintGradient, cp as smoothPoints, cq as smudgeEffect, ar as solidPaint, cr as sponge, cs as spongeEffect, ct as spotHealPixels, cu as spotHealWindow, cv as tipFalloff, cw as tipReach, cx as tipShape, cy as toneOf, as as updatePaintGradientStop, cz as walkDabs, cA as wetGpuSupport, cB as wetSimdSupported, at as wetSupport } from '../rand-CfinE-1c.cjs';
1
+ import { bc as PaintMedium, W as WetWorld, be as PaintSample, p as RgbTriple, B as BrushSettings, P as PaintSource, C as CoverageMap, D as Dab } from '../rand-CfinE-1c.cjs';
2
+ export { au as BlenderScratch, k as BlenderSettings, av as DEFAULT_BLENDER, aw as DEFAULT_BRUSH, v as DEFAULT_FLOW, ax as DEFAULT_MIXER, w as DEFAULT_PAINT_GRADIENT, x as DEFAULT_PAINT_GRADIENT_MAPPING, ay as DEFAULT_RETOUCH, az as DEFAULT_SMUDGE, aA as DEFAULT_WET_PAPER, y as DEFAULT_WET_PARAMS, aB as DRY_EPS, aC as DabWalker, aD as EMPTY_MIXER_LOAD, aE as EX, aF as EY, aG as ExchangeRates, aH as FLAG_ALIVE, aI as FLAG_BOTTOM, aJ as FLAG_LEFT, aK as FLAG_RIGHT, aL as FLAG_TOP, aM as FLAG_WET, aN as FLAT, aO as FREE_INTERVAL, aP as MAX_BATCH, z as MAX_BRUSH_SIZE, aQ as MAX_TILT_ACCEL, aR as MAX_WET_LANES, aS as MAX_WET_SLOTS, aT as MIXER_DRAIN, aU as MIXER_PICKUP_RATE, aV as MIXING_MODELS, a as MixerLoad, M as MixerSettings, c as MixerStroke, b as MixerTarget, j as MixingModel, aW as OPP, A as PAINT_COLOR_JSON_SCHEMA, E as PAINT_GRADIENT_FULL_SPEED, F as PAINT_GRADIENT_JSON_SCHEMA, G as PAINT_GRADIENT_KIT, H as PAINT_GRADIENT_MAPPINGS, I as PAINT_GRADIENT_MAPPING_LABELS, J as PAINT_GRADIENT_PRESETS, K as PAINT_GRADIENT_REPEATS, L as PAINT_GRADIENT_REPEAT_LABELS, N as PAINT_GRADIENT_SPACES, O as PAINT_GRADIENT_SPACE_LABELS, Q as PAINT_SOURCE_JSON_SCHEMA, aX as PAPER_CAPACITY, aY as PARAM, aZ as PARAM_FLOATS, a_ as PIGMENT_CHANNELS, a$ as PLANE, b0 as PLANE_BYTES, b1 as P_D0, b2 as P_EDGE, b3 as P_FX, b4 as P_FY, b5 as P_H, b6 as P_P0, b7 as P_RHO, b8 as P_SW, b9 as P_UX, ba as P_UY, U as PaintColorSource, V as PaintDabParams, bb as PaintExchange, X as PaintGradientKit, Y as PaintGradientMapping, Z as PaintGradientMappingKind, _ as PaintGradientRepeat, $ as PaintGradientSample, a0 as PaintGradientSampler, i as PaintGradientSource, a1 as PaintGradientSpace, a2 as PaintGradientStop, bd as PaintPixels, a3 as PaintRgb, a4 as PaintSourceError, g as PaintTileTarget, bf as PixelSource, bg as RETOUCH_SAMPLES, bh as RegionPixelSource, d as RetouchApply, bi as RetouchDabEffect, bj as RetouchDabStroke, f as RetouchPaint, bk as RetouchSample, R as RetouchSettings, bl as SET_PLANES, bm as SLOT_BYTES, bn as SLOT_PLANES, bo as SLOT_SIDE, bp as SPOT_HEAL_TYPES, bq as STRIP, br as SmudgeDab, l as SmudgeSettings, bs as SmudgeTip, bt as SpotHealType, h as StrokeApply, S as StrokeCoverage, e as StrokePoint, bu as TIP_GRADIENT_STEPS, bv as TONE_RANGES, T as TileMedium, bw as TileMediumOptions, bx as TilePixelSource, by as ToneRange, bz as U_MAX, bA as W9, a5 as WET_FLOW_KINDS, a6 as WET_PARAM_KEYS, bB as WET_TILE, s as WetBackendInfo, bC as WetFlowField, a7 as WetFlowKind, o as WetFlowSpec, bD as WetGpuEngine, bE as WetGpuJob, r as WetGpuProvider, bF as WetGpuSupport, bG as WetKernelKind, bH as WetLaneOptions, bI as WetLaneStats, bJ as WetPaper, u as WetPaperInput, n as WetParams, t as WetSnapshot, a8 as WetSupport, m as WetTilt, bK as WetWorkerLayout, bL as WetWorkerPool, bM as WetWorldError, q as WetWorldOptions, a9 as addPaintGradientStop, bN as applyRetouchToTile, bO as applyStrokeToDeepTile, bP as applyStrokeToTile, bQ as applyToneToDeepTile, bR as blendRadius, bS as blenderDab, bT as canShareMemory, bU as cleanMixer, bV as coverageTileCoord, bW as createBlenderScratch, bX as createWetGpuEngine, bY as dabCoverage, bZ as dabRect, b_ as dodgeBurn, b$ as dodgeBurnCurve, c0 as dsincos, c1 as edgeBits, c2 as exchangeRates, c3 as findWebGpu, c4 as flowField, c5 as gradientDabColor, aa as hash2, c6 as healPixels, ab as hexToPaintRgb, ac as isGradientPaint, c7 as latticeViscosity, c8 as loadMixer, c9 as loadWetKernel, ca as luma, ad as mix32, cb as mixerRates, cc as normalizeBlender, cd as normalizeBrush, ae as normalizeFlow, af as normalizeHexColor, ce as normalizeMixer, cf as normalizeRetouch, cg as normalizeSmudge, ch as normalizeTilt, ag as normalizeWetParams, ci as packWetParams, ah as paintGradientMappingFor, ai as paintSourceColor, aj as paintSourceCss, ak as parsePaintSource, cj as perDabStrength, ck as put255, al as rand01, cl as rasterizeDab, am as readPaintSource, cm as readSourceRegion, an as removePaintGradientStop, ao as resolvePaintGradient, ap as reversePaintGradient, cn as rgbaViewOfGrey, co as saturationOf, aq as scalePaintGradient, cp as smoothPoints, cq as smudgeEffect, ar as solidPaint, cr as sponge, cs as spongeEffect, ct as spotHealPixels, cu as spotHealWindow, cv as tipFalloff, cw as tipReach, cx as tipShape, cy as toneOf, as as updatePaintGradientStop, cz as walkDabs, cA as wetGpuSupport, cB as wetSimdSupported, at as wetSupport } from '../rand-CfinE-1c.cjs';
3
3
  import { R as RasterRect, Y as Pigment, a as BlendMode, T as TiledSurface } from '../surface-1MRncXpF.cjs';
4
4
  export { Z as PIGMENT_BANDS, _ as PIGMENT_LAMBDA_MIN, $ as PIGMENT_LAMBDA_STEP, a0 as PIGMENT_WAVELENGTHS, a1 as PigmentOptions, a2 as PigmentRgb, a3 as createPigment, a4 as lerpPigment, a5 as lerpPigmentInto, a6 as mixPigments, a7 as reflectanceToRgb, a8 as rgbToReflectance, a9 as setPigmentColor } from '../surface-1MRncXpF.cjs';
5
5
  import { A as AgentTool } from '../registry-BqA1AZt0.cjs';
@@ -220,6 +220,8 @@ interface PathSample {
220
220
  altitude?: number;
221
221
  /** Radians clockwise from +x: where the pen leans (with altitude). */
222
222
  azimuth?: number;
223
+ /** Milliseconds (gradient paint mapped by speed or time reads it). */
224
+ t?: number;
223
225
  }
224
226
  interface PathStrokeOptions {
225
227
  brush: Partial<BrushSettings>;
@@ -238,15 +240,33 @@ interface PathStrokeOptions {
238
240
  }
239
241
  /** The dabs of a brush stroke along `samples`, with pressure and tilt interpolated between them. */
240
242
  declare function pathStrokeDabs(samples: readonly PathSample[], options: PathStrokeOptions): Dab[];
243
+ /**
244
+ * Gradient paint for a path stroke: a `PaintSource` gradient sampled dab by dab (by distance along
245
+ * the path, pressure, tilt, speed, direction, time, across the tip or at random). `paint` /
246
+ * `secondary` stops resolve to `colors` (default: the stroke colour and white).
247
+ */
248
+ interface PathStrokePaint {
249
+ paint: PaintSource;
250
+ /** Seed of the `random` mapping (default 0). */
251
+ seed?: number;
252
+ colors?: {
253
+ paint: string;
254
+ secondary: string;
255
+ };
256
+ }
241
257
  /** The coverage of a brush stroke along `samples` (build-up towards each dab's opacity) and its bounds. */
242
- declare function pathStrokeCoverage(samples: readonly PathSample[], options: PathStrokeOptions): {
258
+ declare function pathStrokeCoverage(samples: readonly PathSample[], options: PathStrokeOptions & {
259
+ gradient?: PathStrokePaint | null;
260
+ }): {
243
261
  coverage: CoverageMap;
244
262
  bounds: RasterRect | null;
245
263
  dabs: number;
246
264
  };
247
265
  interface PaintPathOptions extends PathStrokeOptions {
248
- /** RGBA 0..255 of the paint. */
266
+ /** RGBA 0..255 of the paint (with gradient paint: its alpha, and the colour of `paint` stops). */
249
267
  color: readonly [number, number, number, number];
268
+ /** Gradient paint (a `PaintSource`); a colour source replaces `color`'s RGB. */
269
+ paint?: PathStrokePaint | null;
250
270
  /** `erase` removes paint instead (default `paint`). */
251
271
  mode?: 'paint' | 'erase';
252
272
  /** Blend mode (default the brush's). */
@@ -331,20 +351,22 @@ type BrushstrokeBrush = Partial<BrushSettings> | {
331
351
  };
332
352
  };
333
353
  /**
334
- * What the stroke is painted with. A solid RGBA colour today; when the paint editor's gradient
335
- * paint (`PaintSource`) lands it is accepted here too, so callers already pass `paint` rather than a
336
- * bare colour.
354
+ * What the stroke is painted with: a solid RGBA colour, or a `PaintSource` (one `#rrggbb` colour,
355
+ * or gradient paint sampled dab by dab along the path: by distance, pressure, tilt, speed,
356
+ * direction, time, across the tip or at random).
337
357
  */
338
358
  type BrushstrokePaint = {
339
359
  color: readonly [number, number, number, number];
340
- };
360
+ } | PaintSource;
341
361
  interface BrushstrokeOptions {
342
362
  /** Image pixels per path unit (default 1). Use {@link brushstrokeScaleBucket} for a zoom. */
343
363
  scale?: number;
344
364
  /** RGBA 0..255 (default opaque black). Shorthand for `paint: { color }`. */
345
365
  color?: readonly [number, number, number, number];
346
- /** What to paint with (wins over `color`). */
366
+ /** What to paint with (wins over `color`; with gradient paint, `color` fills `paint` stops and gives the alpha). */
347
367
  paint?: BrushstrokePaint;
368
+ /** Seed of gradient paint's `random` mapping (default 0). */
369
+ seed?: number;
348
370
  /** Join the last sample back to the first. */
349
371
  closed?: boolean;
350
372
  /**
@@ -469,4 +491,4 @@ declare function pointerStrokeSamples(e: PointerEventLike, toPoint: (clientX: nu
469
491
  y: number;
470
492
  }): PointerStrokeSample[];
471
493
 
472
- export { BODY_SCATTER, BrushSettings, type BrushstrokeBrush, BrushstrokeCache, type BrushstrokeCanvasLike, type BrushstrokeImage, type BrushstrokeInput, type BrushstrokeOptions, type BrushstrokePaint, type BrushstrokeProfilePath, type BrushstrokeSample, CoverageMap, Dab, HIDE, PIGMENT_UNIT, PaintMedium, type PaintPathOptions, PaintSample, type PathSample, type PathStrokeOptions, Pigment, type PointerEventLike, type PointerStrokeSample, RgbTriple, SRGB_TO_LINEAR, WGSL_HALO, WGSL_SHADE, WGSL_STEP, WetMedium, type WetMediumOptions, WetWorld, bestOffset, brushstrokeDataUrl, brushstrokeKey, brushstrokeSamples, brushstrokeStrokeOptions, brushstrokeToCanvas, createPigmentTools, dexp, dilateMask, dlog, dpow, expNeg, filmPixel, filmReflectance, isBrushstrokeBrush, linearToSrgb8, maskBounds, membraneFill, paintPathStroke, pathStrokeCoverage, pathStrokeDabs, pigmentColor, pigmentOf, pixelPigment, pointerPressure, pointerStrokeSample, pointerStrokeSamples, renderBrushstroke, seamlessClone, shadeTile, solveMembrane, srgbByteToLinear, stepSlotTs };
494
+ export { BODY_SCATTER, BrushSettings, type BrushstrokeBrush, BrushstrokeCache, type BrushstrokeCanvasLike, type BrushstrokeImage, type BrushstrokeInput, type BrushstrokeOptions, type BrushstrokePaint, type BrushstrokeProfilePath, type BrushstrokeSample, CoverageMap, Dab, HIDE, PIGMENT_UNIT, PaintMedium, type PaintPathOptions, PaintSample, PaintSource, type PathSample, type PathStrokeOptions, type PathStrokePaint, Pigment, type PointerEventLike, type PointerStrokeSample, RgbTriple, SRGB_TO_LINEAR, WGSL_HALO, WGSL_SHADE, WGSL_STEP, WetMedium, type WetMediumOptions, WetWorld, bestOffset, brushstrokeDataUrl, brushstrokeKey, brushstrokeSamples, brushstrokeStrokeOptions, brushstrokeToCanvas, createPigmentTools, dexp, dilateMask, dlog, dpow, expNeg, filmPixel, filmReflectance, isBrushstrokeBrush, linearToSrgb8, maskBounds, membraneFill, paintPathStroke, pathStrokeCoverage, pathStrokeDabs, pigmentColor, pigmentOf, pixelPigment, pointerPressure, pointerStrokeSample, pointerStrokeSamples, renderBrushstroke, seamlessClone, shadeTile, solveMembrane, srgbByteToLinear, stepSlotTs };
@@ -1,5 +1,5 @@
1
- import { bc as PaintMedium, W as WetWorld, be as PaintSample, p as RgbTriple, B as BrushSettings, C as CoverageMap, D as Dab } from '../rand-DtazXGOB.js';
2
- export { au as BlenderScratch, k as BlenderSettings, av as DEFAULT_BLENDER, aw as DEFAULT_BRUSH, v as DEFAULT_FLOW, ax as DEFAULT_MIXER, w as DEFAULT_PAINT_GRADIENT, x as DEFAULT_PAINT_GRADIENT_MAPPING, ay as DEFAULT_RETOUCH, az as DEFAULT_SMUDGE, aA as DEFAULT_WET_PAPER, y as DEFAULT_WET_PARAMS, aB as DRY_EPS, aC as DabWalker, aD as EMPTY_MIXER_LOAD, aE as EX, aF as EY, aG as ExchangeRates, aH as FLAG_ALIVE, aI as FLAG_BOTTOM, aJ as FLAG_LEFT, aK as FLAG_RIGHT, aL as FLAG_TOP, aM as FLAG_WET, aN as FLAT, aO as FREE_INTERVAL, aP as MAX_BATCH, z as MAX_BRUSH_SIZE, aQ as MAX_TILT_ACCEL, aR as MAX_WET_LANES, aS as MAX_WET_SLOTS, aT as MIXER_DRAIN, aU as MIXER_PICKUP_RATE, aV as MIXING_MODELS, a as MixerLoad, M as MixerSettings, c as MixerStroke, b as MixerTarget, j as MixingModel, aW as OPP, A as PAINT_COLOR_JSON_SCHEMA, E as PAINT_GRADIENT_FULL_SPEED, F as PAINT_GRADIENT_JSON_SCHEMA, G as PAINT_GRADIENT_KIT, H as PAINT_GRADIENT_MAPPINGS, I as PAINT_GRADIENT_MAPPING_LABELS, J as PAINT_GRADIENT_PRESETS, K as PAINT_GRADIENT_REPEATS, L as PAINT_GRADIENT_REPEAT_LABELS, N as PAINT_GRADIENT_SPACES, O as PAINT_GRADIENT_SPACE_LABELS, Q as PAINT_SOURCE_JSON_SCHEMA, aX as PAPER_CAPACITY, aY as PARAM, aZ as PARAM_FLOATS, a_ as PIGMENT_CHANNELS, a$ as PLANE, b0 as PLANE_BYTES, b1 as P_D0, b2 as P_EDGE, b3 as P_FX, b4 as P_FY, b5 as P_H, b6 as P_P0, b7 as P_RHO, b8 as P_SW, b9 as P_UX, ba as P_UY, U as PaintColorSource, V as PaintDabParams, bb as PaintExchange, X as PaintGradientKit, Y as PaintGradientMapping, Z as PaintGradientMappingKind, _ as PaintGradientRepeat, $ as PaintGradientSample, a0 as PaintGradientSampler, i as PaintGradientSource, a1 as PaintGradientSpace, a2 as PaintGradientStop, bd as PaintPixels, a3 as PaintRgb, P as PaintSource, a4 as PaintSourceError, g as PaintTileTarget, bf as PixelSource, bg as RETOUCH_SAMPLES, bh as RegionPixelSource, d as RetouchApply, bi as RetouchDabEffect, bj as RetouchDabStroke, f as RetouchPaint, bk as RetouchSample, R as RetouchSettings, bl as SET_PLANES, bm as SLOT_BYTES, bn as SLOT_PLANES, bo as SLOT_SIDE, bp as SPOT_HEAL_TYPES, bq as STRIP, br as SmudgeDab, l as SmudgeSettings, bs as SmudgeTip, bt as SpotHealType, h as StrokeApply, S as StrokeCoverage, e as StrokePoint, bu as TIP_GRADIENT_STEPS, bv as TONE_RANGES, T as TileMedium, bw as TileMediumOptions, bx as TilePixelSource, by as ToneRange, bz as U_MAX, bA as W9, a5 as WET_FLOW_KINDS, a6 as WET_PARAM_KEYS, bB as WET_TILE, s as WetBackendInfo, bC as WetFlowField, a7 as WetFlowKind, o as WetFlowSpec, bD as WetGpuEngine, bE as WetGpuJob, r as WetGpuProvider, bF as WetGpuSupport, bG as WetKernelKind, bH as WetLaneOptions, bI as WetLaneStats, bJ as WetPaper, u as WetPaperInput, n as WetParams, t as WetSnapshot, a8 as WetSupport, m as WetTilt, bK as WetWorkerLayout, bL as WetWorkerPool, bM as WetWorldError, q as WetWorldOptions, a9 as addPaintGradientStop, bN as applyRetouchToTile, bO as applyStrokeToDeepTile, bP as applyStrokeToTile, bQ as applyToneToDeepTile, bR as blendRadius, bS as blenderDab, bT as canShareMemory, bU as cleanMixer, bV as coverageTileCoord, bW as createBlenderScratch, bX as createWetGpuEngine, bY as dabCoverage, bZ as dabRect, b_ as dodgeBurn, b$ as dodgeBurnCurve, c0 as dsincos, c1 as edgeBits, c2 as exchangeRates, c3 as findWebGpu, c4 as flowField, c5 as gradientDabColor, aa as hash2, c6 as healPixels, ab as hexToPaintRgb, ac as isGradientPaint, c7 as latticeViscosity, c8 as loadMixer, c9 as loadWetKernel, ca as luma, ad as mix32, cb as mixerRates, cc as normalizeBlender, cd as normalizeBrush, ae as normalizeFlow, af as normalizeHexColor, ce as normalizeMixer, cf as normalizeRetouch, cg as normalizeSmudge, ch as normalizeTilt, ag as normalizeWetParams, ci as packWetParams, ah as paintGradientMappingFor, ai as paintSourceColor, aj as paintSourceCss, ak as parsePaintSource, cj as perDabStrength, ck as put255, al as rand01, cl as rasterizeDab, am as readPaintSource, cm as readSourceRegion, an as removePaintGradientStop, ao as resolvePaintGradient, ap as reversePaintGradient, cn as rgbaViewOfGrey, co as saturationOf, aq as scalePaintGradient, cp as smoothPoints, cq as smudgeEffect, ar as solidPaint, cr as sponge, cs as spongeEffect, ct as spotHealPixels, cu as spotHealWindow, cv as tipFalloff, cw as tipReach, cx as tipShape, cy as toneOf, as as updatePaintGradientStop, cz as walkDabs, cA as wetGpuSupport, cB as wetSimdSupported, at as wetSupport } from '../rand-DtazXGOB.js';
1
+ import { bc as PaintMedium, W as WetWorld, be as PaintSample, p as RgbTriple, B as BrushSettings, P as PaintSource, C as CoverageMap, D as Dab } from '../rand-DtazXGOB.js';
2
+ export { au as BlenderScratch, k as BlenderSettings, av as DEFAULT_BLENDER, aw as DEFAULT_BRUSH, v as DEFAULT_FLOW, ax as DEFAULT_MIXER, w as DEFAULT_PAINT_GRADIENT, x as DEFAULT_PAINT_GRADIENT_MAPPING, ay as DEFAULT_RETOUCH, az as DEFAULT_SMUDGE, aA as DEFAULT_WET_PAPER, y as DEFAULT_WET_PARAMS, aB as DRY_EPS, aC as DabWalker, aD as EMPTY_MIXER_LOAD, aE as EX, aF as EY, aG as ExchangeRates, aH as FLAG_ALIVE, aI as FLAG_BOTTOM, aJ as FLAG_LEFT, aK as FLAG_RIGHT, aL as FLAG_TOP, aM as FLAG_WET, aN as FLAT, aO as FREE_INTERVAL, aP as MAX_BATCH, z as MAX_BRUSH_SIZE, aQ as MAX_TILT_ACCEL, aR as MAX_WET_LANES, aS as MAX_WET_SLOTS, aT as MIXER_DRAIN, aU as MIXER_PICKUP_RATE, aV as MIXING_MODELS, a as MixerLoad, M as MixerSettings, c as MixerStroke, b as MixerTarget, j as MixingModel, aW as OPP, A as PAINT_COLOR_JSON_SCHEMA, E as PAINT_GRADIENT_FULL_SPEED, F as PAINT_GRADIENT_JSON_SCHEMA, G as PAINT_GRADIENT_KIT, H as PAINT_GRADIENT_MAPPINGS, I as PAINT_GRADIENT_MAPPING_LABELS, J as PAINT_GRADIENT_PRESETS, K as PAINT_GRADIENT_REPEATS, L as PAINT_GRADIENT_REPEAT_LABELS, N as PAINT_GRADIENT_SPACES, O as PAINT_GRADIENT_SPACE_LABELS, Q as PAINT_SOURCE_JSON_SCHEMA, aX as PAPER_CAPACITY, aY as PARAM, aZ as PARAM_FLOATS, a_ as PIGMENT_CHANNELS, a$ as PLANE, b0 as PLANE_BYTES, b1 as P_D0, b2 as P_EDGE, b3 as P_FX, b4 as P_FY, b5 as P_H, b6 as P_P0, b7 as P_RHO, b8 as P_SW, b9 as P_UX, ba as P_UY, U as PaintColorSource, V as PaintDabParams, bb as PaintExchange, X as PaintGradientKit, Y as PaintGradientMapping, Z as PaintGradientMappingKind, _ as PaintGradientRepeat, $ as PaintGradientSample, a0 as PaintGradientSampler, i as PaintGradientSource, a1 as PaintGradientSpace, a2 as PaintGradientStop, bd as PaintPixels, a3 as PaintRgb, a4 as PaintSourceError, g as PaintTileTarget, bf as PixelSource, bg as RETOUCH_SAMPLES, bh as RegionPixelSource, d as RetouchApply, bi as RetouchDabEffect, bj as RetouchDabStroke, f as RetouchPaint, bk as RetouchSample, R as RetouchSettings, bl as SET_PLANES, bm as SLOT_BYTES, bn as SLOT_PLANES, bo as SLOT_SIDE, bp as SPOT_HEAL_TYPES, bq as STRIP, br as SmudgeDab, l as SmudgeSettings, bs as SmudgeTip, bt as SpotHealType, h as StrokeApply, S as StrokeCoverage, e as StrokePoint, bu as TIP_GRADIENT_STEPS, bv as TONE_RANGES, T as TileMedium, bw as TileMediumOptions, bx as TilePixelSource, by as ToneRange, bz as U_MAX, bA as W9, a5 as WET_FLOW_KINDS, a6 as WET_PARAM_KEYS, bB as WET_TILE, s as WetBackendInfo, bC as WetFlowField, a7 as WetFlowKind, o as WetFlowSpec, bD as WetGpuEngine, bE as WetGpuJob, r as WetGpuProvider, bF as WetGpuSupport, bG as WetKernelKind, bH as WetLaneOptions, bI as WetLaneStats, bJ as WetPaper, u as WetPaperInput, n as WetParams, t as WetSnapshot, a8 as WetSupport, m as WetTilt, bK as WetWorkerLayout, bL as WetWorkerPool, bM as WetWorldError, q as WetWorldOptions, a9 as addPaintGradientStop, bN as applyRetouchToTile, bO as applyStrokeToDeepTile, bP as applyStrokeToTile, bQ as applyToneToDeepTile, bR as blendRadius, bS as blenderDab, bT as canShareMemory, bU as cleanMixer, bV as coverageTileCoord, bW as createBlenderScratch, bX as createWetGpuEngine, bY as dabCoverage, bZ as dabRect, b_ as dodgeBurn, b$ as dodgeBurnCurve, c0 as dsincos, c1 as edgeBits, c2 as exchangeRates, c3 as findWebGpu, c4 as flowField, c5 as gradientDabColor, aa as hash2, c6 as healPixels, ab as hexToPaintRgb, ac as isGradientPaint, c7 as latticeViscosity, c8 as loadMixer, c9 as loadWetKernel, ca as luma, ad as mix32, cb as mixerRates, cc as normalizeBlender, cd as normalizeBrush, ae as normalizeFlow, af as normalizeHexColor, ce as normalizeMixer, cf as normalizeRetouch, cg as normalizeSmudge, ch as normalizeTilt, ag as normalizeWetParams, ci as packWetParams, ah as paintGradientMappingFor, ai as paintSourceColor, aj as paintSourceCss, ak as parsePaintSource, cj as perDabStrength, ck as put255, al as rand01, cl as rasterizeDab, am as readPaintSource, cm as readSourceRegion, an as removePaintGradientStop, ao as resolvePaintGradient, ap as reversePaintGradient, cn as rgbaViewOfGrey, co as saturationOf, aq as scalePaintGradient, cp as smoothPoints, cq as smudgeEffect, ar as solidPaint, cr as sponge, cs as spongeEffect, ct as spotHealPixels, cu as spotHealWindow, cv as tipFalloff, cw as tipReach, cx as tipShape, cy as toneOf, as as updatePaintGradientStop, cz as walkDabs, cA as wetGpuSupport, cB as wetSimdSupported, at as wetSupport } from '../rand-DtazXGOB.js';
3
3
  import { R as RasterRect, Y as Pigment, a as BlendMode, T as TiledSurface } from '../surface-1MRncXpF.js';
4
4
  export { Z as PIGMENT_BANDS, _ as PIGMENT_LAMBDA_MIN, $ as PIGMENT_LAMBDA_STEP, a0 as PIGMENT_WAVELENGTHS, a1 as PigmentOptions, a2 as PigmentRgb, a3 as createPigment, a4 as lerpPigment, a5 as lerpPigmentInto, a6 as mixPigments, a7 as reflectanceToRgb, a8 as rgbToReflectance, a9 as setPigmentColor } from '../surface-1MRncXpF.js';
5
5
  import { A as AgentTool } from '../registry-D-4fit9C.js';
@@ -220,6 +220,8 @@ interface PathSample {
220
220
  altitude?: number;
221
221
  /** Radians clockwise from +x: where the pen leans (with altitude). */
222
222
  azimuth?: number;
223
+ /** Milliseconds (gradient paint mapped by speed or time reads it). */
224
+ t?: number;
223
225
  }
224
226
  interface PathStrokeOptions {
225
227
  brush: Partial<BrushSettings>;
@@ -238,15 +240,33 @@ interface PathStrokeOptions {
238
240
  }
239
241
  /** The dabs of a brush stroke along `samples`, with pressure and tilt interpolated between them. */
240
242
  declare function pathStrokeDabs(samples: readonly PathSample[], options: PathStrokeOptions): Dab[];
243
+ /**
244
+ * Gradient paint for a path stroke: a `PaintSource` gradient sampled dab by dab (by distance along
245
+ * the path, pressure, tilt, speed, direction, time, across the tip or at random). `paint` /
246
+ * `secondary` stops resolve to `colors` (default: the stroke colour and white).
247
+ */
248
+ interface PathStrokePaint {
249
+ paint: PaintSource;
250
+ /** Seed of the `random` mapping (default 0). */
251
+ seed?: number;
252
+ colors?: {
253
+ paint: string;
254
+ secondary: string;
255
+ };
256
+ }
241
257
  /** The coverage of a brush stroke along `samples` (build-up towards each dab's opacity) and its bounds. */
242
- declare function pathStrokeCoverage(samples: readonly PathSample[], options: PathStrokeOptions): {
258
+ declare function pathStrokeCoverage(samples: readonly PathSample[], options: PathStrokeOptions & {
259
+ gradient?: PathStrokePaint | null;
260
+ }): {
243
261
  coverage: CoverageMap;
244
262
  bounds: RasterRect | null;
245
263
  dabs: number;
246
264
  };
247
265
  interface PaintPathOptions extends PathStrokeOptions {
248
- /** RGBA 0..255 of the paint. */
266
+ /** RGBA 0..255 of the paint (with gradient paint: its alpha, and the colour of `paint` stops). */
249
267
  color: readonly [number, number, number, number];
268
+ /** Gradient paint (a `PaintSource`); a colour source replaces `color`'s RGB. */
269
+ paint?: PathStrokePaint | null;
250
270
  /** `erase` removes paint instead (default `paint`). */
251
271
  mode?: 'paint' | 'erase';
252
272
  /** Blend mode (default the brush's). */
@@ -331,20 +351,22 @@ type BrushstrokeBrush = Partial<BrushSettings> | {
331
351
  };
332
352
  };
333
353
  /**
334
- * What the stroke is painted with. A solid RGBA colour today; when the paint editor's gradient
335
- * paint (`PaintSource`) lands it is accepted here too, so callers already pass `paint` rather than a
336
- * bare colour.
354
+ * What the stroke is painted with: a solid RGBA colour, or a `PaintSource` (one `#rrggbb` colour,
355
+ * or gradient paint sampled dab by dab along the path: by distance, pressure, tilt, speed,
356
+ * direction, time, across the tip or at random).
337
357
  */
338
358
  type BrushstrokePaint = {
339
359
  color: readonly [number, number, number, number];
340
- };
360
+ } | PaintSource;
341
361
  interface BrushstrokeOptions {
342
362
  /** Image pixels per path unit (default 1). Use {@link brushstrokeScaleBucket} for a zoom. */
343
363
  scale?: number;
344
364
  /** RGBA 0..255 (default opaque black). Shorthand for `paint: { color }`. */
345
365
  color?: readonly [number, number, number, number];
346
- /** What to paint with (wins over `color`). */
366
+ /** What to paint with (wins over `color`; with gradient paint, `color` fills `paint` stops and gives the alpha). */
347
367
  paint?: BrushstrokePaint;
368
+ /** Seed of gradient paint's `random` mapping (default 0). */
369
+ seed?: number;
348
370
  /** Join the last sample back to the first. */
349
371
  closed?: boolean;
350
372
  /**
@@ -469,4 +491,4 @@ declare function pointerStrokeSamples(e: PointerEventLike, toPoint: (clientX: nu
469
491
  y: number;
470
492
  }): PointerStrokeSample[];
471
493
 
472
- export { BODY_SCATTER, BrushSettings, type BrushstrokeBrush, BrushstrokeCache, type BrushstrokeCanvasLike, type BrushstrokeImage, type BrushstrokeInput, type BrushstrokeOptions, type BrushstrokePaint, type BrushstrokeProfilePath, type BrushstrokeSample, CoverageMap, Dab, HIDE, PIGMENT_UNIT, PaintMedium, type PaintPathOptions, PaintSample, type PathSample, type PathStrokeOptions, Pigment, type PointerEventLike, type PointerStrokeSample, RgbTriple, SRGB_TO_LINEAR, WGSL_HALO, WGSL_SHADE, WGSL_STEP, WetMedium, type WetMediumOptions, WetWorld, bestOffset, brushstrokeDataUrl, brushstrokeKey, brushstrokeSamples, brushstrokeStrokeOptions, brushstrokeToCanvas, createPigmentTools, dexp, dilateMask, dlog, dpow, expNeg, filmPixel, filmReflectance, isBrushstrokeBrush, linearToSrgb8, maskBounds, membraneFill, paintPathStroke, pathStrokeCoverage, pathStrokeDabs, pigmentColor, pigmentOf, pixelPigment, pointerPressure, pointerStrokeSample, pointerStrokeSamples, renderBrushstroke, seamlessClone, shadeTile, solveMembrane, srgbByteToLinear, stepSlotTs };
494
+ export { BODY_SCATTER, BrushSettings, type BrushstrokeBrush, BrushstrokeCache, type BrushstrokeCanvasLike, type BrushstrokeImage, type BrushstrokeInput, type BrushstrokeOptions, type BrushstrokePaint, type BrushstrokeProfilePath, type BrushstrokeSample, CoverageMap, Dab, HIDE, PIGMENT_UNIT, PaintMedium, type PaintPathOptions, PaintSample, PaintSource, type PathSample, type PathStrokeOptions, type PathStrokePaint, Pigment, type PointerEventLike, type PointerStrokeSample, RgbTriple, SRGB_TO_LINEAR, WGSL_HALO, WGSL_SHADE, WGSL_STEP, WetMedium, type WetMediumOptions, WetWorld, bestOffset, brushstrokeDataUrl, brushstrokeKey, brushstrokeSamples, brushstrokeStrokeOptions, brushstrokeToCanvas, createPigmentTools, dexp, dilateMask, dlog, dpow, expNeg, filmPixel, filmReflectance, isBrushstrokeBrush, linearToSrgb8, maskBounds, membraneFill, paintPathStroke, pathStrokeCoverage, pathStrokeDabs, pigmentColor, pigmentOf, pixelPigment, pointerPressure, pointerStrokeSample, pointerStrokeSamples, renderBrushstroke, seamlessClone, shadeTile, solveMembrane, srgbByteToLinear, stepSlotTs };
@@ -42,7 +42,7 @@ import {
42
42
  pathStrokeCoverage,
43
43
  pathStrokeDabs,
44
44
  renderBrushstroke
45
- } from "../chunk-TVXFHE4T.js";
45
+ } from "../chunk-64PYNEHJ.js";
46
46
  import {
47
47
  BODY_SCATTER,
48
48
  DEFAULT_FLOW,
@@ -73,15 +73,17 @@
73
73
  var _chunkW4LNKTHTcjs = require('../chunk-W4LNKTHT.cjs');
74
74
 
75
75
 
76
- var _chunkSMJGE7HMcjs = require('../chunk-SMJGE7HM.cjs');
76
+ var _chunk4QQZV5Y5cjs = require('../chunk-4QQZV5Y5.cjs');
77
77
 
78
78
 
79
79
 
80
80
 
81
81
 
82
82
 
83
- var _chunk6CJRDJCUcjs = require('../chunk-6CJRDJCU.cjs');
83
+ var _chunkPEHYWUVVcjs = require('../chunk-PEHYWUVV.cjs');
84
84
  require('../chunk-2YQONY6G.cjs');
85
+ require('../chunk-CN4PJHUG.cjs');
86
+ require('../chunk-RIWPYSKU.cjs');
85
87
 
86
88
 
87
89
 
@@ -1614,11 +1616,11 @@ function header(state, options) {
1614
1616
  return out;
1615
1617
  }
1616
1618
  function serializePaintDocument(state, options = {}) {
1617
- const { layers, assets } = _chunk6CJRDJCUcjs.serializeLayers.call(void 0, state.layers);
1619
+ const { layers, assets } = _chunkPEHYWUVVcjs.serializeLayers.call(void 0, state.layers);
1618
1620
  return { ...header(state, options), layers, assets };
1619
1621
  }
1620
1622
  async function serializePaintDocumentExternal(state, store, options = {}) {
1621
- const { layers, assets } = await _chunk6CJRDJCUcjs.serializeLayersExternal.call(void 0, state.layers, store);
1623
+ const { layers, assets } = await _chunkPEHYWUVVcjs.serializeLayersExternal.call(void 0, state.layers, store);
1622
1624
  return { ...header(state, options), layers, assets };
1623
1625
  }
1624
1626
  function paintLayersOnly(layers, problems) {
@@ -1655,7 +1657,7 @@ function deserializePaintDocument(raw) {
1655
1657
  const canvas = normalizeCanvas({ width: r.width, height: r.height, dpi: _nullishCoalesce(r.dpi, () => ( void 0)) });
1656
1658
  const paper = _chunkW4LNKTHTcjs.normalizePaper.call(void 0, _nullishCoalesce(r.paper, () => ( {})));
1657
1659
  const assets = r.assets && typeof r.assets === "object" ? r.assets : {};
1658
- const layers = paintLayersOnly(_chunk6CJRDJCUcjs.deserializeLayers.call(void 0, r.layers, { assets, problems }), problems);
1660
+ const layers = paintLayersOnly(_chunkPEHYWUVVcjs.deserializeLayers.call(void 0, r.layers, { assets, problems }), problems);
1659
1661
  const wanted = typeof r.activeLayerId === "string" ? r.activeLayerId : null;
1660
1662
  const activeLayerId = wanted && _chunkMZXQTKUMcjs.findLayer.call(void 0, layers, wanted) ? wanted : _nullishCoalesce(_optionalChain([_chunkMZXQTKUMcjs.flattenLayers.call(void 0, layers), 'access', _70 => _70.filter, 'call', _71 => _71((l) => l.type === "pixel"), 'access', _72 => _72.pop, 'call', _73 => _73(), 'optionalAccess', _74 => _74.id]), () => ( null));
1661
1663
  const wetEvents = Array.isArray(r.wetEvents) ? r.wetEvents.filter((e) => e && typeof e === "object" && Number.isInteger(e.clock) && typeof e.kind === "string") : [];
@@ -1669,7 +1671,7 @@ async function deserializePaintDocumentAsync(raw, store) {
1669
1671
  if (!raw || typeof raw !== "object") throw new Error("Not a paint document: expected a JSON object.");
1670
1672
  const r = raw;
1671
1673
  const problems = [];
1672
- const assets = await _chunk6CJRDJCUcjs.resolveExternalAssets.call(void 0, _nullishCoalesce(r.assets, () => ( {})), store, problems);
1674
+ const assets = await _chunkPEHYWUVVcjs.resolveExternalAssets.call(void 0, _nullishCoalesce(r.assets, () => ( {})), store, problems);
1673
1675
  const loaded = deserializePaintDocument({ ...r, assets });
1674
1676
  return { ...loaded, problems: [...problems, ...loaded.problems] };
1675
1677
  }
@@ -3158,7 +3160,7 @@ function timeLapseVideo(frameCount, width, height, fps, holdMs, name = "Time-lap
3158
3160
  }
3159
3161
  const video = { version: 1, name, width: w, height: h, fps, background: "#000000", assets, tracks: [{ id: "v1", kind: "video", clips }] };
3160
3162
  const durationMs = frameCount ? clips[clips.length - 1].start + clips[clips.length - 1].duration : 0;
3161
- return { video, ffmpeg: _chunkSMJGE7HMcjs.toVideoFfmpeg.call(void 0, video, { output: "timelapse.mp4" }), durationMs };
3163
+ return { video, ffmpeg: _chunk4QQZV5Y5cjs.toVideoFfmpeg.call(void 0, video, { output: "timelapse.mp4" }), durationMs };
3162
3164
  }
3163
3165
  async function buildTimeLapse(source, target, options = {}) {
3164
3166
  const maxSide = Math.max(32, Math.min(4096, Math.round(_nullishCoalesce(options.maxSide, () => ( 720)))));
@@ -4905,7 +4907,7 @@ var PaintEditorController = (_class9 = class _PaintEditorController {
4905
4907
  return next.type === "group" ? { ...next, children: toStandard(next.children) } : next;
4906
4908
  });
4907
4909
  const layers = toStandard(dried);
4908
- const result = _chunk6CJRDJCUcjs.exportPsd.call(void 0, { width, height, layers: [paperLayer, ...layers], merged, resolution: dpi });
4910
+ const result = _chunkPEHYWUVVcjs.exportPsd.call(void 0, { width, height, layers: [paperLayer, ...layers], merged, resolution: dpi });
4909
4911
  for (const [mode, names] of changed) {
4910
4912
  const label = _nullishCoalesce(_optionalChain([_chunkJ5BA3BQ6cjs.BLEND_MODES, 'access', _244 => _244.find, 'call', _245 => _245((m) => m.id === mode), 'optionalAccess', _246 => _246.label]), () => ( mode));
4911
4913
  const std = _nullishCoalesce(_optionalChain([_chunkJ5BA3BQ6cjs.BLEND_MODES, 'access', _247 => _247.find, 'call', _248 => _248((m) => m.id === _chunkJ5BA3BQ6cjs.standardBlendMode.call(void 0, mode)), 'optionalAccess', _249 => _249.label]), () => ( _chunkJ5BA3BQ6cjs.standardBlendMode.call(void 0, mode)));