@pixerate/editor 0.137.0 → 0.139.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 (127) hide show
  1. package/dist/agent/index.cjs +2 -2
  2. package/dist/agent/index.d.cts +3 -3
  3. package/dist/agent/index.d.ts +3 -3
  4. package/dist/agent/index.js +1 -1
  5. package/dist/animation-editor/index.cjs +57 -57
  6. package/dist/animation-editor/index.d.cts +6 -5
  7. package/dist/animation-editor/index.d.ts +6 -5
  8. package/dist/animation-editor/index.js +4 -4
  9. package/dist/{arrange-CKXK_hf7.d.cts → arrange-j_mLiFMO.d.cts} +1 -1
  10. package/dist/{arrange-BUREmgD9.d.ts → arrange-q5HQvnnB.d.ts} +1 -1
  11. package/dist/{bezier-Dywv3Bw8.d.ts → bezier-B6cK8SR6.d.ts} +2 -2
  12. package/dist/{bezier-CZ2AhjID.d.cts → bezier-CEJ8Uw4O.d.cts} +2 -2
  13. package/dist/{brushTypes-C7N3EBK7.d.cts → brushTypes-MX5UVs_m.d.cts} +27 -2
  14. package/dist/{brushTypes-C7N3EBK7.d.ts → brushTypes-MX5UVs_m.d.ts} +27 -2
  15. package/dist/{brushes-DJmUbIgz.d.ts → brushes-CQpL7_Lc.d.ts} +2 -107
  16. package/dist/{brushes-CnvZSYYU.d.cts → brushes-aEnjqoji.d.cts} +2 -107
  17. package/dist/{brushstrokeRender-IMFY3FF6.cjs → brushstrokeRender-PP6NTF6M.cjs} +52 -24
  18. package/dist/brushstrokeRender-PP6NTF6M.cjs.map +1 -0
  19. package/dist/{brushstrokeRender-2FAXA3XC.js → brushstrokeRender-QGEYJ4OZ.js} +40 -12
  20. package/dist/brushstrokeRender-QGEYJ4OZ.js.map +1 -0
  21. package/dist/{builtins-Cc-bH-3U.d.cts → builtins-BakDiKWf.d.cts} +3 -2
  22. package/dist/{builtins-ZU1GJnUA.d.ts → builtins-CE33vyv2.d.ts} +3 -2
  23. package/dist/canvas/index.cjs +16 -9
  24. package/dist/canvas/index.cjs.map +1 -1
  25. package/dist/canvas/index.d.cts +60 -14
  26. package/dist/canvas/index.d.ts +60 -14
  27. package/dist/canvas/index.js +10 -3
  28. package/dist/canvas/index.js.map +1 -1
  29. package/dist/{chunk-PRSRYHQD.cjs → chunk-3QHPFSQM.cjs} +36 -36
  30. package/dist/{chunk-PRSRYHQD.cjs.map → chunk-3QHPFSQM.cjs.map} +1 -1
  31. package/dist/{chunk-QBWEH3IM.cjs → chunk-3T5O225T.cjs} +391 -76
  32. package/dist/chunk-3T5O225T.cjs.map +1 -0
  33. package/dist/{chunk-EQQMGO42.js → chunk-C2J7GOMJ.js} +18 -5
  34. package/dist/chunk-C2J7GOMJ.js.map +1 -0
  35. package/dist/{chunk-2XS6LTUP.cjs → chunk-C46AZEBE.cjs} +104 -339
  36. package/dist/chunk-C46AZEBE.cjs.map +1 -0
  37. package/dist/{chunk-HUO3TI4C.js → chunk-CPSMARTX.js} +6 -241
  38. package/dist/chunk-CPSMARTX.js.map +1 -0
  39. package/dist/{chunk-KEENUAFN.cjs → chunk-DLLUOVQX.cjs} +18 -5
  40. package/dist/chunk-DLLUOVQX.cjs.map +1 -0
  41. package/dist/{chunk-LSXXAJG3.js → chunk-J7DSKTKB.js} +5 -4
  42. package/dist/chunk-J7DSKTKB.js.map +1 -0
  43. package/dist/{chunk-6S6362D2.js → chunk-NI6RORDS.js} +2 -2
  44. package/dist/{chunk-XN2NBLV5.cjs → chunk-PMEHFHSP.cjs} +82 -82
  45. package/dist/{chunk-XN2NBLV5.cjs.map → chunk-PMEHFHSP.cjs.map} +1 -1
  46. package/dist/{chunk-5FSRTP6E.js → chunk-PQFVLOMR.js} +319 -4
  47. package/dist/chunk-PQFVLOMR.js.map +1 -0
  48. package/dist/{chunk-OIBIRXRG.js → chunk-PSPLRQL6.js} +2 -2
  49. package/dist/{chunk-SYT2TLQF.js → chunk-QEIN6JQO.js} +2 -2
  50. package/dist/{chunk-3D77LOBM.js → chunk-TJBYBSTN.js} +51 -6
  51. package/dist/chunk-TJBYBSTN.js.map +1 -0
  52. package/dist/{chunk-DFSZO2B5.cjs → chunk-UFL5N4DK.cjs} +5 -4
  53. package/dist/chunk-UFL5N4DK.cjs.map +1 -0
  54. package/dist/{chunk-TLCTTQFF.cjs → chunk-VEHVXRJU.cjs} +17 -17
  55. package/dist/{chunk-TLCTTQFF.cjs.map → chunk-VEHVXRJU.cjs.map} +1 -1
  56. package/dist/{chunk-5OOIUXNJ.cjs → chunk-XFXHA5MU.cjs} +55 -10
  57. package/dist/chunk-XFXHA5MU.cjs.map +1 -0
  58. package/dist/commands/index.cjs +2 -2
  59. package/dist/commands/index.d.cts +3 -3
  60. package/dist/commands/index.d.ts +3 -3
  61. package/dist/commands/index.js +1 -1
  62. package/dist/effects/index.d.cts +5 -4
  63. package/dist/effects/index.d.ts +5 -4
  64. package/dist/{export-DwnZ_hvQ.d.ts → export-0ZaTK__4.d.ts} +4 -4
  65. package/dist/{export-41rL6Cne.d.ts → export-C45v6MYq.d.ts} +1 -1
  66. package/dist/{export-CyJdfP_Z.d.cts → export-D-7WCDJ9.d.cts} +4 -4
  67. package/dist/{export-D9mXp05Q.d.cts → export-DSdCfd6O.d.cts} +1 -1
  68. package/dist/grain-BWmGZxP4.d.cts +58 -0
  69. package/dist/grain-BWmGZxP4.d.ts +58 -0
  70. package/dist/{helpers-v6GMazzg.d.cts → helpers-Cavy1TB7.d.cts} +21 -1
  71. package/dist/{helpers-C-RgeyvH.d.ts → helpers-LZQ4cpg4.d.ts} +21 -1
  72. package/dist/image-editor/index.cjs +695 -677
  73. package/dist/image-editor/index.cjs.map +1 -1
  74. package/dist/image-editor/index.d.cts +12 -11
  75. package/dist/image-editor/index.d.ts +12 -11
  76. package/dist/image-editor/index.js +23 -5
  77. package/dist/image-editor/index.js.map +1 -1
  78. package/dist/{opentype-KR_jj6b_.d.cts → opentype-BpIJhGpj.d.cts} +1 -1
  79. package/dist/{opentype-a1KAW-qs.d.ts → opentype-CyxDScVz.d.ts} +1 -1
  80. package/dist/paint/index.cjs +21 -3
  81. package/dist/paint/index.cjs.map +1 -1
  82. package/dist/paint/index.d.cts +72 -5
  83. package/dist/paint/index.d.ts +72 -5
  84. package/dist/paint/index.js +20 -2
  85. package/dist/paint-editor/index.cjs +171 -171
  86. package/dist/paint-editor/index.cjs.map +1 -1
  87. package/dist/paint-editor/index.d.cts +77 -29
  88. package/dist/paint-editor/index.d.ts +77 -29
  89. package/dist/paint-editor/index.js +12 -12
  90. package/dist/{pathfinder-BHS4vQNm.d.cts → pathfinder-BMQEcS0k.d.cts} +2 -2
  91. package/dist/{pathfinder-BVvTIBMo.d.ts → pathfinder-CQIxubuP.d.ts} +2 -2
  92. package/dist/{pool-CZQOrSXZ.d.ts → pool-Cynuj89K.d.ts} +1 -1
  93. package/dist/{pool-FjZZmZ80.d.cts → pool-DedjxDKo.d.cts} +1 -1
  94. package/dist/{rand-8xbUb6ur.d.ts → rand-COS4_E1g.d.ts} +17 -1
  95. package/dist/{rand-Cw9VLrVC.d.cts → rand-D1JqpR-p.d.cts} +17 -1
  96. package/dist/{svg-DTb40ICU.d.cts → svg-RcixtBFR.d.cts} +2 -2
  97. package/dist/{svg-CSz3mzkw.d.ts → svg-nWBJEpnk.d.ts} +2 -2
  98. package/dist/{tools-Ca0kI1qo.d.cts → tools-CL82d7nw.d.cts} +1 -1
  99. package/dist/{tools-B0wXP5cF.d.ts → tools-DrxgDnXY.d.ts} +1 -1
  100. package/dist/vector/index.cjs +995 -955
  101. package/dist/vector/index.cjs.map +1 -1
  102. package/dist/vector/index.d.cts +44 -18
  103. package/dist/vector/index.d.ts +44 -18
  104. package/dist/vector/index.js +55 -15
  105. package/dist/vector/index.js.map +1 -1
  106. package/dist/video-editor/index.d.cts +5 -4
  107. package/dist/video-editor/index.d.ts +5 -4
  108. package/dist/{warp-DTOp0lON.d.cts → warp-CHi_P_G6.d.cts} +1 -1
  109. package/dist/{warp-pd7hrH4T.d.ts → warp-CPaHULUL.d.ts} +1 -1
  110. package/package.json +1 -1
  111. package/skills/pixerate-canvas/SKILL.md +12 -5
  112. package/skills/pixerate-vector/SKILL.md +4 -2
  113. package/dist/brushstrokeRender-2FAXA3XC.js.map +0 -1
  114. package/dist/brushstrokeRender-IMFY3FF6.cjs.map +0 -1
  115. package/dist/chunk-2XS6LTUP.cjs.map +0 -1
  116. package/dist/chunk-3D77LOBM.js.map +0 -1
  117. package/dist/chunk-5FSRTP6E.js.map +0 -1
  118. package/dist/chunk-5OOIUXNJ.cjs.map +0 -1
  119. package/dist/chunk-DFSZO2B5.cjs.map +0 -1
  120. package/dist/chunk-EQQMGO42.js.map +0 -1
  121. package/dist/chunk-HUO3TI4C.js.map +0 -1
  122. package/dist/chunk-KEENUAFN.cjs.map +0 -1
  123. package/dist/chunk-LSXXAJG3.js.map +0 -1
  124. package/dist/chunk-QBWEH3IM.cjs.map +0 -1
  125. /package/dist/{chunk-6S6362D2.js.map → chunk-NI6RORDS.js.map} +0 -0
  126. /package/dist/{chunk-OIBIRXRG.js.map → chunk-PSPLRQL6.js.map} +0 -0
  127. /package/dist/{chunk-SYT2TLQF.js.map → chunk-QEIN6JQO.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.cjs';
2
- import { T as TextShaper, a as TextFont } from './warp-DTOp0lON.cjs';
2
+ import { T as TextShaper, a as TextFont } from './warp-CHi_P_G6.cjs';
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.js';
2
- import { T as TextShaper, a as TextFont } from './warp-pd7hrH4T.js';
2
+ import { T as TextShaper, a as TextFont } from './warp-CPaHULUL.js';
3
3
 
4
4
  /**
5
5
  * Perspective (projective) maps between quadrilaterals: Free Distort and Perspective in both the
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- var _chunkTLCTTQFFcjs = require('../chunk-TLCTTQFF.cjs');
39
+ var _chunkVEHVXRJUcjs = require('../chunk-VEHVXRJU.cjs');
40
40
 
41
41
 
42
42
 
@@ -215,7 +215,16 @@ var _chunkF2Y4E4GUcjs = require('../chunk-F2Y4E4GU.cjs');
215
215
 
216
216
 
217
217
 
218
- var _chunkQBWEH3IMcjs = require('../chunk-QBWEH3IM.cjs');
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+ var _chunk3T5O225Tcjs = require('../chunk-3T5O225T.cjs');
219
228
 
220
229
 
221
230
 
@@ -462,5 +471,14 @@ require('../chunk-643B2HKC.cjs');
462
471
 
463
472
 
464
473
 
465
- exports.BODY_SCATTER = _chunkF2Y4E4GUcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MIN_SCALE; exports.BrushstrokeCache = _chunkQBWEH3IMcjs.BrushstrokeCache; exports.CoverageMap = _chunkQBWEH3IMcjs.CoverageMap; exports.DEFAULT_BLENDER = _chunkQBWEH3IMcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunkQBWEH3IMcjs.DEFAULT_BRUSH; exports.DEFAULT_FLOW = _chunkF2Y4E4GUcjs.DEFAULT_FLOW; exports.DEFAULT_MIXER = _chunkQBWEH3IMcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunkQBWEH3IMcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkQBWEH3IMcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_RETOUCH = _chunkTLCTTQFFcjs.DEFAULT_RETOUCH; exports.DEFAULT_SMUDGE = _chunkQBWEH3IMcjs.DEFAULT_SMUDGE; exports.DEFAULT_WET_PAPER = _chunkF2Y4E4GUcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkF2Y4E4GUcjs.DEFAULT_WET_PARAMS; exports.DRY_EPS = _chunkF2Y4E4GUcjs.DRY_EPS; exports.DabWalker = _chunkQBWEH3IMcjs.DabWalker; exports.EMPTY_MIXER_LOAD = _chunkQBWEH3IMcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkF2Y4E4GUcjs.EX; exports.EY = _chunkF2Y4E4GUcjs.EY; exports.FLAG_ALIVE = _chunkF2Y4E4GUcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkF2Y4E4GUcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkF2Y4E4GUcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkF2Y4E4GUcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkF2Y4E4GUcjs.FLAG_TOP; exports.FLAG_WET = _chunkF2Y4E4GUcjs.FLAG_WET; exports.FLAT = _chunkF2Y4E4GUcjs.FLAT; exports.FREE_INTERVAL = _chunkF2Y4E4GUcjs.FREE_INTERVAL; exports.HIDE = _chunkF2Y4E4GUcjs.HIDE; exports.IDENTITY_CLONE_TRANSFORM = _chunkTLCTTQFFcjs.IDENTITY_CLONE_TRANSFORM; exports.MAX_BATCH = _chunkF2Y4E4GUcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunkQBWEH3IMcjs.MAX_BRUSH_SIZE; exports.MAX_TILT_ACCEL = _chunkF2Y4E4GUcjs.MAX_TILT_ACCEL; exports.MAX_WET_LANES = _chunkF2Y4E4GUcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkF2Y4E4GUcjs.MAX_WET_SLOTS; exports.MIXER_DRAIN = _chunkQBWEH3IMcjs.MIXER_DRAIN; exports.MIXER_PICKUP_RATE = _chunkQBWEH3IMcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkQBWEH3IMcjs.MIXING_MODELS; exports.MixerStroke = _chunkQBWEH3IMcjs.MixerStroke; exports.OPP = _chunkF2Y4E4GUcjs.OPP; exports.PAINT_COLOR_JSON_SCHEMA = _chunkQBWEH3IMcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunkQBWEH3IMcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkQBWEH3IMcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkQBWEH3IMcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkQBWEH3IMcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkQBWEH3IMcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkQBWEH3IMcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkQBWEH3IMcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkQBWEH3IMcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkQBWEH3IMcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkQBWEH3IMcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkQBWEH3IMcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAPER_CAPACITY = _chunkF2Y4E4GUcjs.PAPER_CAPACITY; exports.PARAM = _chunkF2Y4E4GUcjs.PARAM; exports.PARAM_FLOATS = _chunkF2Y4E4GUcjs.PARAM_FLOATS; exports.PIGMENT_BANDS = _chunkO7LUD7MHcjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkF2Y4E4GUcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkO7LUD7MHcjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkO7LUD7MHcjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkF2Y4E4GUcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkO7LUD7MHcjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkF2Y4E4GUcjs.PLANE; exports.PLANE_BYTES = _chunkF2Y4E4GUcjs.PLANE_BYTES; exports.P_D0 = _chunkF2Y4E4GUcjs.P_D0; exports.P_EDGE = _chunkF2Y4E4GUcjs.P_EDGE; exports.P_FX = _chunkF2Y4E4GUcjs.P_FX; exports.P_FY = _chunkF2Y4E4GUcjs.P_FY; exports.P_H = _chunkF2Y4E4GUcjs.P_H; exports.P_P0 = _chunkF2Y4E4GUcjs.P_P0; exports.P_RHO = _chunkF2Y4E4GUcjs.P_RHO; exports.P_SW = _chunkF2Y4E4GUcjs.P_SW; exports.P_UX = _chunkF2Y4E4GUcjs.P_UX; exports.P_UY = _chunkF2Y4E4GUcjs.P_UY; exports.PaintExchange = _chunkQBWEH3IMcjs.PaintExchange; exports.PaintGradientSampler = _chunkQBWEH3IMcjs.PaintGradientSampler; exports.PaintSourceError = _chunkQBWEH3IMcjs.PaintSourceError; exports.RETOUCH_SAMPLES = _chunkTLCTTQFFcjs.RETOUCH_SAMPLES; exports.RegionPixelSource = _chunkTLCTTQFFcjs.RegionPixelSource; exports.RetouchDabStroke = _chunkTLCTTQFFcjs.RetouchDabStroke; exports.SET_PLANES = _chunkF2Y4E4GUcjs.SET_PLANES; exports.SLOT_BYTES = _chunkF2Y4E4GUcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkF2Y4E4GUcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkF2Y4E4GUcjs.SLOT_SIDE; exports.SPOT_HEAL_TYPES = _chunkTLCTTQFFcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkF2Y4E4GUcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkF2Y4E4GUcjs.STRIP; exports.SmudgeTip = _chunkQBWEH3IMcjs.SmudgeTip; exports.StrokeCoverage = _chunkQBWEH3IMcjs.StrokeCoverage; exports.TIP_GRADIENT_STEPS = _chunkQBWEH3IMcjs.TIP_GRADIENT_STEPS; exports.TONE_RANGES = _chunkTLCTTQFFcjs.TONE_RANGES; exports.TileMedium = _chunkQBWEH3IMcjs.TileMedium; exports.TilePixelSource = _chunkTLCTTQFFcjs.TilePixelSource; exports.TransformedPixelSource = _chunkTLCTTQFFcjs.TransformedPixelSource; exports.U_MAX = _chunkF2Y4E4GUcjs.U_MAX; exports.W9 = _chunkF2Y4E4GUcjs.W9; exports.WET_FLOW_KINDS = _chunkF2Y4E4GUcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkF2Y4E4GUcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkF2Y4E4GUcjs.WET_TILE; exports.WGSL_HALO = _chunkF2Y4E4GUcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkF2Y4E4GUcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkF2Y4E4GUcjs.WGSL_STEP; exports.WetGpuEngine = _chunkF2Y4E4GUcjs.WetGpuEngine; exports.WetMedium = _chunkF2Y4E4GUcjs.WetMedium; exports.WetWorkerPool = _chunkF2Y4E4GUcjs.WetWorkerPool; exports.WetWorld = _chunkF2Y4E4GUcjs.WetWorld; exports.WetWorldError = _chunkF2Y4E4GUcjs.WetWorldError; exports.addPaintGradientStop = _chunkQBWEH3IMcjs.addPaintGradientStop; exports.applyRetouchToTile = _chunkTLCTTQFFcjs.applyRetouchToTile; exports.applyStrokeToDeepTile = _chunkQBWEH3IMcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunkQBWEH3IMcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunkTLCTTQFFcjs.applyToneToDeepTile; exports.bestOffset = _chunkTLCTTQFFcjs.bestOffset; exports.blendRadius = _chunkQBWEH3IMcjs.blendRadius; exports.blenderDab = _chunkQBWEH3IMcjs.blenderDab; exports.boxBlurPixels = _chunkTLCTTQFFcjs.boxBlurPixels; exports.brushstrokeDataUrl = _chunkQBWEH3IMcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkQBWEH3IMcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkQBWEH3IMcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkSYPFUL5Bcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkQBWEH3IMcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkQBWEH3IMcjs.brushstrokeToCanvas; exports.canShareMemory = _chunkF2Y4E4GUcjs.canShareMemory; exports.cleanMixer = _chunkQBWEH3IMcjs.cleanMixer; exports.cloneSamplePoint = _chunkTLCTTQFFcjs.cloneSamplePoint; exports.contentAwareFill = _chunkTLCTTQFFcjs.contentAwareFill; exports.coverageTileCoord = _chunkQBWEH3IMcjs.coverageTileCoord; exports.createBlenderScratch = _chunkQBWEH3IMcjs.createBlenderScratch; exports.createPigment = _chunkO7LUD7MHcjs.createPigment; exports.createPigmentTools = _chunkF2Y4E4GUcjs.createPigmentTools; exports.createWetGpuEngine = _chunkF2Y4E4GUcjs.createWetGpuEngine; exports.dabCoverage = _chunkQBWEH3IMcjs.dabCoverage; exports.dabRect = _chunkQBWEH3IMcjs.dabRect; exports.dexp = _chunkF2Y4E4GUcjs.dexp; exports.dilateMask = _chunkTLCTTQFFcjs.dilateMask; exports.dlog = _chunkF2Y4E4GUcjs.dlog; exports.dodgeBurn = _chunkTLCTTQFFcjs.dodgeBurn; exports.dodgeBurnCurve = _chunkTLCTTQFFcjs.dodgeBurnCurve; exports.dpow = _chunkF2Y4E4GUcjs.dpow; exports.dsincos = _chunkF2Y4E4GUcjs.dsincos; exports.edgeBits = _chunkF2Y4E4GUcjs.edgeBits; exports.exchangeRates = _chunkQBWEH3IMcjs.exchangeRates; exports.expNeg = _chunkF2Y4E4GUcjs.expNeg; exports.filmPixel = _chunkF2Y4E4GUcjs.filmPixel; exports.filmReflectance = _chunkF2Y4E4GUcjs.filmReflectance; exports.findWebGpu = _chunkF2Y4E4GUcjs.findWebGpu; exports.flowField = _chunkF2Y4E4GUcjs.flowField; exports.gradientDabColor = _chunkQBWEH3IMcjs.gradientDabColor; exports.hash2 = _chunkQBWEH3IMcjs.hash2; exports.healPixels = _chunkTLCTTQFFcjs.healPixels; exports.hexToPaintRgb = _chunkQBWEH3IMcjs.hexToPaintRgb; exports.isBrushstrokeBrush = _chunkQBWEH3IMcjs.isBrushstrokeBrush; exports.isGradientPaint = _chunkQBWEH3IMcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunkTLCTTQFFcjs.isIdentityCloneTransform; exports.latticeViscosity = _chunkF2Y4E4GUcjs.latticeViscosity; exports.lerpPigment = _chunkO7LUD7MHcjs.lerpPigment; exports.lerpPigmentInto = _chunkO7LUD7MHcjs.lerpPigmentInto; exports.linearToSrgb8 = _chunkF2Y4E4GUcjs.linearToSrgb8; exports.loadMixer = _chunkQBWEH3IMcjs.loadMixer; exports.loadWetKernel = _chunkF2Y4E4GUcjs.loadWetKernel; exports.luma = _chunkTLCTTQFFcjs.luma; exports.maskBounds = _chunkTLCTTQFFcjs.maskBounds; exports.membraneFill = _chunkTLCTTQFFcjs.membraneFill; exports.mix32 = _chunkQBWEH3IMcjs.mix32; exports.mixPigments = _chunkO7LUD7MHcjs.mixPigments; exports.mixerRates = _chunkQBWEH3IMcjs.mixerRates; exports.normalizeBlender = _chunkQBWEH3IMcjs.normalizeBlender; exports.normalizeBrush = _chunkQBWEH3IMcjs.normalizeBrush; exports.normalizeFlow = _chunkF2Y4E4GUcjs.normalizeFlow; exports.normalizeHexColor = _chunkQBWEH3IMcjs.normalizeHexColor; exports.normalizeMixer = _chunkQBWEH3IMcjs.normalizeMixer; exports.normalizeRetouch = _chunkTLCTTQFFcjs.normalizeRetouch; exports.normalizeSmudge = _chunkQBWEH3IMcjs.normalizeSmudge; exports.normalizeTilt = _chunkF2Y4E4GUcjs.normalizeTilt; exports.normalizeWetParams = _chunkF2Y4E4GUcjs.normalizeWetParams; exports.packWetParams = _chunkF2Y4E4GUcjs.packWetParams; exports.paintGradientMappingFor = _chunkQBWEH3IMcjs.paintGradientMappingFor; exports.paintPathStroke = _chunkQBWEH3IMcjs.paintPathStroke; exports.paintSourceColor = _chunkQBWEH3IMcjs.paintSourceColor; exports.paintSourceCss = _chunkQBWEH3IMcjs.paintSourceCss; exports.parsePaintSource = _chunkQBWEH3IMcjs.parsePaintSource; exports.pathStrokeCoverage = _chunkQBWEH3IMcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkQBWEH3IMcjs.pathStrokeDabs; exports.perDabStrength = _chunkTLCTTQFFcjs.perDabStrength; exports.pigmentColor = _chunkF2Y4E4GUcjs.pigmentColor; exports.pigmentOf = _chunkF2Y4E4GUcjs.pigmentOf; exports.pixelPigment = _chunkF2Y4E4GUcjs.pixelPigment; exports.pointerPressure = _chunkF2Y4E4GUcjs.pointerPressure; exports.pointerStrokeSample = _chunkF2Y4E4GUcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkF2Y4E4GUcjs.pointerStrokeSamples; exports.put255 = _chunkQBWEH3IMcjs.put255; exports.rand01 = _chunkQBWEH3IMcjs.rand01; exports.rasterizeDab = _chunkQBWEH3IMcjs.rasterizeDab; exports.readPaintSource = _chunkQBWEH3IMcjs.readPaintSource; exports.readSourceRegion = _chunkTLCTTQFFcjs.readSourceRegion; exports.reflectanceToRgb = _chunkO7LUD7MHcjs.reflectanceToRgb; exports.removePaintGradientStop = _chunkQBWEH3IMcjs.removePaintGradientStop; exports.renderBrushstroke = _chunkQBWEH3IMcjs.renderBrushstroke; exports.resolvePaintGradient = _chunkQBWEH3IMcjs.resolvePaintGradient; exports.retouchFilter = _chunkTLCTTQFFcjs.retouchFilter; exports.reversePaintGradient = _chunkQBWEH3IMcjs.reversePaintGradient; exports.rgbToReflectance = _chunkO7LUD7MHcjs.rgbToReflectance; exports.rgbaViewOfGrey = _chunkTLCTTQFFcjs.rgbaViewOfGrey; exports.saturationOf = _chunkTLCTTQFFcjs.saturationOf; exports.scalePaintGradient = _chunkQBWEH3IMcjs.scalePaintGradient; exports.seamlessClone = _chunkTLCTTQFFcjs.seamlessClone; exports.setPigmentColor = _chunkO7LUD7MHcjs.setPigmentColor; exports.shadeTile = _chunkF2Y4E4GUcjs.shadeTile; exports.smoothPoints = _chunkQBWEH3IMcjs.smoothPoints; exports.smudgeEffect = _chunkTLCTTQFFcjs.smudgeEffect; exports.solidPaint = _chunkQBWEH3IMcjs.solidPaint; exports.solveMembrane = _chunkTLCTTQFFcjs.solveMembrane; exports.sponge = _chunkTLCTTQFFcjs.sponge; exports.spongeEffect = _chunkTLCTTQFFcjs.spongeEffect; exports.spotHealPixels = _chunkTLCTTQFFcjs.spotHealPixels; exports.spotHealWindow = _chunkTLCTTQFFcjs.spotHealWindow; exports.srgbByteToLinear = _chunkF2Y4E4GUcjs.srgbByteToLinear; exports.stepSlotTs = _chunkF2Y4E4GUcjs.stepSlotTs; exports.tipFalloff = _chunkQBWEH3IMcjs.tipFalloff; exports.tipReach = _chunkQBWEH3IMcjs.tipReach; exports.tipShape = _chunkQBWEH3IMcjs.tipShape; exports.toneOf = _chunkTLCTTQFFcjs.toneOf; exports.updatePaintGradientStop = _chunkQBWEH3IMcjs.updatePaintGradientStop; exports.walkDabs = _chunkQBWEH3IMcjs.walkDabs; exports.wetGpuSupport = _chunkF2Y4E4GUcjs.wetGpuSupport; exports.wetSimdSupported = _chunkF2Y4E4GUcjs.wetSimdSupported; exports.wetSupport = _chunkF2Y4E4GUcjs.wetSupport;
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+ exports.BODY_SCATTER = _chunkF2Y4E4GUcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkSYPFUL5Bcjs.BRUSHSTROKE_MIN_SCALE; exports.BrushstrokeCache = _chunk3T5O225Tcjs.BrushstrokeCache; exports.CoverageMap = _chunk3T5O225Tcjs.CoverageMap; exports.DEFAULT_BLENDER = _chunk3T5O225Tcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunk3T5O225Tcjs.DEFAULT_BRUSH; exports.DEFAULT_FLOW = _chunkF2Y4E4GUcjs.DEFAULT_FLOW; exports.DEFAULT_MIXER = _chunk3T5O225Tcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunk3T5O225Tcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunk3T5O225Tcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_RETOUCH = _chunkVEHVXRJUcjs.DEFAULT_RETOUCH; exports.DEFAULT_SMUDGE = _chunk3T5O225Tcjs.DEFAULT_SMUDGE; exports.DEFAULT_WET_PAPER = _chunkF2Y4E4GUcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkF2Y4E4GUcjs.DEFAULT_WET_PARAMS; exports.DRY_EPS = _chunkF2Y4E4GUcjs.DRY_EPS; exports.DabWalker = _chunk3T5O225Tcjs.DabWalker; exports.EMPTY_MIXER_LOAD = _chunk3T5O225Tcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkF2Y4E4GUcjs.EX; exports.EY = _chunkF2Y4E4GUcjs.EY; exports.FLAG_ALIVE = _chunkF2Y4E4GUcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkF2Y4E4GUcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkF2Y4E4GUcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkF2Y4E4GUcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkF2Y4E4GUcjs.FLAG_TOP; exports.FLAG_WET = _chunkF2Y4E4GUcjs.FLAG_WET; exports.FLAT = _chunkF2Y4E4GUcjs.FLAT; exports.FREE_INTERVAL = _chunkF2Y4E4GUcjs.FREE_INTERVAL; exports.GRAIN_PATTERNS = _chunk3T5O225Tcjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunk3T5O225Tcjs.GRAIN_TILE; exports.HIDE = _chunkF2Y4E4GUcjs.HIDE; exports.IDENTITY_CLONE_TRANSFORM = _chunkVEHVXRJUcjs.IDENTITY_CLONE_TRANSFORM; exports.MAX_BATCH = _chunkF2Y4E4GUcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunk3T5O225Tcjs.MAX_BRUSH_SIZE; exports.MAX_TILT_ACCEL = _chunkF2Y4E4GUcjs.MAX_TILT_ACCEL; exports.MAX_WET_LANES = _chunkF2Y4E4GUcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkF2Y4E4GUcjs.MAX_WET_SLOTS; exports.MIXER_DRAIN = _chunk3T5O225Tcjs.MIXER_DRAIN; exports.MIXER_PICKUP_RATE = _chunk3T5O225Tcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunk3T5O225Tcjs.MIXING_MODELS; exports.MixerStroke = _chunk3T5O225Tcjs.MixerStroke; exports.OPP = _chunkF2Y4E4GUcjs.OPP; exports.PAINT_COLOR_JSON_SCHEMA = _chunk3T5O225Tcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunk3T5O225Tcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunk3T5O225Tcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunk3T5O225Tcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunk3T5O225Tcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunk3T5O225Tcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunk3T5O225Tcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunk3T5O225Tcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunk3T5O225Tcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunk3T5O225Tcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunk3T5O225Tcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunk3T5O225Tcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAPER_CAPACITY = _chunkF2Y4E4GUcjs.PAPER_CAPACITY; exports.PARAM = _chunkF2Y4E4GUcjs.PARAM; exports.PARAM_FLOATS = _chunkF2Y4E4GUcjs.PARAM_FLOATS; exports.PIGMENT_BANDS = _chunkO7LUD7MHcjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkF2Y4E4GUcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkO7LUD7MHcjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkO7LUD7MHcjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkF2Y4E4GUcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkO7LUD7MHcjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkF2Y4E4GUcjs.PLANE; exports.PLANE_BYTES = _chunkF2Y4E4GUcjs.PLANE_BYTES; exports.P_D0 = _chunkF2Y4E4GUcjs.P_D0; exports.P_EDGE = _chunkF2Y4E4GUcjs.P_EDGE; exports.P_FX = _chunkF2Y4E4GUcjs.P_FX; exports.P_FY = _chunkF2Y4E4GUcjs.P_FY; exports.P_H = _chunkF2Y4E4GUcjs.P_H; exports.P_P0 = _chunkF2Y4E4GUcjs.P_P0; exports.P_RHO = _chunkF2Y4E4GUcjs.P_RHO; exports.P_SW = _chunkF2Y4E4GUcjs.P_SW; exports.P_UX = _chunkF2Y4E4GUcjs.P_UX; exports.P_UY = _chunkF2Y4E4GUcjs.P_UY; exports.PaintExchange = _chunk3T5O225Tcjs.PaintExchange; exports.PaintGradientSampler = _chunk3T5O225Tcjs.PaintGradientSampler; exports.PaintSourceError = _chunk3T5O225Tcjs.PaintSourceError; exports.PaperGrain = _chunk3T5O225Tcjs.PaperGrain; exports.RETOUCH_SAMPLES = _chunkVEHVXRJUcjs.RETOUCH_SAMPLES; exports.RegionPixelSource = _chunkVEHVXRJUcjs.RegionPixelSource; exports.RetouchDabStroke = _chunkVEHVXRJUcjs.RetouchDabStroke; exports.SET_PLANES = _chunkF2Y4E4GUcjs.SET_PLANES; exports.SLOT_BYTES = _chunkF2Y4E4GUcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkF2Y4E4GUcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkF2Y4E4GUcjs.SLOT_SIDE; exports.SPOT_HEAL_TYPES = _chunkVEHVXRJUcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkF2Y4E4GUcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkF2Y4E4GUcjs.STRIP; exports.SmudgeTip = _chunk3T5O225Tcjs.SmudgeTip; exports.StrokeCoverage = _chunk3T5O225Tcjs.StrokeCoverage; exports.TIP_GRADIENT_STEPS = _chunk3T5O225Tcjs.TIP_GRADIENT_STEPS; exports.TONE_RANGES = _chunkVEHVXRJUcjs.TONE_RANGES; exports.TileMedium = _chunk3T5O225Tcjs.TileMedium; exports.TilePixelSource = _chunkVEHVXRJUcjs.TilePixelSource; exports.TileableNoise = _chunk3T5O225Tcjs.TileableNoise; exports.TransformedPixelSource = _chunkVEHVXRJUcjs.TransformedPixelSource; exports.U_MAX = _chunkF2Y4E4GUcjs.U_MAX; exports.W9 = _chunkF2Y4E4GUcjs.W9; exports.WET_FLOW_KINDS = _chunkF2Y4E4GUcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkF2Y4E4GUcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkF2Y4E4GUcjs.WET_TILE; exports.WGSL_HALO = _chunkF2Y4E4GUcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkF2Y4E4GUcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkF2Y4E4GUcjs.WGSL_STEP; exports.WetGpuEngine = _chunkF2Y4E4GUcjs.WetGpuEngine; exports.WetMedium = _chunkF2Y4E4GUcjs.WetMedium; exports.WetWorkerPool = _chunkF2Y4E4GUcjs.WetWorkerPool; exports.WetWorld = _chunkF2Y4E4GUcjs.WetWorld; exports.WetWorldError = _chunkF2Y4E4GUcjs.WetWorldError; exports.addPaintGradientStop = _chunk3T5O225Tcjs.addPaintGradientStop; exports.applyRetouchToTile = _chunkVEHVXRJUcjs.applyRetouchToTile; exports.applyStrokeToDeepTile = _chunk3T5O225Tcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunk3T5O225Tcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunkVEHVXRJUcjs.applyToneToDeepTile; exports.bestOffset = _chunkVEHVXRJUcjs.bestOffset; exports.blendRadius = _chunk3T5O225Tcjs.blendRadius; exports.blenderDab = _chunk3T5O225Tcjs.blenderDab; exports.boxBlurPixels = _chunkVEHVXRJUcjs.boxBlurPixels; exports.brushstrokeDataUrl = _chunk3T5O225Tcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunk3T5O225Tcjs.brushstrokeKey; exports.brushstrokeSamples = _chunk3T5O225Tcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkSYPFUL5Bcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunk3T5O225Tcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunk3T5O225Tcjs.brushstrokeToCanvas; exports.canShareMemory = _chunkF2Y4E4GUcjs.canShareMemory; exports.cleanMixer = _chunk3T5O225Tcjs.cleanMixer; exports.cloneSamplePoint = _chunkVEHVXRJUcjs.cloneSamplePoint; exports.contentAwareFill = _chunkVEHVXRJUcjs.contentAwareFill; exports.coverageTileCoord = _chunk3T5O225Tcjs.coverageTileCoord; exports.createBlenderScratch = _chunk3T5O225Tcjs.createBlenderScratch; exports.createPigment = _chunkO7LUD7MHcjs.createPigment; exports.createPigmentTools = _chunkF2Y4E4GUcjs.createPigmentTools; exports.createWetGpuEngine = _chunkF2Y4E4GUcjs.createWetGpuEngine; exports.dabCoverage = _chunk3T5O225Tcjs.dabCoverage; exports.dabRect = _chunk3T5O225Tcjs.dabRect; exports.dexp = _chunkF2Y4E4GUcjs.dexp; exports.dilateMask = _chunkVEHVXRJUcjs.dilateMask; exports.dlog = _chunkF2Y4E4GUcjs.dlog; exports.dodgeBurn = _chunkVEHVXRJUcjs.dodgeBurn; exports.dodgeBurnCurve = _chunkVEHVXRJUcjs.dodgeBurnCurve; exports.dpow = _chunkF2Y4E4GUcjs.dpow; exports.dsincos = _chunkF2Y4E4GUcjs.dsincos; exports.edgeBits = _chunkF2Y4E4GUcjs.edgeBits; exports.exchangeRates = _chunk3T5O225Tcjs.exchangeRates; exports.expNeg = _chunkF2Y4E4GUcjs.expNeg; exports.filmPixel = _chunkF2Y4E4GUcjs.filmPixel; exports.filmReflectance = _chunkF2Y4E4GUcjs.filmReflectance; exports.findWebGpu = _chunkF2Y4E4GUcjs.findWebGpu; exports.flowField = _chunkF2Y4E4GUcjs.flowField; exports.gradientDabColor = _chunk3T5O225Tcjs.gradientDabColor; exports.grainCatch = _chunk3T5O225Tcjs.grainCatch; exports.grainHeights = _chunk3T5O225Tcjs.grainHeights; exports.hash2 = _chunk3T5O225Tcjs.hash2; exports.healPixels = _chunkVEHVXRJUcjs.healPixels; exports.hexToPaintRgb = _chunk3T5O225Tcjs.hexToPaintRgb; exports.isBrushstrokeBrush = _chunk3T5O225Tcjs.isBrushstrokeBrush; exports.isGradientPaint = _chunk3T5O225Tcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunkVEHVXRJUcjs.isIdentityCloneTransform; exports.latticeViscosity = _chunkF2Y4E4GUcjs.latticeViscosity; exports.lerpPigment = _chunkO7LUD7MHcjs.lerpPigment; exports.lerpPigmentInto = _chunkO7LUD7MHcjs.lerpPigmentInto; exports.linearToSrgb8 = _chunkF2Y4E4GUcjs.linearToSrgb8; exports.loadMixer = _chunk3T5O225Tcjs.loadMixer; exports.loadWetKernel = _chunkF2Y4E4GUcjs.loadWetKernel; exports.luma = _chunkVEHVXRJUcjs.luma; exports.maskBounds = _chunkVEHVXRJUcjs.maskBounds; exports.membraneFill = _chunkVEHVXRJUcjs.membraneFill; exports.mix32 = _chunk3T5O225Tcjs.mix32; exports.mixPigments = _chunkO7LUD7MHcjs.mixPigments; exports.mixerRates = _chunk3T5O225Tcjs.mixerRates; exports.normalizeBlender = _chunk3T5O225Tcjs.normalizeBlender; exports.normalizeBrush = _chunk3T5O225Tcjs.normalizeBrush; exports.normalizeFlow = _chunkF2Y4E4GUcjs.normalizeFlow; exports.normalizeHexColor = _chunk3T5O225Tcjs.normalizeHexColor; exports.normalizeMixer = _chunk3T5O225Tcjs.normalizeMixer; exports.normalizeRetouch = _chunkVEHVXRJUcjs.normalizeRetouch; exports.normalizeSmudge = _chunk3T5O225Tcjs.normalizeSmudge; exports.normalizeTilt = _chunkF2Y4E4GUcjs.normalizeTilt; exports.normalizeWetParams = _chunkF2Y4E4GUcjs.normalizeWetParams; exports.packWetParams = _chunkF2Y4E4GUcjs.packWetParams; exports.paintGradientMappingFor = _chunk3T5O225Tcjs.paintGradientMappingFor; exports.paintPathStroke = _chunk3T5O225Tcjs.paintPathStroke; exports.paintSourceColor = _chunk3T5O225Tcjs.paintSourceColor; exports.paintSourceCss = _chunk3T5O225Tcjs.paintSourceCss; exports.parsePaintSource = _chunk3T5O225Tcjs.parsePaintSource; exports.pathStrokeCoverage = _chunk3T5O225Tcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunk3T5O225Tcjs.pathStrokeDabs; exports.perDabStrength = _chunkVEHVXRJUcjs.perDabStrength; exports.pigmentColor = _chunkF2Y4E4GUcjs.pigmentColor; exports.pigmentOf = _chunkF2Y4E4GUcjs.pigmentOf; exports.pixelPigment = _chunkF2Y4E4GUcjs.pixelPigment; exports.pointerPressure = _chunkF2Y4E4GUcjs.pointerPressure; exports.pointerStrokeSample = _chunkF2Y4E4GUcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkF2Y4E4GUcjs.pointerStrokeSamples; exports.put255 = _chunk3T5O225Tcjs.put255; exports.rand01 = _chunk3T5O225Tcjs.rand01; exports.randSigned = _chunk3T5O225Tcjs.randSigned; exports.rasterizeDab = _chunk3T5O225Tcjs.rasterizeDab; exports.readPaintSource = _chunk3T5O225Tcjs.readPaintSource; exports.readSourceRegion = _chunkVEHVXRJUcjs.readSourceRegion; exports.reflectanceToRgb = _chunkO7LUD7MHcjs.reflectanceToRgb; exports.removePaintGradientStop = _chunk3T5O225Tcjs.removePaintGradientStop; exports.renderBrushstroke = _chunk3T5O225Tcjs.renderBrushstroke; exports.resolvePaintGradient = _chunk3T5O225Tcjs.resolvePaintGradient; exports.retouchFilter = _chunkVEHVXRJUcjs.retouchFilter; exports.reversePaintGradient = _chunk3T5O225Tcjs.reversePaintGradient; exports.rgbToReflectance = _chunkO7LUD7MHcjs.rgbToReflectance; exports.rgbaViewOfGrey = _chunkVEHVXRJUcjs.rgbaViewOfGrey; exports.saturationOf = _chunkVEHVXRJUcjs.saturationOf; exports.scalePaintGradient = _chunk3T5O225Tcjs.scalePaintGradient; exports.seamlessClone = _chunkVEHVXRJUcjs.seamlessClone; exports.seedFromString = _chunk3T5O225Tcjs.seedFromString; exports.setPigmentColor = _chunkO7LUD7MHcjs.setPigmentColor; exports.shadeTile = _chunkF2Y4E4GUcjs.shadeTile; exports.smoothPoints = _chunk3T5O225Tcjs.smoothPoints; exports.smudgeEffect = _chunkVEHVXRJUcjs.smudgeEffect; exports.solidPaint = _chunk3T5O225Tcjs.solidPaint; exports.solveMembrane = _chunkVEHVXRJUcjs.solveMembrane; exports.sponge = _chunkVEHVXRJUcjs.sponge; exports.spongeEffect = _chunkVEHVXRJUcjs.spongeEffect; exports.spotHealPixels = _chunkVEHVXRJUcjs.spotHealPixels; exports.spotHealWindow = _chunkVEHVXRJUcjs.spotHealWindow; exports.srgbByteToLinear = _chunkF2Y4E4GUcjs.srgbByteToLinear; exports.stepSlotTs = _chunkF2Y4E4GUcjs.stepSlotTs; exports.strokeGrainCatch = _chunk3T5O225Tcjs.strokeGrainCatch; exports.tipFalloff = _chunk3T5O225Tcjs.tipFalloff; exports.tipReach = _chunk3T5O225Tcjs.tipReach; exports.tipShape = _chunk3T5O225Tcjs.tipShape; exports.toneOf = _chunkVEHVXRJUcjs.toneOf; exports.updatePaintGradientStop = _chunk3T5O225Tcjs.updatePaintGradientStop; exports.walkDabs = _chunk3T5O225Tcjs.walkDabs; exports.wetGpuSupport = _chunkF2Y4E4GUcjs.wetGpuSupport; exports.wetSimdSupported = _chunkF2Y4E4GUcjs.wetSimdSupported; exports.wetSupport = _chunkF2Y4E4GUcjs.wetSupport;
466
484
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/paint/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,urZAAC","file":"/home/runner/work/editor/editor/packages/core/dist/paint/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/paint/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wqaAAC","file":"/home/runner/work/editor/editor/packages/core/dist/paint/index.cjs"}
@@ -3,8 +3,10 @@ export { a7 as BlenderScratch, c as BlenderSettings, a8 as DEFAULT_BLENDER, a9 a
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';
6
- import { W as WetWorld } from '../rand-Cw9VLrVC.cjs';
7
- export { C as CloneTransform, D as DEFAULT_FLOW, u as DEFAULT_RETOUCH, v as DEFAULT_WET_PAPER, k as DEFAULT_WET_PARAMS, x as DRY_EPS, E as EX, y as EY, F as FLAG_ALIVE, z as FLAG_BOTTOM, A as FLAG_LEFT, B as FLAG_RIGHT, G as FLAG_TOP, H as FLAG_WET, I as FLAT, J as FREE_INTERVAL, K as IDENTITY_CLONE_TRANSFORM, M as MAX_BATCH, L as MAX_TILT_ACCEL, N as MAX_WET_LANES, O as MAX_WET_SLOTS, P as OPP, Q as PAPER_CAPACITY, S as PARAM, T as PARAM_FLOATS, U as PIGMENT_CHANNELS, V as PLANE, X as PLANE_BYTES, Y as P_D0, Z as P_EDGE, _ as P_FX, $ as P_FY, a0 as P_H, a1 as P_P0, a2 as P_RHO, a3 as P_SW, a4 as P_UX, a5 as P_UY, a6 as PixelSource, a7 as RETOUCH_SAMPLES, a8 as RegionPixelSource, a as RetouchApply, a9 as RetouchDabEffect, aa as RetouchDabStroke, b as RetouchPaint, ab as RetouchSample, R as RetouchSettings, ac as SET_PLANES, ad as SLOT_BYTES, ae as SLOT_PLANES, af as SLOT_SIDE, ag as SPOT_HEAL_TYPES, ah as STRIP, ai as SpotHealType, aj as TONE_RANGES, ak as TilePixelSource, al as ToneRange, am as TransformedPixelSource, an as U_MAX, ao as W9, l as WET_FLOW_KINDS, m as WET_PARAM_KEYS, ap as WET_TILE, h as WetBackendInfo, aq as WetFlowField, n as WetFlowKind, e as WetFlowSpec, ar as WetGpuEngine, as as WetGpuJob, g as WetGpuProvider, at as WetGpuSupport, au as WetKernelKind, av as WetLaneOptions, aw as WetLaneStats, ax as WetPaper, j as WetPaperInput, d as WetParams, i as WetSnapshot, o as WetSupport, c as WetTilt, ay as WetWorkerLayout, az as WetWorkerPool, aA as WetWorldError, f as WetWorldOptions, aB as applyRetouchToTile, aC as applyToneToDeepTile, aD as boxBlurPixels, aE as canShareMemory, aF as cloneSamplePoint, aG as createWetGpuEngine, aH as dodgeBurn, aI as dodgeBurnCurve, aJ as dsincos, aK as edgeBits, aL as findWebGpu, aM as flowField, p as hash2, aN as healPixels, aO as isIdentityCloneTransform, aP as latticeViscosity, aQ as loadWetKernel, aR as luma, q as mix32, r as normalizeFlow, aS as normalizeRetouch, aT as normalizeTilt, s as normalizeWetParams, aU as packWetParams, aV as perDabStrength, t as rand01, aW as readSourceRegion, aX as retouchFilter, aY as rgbaViewOfGrey, aZ as saturationOf, a_ as smudgeEffect, a$ as sponge, b0 as spongeEffect, b1 as spotHealPixels, b2 as spotHealWindow, b3 as toneOf, b4 as wetGpuSupport, b5 as wetSimdSupported, w as wetSupport } from '../rand-Cw9VLrVC.cjs';
6
+ import { W as WetWorld } from '../rand-D1JqpR-p.cjs';
7
+ export { C as CloneTransform, D as DEFAULT_FLOW, x as DEFAULT_RETOUCH, y as DEFAULT_WET_PAPER, k as DEFAULT_WET_PARAMS, z as DRY_EPS, E as EX, A as EY, F as FLAG_ALIVE, B as FLAG_BOTTOM, G as FLAG_LEFT, H as FLAG_RIGHT, I as FLAG_TOP, J as FLAG_WET, K as FLAT, L as FREE_INTERVAL, M as IDENTITY_CLONE_TRANSFORM, N as MAX_BATCH, O as MAX_TILT_ACCEL, P as MAX_WET_LANES, Q as MAX_WET_SLOTS, S as OPP, U as PAPER_CAPACITY, V as PARAM, X as PARAM_FLOATS, Y as PIGMENT_CHANNELS, Z as PLANE, _ as PLANE_BYTES, $ as P_D0, a0 as P_EDGE, a1 as P_FX, a2 as P_FY, a3 as P_H, a4 as P_P0, a5 as P_RHO, a6 as P_SW, a7 as P_UX, a8 as P_UY, a9 as PixelSource, aa as RETOUCH_SAMPLES, ab as RegionPixelSource, a as RetouchApply, ac as RetouchDabEffect, ad as RetouchDabStroke, b as RetouchPaint, ae as RetouchSample, R as RetouchSettings, af as SET_PLANES, ag as SLOT_BYTES, ah as SLOT_PLANES, ai as SLOT_SIDE, aj as SPOT_HEAL_TYPES, ak as STRIP, al as SpotHealType, am as TONE_RANGES, an as TilePixelSource, T as TileableNoise, ao as ToneRange, ap as TransformedPixelSource, aq as U_MAX, ar as W9, l as WET_FLOW_KINDS, m as WET_PARAM_KEYS, as as WET_TILE, h as WetBackendInfo, at as WetFlowField, n as WetFlowKind, e as WetFlowSpec, au as WetGpuEngine, av as WetGpuJob, g as WetGpuProvider, aw as WetGpuSupport, ax as WetKernelKind, ay as WetLaneOptions, az as WetLaneStats, aA as WetPaper, j as WetPaperInput, d as WetParams, i as WetSnapshot, o as WetSupport, c as WetTilt, aB as WetWorkerLayout, aC as WetWorkerPool, aD as WetWorldError, f as WetWorldOptions, aE as applyRetouchToTile, aF as applyToneToDeepTile, aG as boxBlurPixels, aH as canShareMemory, aI as cloneSamplePoint, aJ as createWetGpuEngine, aK as dodgeBurn, aL as dodgeBurnCurve, aM as dsincos, aN as edgeBits, aO as findWebGpu, aP as flowField, p as hash2, aQ as healPixels, aR as isIdentityCloneTransform, aS as latticeViscosity, aT as loadWetKernel, aU as luma, q as mix32, r as normalizeFlow, aV as normalizeRetouch, aW as normalizeTilt, s as normalizeWetParams, aX as packWetParams, aY as perDabStrength, t as rand01, u as randSigned, aZ as readSourceRegion, a_ as retouchFilter, a$ as rgbaViewOfGrey, b0 as saturationOf, v as seedFromString, b1 as smudgeEffect, b2 as sponge, b3 as spongeEffect, b4 as spotHealPixels, b5 as spotHealWindow, b6 as toneOf, b7 as wetGpuSupport, b8 as wetSimdSupported, w as wetSupport } from '../rand-D1JqpR-p.cjs';
8
+ import { G as GrainPattern } from '../grain-BWmGZxP4.cjs';
9
+ export { c as GRAIN_PATTERNS, d as GRAIN_TILE, b as GrainTuning, P as PaperGrain, e as PaperGrainSettings, a as PaperTiling, g as grainCatch, f as grainHeights, s as strokeGrainCatch } from '../grain-BWmGZxP4.cjs';
8
10
  export { B as BRUSHSTROKE_MAX_SCALE, a as BRUSHSTROKE_MIN_SCALE, b as brushstrokeScaleBucket } from '../brushstroke-scale-B6XAdPSY.cjs';
9
11
  import '../schema-Di0CS6Pe.cjs';
10
12
 
@@ -250,6 +252,27 @@ interface PathStrokeOptions {
250
252
  minSize?: number;
251
253
  /** Join the last sample back to the first. */
252
254
  closed?: boolean;
255
+ /**
256
+ * Per-dab jitter, as the paint editor's brush dynamics apply it: size, angle (fraction of ±180°),
257
+ * opacity drop and scatter across the path (in diameters), each 0..1 (scatter 0..4). Hashed from
258
+ * `seed` and the dab index, so the same stroke always jitters the same way. Default none.
259
+ */
260
+ jitter?: {
261
+ seed: number;
262
+ size?: number;
263
+ angle?: number;
264
+ opacity?: number;
265
+ scatter?: number;
266
+ };
267
+ /**
268
+ * Paper grain the finished stroke catches (dry media; `strokeGrainCatch` at the stroke's mean
269
+ * pressure): `at(x, y)` is the grain height 0..1 at a sample-space point, `depth` 0..1 how much
270
+ * the valleys lose (paper depth × the brush's grain response). Default none.
271
+ */
272
+ grain?: {
273
+ at(x: number, y: number): number;
274
+ depth: number;
275
+ } | null;
253
276
  }
