@pixerate/editor 0.106.0 → 0.108.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 (70) hide show
  1. package/THIRD_PARTY_NOTICES.md +4 -0
  2. package/dist/animation-editor/index.cjs +39 -39
  3. package/dist/animation-editor/index.d.cts +1 -1
  4. package/dist/animation-editor/index.d.ts +1 -1
  5. package/dist/animation-editor/index.js +1 -1
  6. package/dist/{chunk-DS7KDKPX.js → chunk-3PHA3UKI.js} +2 -2
  7. package/dist/{chunk-ZID226ZG.cjs → chunk-FRD3FUXI.cjs} +172 -172
  8. package/dist/{chunk-ZID226ZG.cjs.map → chunk-FRD3FUXI.cjs.map} +1 -1
  9. package/dist/{chunk-67FRIOPZ.js → chunk-G4BIYE6R.js} +2 -2
  10. package/dist/{chunk-PV42JITT.cjs → chunk-HUFQD4CB.cjs} +44 -44
  11. package/dist/{chunk-PV42JITT.cjs.map → chunk-HUFQD4CB.cjs.map} +1 -1
  12. package/dist/{chunk-63EFQCT5.js → chunk-HUQ7EHVI.js} +1140 -371
  13. package/dist/chunk-HUQ7EHVI.js.map +1 -0
  14. package/dist/{chunk-4X5MIVCE.js → chunk-SOROZ2BF.js} +3 -3
  15. package/dist/{chunk-CRMAXIUV.cjs → chunk-SZ6KMZNM.cjs} +157 -8
  16. package/dist/chunk-SZ6KMZNM.cjs.map +1 -0
  17. package/dist/{chunk-WSTEXEKD.cjs → chunk-T3QZ6S47.cjs} +92 -92
  18. package/dist/{chunk-WSTEXEKD.cjs.map → chunk-T3QZ6S47.cjs.map} +1 -1
  19. package/dist/{chunk-KANRAHTL.cjs → chunk-UTEVPQTS.cjs} +1353 -584
  20. package/dist/chunk-UTEVPQTS.cjs.map +1 -0
  21. package/dist/{chunk-HEW6KDNI.js → chunk-WMBIJCHA.js} +155 -6
  22. package/dist/chunk-WMBIJCHA.js.map +1 -0
  23. package/dist/{compositor-Bc3PNP3C.d.cts → compositor-D92URMlm.d.cts} +1 -1
  24. package/dist/{compositor-BsYYllvR.d.ts → compositor-Kt_M4ruo.d.ts} +1 -1
  25. package/dist/{export-_m3Es4ru.d.cts → export-JGWQEPJn.d.cts} +3 -3
  26. package/dist/{export-iMrop3Jm.d.ts → export-a9bnF7Cl.d.ts} +3 -3
  27. package/dist/image-editor/index.cjs +627 -619
  28. package/dist/image-editor/index.cjs.map +1 -1
  29. package/dist/image-editor/index.d.cts +8 -8
  30. package/dist/image-editor/index.d.ts +8 -8
  31. package/dist/image-editor/index.js +12 -4
  32. package/dist/image-editor/index.js.map +1 -1
  33. package/dist/{mixer-C1M1Nua_.d.cts → mixer-5ziHU8OS.d.cts} +1 -1
  34. package/dist/{mixer-Cu5a9Bzd.d.ts → mixer-DNqiYXYQ.d.ts} +1 -1
  35. package/dist/paint/index.cjs +3 -3
  36. package/dist/paint/index.d.cts +2 -2
  37. package/dist/paint/index.d.ts +2 -2
  38. package/dist/paint/index.js +2 -2
  39. package/dist/paint-editor/index.cjs +365 -132
  40. package/dist/paint-editor/index.cjs.map +1 -1
  41. package/dist/paint-editor/index.d.cts +113 -8
  42. package/dist/paint-editor/index.d.ts +113 -8
  43. package/dist/paint-editor/index.js +249 -16
  44. package/dist/paint-editor/index.js.map +1 -1
  45. package/dist/raster/index.cjs +11 -3
  46. package/dist/raster/index.cjs.map +1 -1
  47. package/dist/raster/index.d.cts +4 -4
  48. package/dist/raster/index.d.ts +4 -4
  49. package/dist/raster/index.js +10 -2
  50. package/dist/{surface-BBJN9wxg.d.ts → surface-CkKOHGPm.d.cts} +20 -2
  51. package/dist/{surface-BBJN9wxg.d.cts → surface-CkKOHGPm.d.ts} +20 -2
  52. package/dist/{svg-Bj1MQFh6.d.cts → svg-ClVIG4T7.d.cts} +26 -2
  53. package/dist/{svg-vme0PLNo.d.ts → svg-SseJTIrA.d.ts} +26 -2
  54. package/dist/vector/index.cjs +977 -948
  55. package/dist/vector/index.cjs.map +1 -1
  56. package/dist/vector/index.d.cts +266 -7
  57. package/dist/vector/index.d.ts +266 -7
  58. package/dist/vector/index.js +427 -398
  59. package/dist/vector/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/skills/pixerate-image-editor/SKILL.md +50 -7
  62. package/skills/pixerate-paint-editor/SKILL.md +21 -1
  63. package/skills/pixerate-vector/SKILL.md +35 -5
  64. package/dist/chunk-63EFQCT5.js.map +0 -1
  65. package/dist/chunk-CRMAXIUV.cjs.map +0 -1
  66. package/dist/chunk-HEW6KDNI.js.map +0 -1
  67. package/dist/chunk-KANRAHTL.cjs.map +0 -1
  68. /package/dist/{chunk-DS7KDKPX.js.map → chunk-3PHA3UKI.js.map} +0 -0
  69. /package/dist/{chunk-67FRIOPZ.js.map → chunk-G4BIYE6R.js.map} +0 -0
  70. /package/dist/{chunk-4X5MIVCE.js.map → chunk-SOROZ2BF.js.map} +0 -0
@@ -71,7 +71,7 @@
71
71
 
72
72
 
73
73
 
74
- var _chunkWSTEXEKDcjs = require('../chunk-WSTEXEKD.cjs');
74
+ var _chunkT3QZ6S47cjs = require('../chunk-T3QZ6S47.cjs');
75
75
  require('../chunk-MUUXNRU4.cjs');
76
76
 
77
77
 
@@ -110,11 +110,11 @@ require('../chunk-MUUXNRU4.cjs');
110
110
 
111
111
 
112
112
 
113
- var _chunkCRMAXIUVcjs = require('../chunk-CRMAXIUV.cjs');
114
113
 
115
114
 
116
115
 
117
116
 
117
+ var _chunkSZ6KMZNMcjs = require('../chunk-SZ6KMZNM.cjs');
118
118
 
119
119
 
120
120
 
@@ -220,5 +220,13 @@ var _chunkCRMAXIUVcjs = require('../chunk-CRMAXIUV.cjs');
220
220
 
221
221
 
222
222
 
223
- exports.BLEND_MODES = _chunkCRMAXIUVcjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkWSTEXEKDcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkWSTEXEKDcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkWSTEXEKDcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.INTERPOLATIONS = _chunkWSTEXEKDcjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkWSTEXEKDcjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunkWSTEXEKDcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkWSTEXEKDcjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkWSTEXEKDcjs.MAX_TRANSFORM_PIXELS; exports.PatternPlacement = _chunkWSTEXEKDcjs.PatternPlacement; exports.PatternTile = _chunkWSTEXEKDcjs.PatternTile; exports.RasterCompositor = _chunkWSTEXEKDcjs.RasterCompositor; exports.STROKE_CHAMFER_MAX = _chunkWSTEXEKDcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunkCRMAXIUVcjs.SurfaceDraft; exports.TILE = _chunkCRMAXIUVcjs.TILE; exports.TILE_SHIFT = _chunkCRMAXIUVcjs.TILE_SHIFT; exports.TiledSurface = _chunkCRMAXIUVcjs.TiledSurface; exports.TransformTooLargeError = _chunkWSTEXEKDcjs.TransformTooLargeError; exports.ZlibError = _chunkWSTEXEKDcjs.ZlibError; exports.activeEffectItems = _chunkWSTEXEKDcjs.activeEffectItems; exports.adler32 = _chunkWSTEXEKDcjs.adler32; exports.base64ToBytes = _chunkWSTEXEKDcjs.base64ToBytes; exports.blendChannel = _chunkCRMAXIUVcjs.blendChannel; exports.blendImageData = _chunkCRMAXIUVcjs.blendImageData; exports.blendLum = _chunkCRMAXIUVcjs.blendLum; exports.blendPixel = _chunkCRMAXIUVcjs.blendPixel; exports.blendRgb = _chunkCRMAXIUVcjs.blendRgb; exports.blendTile = _chunkWSTEXEKDcjs.blendTile; exports.buildEffectMaps = _chunkWSTEXEKDcjs.buildEffectMaps; exports.builtinPattern = _chunkWSTEXEKDcjs.builtinPattern; exports.builtinPatternIds = _chunkWSTEXEKDcjs.builtinPatternIds; exports.bytesToBase64 = _chunkWSTEXEKDcjs.bytesToBase64; exports.canvasCompositeOperation = _chunkCRMAXIUVcjs.canvasCompositeOperation; exports.changedTiles = _chunkWSTEXEKDcjs.changedTiles; exports.collectTiles = _chunkCRMAXIUVcjs.collectTiles; exports.compositeLayerEffects = _chunkWSTEXEKDcjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkWSTEXEKDcjs.compositeSurfaceOver; exports.contentBounds = _chunkCRMAXIUVcjs.contentBounds; exports.contourLut = _chunkWSTEXEKDcjs.contourLut; exports.curveLut = _chunkWSTEXEKDcjs.curveLut; exports.decodePng = _chunkWSTEXEKDcjs.decodePng; exports.defaultEffectGradient = _chunkWSTEXEKDcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkWSTEXEKDcjs.defaultLayerEffect; exports.deflate = _chunkWSTEXEKDcjs.deflate; exports.deflateRaw = _chunkWSTEXEKDcjs.deflateRaw; exports.effectColorHex = _chunkWSTEXEKDcjs.effectColorHex; exports.effectReach = _chunkWSTEXEKDcjs.effectReach; exports.effectsAreLocal = _chunkWSTEXEKDcjs.effectsAreLocal; exports.effectsFingerprint = _chunkWSTEXEKDcjs.effectsFingerprint; exports.effectsMargin = _chunkWSTEXEKDcjs.effectsMargin; exports.effectsScale = _chunkWSTEXEKDcjs.effectsScale; exports.emptySurface = _chunkCRMAXIUVcjs.emptySurface; exports.encodePng = _chunkWSTEXEKDcjs.encodePng; exports.fillRect = _chunkCRMAXIUVcjs.fillRect; exports.findLayer = _chunkWSTEXEKDcjs.findLayer; exports.finishTile = _chunkCRMAXIUVcjs.finishTile; exports.flattenLayers = _chunkWSTEXEKDcjs.flattenLayers; exports.gaussianBlur = _chunkWSTEXEKDcjs.gaussianBlur; exports.gradientT = _chunkWSTEXEKDcjs.gradientT; exports.hasActiveEffects = _chunkWSTEXEKDcjs.hasActiveEffects; exports.hashNoise = _chunkWSTEXEKDcjs.hashNoise; exports.inflate = _chunkWSTEXEKDcjs.inflate; exports.inflateRaw = _chunkWSTEXEKDcjs.inflateRaw; exports.insertLayer = _chunkWSTEXEKDcjs.insertLayer; exports.isBlendMode = _chunkCRMAXIUVcjs.isBlendMode; exports.isInterpolation = _chunkWSTEXEKDcjs.isInterpolation; exports.isLayerEffectKind = _chunkWSTEXEKDcjs.isLayerEffectKind; exports.isLayerLocked = _chunkWSTEXEKDcjs.isLayerLocked; exports.isPng = _chunkWSTEXEKDcjs.isPng; exports.isSeparableBlendMode = _chunkCRMAXIUVcjs.isSeparableBlendMode; exports.keysWeight = _chunkWSTEXEKDcjs.keysWeight; exports.layerEffectFields = _chunkWSTEXEKDcjs.layerEffectFields; exports.layerEffectLabel = _chunkWSTEXEKDcjs.layerEffectLabel; exports.mapLayer = _chunkWSTEXEKDcjs.mapLayer; exports.mergeLayerEffect = _chunkWSTEXEKDcjs.mergeLayerEffect; exports.mixPigment8 = _chunkCRMAXIUVcjs.mixPigment8; exports.mixPigmentRgb = _chunkCRMAXIUVcjs.mixPigmentRgb; exports.newEffectId = _chunkWSTEXEKDcjs.newEffectId; exports.normalizeBlendMode = _chunkCRMAXIUVcjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkWSTEXEKDcjs.normalizeLayerEffects; exports.packRgba = _chunkCRMAXIUVcjs.packRgba; exports.parseDataUrl = _chunkWSTEXEKDcjs.parseDataUrl; exports.parseEffectColor = _chunkWSTEXEKDcjs.parseEffectColor; exports.patchEffectMaps = _chunkWSTEXEKDcjs.patchEffectMaps; exports.pngDataUrl = _chunkWSTEXEKDcjs.pngDataUrl; exports.readPixel = _chunkCRMAXIUVcjs.readPixel; exports.readRegion = _chunkCRMAXIUVcjs.readRegion; exports.reduceSurface = _chunkWSTEXEKDcjs.reduceSurface; exports.renderLayerEffects = _chunkWSTEXEKDcjs.renderLayerEffects; exports.scaleLayerEffect = _chunkWSTEXEKDcjs.scaleLayerEffect; exports.setLum = _chunkCRMAXIUVcjs.setLum; exports.solidSurface = _chunkCRMAXIUVcjs.solidSurface; exports.surfaceBytes = _chunkCRMAXIUVcjs.surfaceBytes; exports.surfaceFromPixels = _chunkCRMAXIUVcjs.surfaceFromPixels; exports.surfacesEqual = _chunkCRMAXIUVcjs.surfacesEqual; exports.tileCoord = _chunkCRMAXIUVcjs.tileCoord; exports.tileKey = _chunkCRMAXIUVcjs.tileKey; exports.tileRect = _chunkCRMAXIUVcjs.tileRect; exports.tilesInRect = _chunkCRMAXIUVcjs.tilesInRect; exports.transformSurface = _chunkWSTEXEKDcjs.transformSurface; exports.transformedBounds = _chunkWSTEXEKDcjs.transformedBounds; exports.translateSurface = _chunkCRMAXIUVcjs.translateSurface; exports.uniformTile = _chunkCRMAXIUVcjs.uniformTile; exports.validateEffectGradient = _chunkWSTEXEKDcjs.validateEffectGradient; exports.validateLayerEffect = _chunkWSTEXEKDcjs.validateLayerEffect; exports.validateLayerEffects = _chunkWSTEXEKDcjs.validateLayerEffects; exports.warpSurface = _chunkWSTEXEKDcjs.warpSurface; exports.writeRegion = _chunkCRMAXIUVcjs.writeRegion;
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ exports.BLEND_MODES = _chunkSZ6KMZNMcjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkT3QZ6S47cjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkT3QZ6S47cjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkT3QZ6S47cjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.INTERPOLATIONS = _chunkT3QZ6S47cjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkT3QZ6S47cjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunkT3QZ6S47cjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkT3QZ6S47cjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkT3QZ6S47cjs.MAX_TRANSFORM_PIXELS; exports.PAINTERLY_BLEND_MODES = _chunkSZ6KMZNMcjs.PAINTERLY_BLEND_MODES; exports.PatternPlacement = _chunkT3QZ6S47cjs.PatternPlacement; exports.PatternTile = _chunkT3QZ6S47cjs.PatternTile; exports.RasterCompositor = _chunkT3QZ6S47cjs.RasterCompositor; exports.SHADOW_AMBIENT = _chunkSZ6KMZNMcjs.SHADOW_AMBIENT; exports.STROKE_CHAMFER_MAX = _chunkT3QZ6S47cjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunkSZ6KMZNMcjs.SurfaceDraft; exports.TILE = _chunkSZ6KMZNMcjs.TILE; exports.TILE_SHIFT = _chunkSZ6KMZNMcjs.TILE_SHIFT; exports.TiledSurface = _chunkSZ6KMZNMcjs.TiledSurface; exports.TransformTooLargeError = _chunkT3QZ6S47cjs.TransformTooLargeError; exports.ZlibError = _chunkT3QZ6S47cjs.ZlibError; exports.activeEffectItems = _chunkT3QZ6S47cjs.activeEffectItems; exports.adler32 = _chunkT3QZ6S47cjs.adler32; exports.base64ToBytes = _chunkT3QZ6S47cjs.base64ToBytes; exports.blendChannel = _chunkSZ6KMZNMcjs.blendChannel; exports.blendImageData = _chunkSZ6KMZNMcjs.blendImageData; exports.blendLum = _chunkSZ6KMZNMcjs.blendLum; exports.blendPixel = _chunkSZ6KMZNMcjs.blendPixel; exports.blendRgb = _chunkSZ6KMZNMcjs.blendRgb; exports.blendTile = _chunkT3QZ6S47cjs.blendTile; exports.buildEffectMaps = _chunkT3QZ6S47cjs.buildEffectMaps; exports.builtinPattern = _chunkT3QZ6S47cjs.builtinPattern; exports.builtinPatternIds = _chunkT3QZ6S47cjs.builtinPatternIds; exports.bytesToBase64 = _chunkT3QZ6S47cjs.bytesToBase64; exports.canvasCompositeOperation = _chunkSZ6KMZNMcjs.canvasCompositeOperation; exports.changedTiles = _chunkT3QZ6S47cjs.changedTiles; exports.collectTiles = _chunkSZ6KMZNMcjs.collectTiles; exports.compositeLayerEffects = _chunkT3QZ6S47cjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkT3QZ6S47cjs.compositeSurfaceOver; exports.contentBounds = _chunkSZ6KMZNMcjs.contentBounds; exports.contourLut = _chunkT3QZ6S47cjs.contourLut; exports.curveLut = _chunkT3QZ6S47cjs.curveLut; exports.decodePng = _chunkT3QZ6S47cjs.decodePng; exports.defaultEffectGradient = _chunkT3QZ6S47cjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkT3QZ6S47cjs.defaultLayerEffect; exports.deflate = _chunkT3QZ6S47cjs.deflate; exports.deflateRaw = _chunkT3QZ6S47cjs.deflateRaw; exports.effectColorHex = _chunkT3QZ6S47cjs.effectColorHex; exports.effectReach = _chunkT3QZ6S47cjs.effectReach; exports.effectsAreLocal = _chunkT3QZ6S47cjs.effectsAreLocal; exports.effectsFingerprint = _chunkT3QZ6S47cjs.effectsFingerprint; exports.effectsMargin = _chunkT3QZ6S47cjs.effectsMargin; exports.effectsScale = _chunkT3QZ6S47cjs.effectsScale; exports.emptySurface = _chunkSZ6KMZNMcjs.emptySurface; exports.encodePng = _chunkT3QZ6S47cjs.encodePng; exports.fillRect = _chunkSZ6KMZNMcjs.fillRect; exports.findLayer = _chunkT3QZ6S47cjs.findLayer; exports.finishTile = _chunkSZ6KMZNMcjs.finishTile; exports.flattenLayers = _chunkT3QZ6S47cjs.flattenLayers; exports.gaussianBlur = _chunkT3QZ6S47cjs.gaussianBlur; exports.gradientT = _chunkT3QZ6S47cjs.gradientT; exports.hasActiveEffects = _chunkT3QZ6S47cjs.hasActiveEffects; exports.hashNoise = _chunkT3QZ6S47cjs.hashNoise; exports.inflate = _chunkT3QZ6S47cjs.inflate; exports.inflateRaw = _chunkT3QZ6S47cjs.inflateRaw; exports.insertLayer = _chunkT3QZ6S47cjs.insertLayer; exports.isBlendMode = _chunkSZ6KMZNMcjs.isBlendMode; exports.isInterpolation = _chunkT3QZ6S47cjs.isInterpolation; exports.isLayerEffectKind = _chunkT3QZ6S47cjs.isLayerEffectKind; exports.isLayerLocked = _chunkT3QZ6S47cjs.isLayerLocked; exports.isPainterlyBlendMode = _chunkSZ6KMZNMcjs.isPainterlyBlendMode; exports.isPng = _chunkT3QZ6S47cjs.isPng; exports.isSeparableBlendMode = _chunkSZ6KMZNMcjs.isSeparableBlendMode; exports.keysWeight = _chunkT3QZ6S47cjs.keysWeight; exports.layerEffectFields = _chunkT3QZ6S47cjs.layerEffectFields; exports.layerEffectLabel = _chunkT3QZ6S47cjs.layerEffectLabel; exports.mapLayer = _chunkT3QZ6S47cjs.mapLayer; exports.mergeLayerEffect = _chunkT3QZ6S47cjs.mergeLayerEffect; exports.mixPigment8 = _chunkSZ6KMZNMcjs.mixPigment8; exports.mixPigmentRgb = _chunkSZ6KMZNMcjs.mixPigmentRgb; exports.newEffectId = _chunkT3QZ6S47cjs.newEffectId; exports.normalizeBlendMode = _chunkSZ6KMZNMcjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkT3QZ6S47cjs.normalizeLayerEffects; exports.packRgba = _chunkSZ6KMZNMcjs.packRgba; exports.parseDataUrl = _chunkT3QZ6S47cjs.parseDataUrl; exports.parseEffectColor = _chunkT3QZ6S47cjs.parseEffectColor; exports.patchEffectMaps = _chunkT3QZ6S47cjs.patchEffectMaps; exports.pngDataUrl = _chunkT3QZ6S47cjs.pngDataUrl; exports.readPixel = _chunkSZ6KMZNMcjs.readPixel; exports.readRegion = _chunkSZ6KMZNMcjs.readRegion; exports.reduceSurface = _chunkT3QZ6S47cjs.reduceSurface; exports.renderLayerEffects = _chunkT3QZ6S47cjs.renderLayerEffects; exports.scaleLayerEffect = _chunkT3QZ6S47cjs.scaleLayerEffect; exports.setLum = _chunkSZ6KMZNMcjs.setLum; exports.solidSurface = _chunkSZ6KMZNMcjs.solidSurface; exports.standardBlendMode = _chunkSZ6KMZNMcjs.standardBlendMode; exports.surfaceBytes = _chunkSZ6KMZNMcjs.surfaceBytes; exports.surfaceFromPixels = _chunkSZ6KMZNMcjs.surfaceFromPixels; exports.surfacesEqual = _chunkSZ6KMZNMcjs.surfacesEqual; exports.tileCoord = _chunkSZ6KMZNMcjs.tileCoord; exports.tileKey = _chunkSZ6KMZNMcjs.tileKey; exports.tileRect = _chunkSZ6KMZNMcjs.tileRect; exports.tilesInRect = _chunkSZ6KMZNMcjs.tilesInRect; exports.transformSurface = _chunkT3QZ6S47cjs.transformSurface; exports.transformedBounds = _chunkT3QZ6S47cjs.transformedBounds; exports.translateSurface = _chunkSZ6KMZNMcjs.translateSurface; exports.uniformTile = _chunkSZ6KMZNMcjs.uniformTile; exports.validateEffectGradient = _chunkT3QZ6S47cjs.validateEffectGradient; exports.validateLayerEffect = _chunkT3QZ6S47cjs.validateLayerEffect; exports.validateLayerEffects = _chunkT3QZ6S47cjs.validateLayerEffects; exports.warpSurface = _chunkT3QZ6S47cjs.warpSurface; exports.writeRegion = _chunkSZ6KMZNMcjs.writeRegion;
224
232
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/raster/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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,ikMAAC","file":"/home/runner/work/editor/editor/packages/core/dist/raster/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/raster/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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,60MAAC","file":"/home/runner/work/editor/editor/packages/core/dist/raster/index.cjs"}
@@ -1,7 +1,7 @@
1
- import { B as BlendMode } from '../surface-BBJN9wxg.cjs';
2
- export { b as BLEND_MODES, d as BlendModeInfo, M as MaskSurface, P as PixelSurface, R as RasterRect, e as Rgb, f as Rgba, S as SurfaceDraft, g as TILE, h as TILE_SHIFT, c as Tile, T as TileKey, a as TiledSurface, j as blendChannel, k as blendImageData, l as blendLum, m as blendPixel, n as blendRgb, o as canvasCompositeOperation, p as collectTiles, q as contentBounds, r as emptySurface, s as fillRect, t as finishTile, i as isBlendMode, u as isSeparableBlendMode, v as mixPigment8, w as mixPigmentRgb, x as normalizeBlendMode, y as packRgba, z as readPixel, A as readRegion, C as setLum, D as solidSurface, E as surfaceBytes, F as surfaceFromPixels, G as surfacesEqual, H as tileCoord, I as tileKey, J as tileRect, K as tilesInRect, L as translateSurface, N as uniformTile, O as writeRegion } from '../surface-BBJN9wxg.cjs';
3
- import { j as LayerEffects, g as GlobalLight, W as PatternTile, i as LayerEffect, v as EffectContour, J as GradientStyle } from '../compositor-Bc3PNP3C.cjs';
4
- export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, C as CompositorLayer, k as CompositorOptions, aA as CompositorProfile, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, w as EffectFill, x as EffectGradient, E as EffectPattern, y as EffectPatternRef, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, G as GroupBlendMode, aB as GroupIn, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, I as Interpolation, O as LAYER_EFFECT_KINDS, P as LayerEffectError, l as LayerEffectKind, h as LayerLocation, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, aC as PixelFilterSpec, c as RasterCompositor, a as RasterGroupLayer, R as RasterLayer, e as RasterLayerBase, f as RasterMask, aD as RasterNode, b as RasterPixelLayer, d as RasterSources, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-Bc3PNP3C.cjs';
1
+ import { B as BlendMode } from '../surface-CkKOHGPm.cjs';
2
+ export { c as BLEND_MODES, b as BlendModeInfo, M as MaskSurface, d as PAINTERLY_BLEND_MODES, P as PixelSurface, R as RasterRect, g as Rgb, h as Rgba, S as SHADOW_AMBIENT, j as SurfaceDraft, k as TILE, l as TILE_SHIFT, e as Tile, T as TileKey, a as TiledSurface, m as blendChannel, n as blendImageData, o as blendLum, p as blendPixel, q as blendRgb, r as canvasCompositeOperation, t as collectTiles, u as contentBounds, v as emptySurface, w as fillRect, x as finishTile, i as isBlendMode, f as isPainterlyBlendMode, y as isSeparableBlendMode, z as mixPigment8, A as mixPigmentRgb, C as normalizeBlendMode, D as packRgba, E as readPixel, F as readRegion, G as setLum, H as solidSurface, s as standardBlendMode, I as surfaceBytes, J as surfaceFromPixels, K as surfacesEqual, L as tileCoord, N as tileKey, O as tileRect, Q as tilesInRect, U as translateSurface, V as uniformTile, W as writeRegion } from '../surface-CkKOHGPm.cjs';
3
+ import { j as LayerEffects, g as GlobalLight, W as PatternTile, i as LayerEffect, v as EffectContour, J as GradientStyle } from '../compositor-D92URMlm.cjs';
4
+ export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, C as CompositorLayer, k as CompositorOptions, aA as CompositorProfile, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, w as EffectFill, x as EffectGradient, E as EffectPattern, y as EffectPatternRef, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, G as GroupBlendMode, aB as GroupIn, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, I as Interpolation, O as LAYER_EFFECT_KINDS, P as LayerEffectError, l as LayerEffectKind, h as LayerLocation, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, aC as PixelFilterSpec, c as RasterCompositor, a as RasterGroupLayer, R as RasterLayer, e as RasterLayerBase, f as RasterMask, aD as RasterNode, b as RasterPixelLayer, d as RasterSources, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-D92URMlm.cjs';
5
5
  import '../types-CwMPoRMU.cjs';