254
277
  /** The dabs of a brush stroke along `samples`, with pressure and tilt interpolated between them. */
255
278
  declare function pathStrokeDabs(samples: readonly PathSample[], options: PathStrokeOptions): Dab[];
@@ -348,8 +371,9 @@ type BrushstrokeInput = readonly BrushstrokeSample[] | BrushstrokeProfilePath;
348
371
  /**
349
372
  * A brush for a brushstroke: plain tip settings, or a paint-editor brush (`PaintBrush` matches this
350
373
  * shape structurally). Only dab-engine brushes render; `rotation: 'stroke'` turns the tip with the
351
- * path, and `dynamics` give the size at zero pressure and how tilt shapes the tip. Grain, jitter and
352
- * velocity dynamics are not applied (there is no paper, and the result must be deterministic).
374
+ * path, and `dynamics` give the size at zero pressure and how tilt shapes the tip. With the
375
+ * `character` option the brush's `grain` response and its size, angle, opacity and scatter jitter
376
+ * apply too (seeded, so still deterministic). Velocity dynamics are never applied.
353
377
  */
354
378
  type BrushstrokeBrush = Partial<BrushSettings> | {
355
379
  id?: string;
@@ -357,12 +381,49 @@ type BrushstrokeBrush = Partial<BrushSettings> | {
357
381
  engine?: string;
358
382
  tip: Partial<BrushSettings>;
359
383
  rotation?: string;
384
+ /** How strongly the mark follows the paper grain, 0..1 (with `character`). */
385
+ grain?: number;
360
386
  dynamics?: {
361
387
  minSize?: number;
362
388
  tiltSize?: number;
363
389
  tiltRoundness?: number;
390
+ sizeJitter?: number;
391
+ angleJitter?: number;
392
+ opacityJitter?: number;
393
+ scatter?: number;
364
394
  };
365
395
  };
396
+ /** The paper a brushstroke's grain comes from (all optional). */
397
+ interface BrushstrokePaper {
398
+ /** Grain pattern (default `sanded`: a fine, even tooth). */
399
+ pattern?: GrainPattern;
400
+ /** Grain seed (default 1). */
401
+ seed?: number;
402
+ /** Grain scale in path units: 1 is the pattern's natural size (default 1). */
403
+ scale?: number;
404
+ /** Grain depth 0..1, multiplied by the brush's `grain` response (default 0.5). */
405
+ depth?: number;
406
+ }
407
+ /**
408
+ * A brush's character: its jitter and the paper grain it catches. Seeded, so a stroke always
409
+ * renders the same bytes.
410
+ */
411
+ interface BrushstrokeCharacter {
412
+ /** Jitter seed (default: a hash of the path, so each stroke differs but repeats exactly). */
413
+ seed?: number;
414
+ /** The paper (default: the built-in sanded grain); `null` for no grain. */
415
+ paper?: BrushstrokePaper | null;
416
+ /**
417
+ * Where the path sits on the paper: paper point = `origin + path point × unit` (default origin
418
+ * 0, 0 and unit 1). Pass the stroke's world position so neighbouring strokes share one sheet of
419
+ * paper and the grain stays put on screen.
420
+ */
421
+ origin?: {
422
+ x: number;
423
+ y: number;
424
+ };
425
+ unit?: number;
426
+ }
366
427
  /**
367
428
  * What the stroke is painted with: a solid RGBA colour, or a `PaintSource` (one `#rrggbb` colour,
368
429
  * or gradient paint sampled dab by dab along the path: by distance, pressure, tilt, speed,
@@ -382,6 +443,12 @@ interface BrushstrokeOptions {
382
443
  seed?: number;
383
444
  /** Join the last sample back to the first. */
384
445
  closed?: boolean;
446
+ /**
447
+ * Render the brush's character: its seeded size / angle / opacity / scatter jitter and the paper
448
+ * grain it catches (charcoal, pastel and pencil get their look from these). Default off: plain
449
+ * dabs, as before.
450
+ */
451
+ character?: BrushstrokeCharacter;
385
452
  /**
386
453
  * The largest image to render, in pixels (default 16 777 216, 4096²). A stroke that would be
387
454
  * bigger at `scale` renders at a lower scale instead; the result's `scale` says which.
@@ -504,4 +571,4 @@ declare function pointerStrokeSamples(e: PointerEventLike, toPoint: (clientX: nu
504
571
  y: number;
505
572
  }): PointerStrokeSample[];
506
573
 
507
- 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, contentAwareFill, 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 };
574
+ export { BODY_SCATTER, BrushSettings, type BrushstrokeBrush, BrushstrokeCache, type BrushstrokeCanvasLike, type BrushstrokeCharacter, type BrushstrokeImage, type BrushstrokeInput, type BrushstrokeOptions, type BrushstrokePaint, type BrushstrokePaper, type BrushstrokeProfilePath, type BrushstrokeSample, CoverageMap, Dab, GrainPattern, 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, contentAwareFill, 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 };
@@ -3,8 +3,10 @@ export { a7 as BlenderScratch, c as BlenderSettings, a8 as DEFAULT_BLENDER, a9 a
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';
6
- import { W as WetWorld } from '../rand-8xbUb6ur.js';
7
- export { C as CloneTransform, D as DEFAULT_FLOW, u as DEFAULT_RETOUCH, v as DEFAULT_WET_PAPER, k as DEFAULT_WET_PARAMS, x as DRY_EPS, E as EX, y as EY, F as FLAG_ALIVE, z as FLAG_BOTTOM, A as FLAG_LEFT, B as FLAG_RIGHT, G as FLAG_TOP, H as FLAG_WET, I as FLAT, J as FREE_INTERVAL, K as IDENTITY_CLONE_TRANSFORM, M as MAX_BATCH, L as MAX_TILT_ACCEL, N as MAX_WET_LANES, O as MAX_WET_SLOTS, P as OPP, Q as PAPER_CAPACITY, S as PARAM, T as PARAM_FLOATS, U as PIGMENT_CHANNELS, V as PLANE, X as PLANE_BYTES, Y as P_D0, Z as P_EDGE, _ as P_FX, $ as P_FY, a0 as P_H, a1 as P_P0, a2 as P_RHO, a3 as P_SW, a4 as P_UX, a5 as P_UY, a6 as PixelSource, a7 as RETOUCH_SAMPLES, a8 as RegionPixelSource, a as RetouchApply, a9 as RetouchDabEffect, aa as RetouchDabStroke, b as RetouchPaint, ab as RetouchSample, R as RetouchSettings, ac as SET_PLANES, ad as SLOT_BYTES, ae as SLOT_PLANES, af as SLOT_SIDE, ag as SPOT_HEAL_TYPES, ah as STRIP, ai as SpotHealType, aj as TONE_RANGES, ak as TilePixelSource, al as ToneRange, am as TransformedPixelSource, an as U_MAX, ao as W9, l as WET_FLOW_KINDS, m as WET_PARAM_KEYS, ap as WET_TILE, h as WetBackendInfo, aq as WetFlowField, n as WetFlowKind, e as WetFlowSpec, ar as WetGpuEngine, as as WetGpuJob, g as WetGpuProvider, at as WetGpuSupport, au as WetKernelKind, av as WetLaneOptions, aw as WetLaneStats, ax as WetPaper, j as WetPaperInput, d as WetParams, i as WetSnapshot, o as WetSupport, c as WetTilt, ay as WetWorkerLayout, az as WetWorkerPool, aA as WetWorldError, f as WetWorldOptions, aB as applyRetouchToTile, aC as applyToneToDeepTile, aD as boxBlurPixels, aE as canShareMemory, aF as cloneSamplePoint, aG as createWetGpuEngine, aH as dodgeBurn, aI as dodgeBurnCurve, aJ as dsincos, aK as edgeBits, aL as findWebGpu, aM as flowField, p as hash2, aN as healPixels, aO as isIdentityCloneTransform, aP as latticeViscosity, aQ as loadWetKernel, aR as luma, q as mix32, r as normalizeFlow, aS as normalizeRetouch, aT as normalizeTilt, s as normalizeWetParams, aU as packWetParams, aV as perDabStrength, t as rand01, aW as readSourceRegion, aX as retouchFilter, aY as rgbaViewOfGrey, aZ as saturationOf, a_ as smudgeEffect, a$ as sponge, b0 as spongeEffect, b1 as spotHealPixels, b2 as spotHealWindow, b3 as toneOf, b4 as wetGpuSupport, b5 as wetSimdSupported, w as wetSupport } from '../rand-8xbUb6ur.js';
6
+ import { W as WetWorld } from '../rand-COS4_E1g.js';
7
+ export { C as CloneTransform, D as DEFAULT_FLOW, x as DEFAULT_RETOUCH, y as DEFAULT_WET_PAPER, k as DEFAULT_WET_PARAMS, z as DRY_EPS, E as EX, A as EY, F as FLAG_ALIVE, B as FLAG_BOTTOM, G as FLAG_LEFT, H as FLAG_RIGHT, I as FLAG_TOP, J as FLAG_WET, K as FLAT, L as FREE_INTERVAL, M as IDENTITY_CLONE_TRANSFORM, N as MAX_BATCH, O as MAX_TILT_ACCEL, P as MAX_WET_LANES, Q as MAX_WET_SLOTS, S as OPP, U as PAPER_CAPACITY, V as PARAM, X as PARAM_FLOATS, Y as PIGMENT_CHANNELS, Z as PLANE, _ as PLANE_BYTES, $ as P_D0, a0 as P_EDGE, a1 as P_FX, a2 as P_FY, a3 as P_H, a4 as P_P0, a5 as P_RHO, a6 as P_SW, a7 as P_UX, a8 as P_UY, a9 as PixelSource, aa as RETOUCH_SAMPLES, ab as RegionPixelSource, a as RetouchApply, ac as RetouchDabEffect, ad as RetouchDabStroke, b as RetouchPaint, ae as RetouchSample, R as RetouchSettings, af as SET_PLANES, ag as SLOT_BYTES, ah as SLOT_PLANES, ai as SLOT_SIDE, aj as SPOT_HEAL_TYPES, ak as STRIP, al as SpotHealType, am as TONE_RANGES, an as TilePixelSource, T as TileableNoise, ao as ToneRange, ap as TransformedPixelSource, aq as U_MAX, ar as W9, l as WET_FLOW_KINDS, m as WET_PARAM_KEYS, as as WET_TILE, h as WetBackendInfo, at as WetFlowField, n as WetFlowKind, e as WetFlowSpec, au as WetGpuEngine, av as WetGpuJob, g as WetGpuProvider, aw as WetGpuSupport, ax as WetKernelKind, ay as WetLaneOptions, az as WetLaneStats, aA as WetPaper, j as WetPaperInput, d as WetParams, i as WetSnapshot, o as WetSupport, c as WetTilt, aB as WetWorkerLayout, aC as WetWorkerPool, aD as WetWorldError, f as WetWorldOptions, aE as applyRetouchToTile, aF as applyToneToDeepTile, aG as boxBlurPixels, aH as canShareMemory, aI as cloneSamplePoint, aJ as createWetGpuEngine, aK as dodgeBurn, aL as dodgeBurnCurve, aM as dsincos, aN as edgeBits, aO as findWebGpu, aP as flowField, p as hash2, aQ as healPixels, aR as isIdentityCloneTransform, aS as latticeViscosity, aT as loadWetKernel, aU as luma, q as mix32, r as normalizeFlow, aV as normalizeRetouch, aW as normalizeTilt, s as normalizeWetParams, aX as packWetParams, aY as perDabStrength, t as rand01, u as randSigned, aZ as readSourceRegion, a_ as retouchFilter, a$ as rgbaViewOfGrey, b0 as saturationOf, v as seedFromString, b1 as smudgeEffect, b2 as sponge, b3 as spongeEffect, b4 as spotHealPixels, b5 as spotHealWindow, b6 as toneOf, b7 as wetGpuSupport, b8 as wetSimdSupported, w as wetSupport } from '../rand-COS4_E1g.js';
8
+ import { G as GrainPattern } from '../grain-BWmGZxP4.js';
9
+ export { c as GRAIN_PATTERNS, d as GRAIN_TILE, b as GrainTuning, P as PaperGrain, e as PaperGrainSettings, a as PaperTiling, g as grainCatch, f as grainHeights, s as strokeGrainCatch } from '../grain-BWmGZxP4.js';
8
10
  export { B as BRUSHSTROKE_MAX_SCALE, a as BRUSHSTROKE_MIN_SCALE, b as brushstrokeScaleBucket } from '../brushstroke-scale-B6XAdPSY.js';
9
11
  import '../schema-Di0CS6Pe.js';
10
12
 
@@ -250,6 +252,27 @@ interface PathStrokeOptions {
250
252
  minSize?: number;
251
253
  /** Join the last sample back to the first. */
252
254
  closed?: boolean;
255
+ /**
256
+ * Per-dab jitter, as the paint editor's brush dynamics apply it: size, angle (fraction of ±180°),
257
+ * opacity drop and scatter across the path (in diameters), each 0..1 (scatter 0..4). Hashed from
258
+ * `seed` and the dab index, so the same stroke always jitters the same way. Default none.
259
+ */
260
+ jitter?: {
261
+ seed: number;
262
+ size?: number;
263
+ angle?: number;
264
+ opacity?: number;
265
+ scatter?: number;
266
+ };
267
+ /**
268
+ * Paper grain the finished stroke catches (dry media; `strokeGrainCatch` at the stroke's mean
269
+ * pressure): `at(x, y)` is the grain height 0..1 at a sample-space point, `depth` 0..1 how much
270
+ * the valleys lose (paper depth × the brush's grain response). Default none.
271
+ */
272
+ grain?: {
273
+ at(x: number, y: number): number;
274
+ depth: number;
275
+ } | null;
253
276
  }