6
6
 
7
7
  /** Above this σ a Gaussian is approximated by three box passes (cost independent of σ). */
@@ -1,7 +1,7 @@
1
- import { B as BlendMode } from '../surface-BBJN9wxg.js';
2
- export { b as BLEND_MODES, d as BlendModeInfo, M as MaskSurface, P as PixelSurface, R as RasterRect, e as Rgb, f as Rgba, S as SurfaceDraft, g as TILE, h as TILE_SHIFT, c as Tile, T as TileKey, a as TiledSurface, j as blendChannel, k as blendImageData, l as blendLum, m as blendPixel, n as blendRgb, o as canvasCompositeOperation, p as collectTiles, q as contentBounds, r as emptySurface, s as fillRect, t as finishTile, i as isBlendMode, u as isSeparableBlendMode, v as mixPigment8, w as mixPigmentRgb, x as normalizeBlendMode, y as packRgba, z as readPixel, A as readRegion, C as setLum, D as solidSurface, E as surfaceBytes, F as surfaceFromPixels, G as surfacesEqual, H as tileCoord, I as tileKey, J as tileRect, K as tilesInRect, L as translateSurface, N as uniformTile, O as writeRegion } from '../surface-BBJN9wxg.js';
3
- import { j as LayerEffects, g as GlobalLight, W as PatternTile, i as LayerEffect, v as EffectContour, J as GradientStyle } from '../compositor-BsYYllvR.js';
4
- export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, C as CompositorLayer, k as CompositorOptions, aA as CompositorProfile, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, w as EffectFill, x as EffectGradient, E as EffectPattern, y as EffectPatternRef, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, G as GroupBlendMode, aB as GroupIn, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, I as Interpolation, O as LAYER_EFFECT_KINDS, P as LayerEffectError, l as LayerEffectKind, h as LayerLocation, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, aC as PixelFilterSpec, c as RasterCompositor, a as RasterGroupLayer, R as RasterLayer, e as RasterLayerBase, f as RasterMask, aD as RasterNode, b as RasterPixelLayer, d as RasterSources, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-BsYYllvR.js';
1
+ import { B as BlendMode } from '../surface-CkKOHGPm.js';
2
+ export { c as BLEND_MODES, b as BlendModeInfo, M as MaskSurface, d as PAINTERLY_BLEND_MODES, P as PixelSurface, R as RasterRect, g as Rgb, h as Rgba, S as SHADOW_AMBIENT, j as SurfaceDraft, k as TILE, l as TILE_SHIFT, e as Tile, T as TileKey, a as TiledSurface, m as blendChannel, n as blendImageData, o as blendLum, p as blendPixel, q as blendRgb, r as canvasCompositeOperation, t as collectTiles, u as contentBounds, v as emptySurface, w as fillRect, x as finishTile, i as isBlendMode, f as isPainterlyBlendMode, y as isSeparableBlendMode, z as mixPigment8, A as mixPigmentRgb, C as normalizeBlendMode, D as packRgba, E as readPixel, F as readRegion, G as setLum, H as solidSurface, s as standardBlendMode, I as surfaceBytes, J as surfaceFromPixels, K as surfacesEqual, L as tileCoord, N as tileKey, O as tileRect, Q as tilesInRect, U as translateSurface, V as uniformTile, W as writeRegion } from '../surface-CkKOHGPm.js';
3
+ import { j as LayerEffects, g as GlobalLight, W as PatternTile, i as LayerEffect, v as EffectContour, J as GradientStyle } from '../compositor-Kt_M4ruo.js';
4
+ export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, C as CompositorLayer, k as CompositorOptions, aA as CompositorProfile, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, w as EffectFill, x as EffectGradient, E as EffectPattern, y as EffectPatternRef, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, G as GroupBlendMode, aB as GroupIn, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, I as Interpolation, O as LAYER_EFFECT_KINDS, P as LayerEffectError, l as LayerEffectKind, h as LayerLocation, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, aC as PixelFilterSpec, c as RasterCompositor, a as RasterGroupLayer, R as RasterLayer, e as RasterLayerBase, f as RasterMask, aD as RasterNode, b as RasterPixelLayer, d as RasterSources, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-Kt_M4ruo.js';
5
5
  import '../types-CwMPoRMU.js';