254
277
  /** The dabs of a brush stroke along `samples`, with pressure and tilt interpolated between them. */
255
278
  declare function pathStrokeDabs(samples: readonly PathSample[], options: PathStrokeOptions): Dab[];
@@ -348,8 +371,9 @@ type BrushstrokeInput = readonly BrushstrokeSample[] | BrushstrokeProfilePath;
348
371
  /**
349
372
  * A brush for a brushstroke: plain tip settings, or a paint-editor brush (`PaintBrush` matches this
350
373
  * shape structurally). Only dab-engine brushes render; `rotation: 'stroke'` turns the tip with the
351
- * path, and `dynamics` give the size at zero pressure and how tilt shapes the tip. Grain, jitter and
352
- * velocity dynamics are not applied (there is no paper, and the result must be deterministic).
374
+ * path, and `dynamics` give the size at zero pressure and how tilt shapes the tip. With the
375
+ * `character` option the brush's `grain` response and its size, angle, opacity and scatter jitter
376
+ * apply too (seeded, so still deterministic). Velocity dynamics are never applied.
353
377
  */
354
378
  type BrushstrokeBrush = Partial<BrushSettings> | {
355
379
  id?: string;
@@ -357,12 +381,49 @@ type BrushstrokeBrush = Partial<BrushSettings> | {
357
381
  engine?: string;
358
382
  tip: Partial<BrushSettings>;
359
383
  rotation?: string;
384
+ /** How strongly the mark follows the paper grain, 0..1 (with `character`). */
385
+ grain?: number;
360
386
  dynamics?: {
361
387
  minSize?: number;
362
388
  tiltSize?: number;
363
389
  tiltRoundness?: number;
390
+ sizeJitter?: number;
391
+ angleJitter?: number;
392
+ opacityJitter?: number;
393
+ scatter?: number;
364
394
  };
365
395
  };
396
+ /** The paper a brushstroke's grain comes from (all optional). */
397
+ interface BrushstrokePaper {
398
+ /** Grain pattern (default `sanded`: a fine, even tooth). */
399
+ pattern?: GrainPattern;
400
+ /** Grain seed (default 1). */
401
+ seed?: number;
402
+ /** Grain scale in path units: 1 is the pattern's natural size (default 1). */
403
+ scale?: number;
404
+ /** Grain depth 0..1, multiplied by the brush's `grain` response (default 0.5). */
405
+ depth?: number;
406
+ }
407
+ /**
408
+ * A brush's character: its jitter and the paper grain it catches. Seeded, so a stroke always
409
+ * renders the same bytes.
410
+ */
411
+ interface BrushstrokeCharacter {
412
+ /** Jitter seed (default: a hash of the path, so each stroke differs but repeats exactly). */
413
+ seed?: number;
414
+ /** The paper (default: the built-in sanded grain); `null` for no grain. */
415
+ paper?: BrushstrokePaper | null;
416
+ /**
417
+ * Where the path sits on the paper: paper point = `origin + path point × unit` (default origin
418
+ * 0, 0 and unit 1). Pass the stroke's world position so neighbouring strokes share one sheet of
419
+ * paper and the grain stays put on screen.
420
+ */
421
+ origin?: {
422
+ x: number;
423
+ y: number;
424
+ };
425
+ unit?: number;
426
+ }
366
427
  /**
367
428
  * What the stroke is painted with: a solid RGBA colour, or a `PaintSource` (one `#rrggbb` colour,
368
429
  * or gradient paint sampled dab by dab along the path: by distance, pressure, tilt, speed,
@@ -382,6 +443,12 @@ interface BrushstrokeOptions {
382
443
  seed?: number;
383
444
  /** Join the last sample back to the first. */
384
445
  closed?: boolean;
446
+ /**
447
+ * Render the brush's character: its seeded size / angle / opacity / scatter jitter and the paper
448
+ * grain it catches (charcoal, pastel and pencil get their look from these). Default off: plain
449
+ * dabs, as before.
450
+ */
451
+ character?: BrushstrokeCharacter;
385
452
  /**
386
453
  * The largest image to render, in pixels (default 16 777 216, 4096²). A stroke that would be
387
454
  * bigger at `scale` renders at a lower scale instead; the result's `scale` says which.
@@ -504,4 +571,4 @@ declare function pointerStrokeSamples(e: PointerEventLike, toPoint: (clientX: nu
504
571
  y: number;
505
572
  }): PointerStrokeSample[];
506
573
 
507
- 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, contentAwareFill, 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 };
574
+ export { BODY_SCATTER, BrushSettings, type BrushstrokeBrush, BrushstrokeCache, type BrushstrokeCanvasLike, type BrushstrokeCharacter, type BrushstrokeImage, type BrushstrokeInput, type BrushstrokeOptions, type BrushstrokePaint, type BrushstrokePaper, type BrushstrokeProfilePath, type BrushstrokeSample, CoverageMap, Dab, GrainPattern, 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, contentAwareFill, 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 };
@@ -36,7 +36,7 @@ import {
36
36
  spotHealPixels,
37
37
  spotHealWindow,
38
38
  toneOf
39
- } from "../chunk-OIBIRXRG.js";
39
+ } from "../chunk-PSPLRQL6.js";
40
40
  import {
41
41
  BODY_SCATTER,
42
42
  DEFAULT_FLOW,
@@ -139,6 +139,8 @@ import {
139
139
  DEFAULT_SMUDGE,
140
140
  DabWalker,
141
141
  EMPTY_MIXER_LOAD,
142
+ GRAIN_PATTERNS,
143
+ GRAIN_TILE,
142
144
  MAX_BRUSH_SIZE,
143
145
  MIXER_DRAIN,
144
146
  MIXER_PICKUP_RATE,
@@ -159,10 +161,12 @@ import {
159
161
  PaintExchange,
160
162
  PaintGradientSampler,
161
163
  PaintSourceError,
164
+ PaperGrain,
162
165
  SmudgeTip,
163
166
  StrokeCoverage,
164
167
  TIP_GRADIENT_STEPS,
165
168
  TileMedium,
169
+ TileableNoise,
166
170
  addPaintGradientStop,
167
171
  applyStrokeToDeepTile,
168
172
  applyStrokeToTile,
@@ -180,6 +184,8 @@ import {
180
184
  dabRect,
181
185
  exchangeRates,
182
186
  gradientDabColor,
187
+ grainCatch,
188
+ grainHeights,
183
189
  hash2,
184
190
  hexToPaintRgb,
185
191
  isBrushstrokeBrush,
@@ -201,6 +207,7 @@ import {
201
207
  pathStrokeDabs,
202
208
  put255,
203
209
  rand01,
210
+ randSigned,
204
211
  rasterizeDab,
205
212
  readPaintSource,
206
213
  removePaintGradientStop,
@@ -208,14 +215,16 @@ import {
208
215
  resolvePaintGradient,
209
216
  reversePaintGradient,
210
217
  scalePaintGradient,
218
+ seedFromString,
211
219
  smoothPoints,
212
220
  solidPaint,
221
+ strokeGrainCatch,
213
222
  tipFalloff,
214
223
  tipReach,
215
224
  tipShape,
216
225
  updatePaintGradientStop,
217
226
  walkDabs
218
- } from "../chunk-5FSRTP6E.js";
227
+ } from "../chunk-PQFVLOMR.js";
219
228
  import {
220
229
  BRUSHSTROKE_MAX_SCALE,
221
230
  BRUSHSTROKE_MIN_SCALE,
@@ -264,6 +273,8 @@ export {
264
273
  FLAG_WET,
265
274
  FLAT,
266
275
  FREE_INTERVAL,
276
+ GRAIN_PATTERNS,
277
+ GRAIN_TILE,
267
278
  HIDE,
268
279
  IDENTITY_CLONE_TRANSFORM,
269
280
  MAX_BATCH,
@@ -312,6 +323,7 @@ export {
312
323
  PaintExchange,
313
324
  PaintGradientSampler,
314
325
  PaintSourceError,
326
+ PaperGrain,
315
327
  RETOUCH_SAMPLES,
316
328
  RegionPixelSource,
317
329
  RetouchDabStroke,
@@ -328,6 +340,7 @@ export {
328
340
  TONE_RANGES,
329
341
  TileMedium,
330
342
  TilePixelSource,
343
+ TileableNoise,
331
344
  TransformedPixelSource,
332
345
  U_MAX,
333
346
  W9,
@@ -383,6 +396,8 @@ export {
383
396
  findWebGpu,
384
397
  flowField,
385
398
  gradientDabColor,
399
+ grainCatch,
400
+ grainHeights,
386
401
  hash2,
387
402
  healPixels,
388
403
  hexToPaintRgb,
@@ -427,6 +442,7 @@ export {
427
442
  pointerStrokeSamples,
428
443
  put255,
429
444
  rand01,
445
+ randSigned,
430
446
  rasterizeDab,
431
447
  readPaintSource,
432
448
  readSourceRegion,
@@ -441,6 +457,7 @@ export {
441
457
  saturationOf,
442
458
  scalePaintGradient,
443
459
  seamlessClone,
460
+ seedFromString,
444
461
  setPigmentColor,
445
462
  shadeTile,
446
463
  smoothPoints,
@@ -453,6 +470,7 @@ export {
453
470
  spotHealWindow,
454
471
  srgbByteToLinear,
455
472
  stepSlotTs,
473
+ strokeGrainCatch,
456
474
  tipFalloff,
457
475
  tipReach,
458
476
  tipShape,