6
6
 
7
7
  /** Above this σ a Gaussian is approximated by three box passes (cost independent of σ). */
@@ -71,10 +71,12 @@ import {
71
71
  validateLayerEffect,
72
72
  validateLayerEffects,
73
73
  warpSurface
74
- } from "../chunk-67FRIOPZ.js";
74
+ } from "../chunk-G4BIYE6R.js";
75
75
  import "../chunk-GX332W2C.js";
76
76
  import {
77
77
  BLEND_MODES,
78
+ PAINTERLY_BLEND_MODES,
79
+ SHADOW_AMBIENT,
78
80
  SurfaceDraft,
79
81
  TILE,
80
82
  TILE_SHIFT,
@@ -91,6 +93,7 @@ import {
91
93
  fillRect,
92
94
  finishTile,
93
95
  isBlendMode,
96
+ isPainterlyBlendMode,
94
97
  isSeparableBlendMode,
95
98
  mixPigment8,
96
99
  mixPigmentRgb,
@@ -100,6 +103,7 @@ import {
100
103
  readRegion,
101
104
  setLum,
102
105
  solidSurface,
106
+ standardBlendMode,
103
107
  surfaceBytes,
104
108
  surfaceFromPixels,
105
109
  surfacesEqual,
@@ -110,7 +114,7 @@ import {
110
114
  translateSurface,
111
115
  uniformTile,
112
116
  writeRegion
113
- } from "../chunk-HEW6KDNI.js";
117
+ } from "../chunk-WMBIJCHA.js";
114
118
  export {
115
119
  BLEND_MODES,
116
120
  CURVE_LUT_SIZE,
@@ -121,9 +125,11 @@ export {
121
125
  LayerEffectError,
122
126
  MAX_EFFECT_REACH,
123
127
  MAX_TRANSFORM_PIXELS,
128
+ PAINTERLY_BLEND_MODES,
124
129
  PatternPlacement,
125
130
  PatternTile,
126
131
  RasterCompositor,
132
+ SHADOW_AMBIENT,
127
133
  STROKE_CHAMFER_MAX,
128
134
  SurfaceDraft,
129
135
  TILE,
@@ -180,6 +186,7 @@ export {
180
186
  isInterpolation,
181
187
  isLayerEffectKind,
182
188
  isLayerLocked,
189
+ isPainterlyBlendMode,
183
190
  isPng,
184
191
  isSeparableBlendMode,
185
192
  keysWeight,
@@ -204,6 +211,7 @@ export {
204
211
  scaleLayerEffect,
205
212
  setLum,
206
213
  solidSurface,
214
+ standardBlendMode,
207
215
  surfaceBytes,
208
216
  surfaceFromPixels,
209
217
  surfacesEqual,
@@ -1,13 +1,29 @@
1
- type BlendMode = 'normal' | 'darken' | 'multiply' | 'color-burn' | 'linear-burn' | 'darker-color' | 'lighten' | 'screen' | 'color-dodge' | 'linear-dodge' | 'lighter-color' | 'overlay' | 'soft-light' | 'hard-light' | 'vivid-light' | 'linear-light' | 'pin-light' | 'hard-mix' | 'difference' | 'exclusion' | 'subtract' | 'divide' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'pigment';
1
+ type BlendMode = 'normal' | 'darken' | 'multiply' | 'color-burn' | 'linear-burn' | 'darker-color' | 'lighten' | 'screen' | 'color-dodge' | 'linear-dodge' | 'lighter-color' | 'overlay' | 'soft-light' | 'hard-light' | 'vivid-light' | 'linear-light' | 'pin-light' | 'hard-mix' | 'difference' | 'exclusion' | 'subtract' | 'divide' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'pigment' | 'watercolor' | 'tint' | 'highlight' | 'shadow';
2
2
  interface BlendModeInfo {
3
3
  id: BlendMode;
4
4
  label: string;
5
5
  /** Canvas `globalCompositeOperation` with the same maths, when there is one. */
6
6
  canvas: GlobalCompositeOperation | null;
7
+ /** True for the painterly modes (`watercolor`, `tint`, `highlight`, `shadow`), which no other app has. */
8
+ painterly?: boolean;
9
+ /** The nearest standard (Photoshop) mode, for formats that lack this one (PSD). Missing: it is standard. */
10
+ standard?: BlendMode;
11
+ /** One sentence on what the mode does (painterly and pigment modes). */
12
+ description?: string;
7
13
  }
8
14
  /** Every blend mode, in Photoshop's menu order. */
9
15
  declare const BLEND_MODES: readonly BlendModeInfo[];
10
16
  declare function isBlendMode(value: unknown): value is BlendMode;
17
+ /** The painterly modes, in menu order. */
18
+ declare const PAINTERLY_BLEND_MODES: readonly BlendMode[];
19
+ /** Whether a mode is one of the painterly modes (`watercolor`, `tint`, `highlight`, `shadow`). */
20
+ declare function isPainterlyBlendMode(mode: unknown): boolean;
21
+ /**
22
+ * The nearest standard (Photoshop) mode: the mode itself when it is standard, `normal` for
23
+ * `pigment`, and each painterly mode's closest relative (watercolour and shadow → multiply,
24
+ * tint → color, highlight → screen). For writing formats that lack our modes, such as PSD.
25
+ */
26
+ declare function standardBlendMode(mode: BlendMode): BlendMode;
11
27
  /** A stored blend mode, or `normal` for a missing / unknown value. */
12
28
  declare function normalizeBlendMode(value: unknown): BlendMode;
13
29
  /**
@@ -33,6 +49,8 @@ declare function setLum(c: readonly number[], l: number): Rgb;
33
49
  * returns `Cs`; composite it with {@link blendPixel} or {@link mixPigmentRgb}.
34
50
  */
35
51
  declare function blendRgb(mode: BlendMode, cb: readonly number[], cs: readonly number[]): Rgb;
52
+ /** Shadow's ambient light: the share of light that still reaches a fully shaded area. */
53
+ declare const SHADOW_AMBIENT = 0.2;
36
54
  /**
37
55
  * The `pigment` mode's colour: `t` of `cs` mixed into `cb` like paint (`lerpPigment`), written to
38
56
  * `out[0..2]`. `t ≥ 1` (or equal colours) is `cs` exactly. Colours are 0..1.
@@ -190,4 +208,4 @@ declare function collectTiles(surface: TiledSurface, into: Set<Tile>): void;
190
208
  /** True when two surfaces hold the same pixels (cheap when they share tiles). */
191
209
  declare function surfacesEqual(a: TiledSurface, b: TiledSurface): boolean;
192
210
 
193
- export { readRegion as A, type BlendMode as B, setLum as C, solidSurface as D, surfaceBytes as E, surfaceFromPixels as F, surfacesEqual as G, tileCoord as H, tileKey as I, tileRect as J, tilesInRect as K, translateSurface as L, type MaskSurface as M, uniformTile as N, writeRegion as O, type PixelSurface as P, type RasterRect as R, SurfaceDraft as S, type TileKey as T, TiledSurface as a, BLEND_MODES as b, type Tile as c, type BlendModeInfo as d, type Rgb as e, type Rgba as f, TILE as g, TILE_SHIFT as h, isBlendMode as i, blendChannel as j, blendImageData as k, blendLum as l, blendPixel as m, blendRgb as n, canvasCompositeOperation as o, collectTiles as p, contentBounds as q, emptySurface as r, fillRect as s, finishTile as t, isSeparableBlendMode as u, mixPigment8 as v, mixPigmentRgb as w, normalizeBlendMode as x, packRgba as y, readPixel as z };
211
+ export { mixPigmentRgb as A, type BlendMode as B, normalizeBlendMode as C, packRgba as D, readPixel as E, readRegion as F, setLum as G, solidSurface as H, surfaceBytes as I, surfaceFromPixels as J, surfacesEqual as K, tileCoord as L, type MaskSurface as M, tileKey as N, tileRect as O, type PixelSurface as P, tilesInRect as Q, type RasterRect as R, SHADOW_AMBIENT as S, type TileKey as T, translateSurface as U, uniformTile as V, writeRegion as W, TiledSurface as a, type BlendModeInfo as b, BLEND_MODES as c, PAINTERLY_BLEND_MODES as d, type Tile as e, isPainterlyBlendMode as f, type Rgb as g, type Rgba as h, isBlendMode as i, SurfaceDraft as j, TILE as k, TILE_SHIFT as l, blendChannel as m, blendImageData as n, blendLum as o, blendPixel as p, blendRgb as q, canvasCompositeOperation as r, standardBlendMode as s, collectTiles as t, contentBounds as u, emptySurface as v, fillRect as w, finishTile as x, isSeparableBlendMode as y, mixPigment8 as z };
@@ -1,13 +1,29 @@
1
- type BlendMode = 'normal' | 'darken' | 'multiply' | 'color-burn' | 'linear-burn' | 'darker-color' | 'lighten' | 'screen' | 'color-dodge' | 'linear-dodge' | 'lighter-color' | 'overlay' | 'soft-light' | 'hard-light' | 'vivid-light' | 'linear-light' | 'pin-light' | 'hard-mix' | 'difference' | 'exclusion' | 'subtract' | 'divide' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'pigment';
1
+ type BlendMode = 'normal' | 'darken' | 'multiply' | 'color-burn' | 'linear-burn' | 'darker-color' | 'lighten' | 'screen' | 'color-dodge' | 'linear-dodge' | 'lighter-color' | 'overlay' | 'soft-light' | 'hard-light' | 'vivid-light' | 'linear-light' | 'pin-light' | 'hard-mix' | 'difference' | 'exclusion' | 'subtract' | 'divide' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'pigment' | 'watercolor' | 'tint' | 'highlight' | 'shadow';
2
2
  interface BlendModeInfo {
3
3
  id: BlendMode;
4
4
  label: string;
5
5
  /** Canvas `globalCompositeOperation` with the same maths, when there is one. */
6
6
  canvas: GlobalCompositeOperation | null;
7
+ /** True for the painterly modes (`watercolor`, `tint`, `highlight`, `shadow`), which no other app has. */
8
+ painterly?: boolean;
9
+ /** The nearest standard (Photoshop) mode, for formats that lack this one (PSD). Missing: it is standard. */
10
+ standard?: BlendMode;
11
+ /** One sentence on what the mode does (painterly and pigment modes). */
12
+ description?: string;
7
13
  }
8
14
  /** Every blend mode, in Photoshop's menu order. */
9
15
  declare const BLEND_MODES: readonly BlendModeInfo[];
10
16
  declare function isBlendMode(value: unknown): value is BlendMode;
17
+ /** The painterly modes, in menu order. */
18
+ declare const PAINTERLY_BLEND_MODES: readonly BlendMode[];
19
+ /** Whether a mode is one of the painterly modes (`watercolor`, `tint`, `highlight`, `shadow`). */
20
+ declare function isPainterlyBlendMode(mode: unknown): boolean;
21
+ /**
22
+ * The nearest standard (Photoshop) mode: the mode itself when it is standard, `normal` for
23
+ * `pigment`, and each painterly mode's closest relative (watercolour and shadow → multiply,
24
+ * tint → color, highlight → screen). For writing formats that lack our modes, such as PSD.
25
+ */
26
+ declare function standardBlendMode(mode: BlendMode): BlendMode;
11
27
  /** A stored blend mode, or `normal` for a missing / unknown value. */
12
28
  declare function normalizeBlendMode(value: unknown): BlendMode;
13
29
  /**
@@ -33,6 +49,8 @@ declare function setLum(c: readonly number[], l: number): Rgb;
33
49
  * returns `Cs`; composite it with {@link blendPixel} or {@link mixPigmentRgb}.
34
50
  */
35
51
  declare function blendRgb(mode: BlendMode, cb: readonly number[], cs: readonly number[]): Rgb;
52
+ /** Shadow's ambient light: the share of light that still reaches a fully shaded area. */
53
+ declare const SHADOW_AMBIENT = 0.2;
36
54
  /**
37
55
  * The `pigment` mode's colour: `t` of `cs` mixed into `cb` like paint (`lerpPigment`), written to
38
56
  * `out[0..2]`. `t ≥ 1` (or equal colours) is `cs` exactly. Colours are 0..1.
@@ -190,4 +208,4 @@ declare function collectTiles(surface: TiledSurface, into: Set<Tile>): void;
190
208
  /** True when two surfaces hold the same pixels (cheap when they share tiles). */
191
209
  declare function surfacesEqual(a: TiledSurface, b: TiledSurface): boolean;
192
210
 
193
- export { readRegion as A, type BlendMode as B, setLum as C, solidSurface as D, surfaceBytes as E, surfaceFromPixels as F, surfacesEqual as G, tileCoord as H, tileKey as I, tileRect as J, tilesInRect as K, translateSurface as L, type MaskSurface as M, uniformTile as N, writeRegion as O, type PixelSurface as P, type RasterRect as R, SurfaceDraft as S, type TileKey as T, TiledSurface as a, BLEND_MODES as b, type Tile as c, type BlendModeInfo as d, type Rgb as e, type Rgba as f, TILE as g, TILE_SHIFT as h, isBlendMode as i, blendChannel as j, blendImageData as k, blendLum as l, blendPixel as m, blendRgb as n, canvasCompositeOperation as o, collectTiles as p, contentBounds as q, emptySurface as r, fillRect as s, finishTile as t, isSeparableBlendMode as u, mixPigment8 as v, mixPigmentRgb as w, normalizeBlendMode as x, packRgba as y, readPixel as z };
211
+ export { mixPigmentRgb as A, type BlendMode as B, normalizeBlendMode as C, packRgba as D, readPixel as E, readRegion as F, setLum as G, solidSurface as H, surfaceBytes as I, surfaceFromPixels as J, surfacesEqual as K, tileCoord as L, type MaskSurface as M, tileKey as N, tileRect as O, type PixelSurface as P, tilesInRect as Q, type RasterRect as R, SHADOW_AMBIENT as S, type TileKey as T, translateSurface as U, uniformTile as V, writeRegion as W, TiledSurface as a, type BlendModeInfo as b, BLEND_MODES as c, PAINTERLY_BLEND_MODES as d, type Tile as e, isPainterlyBlendMode as f, type Rgb as g, type Rgba as h, isBlendMode as i, SurfaceDraft as j, TILE as k, TILE_SHIFT as l, blendChannel as m, blendImageData as n, blendLum as o, blendPixel as p, blendRgb as q, canvasCompositeOperation as r, standardBlendMode as s, collectTiles as t, contentBounds as u, emptySurface as v, fillRect as w, finishTile as x, isSeparableBlendMode as y, mixPigment8 as z };
@@ -321,6 +321,20 @@ interface VectorBlend extends VectorBlendOptions {
321
321
  /** The anchor of each key's first subpath its blend starts from, by key id (the Blend tool's clicks). */
322
322
  starts?: Record<string, number>;
323
323
  }
324
+ /**
325
+ * How a mask group's mask (its first, bottom child) hides the rest: `clip` (a clipping mask: the
326
+ * mask's outline, fully opaque; its paint is not drawn), `alpha` (an opacity mask by the mask's
327
+ * drawn alpha: soft edges, gradients and opacity count) or `luminance` (by its brightness times
328
+ * its alpha: white shows, black hides).
329
+ */
330
+ type VectorMaskType = 'clip' | 'alpha' | 'luminance';
331
+ declare const VECTOR_MASK_TYPES: readonly VectorMaskType[];
332
+ /** A group's mask settings (`VectorGroupNode.mask`). */
333
+ interface VectorMask {
334
+ type: VectorMaskType;
335
+ /** Show the contents where the mask hides them and hide them where it shows them. Default false. */
336
+ invert?: boolean;
337
+ }
324
338
  /** A group of nodes that select and transform together. */
325
339
  interface VectorGroupNode extends VectorNodeBase {
326
340
  type: 'group';
@@ -336,6 +350,14 @@ interface VectorGroupNode extends VectorNodeBase {
336
350
  * bottom operand's style.
337
351
  */
338
352
  liveBoolean?: VectorBooleanOperation | null;
353
+ /**
354
+ * Makes the group a mask group: its first (bottom) child is the mask and the children above it
355
+ * show only where the mask lets them (see `VectorMaskType`). Hit-testing, bounds, snapping and
356
+ * booleans use the masked result. A hidden mask child turns the mask off (the contents draw
357
+ * whole). The group's own opacity, blend mode and filters apply to the masked result, and its
358
+ * path effects to the contents (not the mask). Ignored on blends and live booleans.
359
+ */
360
+ mask?: VectorMask | null;
339
361
  }
340
362
  type VectorNode = VectorPathNode | VectorGroupNode;
341
363
  /** A vector drawing: an artboard and its nodes, bottom to top. */
@@ -730,6 +752,8 @@ interface VectorBooleanOperand {
730
752
  declare function foldVectorBooleanOperands(operands: readonly VectorBooleanOperand[]): BezierPath;
731
753
  /** Applies an effect stack to shapes, top to bottom (disabled effects skipped). */
732
754
  declare function applyVectorEffects(shapes: readonly VectorAppearanceShape[], effects: readonly VectorEffect[] | null | undefined): VectorAppearanceShape[];
755
+ /** The shapes of a child in its parent's space (hidden children have none), ordered by its index. */
756
+ declare function vectorChildAppearanceShapes(child: VectorNode, index: number): VectorAppearanceShape[];
733
757
  /** The paths entering effect `effectId` of the node's stack (those above it applied), in the node's own space. */
734
758
  declare function vectorEffectInputPaths(node: VectorNode, effectId: string): BezierPath[] | null;
735
759
  /** The box effect `effectId` (an envelope) bends: the combined bounds of the paths entering it, in the node's own space. */
@@ -779,7 +803,7 @@ declare function sanitizeVectorEffects(value: unknown): VectorEffect[];
779
803
  declare function transformVectorEffects(effects: readonly VectorEffect[], m: AffineMatrix, node?: VectorNode): VectorEffect[];
780
804
  /**
781
805
  * The live groups (live booleans and groups with effects) being edited: those in `ids` and those
782
- * holding a node in `ids`. Their children are hit and outlined as stored instead of as drawn, so
806
+ * holding a node in `ids`; mask groups only when they hold one. Their children are hit and outlined as stored instead of as drawn, so
783
807
  * each operand can be picked (figcraft `crates/engine/src/booleans.rs`, `result_outline`).
784
808
  */
785
809
  declare function vectorEnteredGroups(nodes: readonly VectorNode[], ids: readonly string[]): Set<string>;
@@ -1255,4 +1279,4 @@ declare function parseSvgTransform(value: string | undefined): AffineMatrix;
1255
1279
  /** Parses SVG markup into a vector document. Throws when there is no `<svg>` element. */
1256
1280
  declare function parseVectorSvg(svg: string, options?: VectorSvgImportOptions): VectorDocument;
1257
1281
 
1258
- export { type VectorStrokeLayer as $, type VectorGradientPatch as A, type VectorBlendMode as B, type VectorFilterType as C, type VectorEffectType as D, type VectorEnvelopeParams as E, type VectorAlign as F, type VectorDistribute as G, type VectorArrange as H, type VectorBooleanOperation as I, type VectorAverageAxis as J, type VectorWarpMesh as K, type VectorArrowhead as L, type VectorBlendSpacing as M, type VectorGradientInterpolation as N, type VectorGradientSpread as O, type VectorGradientType as P, type VectorStrokeAlign as Q, type VectorStrokeGradientMode as R, type VectorFilterParamSpec as S, type VectorEffectParamSpec as T, type VectorRenderStrokeParts as U, type VectorDocument as V, type VectorPaintDef as W, type VectorRenderFilter as X, type VectorArrowAlign as Y, type VectorEffect as Z, type VectorPaintLayer as _, type VectorNode as a, explicitVectorGradient as a$, type VectorFilter as a0, type VectorBlend as a1, type VectorMergeMode as a2, type VectorLineJoin as a3, type VectorEffectParamsMap as a4, type VectorStrokeSettings as a5, VECTOR_ARROWHEADS as a6, VECTOR_BLEND_MODES as a7, VECTOR_BLEND_SPACINGS as a8, VECTOR_CORNER_KINDS as a9, type VectorGradientRamp as aA, type VectorGradientSvgOptions as aB, type VectorGradientUnits as aC, type VectorLineCap as aD, type VectorMatrix as aE, type VectorPaintSvgOptions as aF, type VectorRgba as aG, type VectorStrokeLayerKind as aH, type VectorSvgImportOptions as aI, type VectorSvgPatternDef as aJ, type VectorSvgWrapper as aK, type VectorWarpStyle as aL, activeVectorEffects as aM, activeVectorFilters as aN, applyVectorCornersAttribute as aO, applyVectorEffects as aP, applyVectorGradientPatch as aQ, applyVectorGradientSpread as aR, clearVectorLiveBooleanCache as aS, convertVectorGradient as aT, createVectorEffect as aU, createVectorFilter as aV, defaultVectorGradient as aW, expandVectorAppearance as aX, expandVectorAppearances as aY, expandVectorGradientSpread as aZ, expandVectorGradientStops as a_, VECTOR_EFFECT_DEFAULTS as aa, VECTOR_EFFECT_LABELS as ab, VECTOR_EFFECT_PARAM_SPECS as ac, VECTOR_EFFECT_TYPES as ad, VECTOR_FILTER_DEFAULTS as ae, VECTOR_FILTER_LABELS as af, VECTOR_FILTER_MENU as ag, VECTOR_FILTER_PARAM_SPECS as ah, VECTOR_FILTER_TYPES as ai, VECTOR_GRADIENT_INTERPOLATIONS as aj, VECTOR_GRADIENT_MAX_PERIODS as ak, VECTOR_GRADIENT_MIN_STOPS as al, VECTOR_GRADIENT_SPREADS as am, VECTOR_GRADIENT_TYPES as an, VECTOR_MERGE_MODES as ao, VECTOR_PATHFINDER_OPERATIONS as ap, VECTOR_STROKE_GRADIENT_MODES as aq, VECTOR_TOOLS as ar, VECTOR_TRANSFORM_HANDLES as as, type VectorAppearanceShape as at, type VectorBooleanOperand as au, type VectorCorner as av, type VectorFillRule as aw, type VectorFilterParamsMap as ax, type VectorFilterPrimitive as ay, type VectorGradientPoints as az, type VectorBounds as b, vectorGradientRamp as b$, foldVectorBooleanOperands as b0, gradientMidpointRemap as b1, hasExplicitGradientGeometry as b2, hasOwnVectorAppearance as b3, hasVectorAppearance as b4, insertVectorGradientStop as b5, isCentredVectorGradient as b6, isVectorFilterType as b7, isVectorGradient as b8, isVectorLiveBoolean as b9, transformVectorPaint as bA, vectorAppearanceNodes as bB, vectorAppearanceOutline as bC, vectorAppearanceShapes as bD, vectorBoxMatrix as bE, vectorCornersAttribute as bF, vectorDocumentToSvg as bG, vectorEffectInputBounds as bH, vectorEffectInputPaths as bI, vectorEnteredGroups as bJ, vectorEnvelopeFrame as bK, vectorEnvelopeMap as bL, vectorEnvelopeMesh as bM, vectorFilterMarkup as bN, vectorFilterParamKeys as bO, vectorFilterReach as bP, vectorFilterSvg as bQ, vectorGradientArea as bR, vectorGradientAspect as bS, vectorGradientFocalParam as bT, vectorGradientHandles as bU, vectorGradientMatrix as bV, vectorGradientMidpointFromPosition as bW, vectorGradientMidpointPosition as bX, vectorGradientNeedsExpansion as bY, vectorGradientParam as bZ, vectorGradientPoints as b_, mapVectorGradient as ba, mapVectorPaint as bb, moveVectorGradientHandle as bc, moveVectorGradientStop as bd, normalizeVectorEffectParams as be, normalizeVectorFilterParams as bf, parseSvgTransform as bg, parseVectorColor as bh, parseVectorSvg as bi, patternAttrs as bj, periodicVectorGradientStops as bk, pinVectorGradient as bl, removeVectorGradientStop as bm, reverseVectorGradient as bn, samplePlainStops as bo, sampleVectorGradient as bp, sampleVectorGradientAt as bq, sampleVectorPaintDefAt as br, sanitizeVectorEffects as bs, sanitizeVectorFilters as bt, sanitizeVectorGradient as bu, setVectorGradientVector as bv, sortedVectorGradientStops as bw, spanVectorGradientStops as bx, transformVectorEffects as by, transformVectorGradient as bz, type VectorSvgExportOptions as c, vectorGradientSvgDefs as c0, vectorGradientTAt as c1, vectorGradientUnitsMatrix as c2, vectorLiveBooleanSteps as c3, vectorNodeEnvelope as c4, vectorNodeFilterSvg as c5, vectorNodeLocalPaintBounds as c6, vectorOperandOperation as c7, vectorPaintToSvg as c8, vectorPathLocalBounds as c9, vectorStrokeSvgParts as ca, widthProfileFromAttribute as cb, widthProfileToAttribute as cc, type Vec2 as d, type VectorSubpath as e, type VectorAnchor as f, type VectorPathNode as g, type VectorAnchorType as h, type VectorPaint as i, type VectorGroupNode as j, type VectorCornerKind as k, type VectorWidthPoint as l, type VectorGradientHandle as m, type VectorGradient as n, type VectorGradientStop as o, type VectorViewport as p, type VectorTransformHandle as q, type VectorAnchorRef as r, type VectorPathfinderOperation as s, type VectorTool as t, type VectorDefaults as u, type VectorStyle as v, type VectorHandleRef as w, type VectorSegmentRef as x, type VectorBlendOptions as y, type VectorModifiers as z };
1282
+ export { type VectorPaintDef as $, type VectorGradientPatch as A, type VectorBlendMode as B, type VectorFilterType as C, type VectorEffectType as D, type VectorEnvelopeParams as E, type VectorAlign as F, type VectorDistribute as G, type VectorArrange as H, type VectorBooleanOperation as I, type VectorMaskType as J, type VectorMask as K, type VectorAverageAxis as L, type VectorWarpMesh as M, type VectorFillRule as N, type VectorRenderFilter as O, type VectorAppearanceShape as P, type VectorArrowhead as Q, type VectorBlendSpacing as R, type VectorGradientInterpolation as S, type VectorGradientSpread as T, type VectorGradientType as U, type VectorDocument as V, type VectorStrokeAlign as W, type VectorStrokeGradientMode as X, type VectorFilterParamSpec as Y, type VectorEffectParamSpec as Z, type VectorRenderStrokeParts as _, type VectorNode as a, expandVectorAppearances as a$, type VectorArrowAlign as a0, type VectorEffect as a1, type VectorPaintLayer as a2, type VectorStrokeLayer as a3, type VectorFilter as a4, type VectorBlend as a5, type VectorMergeMode as a6, type VectorLineJoin as a7, type VectorEffectParamsMap as a8, type VectorStrokeSettings as a9, type VectorFilterParamsMap as aA, type VectorFilterPrimitive as aB, type VectorGradientPoints as aC, type VectorGradientRamp as aD, type VectorGradientSvgOptions as aE, type VectorGradientUnits as aF, type VectorLineCap as aG, type VectorMatrix as aH, type VectorPaintSvgOptions as aI, type VectorRgba as aJ, type VectorStrokeLayerKind as aK, type VectorSvgImportOptions as aL, type VectorSvgPatternDef as aM, type VectorSvgWrapper as aN, type VectorWarpStyle as aO, activeVectorEffects as aP, activeVectorFilters as aQ, applyVectorCornersAttribute as aR, applyVectorEffects as aS, applyVectorGradientPatch as aT, applyVectorGradientSpread as aU, clearVectorLiveBooleanCache as aV, convertVectorGradient as aW, createVectorEffect as aX, createVectorFilter as aY, defaultVectorGradient as aZ, expandVectorAppearance as a_, VECTOR_ARROWHEADS as aa, VECTOR_BLEND_MODES as ab, VECTOR_BLEND_SPACINGS as ac, VECTOR_CORNER_KINDS as ad, VECTOR_EFFECT_DEFAULTS as ae, VECTOR_EFFECT_LABELS as af, VECTOR_EFFECT_PARAM_SPECS as ag, VECTOR_EFFECT_TYPES as ah, VECTOR_FILTER_DEFAULTS as ai, VECTOR_FILTER_LABELS as aj, VECTOR_FILTER_MENU as ak, VECTOR_FILTER_PARAM_SPECS as al, VECTOR_FILTER_TYPES as am, VECTOR_GRADIENT_INTERPOLATIONS as an, VECTOR_GRADIENT_MAX_PERIODS as ao, VECTOR_GRADIENT_MIN_STOPS as ap, VECTOR_GRADIENT_SPREADS as aq, VECTOR_GRADIENT_TYPES as ar, VECTOR_MASK_TYPES as as, VECTOR_MERGE_MODES as at, VECTOR_PATHFINDER_OPERATIONS as au, VECTOR_STROKE_GRADIENT_MODES as av, VECTOR_TOOLS as aw, VECTOR_TRANSFORM_HANDLES as ax, type VectorBooleanOperand as ay, type VectorCorner as az, type VectorBounds as b, vectorGradientMidpointPosition as b$, expandVectorGradientSpread as b0, expandVectorGradientStops as b1, explicitVectorGradient as b2, foldVectorBooleanOperands as b3, gradientMidpointRemap as b4, hasExplicitGradientGeometry as b5, hasOwnVectorAppearance as b6, hasVectorAppearance as b7, insertVectorGradientStop as b8, isCentredVectorGradient as b9, spanVectorGradientStops as bA, transformVectorEffects as bB, transformVectorGradient as bC, transformVectorPaint as bD, vectorAppearanceNodes as bE, vectorAppearanceOutline as bF, vectorAppearanceShapes as bG, vectorBoxMatrix as bH, vectorChildAppearanceShapes as bI, vectorCornersAttribute as bJ, vectorDocumentToSvg as bK, vectorEffectInputBounds as bL, vectorEffectInputPaths as bM, vectorEnteredGroups as bN, vectorEnvelopeFrame as bO, vectorEnvelopeMap as bP, vectorEnvelopeMesh as bQ, vectorFilterMarkup as bR, vectorFilterParamKeys as bS, vectorFilterReach as bT, vectorFilterSvg as bU, vectorGradientArea as bV, vectorGradientAspect as bW, vectorGradientFocalParam as bX, vectorGradientHandles as bY, vectorGradientMatrix as bZ, vectorGradientMidpointFromPosition as b_, isVectorFilterType as ba, isVectorGradient as bb, isVectorLiveBoolean as bc, mapVectorGradient as bd, mapVectorPaint as be, moveVectorGradientHandle as bf, moveVectorGradientStop as bg, normalizeVectorEffectParams as bh, normalizeVectorFilterParams as bi, parseSvgTransform as bj, parseVectorColor as bk, parseVectorSvg as bl, patternAttrs as bm, periodicVectorGradientStops as bn, pinVectorGradient as bo, removeVectorGradientStop as bp, reverseVectorGradient as bq, samplePlainStops as br, sampleVectorGradient as bs, sampleVectorGradientAt as bt, sampleVectorPaintDefAt as bu, sanitizeVectorEffects as bv, sanitizeVectorFilters as bw, sanitizeVectorGradient as bx, setVectorGradientVector as by, sortedVectorGradientStops as bz, type VectorSvgExportOptions as c, vectorGradientNeedsExpansion as c0, vectorGradientParam as c1, vectorGradientPoints as c2, vectorGradientRamp as c3, vectorGradientSvgDefs as c4, vectorGradientTAt as c5, vectorGradientUnitsMatrix as c6, vectorLiveBooleanSteps as c7, vectorNodeEnvelope as c8, vectorNodeFilterSvg as c9, vectorNodeLocalPaintBounds as ca, vectorOperandOperation as cb, vectorPaintToSvg as cc, vectorPathLocalBounds as cd, vectorStrokeSvgParts as ce, widthProfileFromAttribute as cf, widthProfileToAttribute as cg, type Vec2 as d, type VectorSubpath as e, type VectorAnchor as f, type VectorPathNode as g, type VectorAnchorType as h, type VectorPaint as i, type VectorGroupNode as j, type VectorCornerKind as k, type VectorWidthPoint as l, type VectorGradientHandle as m, type VectorGradient as n, type VectorGradientStop as o, type VectorViewport as p, type VectorTransformHandle as q, type VectorAnchorRef as r, type VectorPathfinderOperation as s, type VectorTool as t, type VectorDefaults as u, type VectorStyle as v, type VectorHandleRef as w, type VectorSegmentRef as x, type VectorBlendOptions as y, type VectorModifiers as z };
@@ -321,6 +321,20 @@ interface VectorBlend extends VectorBlendOptions {
321
321
  /** The anchor of each key's first subpath its blend starts from, by key id (the Blend tool's clicks). */
322
322
  starts?: Record<string, number>;
323
323
  }
324
+ /**
325
+ * How a mask group's mask (its first, bottom child) hides the rest: `clip` (a clipping mask: the
326
+ * mask's outline, fully opaque; its paint is not drawn), `alpha` (an opacity mask by the mask's
327
+ * drawn alpha: soft edges, gradients and opacity count) or `luminance` (by its brightness times
328
+ * its alpha: white shows, black hides).
329
+ */
330
+ type VectorMaskType = 'clip' | 'alpha' | 'luminance';
331
+ declare const VECTOR_MASK_TYPES: readonly VectorMaskType[];
332
+ /** A group's mask settings (`VectorGroupNode.mask`). */
333
+ interface VectorMask {
334
+ type: VectorMaskType;
335
+ /** Show the contents where the mask hides them and hide them where it shows them. Default false. */
336
+ invert?: boolean;
337
+ }
324
338
  /** A group of nodes that select and transform together. */
325
339
  interface VectorGroupNode extends VectorNodeBase {
326
340
  type: 'group';
@@ -336,6 +350,14 @@ interface VectorGroupNode extends VectorNodeBase {
336
350
  * bottom operand's style.
337
351
  */
338
352
  liveBoolean?: VectorBooleanOperation | null;
353
+ /**
354
+ * Makes the group a mask group: its first (bottom) child is the mask and the children above it
355
+ * show only where the mask lets them (see `VectorMaskType`). Hit-testing, bounds, snapping and
356
+ * booleans use the masked result. A hidden mask child turns the mask off (the contents draw
357
+ * whole). The group's own opacity, blend mode and filters apply to the masked result, and its
358
+ * path effects to the contents (not the mask). Ignored on blends and live booleans.
359
+ */
360
+ mask?: VectorMask | null;
339
361
  }
340
362
  type VectorNode = VectorPathNode | VectorGroupNode;
341
363
  /** A vector drawing: an artboard and its nodes, bottom to top. */
@@ -730,6 +752,8 @@ interface VectorBooleanOperand {
730
752
  declare function foldVectorBooleanOperands(operands: readonly VectorBooleanOperand[]): BezierPath;
731
753
  /** Applies an effect stack to shapes, top to bottom (disabled effects skipped). */
732
754
  declare function applyVectorEffects(shapes: readonly VectorAppearanceShape[], effects: readonly VectorEffect[] | null | undefined): VectorAppearanceShape[];
755
+ /** The shapes of a child in its parent's space (hidden children have none), ordered by its index. */
756
+ declare function vectorChildAppearanceShapes(child: VectorNode, index: number): VectorAppearanceShape[];
733
757
  /** The paths entering effect `effectId` of the node's stack (those above it applied), in the node's own space. */
734
758
  declare function vectorEffectInputPaths(node: VectorNode, effectId: string): BezierPath[] | null;
735
759
  /** The box effect `effectId` (an envelope) bends: the combined bounds of the paths entering it, in the node's own space. */
@@ -779,7 +803,7 @@ declare function sanitizeVectorEffects(value: unknown): VectorEffect[];
779
803
  declare function transformVectorEffects(effects: readonly VectorEffect[], m: AffineMatrix, node?: VectorNode): VectorEffect[];
780
804
  /**
781
805
  * The live groups (live booleans and groups with effects) being edited: those in `ids` and those
782
- * holding a node in `ids`. Their children are hit and outlined as stored instead of as drawn, so
806
+ * holding a node in `ids`; mask groups only when they hold one. Their children are hit and outlined as stored instead of as drawn, so
783
807
  * each operand can be picked (figcraft `crates/engine/src/booleans.rs`, `result_outline`).
784
808
  */
785
809
  declare function vectorEnteredGroups(nodes: readonly VectorNode[], ids: readonly string[]): Set<string>;
@@ -1255,4 +1279,4 @@ declare function parseSvgTransform(value: string | undefined): AffineMatrix;
1255
1279
  /** Parses SVG markup into a vector document. Throws when there is no `<svg>` element. */
1256
1280
  declare function parseVectorSvg(svg: string, options?: VectorSvgImportOptions): VectorDocument;
1257
1281
 
1258
- export { type VectorStrokeLayer as $, type VectorGradientPatch as A, type VectorBlendMode as B, type VectorFilterType as C, type VectorEffectType as D, type VectorEnvelopeParams as E, type VectorAlign as F, type VectorDistribute as G, type VectorArrange as H, type VectorBooleanOperation as I, type VectorAverageAxis as J, type VectorWarpMesh as K, type VectorArrowhead as L, type VectorBlendSpacing as M, type VectorGradientInterpolation as N, type VectorGradientSpread as O, type VectorGradientType as P, type VectorStrokeAlign as Q, type VectorStrokeGradientMode as R, type VectorFilterParamSpec as S, type VectorEffectParamSpec as T, type VectorRenderStrokeParts as U, type VectorDocument as V, type VectorPaintDef as W, type VectorRenderFilter as X, type VectorArrowAlign as Y, type VectorEffect as Z, type VectorPaintLayer as _, type VectorNode as a, explicitVectorGradient as a$, type VectorFilter as a0, type VectorBlend as a1, type VectorMergeMode as a2, type VectorLineJoin as a3, type VectorEffectParamsMap as a4, type VectorStrokeSettings as a5, VECTOR_ARROWHEADS as a6, VECTOR_BLEND_MODES as a7, VECTOR_BLEND_SPACINGS as a8, VECTOR_CORNER_KINDS as a9, type VectorGradientRamp as aA, type VectorGradientSvgOptions as aB, type VectorGradientUnits as aC, type VectorLineCap as aD, type VectorMatrix as aE, type VectorPaintSvgOptions as aF, type VectorRgba as aG, type VectorStrokeLayerKind as aH, type VectorSvgImportOptions as aI, type VectorSvgPatternDef as aJ, type VectorSvgWrapper as aK, type VectorWarpStyle as aL, activeVectorEffects as aM, activeVectorFilters as aN, applyVectorCornersAttribute as aO, applyVectorEffects as aP, applyVectorGradientPatch as aQ, applyVectorGradientSpread as aR, clearVectorLiveBooleanCache as aS, convertVectorGradient as aT, createVectorEffect as aU, createVectorFilter as aV, defaultVectorGradient as aW, expandVectorAppearance as aX, expandVectorAppearances as aY, expandVectorGradientSpread as aZ, expandVectorGradientStops as a_, VECTOR_EFFECT_DEFAULTS as aa, VECTOR_EFFECT_LABELS as ab, VECTOR_EFFECT_PARAM_SPECS as ac, VECTOR_EFFECT_TYPES as ad, VECTOR_FILTER_DEFAULTS as ae, VECTOR_FILTER_LABELS as af, VECTOR_FILTER_MENU as ag, VECTOR_FILTER_PARAM_SPECS as ah, VECTOR_FILTER_TYPES as ai, VECTOR_GRADIENT_INTERPOLATIONS as aj, VECTOR_GRADIENT_MAX_PERIODS as ak, VECTOR_GRADIENT_MIN_STOPS as al, VECTOR_GRADIENT_SPREADS as am, VECTOR_GRADIENT_TYPES as an, VECTOR_MERGE_MODES as ao, VECTOR_PATHFINDER_OPERATIONS as ap, VECTOR_STROKE_GRADIENT_MODES as aq, VECTOR_TOOLS as ar, VECTOR_TRANSFORM_HANDLES as as, type VectorAppearanceShape as at, type VectorBooleanOperand as au, type VectorCorner as av, type VectorFillRule as aw, type VectorFilterParamsMap as ax, type VectorFilterPrimitive as ay, type VectorGradientPoints as az, type VectorBounds as b, vectorGradientRamp as b$, foldVectorBooleanOperands as b0, gradientMidpointRemap as b1, hasExplicitGradientGeometry as b2, hasOwnVectorAppearance as b3, hasVectorAppearance as b4, insertVectorGradientStop as b5, isCentredVectorGradient as b6, isVectorFilterType as b7, isVectorGradient as b8, isVectorLiveBoolean as b9, transformVectorPaint as bA, vectorAppearanceNodes as bB, vectorAppearanceOutline as bC, vectorAppearanceShapes as bD, vectorBoxMatrix as bE, vectorCornersAttribute as bF, vectorDocumentToSvg as bG, vectorEffectInputBounds as bH, vectorEffectInputPaths as bI, vectorEnteredGroups as bJ, vectorEnvelopeFrame as bK, vectorEnvelopeMap as bL, vectorEnvelopeMesh as bM, vectorFilterMarkup as bN, vectorFilterParamKeys as bO, vectorFilterReach as bP, vectorFilterSvg as bQ, vectorGradientArea as bR, vectorGradientAspect as bS, vectorGradientFocalParam as bT, vectorGradientHandles as bU, vectorGradientMatrix as bV, vectorGradientMidpointFromPosition as bW, vectorGradientMidpointPosition as bX, vectorGradientNeedsExpansion as bY, vectorGradientParam as bZ, vectorGradientPoints as b_, mapVectorGradient as ba, mapVectorPaint as bb, moveVectorGradientHandle as bc, moveVectorGradientStop as bd, normalizeVectorEffectParams as be, normalizeVectorFilterParams as bf, parseSvgTransform as bg, parseVectorColor as bh, parseVectorSvg as bi, patternAttrs as bj, periodicVectorGradientStops as bk, pinVectorGradient as bl, removeVectorGradientStop as bm, reverseVectorGradient as bn, samplePlainStops as bo, sampleVectorGradient as bp, sampleVectorGradientAt as bq, sampleVectorPaintDefAt as br, sanitizeVectorEffects as bs, sanitizeVectorFilters as bt, sanitizeVectorGradient as bu, setVectorGradientVector as bv, sortedVectorGradientStops as bw, spanVectorGradientStops as bx, transformVectorEffects as by, transformVectorGradient as bz, type VectorSvgExportOptions as c, vectorGradientSvgDefs as c0, vectorGradientTAt as c1, vectorGradientUnitsMatrix as c2, vectorLiveBooleanSteps as c3, vectorNodeEnvelope as c4, vectorNodeFilterSvg as c5, vectorNodeLocalPaintBounds as c6, vectorOperandOperation as c7, vectorPaintToSvg as c8, vectorPathLocalBounds as c9, vectorStrokeSvgParts as ca, widthProfileFromAttribute as cb, widthProfileToAttribute as cc, type Vec2 as d, type VectorSubpath as e, type VectorAnchor as f, type VectorPathNode as g, type VectorAnchorType as h, type VectorPaint as i, type VectorGroupNode as j, type VectorCornerKind as k, type VectorWidthPoint as l, type VectorGradientHandle as m, type VectorGradient as n, type VectorGradientStop as o, type VectorViewport as p, type VectorTransformHandle as q, type VectorAnchorRef as r, type VectorPathfinderOperation as s, type VectorTool as t, type VectorDefaults as u, type VectorStyle as v, type VectorHandleRef as w, type VectorSegmentRef as x, type VectorBlendOptions as y, type VectorModifiers as z };
1282
+ export { type VectorPaintDef as $, type VectorGradientPatch as A, type VectorBlendMode as B, type VectorFilterType as C, type VectorEffectType as D, type VectorEnvelopeParams as E, type VectorAlign as F, type VectorDistribute as G, type VectorArrange as H, type VectorBooleanOperation as I, type VectorMaskType as J, type VectorMask as K, type VectorAverageAxis as L, type VectorWarpMesh as M, type VectorFillRule as N, type VectorRenderFilter as O, type VectorAppearanceShape as P, type VectorArrowhead as Q, type VectorBlendSpacing as R, type VectorGradientInterpolation as S, type VectorGradientSpread as T, type VectorGradientType as U, type VectorDocument as V, type VectorStrokeAlign as W, type VectorStrokeGradientMode as X, type VectorFilterParamSpec as Y, type VectorEffectParamSpec as Z, type VectorRenderStrokeParts as _, type VectorNode as a, expandVectorAppearances as a$, type VectorArrowAlign as a0, type VectorEffect as a1, type VectorPaintLayer as a2, type VectorStrokeLayer as a3, type VectorFilter as a4, type VectorBlend as a5, type VectorMergeMode as a6, type VectorLineJoin as a7, type VectorEffectParamsMap as a8, type VectorStrokeSettings as a9, type VectorFilterParamsMap as aA, type VectorFilterPrimitive as aB, type VectorGradientPoints as aC, type VectorGradientRamp as aD, type VectorGradientSvgOptions as aE, type VectorGradientUnits as aF, type VectorLineCap as aG, type VectorMatrix as aH, type VectorPaintSvgOptions as aI, type VectorRgba as aJ, type VectorStrokeLayerKind as aK, type VectorSvgImportOptions as aL, type VectorSvgPatternDef as aM, type VectorSvgWrapper as aN, type VectorWarpStyle as aO, activeVectorEffects as aP, activeVectorFilters as aQ, applyVectorCornersAttribute as aR, applyVectorEffects as aS, applyVectorGradientPatch as aT, applyVectorGradientSpread as aU, clearVectorLiveBooleanCache as aV, convertVectorGradient as aW, createVectorEffect as aX, createVectorFilter as aY, defaultVectorGradient as aZ, expandVectorAppearance as a_, VECTOR_ARROWHEADS as aa, VECTOR_BLEND_MODES as ab, VECTOR_BLEND_SPACINGS as ac, VECTOR_CORNER_KINDS as ad, VECTOR_EFFECT_DEFAULTS as ae, VECTOR_EFFECT_LABELS as af, VECTOR_EFFECT_PARAM_SPECS as ag, VECTOR_EFFECT_TYPES as ah, VECTOR_FILTER_DEFAULTS as ai, VECTOR_FILTER_LABELS as aj, VECTOR_FILTER_MENU as ak, VECTOR_FILTER_PARAM_SPECS as al, VECTOR_FILTER_TYPES as am, VECTOR_GRADIENT_INTERPOLATIONS as an, VECTOR_GRADIENT_MAX_PERIODS as ao, VECTOR_GRADIENT_MIN_STOPS as ap, VECTOR_GRADIENT_SPREADS as aq, VECTOR_GRADIENT_TYPES as ar, VECTOR_MASK_TYPES as as, VECTOR_MERGE_MODES as at, VECTOR_PATHFINDER_OPERATIONS as au, VECTOR_STROKE_GRADIENT_MODES as av, VECTOR_TOOLS as aw, VECTOR_TRANSFORM_HANDLES as ax, type VectorBooleanOperand as ay, type VectorCorner as az, type VectorBounds as b, vectorGradientMidpointPosition as b$, expandVectorGradientSpread as b0, expandVectorGradientStops as b1, explicitVectorGradient as b2, foldVectorBooleanOperands as b3, gradientMidpointRemap as b4, hasExplicitGradientGeometry as b5, hasOwnVectorAppearance as b6, hasVectorAppearance as b7, insertVectorGradientStop as b8, isCentredVectorGradient as b9, spanVectorGradientStops as bA, transformVectorEffects as bB, transformVectorGradient as bC, transformVectorPaint as bD, vectorAppearanceNodes as bE, vectorAppearanceOutline as bF, vectorAppearanceShapes as bG, vectorBoxMatrix as bH, vectorChildAppearanceShapes as bI, vectorCornersAttribute as bJ, vectorDocumentToSvg as bK, vectorEffectInputBounds as bL, vectorEffectInputPaths as bM, vectorEnteredGroups as bN, vectorEnvelopeFrame as bO, vectorEnvelopeMap as bP, vectorEnvelopeMesh as bQ, vectorFilterMarkup as bR, vectorFilterParamKeys as bS, vectorFilterReach as bT, vectorFilterSvg as bU, vectorGradientArea as bV, vectorGradientAspect as bW, vectorGradientFocalParam as bX, vectorGradientHandles as bY, vectorGradientMatrix as bZ, vectorGradientMidpointFromPosition as b_, isVectorFilterType as ba, isVectorGradient as bb, isVectorLiveBoolean as bc, mapVectorGradient as bd, mapVectorPaint as be, moveVectorGradientHandle as bf, moveVectorGradientStop as bg, normalizeVectorEffectParams as bh, normalizeVectorFilterParams as bi, parseSvgTransform as bj, parseVectorColor as bk, parseVectorSvg as bl, patternAttrs as bm, periodicVectorGradientStops as bn, pinVectorGradient as bo, removeVectorGradientStop as bp, reverseVectorGradient as bq, samplePlainStops as br, sampleVectorGradient as bs, sampleVectorGradientAt as bt, sampleVectorPaintDefAt as bu, sanitizeVectorEffects as bv, sanitizeVectorFilters as bw, sanitizeVectorGradient as bx, setVectorGradientVector as by, sortedVectorGradientStops as bz, type VectorSvgExportOptions as c, vectorGradientNeedsExpansion as c0, vectorGradientParam as c1, vectorGradientPoints as c2, vectorGradientRamp as c3, vectorGradientSvgDefs as c4, vectorGradientTAt as c5, vectorGradientUnitsMatrix as c6, vectorLiveBooleanSteps as c7, vectorNodeEnvelope as c8, vectorNodeFilterSvg as c9, vectorNodeLocalPaintBounds as ca, vectorOperandOperation as cb, vectorPaintToSvg as cc, vectorPathLocalBounds as cd, vectorStrokeSvgParts as ce, widthProfileFromAttribute as cf, widthProfileToAttribute as cg, type Vec2 as d, type VectorSubpath as e, type VectorAnchor as f, type VectorPathNode as g, type VectorAnchorType as h, type VectorPaint as i, type VectorGroupNode as j, type VectorCornerKind as k, type VectorWidthPoint as l, type VectorGradientHandle as m, type VectorGradient as n, type VectorGradientStop as o, type VectorViewport as p, type VectorTransformHandle as q, type VectorAnchorRef as r, type VectorPathfinderOperation as s, type VectorTool as t, type VectorDefaults as u, type VectorStyle as v, type VectorHandleRef as w, type VectorSegmentRef as x, type VectorBlendOptions as y, type VectorModifiers as z };