@pixerate/editor 0.97.0 → 0.98.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 (52) hide show
  1. package/THIRD_PARTY_NOTICES.md +4 -2
  2. package/dist/animation-editor/index.cjs +55 -53
  3. package/dist/animation-editor/index.cjs.map +1 -1
  4. package/dist/animation-editor/index.d.cts +3 -2
  5. package/dist/animation-editor/index.d.ts +3 -2
  6. package/dist/animation-editor/index.js +11 -9
  7. package/dist/animation-editor/index.js.map +1 -1
  8. package/dist/chunk-DWGZUSES.cjs +694 -0
  9. package/dist/chunk-DWGZUSES.cjs.map +1 -0
  10. package/dist/chunk-GX332W2C.js +181 -0
  11. package/dist/chunk-GX332W2C.js.map +1 -0
  12. package/dist/{chunk-7MD7C6XQ.cjs → chunk-JF5PXN7W.cjs} +96 -744
  13. package/dist/chunk-JF5PXN7W.cjs.map +1 -0
  14. package/dist/chunk-KKREERP2.js +694 -0
  15. package/dist/chunk-KKREERP2.js.map +1 -0
  16. package/dist/chunk-MUUXNRU4.cjs +181 -0
  17. package/dist/chunk-MUUXNRU4.cjs.map +1 -0
  18. package/dist/{chunk-OEVSVA6V.js → chunk-WIR377F6.js} +788 -22
  19. package/dist/chunk-WIR377F6.js.map +1 -0
  20. package/dist/{chunk-4AB5BHYK.cjs → chunk-WT6ZAWJP.cjs} +788 -22
  21. package/dist/chunk-WT6ZAWJP.cjs.map +1 -0
  22. package/dist/{chunk-4JLB2USO.js → chunk-YGZNGDIT.js} +45 -693
  23. package/dist/chunk-YGZNGDIT.js.map +1 -0
  24. package/dist/image-editor/index.cjs +1280 -299
  25. package/dist/image-editor/index.cjs.map +1 -1
  26. package/dist/image-editor/index.d.cts +304 -5
  27. package/dist/image-editor/index.d.ts +304 -5
  28. package/dist/image-editor/index.js +991 -10
  29. package/dist/image-editor/index.js.map +1 -1
  30. package/dist/raster/index.cjs +23 -2
  31. package/dist/raster/index.cjs.map +1 -1
  32. package/dist/raster/index.d.cts +98 -2
  33. package/dist/raster/index.d.ts +98 -2
  34. package/dist/raster/index.js +23 -2
  35. package/dist/{svg-ymShkNtu.d.cts → svg-C9r284x8.d.cts} +6 -9
  36. package/dist/{svg-Dh17jCyA.d.ts → svg-MVKBqwD4.d.ts} +6 -9
  37. package/dist/types-CwMPoRMU.d.cts +40 -0
  38. package/dist/types-CwMPoRMU.d.ts +40 -0
  39. package/dist/vector/index.cjs +490 -554
  40. package/dist/vector/index.cjs.map +1 -1
  41. package/dist/vector/index.d.cts +154 -292
  42. package/dist/vector/index.d.ts +154 -292
  43. package/dist/vector/index.js +91 -155
  44. package/dist/vector/index.js.map +1 -1
  45. package/dist/warp-B8rAguzs.d.ts +165 -0
  46. package/dist/warp-nYs2DPrx.d.cts +165 -0
  47. package/package.json +1 -1
  48. package/skills/pixerate-image-editor/SKILL.md +49 -3
  49. package/dist/chunk-4AB5BHYK.cjs.map +0 -1
  50. package/dist/chunk-4JLB2USO.js.map +0 -1
  51. package/dist/chunk-7MD7C6XQ.cjs.map +0 -1
  52. package/dist/chunk-OEVSVA6V.js.map +0 -1
@@ -61,7 +61,18 @@
61
61
 
62
62
 
63
63
 
64
- var _chunk4AB5BHYKcjs = require('../chunk-4AB5BHYK.cjs');
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ var _chunkWT6ZAWJPcjs = require('../chunk-WT6ZAWJP.cjs');
75
+ require('../chunk-MUUXNRU4.cjs');
65
76
 
66
77
 
67
78
 
@@ -199,5 +210,15 @@ var _chunkCRMAXIUVcjs = require('../chunk-CRMAXIUV.cjs');
199
210
 
200
211
 
201
212
 
202
- exports.BLEND_MODES = _chunkCRMAXIUVcjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunk4AB5BHYKcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunk4AB5BHYKcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunk4AB5BHYKcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.LAYER_EFFECT_KINDS = _chunk4AB5BHYKcjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunk4AB5BHYKcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunk4AB5BHYKcjs.MAX_EFFECT_REACH; exports.PatternPlacement = _chunk4AB5BHYKcjs.PatternPlacement; exports.PatternTile = _chunk4AB5BHYKcjs.PatternTile; exports.RasterCompositor = _chunk4AB5BHYKcjs.RasterCompositor; exports.STROKE_CHAMFER_MAX = _chunk4AB5BHYKcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunkCRMAXIUVcjs.SurfaceDraft; exports.TILE = _chunkCRMAXIUVcjs.TILE; exports.TILE_SHIFT = _chunkCRMAXIUVcjs.TILE_SHIFT; exports.TiledSurface = _chunkCRMAXIUVcjs.TiledSurface; exports.ZlibError = _chunk4AB5BHYKcjs.ZlibError; exports.activeEffectItems = _chunk4AB5BHYKcjs.activeEffectItems; exports.adler32 = _chunk4AB5BHYKcjs.adler32; exports.base64ToBytes = _chunk4AB5BHYKcjs.base64ToBytes; exports.blendChannel = _chunkCRMAXIUVcjs.blendChannel; exports.blendImageData = _chunkCRMAXIUVcjs.blendImageData; exports.blendLum = _chunkCRMAXIUVcjs.blendLum; exports.blendPixel = _chunkCRMAXIUVcjs.blendPixel; exports.blendRgb = _chunkCRMAXIUVcjs.blendRgb; exports.blendTile = _chunk4AB5BHYKcjs.blendTile; exports.buildEffectMaps = _chunk4AB5BHYKcjs.buildEffectMaps; exports.builtinPattern = _chunk4AB5BHYKcjs.builtinPattern; exports.builtinPatternIds = _chunk4AB5BHYKcjs.builtinPatternIds; exports.bytesToBase64 = _chunk4AB5BHYKcjs.bytesToBase64; exports.canvasCompositeOperation = _chunkCRMAXIUVcjs.canvasCompositeOperation; exports.changedTiles = _chunk4AB5BHYKcjs.changedTiles; exports.collectTiles = _chunkCRMAXIUVcjs.collectTiles; exports.compositeLayerEffects = _chunk4AB5BHYKcjs.compositeLayerEffects; exports.contentBounds = _chunkCRMAXIUVcjs.contentBounds; exports.contourLut = _chunk4AB5BHYKcjs.contourLut; exports.curveLut = _chunk4AB5BHYKcjs.curveLut; exports.decodePng = _chunk4AB5BHYKcjs.decodePng; exports.defaultEffectGradient = _chunk4AB5BHYKcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunk4AB5BHYKcjs.defaultLayerEffect; exports.deflate = _chunk4AB5BHYKcjs.deflate; exports.deflateRaw = _chunk4AB5BHYKcjs.deflateRaw; exports.effectColorHex = _chunk4AB5BHYKcjs.effectColorHex; exports.effectReach = _chunk4AB5BHYKcjs.effectReach; exports.effectsAreLocal = _chunk4AB5BHYKcjs.effectsAreLocal; exports.effectsFingerprint = _chunk4AB5BHYKcjs.effectsFingerprint; exports.effectsMargin = _chunk4AB5BHYKcjs.effectsMargin; exports.effectsScale = _chunk4AB5BHYKcjs.effectsScale; exports.emptySurface = _chunkCRMAXIUVcjs.emptySurface; exports.encodePng = _chunk4AB5BHYKcjs.encodePng; exports.fillRect = _chunkCRMAXIUVcjs.fillRect; exports.findLayer = _chunk4AB5BHYKcjs.findLayer; exports.finishTile = _chunkCRMAXIUVcjs.finishTile; exports.flattenLayers = _chunk4AB5BHYKcjs.flattenLayers; exports.gaussianBlur = _chunk4AB5BHYKcjs.gaussianBlur; exports.gradientT = _chunk4AB5BHYKcjs.gradientT; exports.hasActiveEffects = _chunk4AB5BHYKcjs.hasActiveEffects; exports.hashNoise = _chunk4AB5BHYKcjs.hashNoise; exports.inflate = _chunk4AB5BHYKcjs.inflate; exports.inflateRaw = _chunk4AB5BHYKcjs.inflateRaw; exports.insertLayer = _chunk4AB5BHYKcjs.insertLayer; exports.isBlendMode = _chunkCRMAXIUVcjs.isBlendMode; exports.isLayerEffectKind = _chunk4AB5BHYKcjs.isLayerEffectKind; exports.isLayerLocked = _chunk4AB5BHYKcjs.isLayerLocked; exports.isPng = _chunk4AB5BHYKcjs.isPng; exports.isSeparableBlendMode = _chunkCRMAXIUVcjs.isSeparableBlendMode; exports.layerEffectFields = _chunk4AB5BHYKcjs.layerEffectFields; exports.layerEffectLabel = _chunk4AB5BHYKcjs.layerEffectLabel; exports.mapLayer = _chunk4AB5BHYKcjs.mapLayer; exports.mergeLayerEffect = _chunk4AB5BHYKcjs.mergeLayerEffect; exports.mixPigment8 = _chunkCRMAXIUVcjs.mixPigment8; exports.mixPigmentRgb = _chunkCRMAXIUVcjs.mixPigmentRgb; exports.newEffectId = _chunk4AB5BHYKcjs.newEffectId; exports.normalizeBlendMode = _chunkCRMAXIUVcjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunk4AB5BHYKcjs.normalizeLayerEffects; exports.packRgba = _chunkCRMAXIUVcjs.packRgba; exports.parseDataUrl = _chunk4AB5BHYKcjs.parseDataUrl; exports.parseEffectColor = _chunk4AB5BHYKcjs.parseEffectColor; exports.patchEffectMaps = _chunk4AB5BHYKcjs.patchEffectMaps; exports.pngDataUrl = _chunk4AB5BHYKcjs.pngDataUrl; exports.readPixel = _chunkCRMAXIUVcjs.readPixel; exports.readRegion = _chunkCRMAXIUVcjs.readRegion; exports.renderLayerEffects = _chunk4AB5BHYKcjs.renderLayerEffects; exports.scaleLayerEffect = _chunk4AB5BHYKcjs.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.translateSurface = _chunkCRMAXIUVcjs.translateSurface; exports.uniformTile = _chunkCRMAXIUVcjs.uniformTile; exports.validateEffectGradient = _chunk4AB5BHYKcjs.validateEffectGradient; exports.validateLayerEffect = _chunk4AB5BHYKcjs.validateLayerEffect; exports.validateLayerEffects = _chunk4AB5BHYKcjs.validateLayerEffects; exports.writeRegion = _chunkCRMAXIUVcjs.writeRegion;
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+ exports.BLEND_MODES = _chunkCRMAXIUVcjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkWT6ZAWJPcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkWT6ZAWJPcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkWT6ZAWJPcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.INTERPOLATIONS = _chunkWT6ZAWJPcjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkWT6ZAWJPcjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunkWT6ZAWJPcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkWT6ZAWJPcjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkWT6ZAWJPcjs.MAX_TRANSFORM_PIXELS; exports.PatternPlacement = _chunkWT6ZAWJPcjs.PatternPlacement; exports.PatternTile = _chunkWT6ZAWJPcjs.PatternTile; exports.RasterCompositor = _chunkWT6ZAWJPcjs.RasterCompositor; exports.STROKE_CHAMFER_MAX = _chunkWT6ZAWJPcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunkCRMAXIUVcjs.SurfaceDraft; exports.TILE = _chunkCRMAXIUVcjs.TILE; exports.TILE_SHIFT = _chunkCRMAXIUVcjs.TILE_SHIFT; exports.TiledSurface = _chunkCRMAXIUVcjs.TiledSurface; exports.TransformTooLargeError = _chunkWT6ZAWJPcjs.TransformTooLargeError; exports.ZlibError = _chunkWT6ZAWJPcjs.ZlibError; exports.activeEffectItems = _chunkWT6ZAWJPcjs.activeEffectItems; exports.adler32 = _chunkWT6ZAWJPcjs.adler32; exports.base64ToBytes = _chunkWT6ZAWJPcjs.base64ToBytes; exports.blendChannel = _chunkCRMAXIUVcjs.blendChannel; exports.blendImageData = _chunkCRMAXIUVcjs.blendImageData; exports.blendLum = _chunkCRMAXIUVcjs.blendLum; exports.blendPixel = _chunkCRMAXIUVcjs.blendPixel; exports.blendRgb = _chunkCRMAXIUVcjs.blendRgb; exports.blendTile = _chunkWT6ZAWJPcjs.blendTile; exports.buildEffectMaps = _chunkWT6ZAWJPcjs.buildEffectMaps; exports.builtinPattern = _chunkWT6ZAWJPcjs.builtinPattern; exports.builtinPatternIds = _chunkWT6ZAWJPcjs.builtinPatternIds; exports.bytesToBase64 = _chunkWT6ZAWJPcjs.bytesToBase64; exports.canvasCompositeOperation = _chunkCRMAXIUVcjs.canvasCompositeOperation; exports.changedTiles = _chunkWT6ZAWJPcjs.changedTiles; exports.collectTiles = _chunkCRMAXIUVcjs.collectTiles; exports.compositeLayerEffects = _chunkWT6ZAWJPcjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkWT6ZAWJPcjs.compositeSurfaceOver; exports.contentBounds = _chunkCRMAXIUVcjs.contentBounds; exports.contourLut = _chunkWT6ZAWJPcjs.contourLut; exports.curveLut = _chunkWT6ZAWJPcjs.curveLut; exports.decodePng = _chunkWT6ZAWJPcjs.decodePng; exports.defaultEffectGradient = _chunkWT6ZAWJPcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkWT6ZAWJPcjs.defaultLayerEffect; exports.deflate = _chunkWT6ZAWJPcjs.deflate; exports.deflateRaw = _chunkWT6ZAWJPcjs.deflateRaw; exports.effectColorHex = _chunkWT6ZAWJPcjs.effectColorHex; exports.effectReach = _chunkWT6ZAWJPcjs.effectReach; exports.effectsAreLocal = _chunkWT6ZAWJPcjs.effectsAreLocal; exports.effectsFingerprint = _chunkWT6ZAWJPcjs.effectsFingerprint; exports.effectsMargin = _chunkWT6ZAWJPcjs.effectsMargin; exports.effectsScale = _chunkWT6ZAWJPcjs.effectsScale; exports.emptySurface = _chunkCRMAXIUVcjs.emptySurface; exports.encodePng = _chunkWT6ZAWJPcjs.encodePng; exports.fillRect = _chunkCRMAXIUVcjs.fillRect; exports.findLayer = _chunkWT6ZAWJPcjs.findLayer; exports.finishTile = _chunkCRMAXIUVcjs.finishTile; exports.flattenLayers = _chunkWT6ZAWJPcjs.flattenLayers; exports.gaussianBlur = _chunkWT6ZAWJPcjs.gaussianBlur; exports.gradientT = _chunkWT6ZAWJPcjs.gradientT; exports.hasActiveEffects = _chunkWT6ZAWJPcjs.hasActiveEffects; exports.hashNoise = _chunkWT6ZAWJPcjs.hashNoise; exports.inflate = _chunkWT6ZAWJPcjs.inflate; exports.inflateRaw = _chunkWT6ZAWJPcjs.inflateRaw; exports.insertLayer = _chunkWT6ZAWJPcjs.insertLayer; exports.isBlendMode = _chunkCRMAXIUVcjs.isBlendMode; exports.isInterpolation = _chunkWT6ZAWJPcjs.isInterpolation; exports.isLayerEffectKind = _chunkWT6ZAWJPcjs.isLayerEffectKind; exports.isLayerLocked = _chunkWT6ZAWJPcjs.isLayerLocked; exports.isPng = _chunkWT6ZAWJPcjs.isPng; exports.isSeparableBlendMode = _chunkCRMAXIUVcjs.isSeparableBlendMode; exports.keysWeight = _chunkWT6ZAWJPcjs.keysWeight; exports.layerEffectFields = _chunkWT6ZAWJPcjs.layerEffectFields; exports.layerEffectLabel = _chunkWT6ZAWJPcjs.layerEffectLabel; exports.mapLayer = _chunkWT6ZAWJPcjs.mapLayer; exports.mergeLayerEffect = _chunkWT6ZAWJPcjs.mergeLayerEffect; exports.mixPigment8 = _chunkCRMAXIUVcjs.mixPigment8; exports.mixPigmentRgb = _chunkCRMAXIUVcjs.mixPigmentRgb; exports.newEffectId = _chunkWT6ZAWJPcjs.newEffectId; exports.normalizeBlendMode = _chunkCRMAXIUVcjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkWT6ZAWJPcjs.normalizeLayerEffects; exports.packRgba = _chunkCRMAXIUVcjs.packRgba; exports.parseDataUrl = _chunkWT6ZAWJPcjs.parseDataUrl; exports.parseEffectColor = _chunkWT6ZAWJPcjs.parseEffectColor; exports.patchEffectMaps = _chunkWT6ZAWJPcjs.patchEffectMaps; exports.pngDataUrl = _chunkWT6ZAWJPcjs.pngDataUrl; exports.readPixel = _chunkCRMAXIUVcjs.readPixel; exports.readRegion = _chunkCRMAXIUVcjs.readRegion; exports.reduceSurface = _chunkWT6ZAWJPcjs.reduceSurface; exports.renderLayerEffects = _chunkWT6ZAWJPcjs.renderLayerEffects; exports.scaleLayerEffect = _chunkWT6ZAWJPcjs.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 = _chunkWT6ZAWJPcjs.transformSurface; exports.transformedBounds = _chunkWT6ZAWJPcjs.transformedBounds; exports.translateSurface = _chunkCRMAXIUVcjs.translateSurface; exports.uniformTile = _chunkCRMAXIUVcjs.uniformTile; exports.validateEffectGradient = _chunkWT6ZAWJPcjs.validateEffectGradient; exports.validateLayerEffect = _chunkWT6ZAWJPcjs.validateLayerEffect; exports.validateLayerEffects = _chunkWT6ZAWJPcjs.validateLayerEffects; exports.warpSurface = _chunkWT6ZAWJPcjs.warpSurface; exports.writeRegion = _chunkCRMAXIUVcjs.writeRegion;
203
224
  //# 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;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;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;AACF,+8KAAC","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;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,5 +1,6 @@
1
1
  import { B as BlendMode, M as MaskSurface, P as PixelSurface, R as RasterRect, T as TiledSurface, h as TileKey } from '../surface-DIA-XatS.cjs';
2
2
  export { a as BLEND_MODES, b as BlendModeInfo, c as Rgb, d as Rgba, S as SurfaceDraft, e as TILE, f as TILE_SHIFT, g as Tile, i as blendChannel, j as blendImageData, k as blendLum, l as blendPixel, m as blendRgb, n as canvasCompositeOperation, o as collectTiles, p as contentBounds, q as emptySurface, r as fillRect, s as finishTile, t 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-DIA-XatS.cjs';
3
+ import { H as Homography, V as Vec2 } from '../types-CwMPoRMU.cjs';
3
4
 
4
5
  /**
5
6
  * Layer effects (Photoshop's layer styles) as data: drop and inner shadows, outer and inner
@@ -396,6 +397,11 @@ interface RasterMask<Source = unknown> {
396
397
  feather?: number;
397
398
  /** `false` keeps the mask but ignores it. */
398
399
  enabled?: boolean;
400
+ /**
401
+ * `false` unlinks the mask from its layer (Photoshop's chain icon): moving or transforming the
402
+ * layer's pixels leaves the mask where it is. Missing = linked.
403
+ */
404
+ linked?: boolean;
399
405
  source?: Source;
400
406
  }
401
407
  interface RasterLayerBase {
@@ -414,7 +420,7 @@ interface RasterLayerBase {
414
420
  }
415
421
  interface RasterPixelLayer extends RasterLayerBase {
416
422
  type: 'pixel';
417
- /** Pixels in layer space; document position = layer position + `offset`. A mask moves with it. */
423
+ /** Pixels in layer space; document position = layer position + `offset`. A linked mask moves with it. */
418
424
  surface: PixelSurface;
419
425
  /** Integer move without re-tiling. */
420
426
  offset: {
@@ -742,6 +748,96 @@ type Edge = BlurEdge;
742
748
  */
743
749
  declare function gaussianBlur(src: ArrayLike<number>, w: number, h: number, sigma: number, edge?: Edge): Float32Array;
744
750
 
751
+ /**
752
+ * Resampling tiled surfaces through geometric maps: Free Transform (scale, rotate, skew, distort,
753
+ * perspective: one projective map) and Warp (any forward map, such as a Bézier mesh).
754
+ *
755
+ * - Inverse mapping per destination tile: each destination tile reads only the source window its
756
+ * pixels map into, so memory stays bounded by one tile's footprint, and the result is a new
757
+ * copy-on-write surface (an identity or a whole-pixel move returns the source, or shares its
758
+ * tiles).
759
+ * - Nearest, bilinear and Photoshop's Bicubic (the Keys cubic at a = −0.75). Colour is sampled
760
+ * premultiplied by alpha, so partially transparent edges don't pick up the colour of the
761
+ * transparent pixels around them; outside the source everything is transparent.
762
+ * - Large reductions with Bicubic are pre-filtered: the source is box-averaged by whole factors
763
+ * first and the cubic widened by the rest, so shrinking a layer doesn't alias. Bilinear and
764
+ * nearest sample the source directly, as Photoshop's do.
765
+ * - Masks (one channel) are warped as "value + inside": outside the source and outside the warped
766
+ * area they read as the surface's default value, so a reveal-all mask stays white around a
767
+ * transformed hole.
768
+ * - A Distort dragged past the horizon draws only the side of the horizon most of the source maps
769
+ * to (no mirrored copy wrapped round infinity).
770
+ *
771
+ * No DOM: runs in Node, tests and workers.
772
+ */
773
+
774
+ /** Resampling of a transform (Photoshop's interpolation menu). */
775
+ type Interpolation = 'nearest' | 'bilinear' | 'bicubic';
776
+ declare const INTERPOLATIONS: readonly Interpolation[];
777
+ declare function isInterpolation(value: unknown): value is Interpolation;
778
+ /**
779
+ * The largest result (pixels) one resample may build: about 11 600 × 11 600. Only the size of the
780
+ * result counts, not where it lands. A scale past it is refused rather than clipped.
781
+ */
782
+ declare const MAX_TRANSFORM_PIXELS: number;
783
+ /** A transform whose result would be too large; the message gives the size and the limit. */
784
+ declare class TransformTooLargeError extends Error {
785
+ constructor(message: string);
786
+ }
787
+ interface ResampleOptions {
788
+ /** Default `bicubic`. */
789
+ interpolation?: Interpolation;
790
+ /** The source region to transform (default: the surface's content bounds). Pixels outside it are not moved. */
791
+ source?: RasterRect;
792
+ /** Keep only destination pixels inside this rectangle (a preview of the visible area). */
793
+ clip?: RasterRect;
794
+ /**
795
+ * Preview speed-up: sample once per `step × step` block of destination pixels and fill the
796
+ * block (a power of two, 1..64; default 1, every pixel).
797
+ */
798
+ step?: number;
799
+ }
800
+ /**
801
+ * Photoshop's Bicubic: the Keys cubic at a = −0.75 (Catmull-Rom is −0.5). Measured on Photoshop
802
+ * 27.11's Free Transform by photocraft: a 200 % step edge matches within 0.5 levels.
803
+ */
804
+ declare function keysWeight(x: number): number;
805
+ /**
806
+ * The surface box-averaged by `factor` (a whole number ≥ 1) in both directions: reduced pixel
807
+ * (i, j) covers pixels [i·factor, (i+1)·factor) of each axis. For previews: transform the reduced
808
+ * surface through the map composed with a scale by `factor`, so a preview at a low zoom reads a
809
+ * fraction of the pixels.
810
+ */
811
+ declare function reduceSurface(src: TiledSurface, factor: number): TiledSurface;
812
+ /** The destination rectangle `transformSurface` fills for `source` under `h`, or `null` when it is empty or unbounded. */
813
+ declare function transformedBounds(source: RasterRect, h: Homography): RasterRect | null;
814
+ /**
815
+ * The surface's content inside `options.source` (default: all of it) warped by `h` (source →
816
+ * destination, both in the surface's pixel space). Pixels outside the warped area are the default
817
+ * (transparent for layers). Throws `TransformTooLargeError` past `MAX_TRANSFORM_PIXELS`.
818
+ */
819
+ declare function transformSurface(src: TiledSurface, h: Homography, options?: ResampleOptions): TiledSurface;
820
+ /**
821
+ * The surface's content inside `options.source` (default: all of it) warped through the forward
822
+ * map `f` (source → destination pixel space; `null` where it is undefined).
823
+ *
824
+ * The source rectangle is subdivided into a fine grid whose vertices are mapped forward; each
825
+ * cell's two triangles are rasterized in destination space with the source position interpolated
826
+ * barycentrically, then the source is sampled there. Cells are a few source pixels across, so the
827
+ * piecewise-affine inverse is within a small fraction of a pixel of the true one; affine maps (the
828
+ * identity included) are reproduced exactly. Where the warp shrinks the source, each pixel instead
829
+ * averages a grid of bilinear subsamples over its source footprint, so thin lines don't alias.
830
+ * Where the warp folds over itself the later (lower-right) cell wins.
831
+ */
832
+ declare function warpSurface(src: TiledSurface, f: (p: Vec2) => Vec2 | null, options?: ResampleOptions): TiledSurface;
833
+ /**
834
+ * `top` (RGBA, straight alpha) composited over `base` with the Normal blend. A one-channel `base`
835
+ * (a mask) takes `top`'s red channel as the value, weighted by its alpha: that is how a moved part
836
+ * of a mask travels (value and coverage) and lands. Only tiles `top` stores are touched, so every
837
+ * other tile of `base` stays shared.
838
+ */
839
+ declare function compositeSurfaceOver(base: TiledSurface, top: TiledSurface): TiledSurface;
840
+
745
841
  /**
746
842
  * Curve lookup tables shared by Curves adjustments and layer-effect contours.
747
843
  */
@@ -947,4 +1043,4 @@ declare function deflateRaw(data: Uint8Array, level?: 0 | 1): Uint8Array;
947
1043
  /** zlib stream: header, raw deflate, Adler-32. */
948
1044
  declare function deflate(data: Uint8Array, level?: 0 | 1): Uint8Array;
949
1045
 
950
- export { type BevelContour, type BevelEmbossEffect, type BevelStyle, type BevelTechnique, type BevelTexture, BlendMode, type BlurEdge, CURVE_LUT_SIZE, type ColorOverlayEffect, type CompositeCallOptions, type CompositeStats, type CompositorLayer, type CompositorOptions, type CompositorProfile, type ContourPoint, DEFAULT_GLOBAL_LIGHT, DIRECT_GAUSSIAN_MAX_SIGMA, type DecodedPng, type DropShadowEffect, type EffectCompositeInput, type EffectContext, type EffectContour, type EffectFill, type EffectGradient, type EffectMaps, type EffectPattern, type EffectPatternRef, type EffectRect, type GlobalLight, type GlowTechnique, type GradientColorStop, type GradientOpacityStop, type GradientOverlayEffect, type GradientStyle, type GroupBlendMode, type GroupIn, type InnerGlowEffect, type InnerShadowEffect, LAYER_EFFECT_KINDS, type LayerEffect, LayerEffectError, type LayerEffectKind, type LayerEffects, type LayerLocation, type LayerLocks, MAX_EFFECT_REACH, MaskSurface, type OuterGlowEffect, type PatternOverlayEffect, PatternPlacement, PatternTile, type PixelFilterSpec, PixelSurface, RasterCompositor, type RasterGroupLayer, type RasterLayer, type RasterLayerBase, type RasterMask, type RasterNode, type RasterPixelLayer, RasterRect, type RasterSources, STROKE_CHAMFER_MAX, type SatinEffect, type StrokeEffect, type StrokePosition, TileKey, TiledSurface, ZlibError, activeEffectItems, adler32, base64ToBytes, blendTile, buildEffectMaps, builtinPattern, builtinPatternIds, bytesToBase64, changedTiles, compositeLayerEffects, contourLut, curveLut, decodePng, defaultEffectGradient, defaultLayerEffect, deflate, deflateRaw, effectColorHex, effectReach, effectsAreLocal, effectsFingerprint, effectsMargin, effectsScale, encodePng, findLayer, flattenLayers, gaussianBlur, gradientT, hasActiveEffects, hashNoise, inflate, inflateRaw, insertLayer, isLayerEffectKind, isLayerLocked, isPng, layerEffectFields, layerEffectLabel, mapLayer, mergeLayerEffect, newEffectId, normalizeLayerEffects, parseDataUrl, parseEffectColor, patchEffectMaps, pngDataUrl, renderLayerEffects, scaleLayerEffect, validateEffectGradient, validateLayerEffect, validateLayerEffects };
1046
+ export { type BevelContour, type BevelEmbossEffect, type BevelStyle, type BevelTechnique, type BevelTexture, BlendMode, type BlurEdge, CURVE_LUT_SIZE, type ColorOverlayEffect, type CompositeCallOptions, type CompositeStats, type CompositorLayer, type CompositorOptions, type CompositorProfile, type ContourPoint, DEFAULT_GLOBAL_LIGHT, DIRECT_GAUSSIAN_MAX_SIGMA, type DecodedPng, type DropShadowEffect, type EffectCompositeInput, type EffectContext, type EffectContour, type EffectFill, type EffectGradient, type EffectMaps, type EffectPattern, type EffectPatternRef, type EffectRect, type GlobalLight, type GlowTechnique, type GradientColorStop, type GradientOpacityStop, type GradientOverlayEffect, type GradientStyle, type GroupBlendMode, type GroupIn, INTERPOLATIONS, type InnerGlowEffect, type InnerShadowEffect, type Interpolation, LAYER_EFFECT_KINDS, type LayerEffect, LayerEffectError, type LayerEffectKind, type LayerEffects, type LayerLocation, type LayerLocks, MAX_EFFECT_REACH, MAX_TRANSFORM_PIXELS, MaskSurface, type OuterGlowEffect, type PatternOverlayEffect, PatternPlacement, PatternTile, type PixelFilterSpec, PixelSurface, RasterCompositor, type RasterGroupLayer, type RasterLayer, type RasterLayerBase, type RasterMask, type RasterNode, type RasterPixelLayer, RasterRect, type RasterSources, type ResampleOptions, STROKE_CHAMFER_MAX, type SatinEffect, type StrokeEffect, type StrokePosition, TileKey, TiledSurface, TransformTooLargeError, ZlibError, activeEffectItems, adler32, base64ToBytes, blendTile, buildEffectMaps, builtinPattern, builtinPatternIds, bytesToBase64, changedTiles, compositeLayerEffects, compositeSurfaceOver, contourLut, curveLut, decodePng, defaultEffectGradient, defaultLayerEffect, deflate, deflateRaw, effectColorHex, effectReach, effectsAreLocal, effectsFingerprint, effectsMargin, effectsScale, encodePng, findLayer, flattenLayers, gaussianBlur, gradientT, hasActiveEffects, hashNoise, inflate, inflateRaw, insertLayer, isInterpolation, isLayerEffectKind, isLayerLocked, isPng, keysWeight, layerEffectFields, layerEffectLabel, mapLayer, mergeLayerEffect, newEffectId, normalizeLayerEffects, parseDataUrl, parseEffectColor, patchEffectMaps, pngDataUrl, reduceSurface, renderLayerEffects, scaleLayerEffect, transformSurface, transformedBounds, validateEffectGradient, validateLayerEffect, validateLayerEffects, warpSurface };
@@ -1,5 +1,6 @@
1
1
  import { B as BlendMode, M as MaskSurface, P as PixelSurface, R as RasterRect, T as TiledSurface, h as TileKey } from '../surface-DIA-XatS.js';
2
2
  export { a as BLEND_MODES, b as BlendModeInfo, c as Rgb, d as Rgba, S as SurfaceDraft, e as TILE, f as TILE_SHIFT, g as Tile, i as blendChannel, j as blendImageData, k as blendLum, l as blendPixel, m as blendRgb, n as canvasCompositeOperation, o as collectTiles, p as contentBounds, q as emptySurface, r as fillRect, s as finishTile, t 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-DIA-XatS.js';
3
+ import { H as Homography, V as Vec2 } from '../types-CwMPoRMU.js';
3
4
 
4
5
  /**
5
6
  * Layer effects (Photoshop's layer styles) as data: drop and inner shadows, outer and inner
@@ -396,6 +397,11 @@ interface RasterMask<Source = unknown> {
396
397
  feather?: number;
397
398
  /** `false` keeps the mask but ignores it. */
398
399
  enabled?: boolean;
400
+ /**
401
+ * `false` unlinks the mask from its layer (Photoshop's chain icon): moving or transforming the
402
+ * layer's pixels leaves the mask where it is. Missing = linked.
403
+ */
404
+ linked?: boolean;
399
405
  source?: Source;
400
406
  }
401
407
  interface RasterLayerBase {
@@ -414,7 +420,7 @@ interface RasterLayerBase {
414
420
  }
415
421
  interface RasterPixelLayer extends RasterLayerBase {
416
422
  type: 'pixel';
417
- /** Pixels in layer space; document position = layer position + `offset`. A mask moves with it. */
423
+ /** Pixels in layer space; document position = layer position + `offset`. A linked mask moves with it. */
418
424
  surface: PixelSurface;
419
425
  /** Integer move without re-tiling. */
420
426
  offset: {
@@ -742,6 +748,96 @@ type Edge = BlurEdge;
742
748
  */
743
749
  declare function gaussianBlur(src: ArrayLike<number>, w: number, h: number, sigma: number, edge?: Edge): Float32Array;
744
750
 
751
+ /**
752
+ * Resampling tiled surfaces through geometric maps: Free Transform (scale, rotate, skew, distort,
753
+ * perspective: one projective map) and Warp (any forward map, such as a Bézier mesh).
754
+ *
755
+ * - Inverse mapping per destination tile: each destination tile reads only the source window its
756
+ * pixels map into, so memory stays bounded by one tile's footprint, and the result is a new
757
+ * copy-on-write surface (an identity or a whole-pixel move returns the source, or shares its
758
+ * tiles).
759
+ * - Nearest, bilinear and Photoshop's Bicubic (the Keys cubic at a = −0.75). Colour is sampled
760
+ * premultiplied by alpha, so partially transparent edges don't pick up the colour of the
761
+ * transparent pixels around them; outside the source everything is transparent.
762
+ * - Large reductions with Bicubic are pre-filtered: the source is box-averaged by whole factors
763
+ * first and the cubic widened by the rest, so shrinking a layer doesn't alias. Bilinear and
764
+ * nearest sample the source directly, as Photoshop's do.
765
+ * - Masks (one channel) are warped as "value + inside": outside the source and outside the warped
766
+ * area they read as the surface's default value, so a reveal-all mask stays white around a
767
+ * transformed hole.
768
+ * - A Distort dragged past the horizon draws only the side of the horizon most of the source maps
769
+ * to (no mirrored copy wrapped round infinity).
770
+ *
771
+ * No DOM: runs in Node, tests and workers.
772
+ */
773
+
774
+ /** Resampling of a transform (Photoshop's interpolation menu). */
775
+ type Interpolation = 'nearest' | 'bilinear' | 'bicubic';
776
+ declare const INTERPOLATIONS: readonly Interpolation[];
777
+ declare function isInterpolation(value: unknown): value is Interpolation;
778
+ /**
779
+ * The largest result (pixels) one resample may build: about 11 600 × 11 600. Only the size of the
780
+ * result counts, not where it lands. A scale past it is refused rather than clipped.
781
+ */
782
+ declare const MAX_TRANSFORM_PIXELS: number;
783
+ /** A transform whose result would be too large; the message gives the size and the limit. */
784
+ declare class TransformTooLargeError extends Error {
785
+ constructor(message: string);
786
+ }
787
+ interface ResampleOptions {
788
+ /** Default `bicubic`. */
789
+ interpolation?: Interpolation;
790
+ /** The source region to transform (default: the surface's content bounds). Pixels outside it are not moved. */
791
+ source?: RasterRect;
792
+ /** Keep only destination pixels inside this rectangle (a preview of the visible area). */
793
+ clip?: RasterRect;
794
+ /**
795
+ * Preview speed-up: sample once per `step × step` block of destination pixels and fill the
796
+ * block (a power of two, 1..64; default 1, every pixel).
797
+ */
798
+ step?: number;
799
+ }
800
+ /**
801
+ * Photoshop's Bicubic: the Keys cubic at a = −0.75 (Catmull-Rom is −0.5). Measured on Photoshop
802
+ * 27.11's Free Transform by photocraft: a 200 % step edge matches within 0.5 levels.
803
+ */
804
+ declare function keysWeight(x: number): number;
805
+ /**
806
+ * The surface box-averaged by `factor` (a whole number ≥ 1) in both directions: reduced pixel
807
+ * (i, j) covers pixels [i·factor, (i+1)·factor) of each axis. For previews: transform the reduced
808
+ * surface through the map composed with a scale by `factor`, so a preview at a low zoom reads a
809
+ * fraction of the pixels.
810
+ */
811
+ declare function reduceSurface(src: TiledSurface, factor: number): TiledSurface;
812
+ /** The destination rectangle `transformSurface` fills for `source` under `h`, or `null` when it is empty or unbounded. */
813
+ declare function transformedBounds(source: RasterRect, h: Homography): RasterRect | null;
814
+ /**
815
+ * The surface's content inside `options.source` (default: all of it) warped by `h` (source →
816
+ * destination, both in the surface's pixel space). Pixels outside the warped area are the default
817
+ * (transparent for layers). Throws `TransformTooLargeError` past `MAX_TRANSFORM_PIXELS`.
818
+ */
819
+ declare function transformSurface(src: TiledSurface, h: Homography, options?: ResampleOptions): TiledSurface;
820
+ /**
821
+ * The surface's content inside `options.source` (default: all of it) warped through the forward
822
+ * map `f` (source → destination pixel space; `null` where it is undefined).
823
+ *
824
+ * The source rectangle is subdivided into a fine grid whose vertices are mapped forward; each
825
+ * cell's two triangles are rasterized in destination space with the source position interpolated
826
+ * barycentrically, then the source is sampled there. Cells are a few source pixels across, so the
827
+ * piecewise-affine inverse is within a small fraction of a pixel of the true one; affine maps (the
828
+ * identity included) are reproduced exactly. Where the warp shrinks the source, each pixel instead
829
+ * averages a grid of bilinear subsamples over its source footprint, so thin lines don't alias.
830
+ * Where the warp folds over itself the later (lower-right) cell wins.
831
+ */
832
+ declare function warpSurface(src: TiledSurface, f: (p: Vec2) => Vec2 | null, options?: ResampleOptions): TiledSurface;
833
+ /**
834
+ * `top` (RGBA, straight alpha) composited over `base` with the Normal blend. A one-channel `base`
835
+ * (a mask) takes `top`'s red channel as the value, weighted by its alpha: that is how a moved part
836
+ * of a mask travels (value and coverage) and lands. Only tiles `top` stores are touched, so every
837
+ * other tile of `base` stays shared.
838
+ */
839
+ declare function compositeSurfaceOver(base: TiledSurface, top: TiledSurface): TiledSurface;
840
+
745
841
  /**
746
842
  * Curve lookup tables shared by Curves adjustments and layer-effect contours.
747
843
  */
@@ -947,4 +1043,4 @@ declare function deflateRaw(data: Uint8Array, level?: 0 | 1): Uint8Array;
947
1043
  /** zlib stream: header, raw deflate, Adler-32. */
948
1044
  declare function deflate(data: Uint8Array, level?: 0 | 1): Uint8Array;
949
1045
 
950
- export { type BevelContour, type BevelEmbossEffect, type BevelStyle, type BevelTechnique, type BevelTexture, BlendMode, type BlurEdge, CURVE_LUT_SIZE, type ColorOverlayEffect, type CompositeCallOptions, type CompositeStats, type CompositorLayer, type CompositorOptions, type CompositorProfile, type ContourPoint, DEFAULT_GLOBAL_LIGHT, DIRECT_GAUSSIAN_MAX_SIGMA, type DecodedPng, type DropShadowEffect, type EffectCompositeInput, type EffectContext, type EffectContour, type EffectFill, type EffectGradient, type EffectMaps, type EffectPattern, type EffectPatternRef, type EffectRect, type GlobalLight, type GlowTechnique, type GradientColorStop, type GradientOpacityStop, type GradientOverlayEffect, type GradientStyle, type GroupBlendMode, type GroupIn, type InnerGlowEffect, type InnerShadowEffect, LAYER_EFFECT_KINDS, type LayerEffect, LayerEffectError, type LayerEffectKind, type LayerEffects, type LayerLocation, type LayerLocks, MAX_EFFECT_REACH, MaskSurface, type OuterGlowEffect, type PatternOverlayEffect, PatternPlacement, PatternTile, type PixelFilterSpec, PixelSurface, RasterCompositor, type RasterGroupLayer, type RasterLayer, type RasterLayerBase, type RasterMask, type RasterNode, type RasterPixelLayer, RasterRect, type RasterSources, STROKE_CHAMFER_MAX, type SatinEffect, type StrokeEffect, type StrokePosition, TileKey, TiledSurface, ZlibError, activeEffectItems, adler32, base64ToBytes, blendTile, buildEffectMaps, builtinPattern, builtinPatternIds, bytesToBase64, changedTiles, compositeLayerEffects, contourLut, curveLut, decodePng, defaultEffectGradient, defaultLayerEffect, deflate, deflateRaw, effectColorHex, effectReach, effectsAreLocal, effectsFingerprint, effectsMargin, effectsScale, encodePng, findLayer, flattenLayers, gaussianBlur, gradientT, hasActiveEffects, hashNoise, inflate, inflateRaw, insertLayer, isLayerEffectKind, isLayerLocked, isPng, layerEffectFields, layerEffectLabel, mapLayer, mergeLayerEffect, newEffectId, normalizeLayerEffects, parseDataUrl, parseEffectColor, patchEffectMaps, pngDataUrl, renderLayerEffects, scaleLayerEffect, validateEffectGradient, validateLayerEffect, validateLayerEffects };
1046
+ export { type BevelContour, type BevelEmbossEffect, type BevelStyle, type BevelTechnique, type BevelTexture, BlendMode, type BlurEdge, CURVE_LUT_SIZE, type ColorOverlayEffect, type CompositeCallOptions, type CompositeStats, type CompositorLayer, type CompositorOptions, type CompositorProfile, type ContourPoint, DEFAULT_GLOBAL_LIGHT, DIRECT_GAUSSIAN_MAX_SIGMA, type DecodedPng, type DropShadowEffect, type EffectCompositeInput, type EffectContext, type EffectContour, type EffectFill, type EffectGradient, type EffectMaps, type EffectPattern, type EffectPatternRef, type EffectRect, type GlobalLight, type GlowTechnique, type GradientColorStop, type GradientOpacityStop, type GradientOverlayEffect, type GradientStyle, type GroupBlendMode, type GroupIn, INTERPOLATIONS, type InnerGlowEffect, type InnerShadowEffect, type Interpolation, LAYER_EFFECT_KINDS, type LayerEffect, LayerEffectError, type LayerEffectKind, type LayerEffects, type LayerLocation, type LayerLocks, MAX_EFFECT_REACH, MAX_TRANSFORM_PIXELS, MaskSurface, type OuterGlowEffect, type PatternOverlayEffect, PatternPlacement, PatternTile, type PixelFilterSpec, PixelSurface, RasterCompositor, type RasterGroupLayer, type RasterLayer, type RasterLayerBase, type RasterMask, type RasterNode, type RasterPixelLayer, RasterRect, type RasterSources, type ResampleOptions, STROKE_CHAMFER_MAX, type SatinEffect, type StrokeEffect, type StrokePosition, TileKey, TiledSurface, TransformTooLargeError, ZlibError, activeEffectItems, adler32, base64ToBytes, blendTile, buildEffectMaps, builtinPattern, builtinPatternIds, bytesToBase64, changedTiles, compositeLayerEffects, compositeSurfaceOver, contourLut, curveLut, decodePng, defaultEffectGradient, defaultLayerEffect, deflate, deflateRaw, effectColorHex, effectReach, effectsAreLocal, effectsFingerprint, effectsMargin, effectsScale, encodePng, findLayer, flattenLayers, gaussianBlur, gradientT, hasActiveEffects, hashNoise, inflate, inflateRaw, insertLayer, isInterpolation, isLayerEffectKind, isLayerLocked, isPng, keysWeight, layerEffectFields, layerEffectLabel, mapLayer, mergeLayerEffect, newEffectId, normalizeLayerEffects, parseDataUrl, parseEffectColor, patchEffectMaps, pngDataUrl, reduceSurface, renderLayerEffects, scaleLayerEffect, transformSurface, transformedBounds, validateEffectGradient, validateLayerEffect, validateLayerEffects, warpSurface };
@@ -2,13 +2,16 @@ import {
2
2
  CURVE_LUT_SIZE,
3
3
  DEFAULT_GLOBAL_LIGHT,
4
4
  DIRECT_GAUSSIAN_MAX_SIGMA,
5
+ INTERPOLATIONS,
5
6
  LAYER_EFFECT_KINDS,
6
7
  LayerEffectError,
7
8
  MAX_EFFECT_REACH,
9
+ MAX_TRANSFORM_PIXELS,
8
10
  PatternPlacement,
9
11
  PatternTile,
10
12
  RasterCompositor,
11
13
  STROKE_CHAMFER_MAX,
14
+ TransformTooLargeError,
12
15
  ZlibError,
13
16
  activeEffectItems,
14
17
  adler32,
@@ -20,6 +23,7 @@ import {
20
23
  bytesToBase64,
21
24
  changedTiles,
22
25
  compositeLayerEffects,
26
+ compositeSurfaceOver,
23
27
  contourLut,
24
28
  curveLut,
25
29
  decodePng,
@@ -43,9 +47,11 @@ import {
43
47
  inflate,
44
48
  inflateRaw,
45
49
  insertLayer,
50
+ isInterpolation,
46
51
  isLayerEffectKind,
47
52
  isLayerLocked,
48
53
  isPng,
54
+ keysWeight,
49
55
  layerEffectFields,
50
56
  layerEffectLabel,
51
57
  mapLayer,
@@ -56,12 +62,17 @@ import {
56
62
  parseEffectColor,
57
63
  patchEffectMaps,
58
64
  pngDataUrl,
65
+ reduceSurface,
59
66
  renderLayerEffects,
60
67
  scaleLayerEffect,
68
+ transformSurface,
69
+ transformedBounds,
61
70
  validateEffectGradient,
62
71
  validateLayerEffect,
63
- validateLayerEffects
64
- } from "../chunk-OEVSVA6V.js";
72
+ validateLayerEffects,
73
+ warpSurface
74
+ } from "../chunk-WIR377F6.js";
75
+ import "../chunk-GX332W2C.js";
65
76
  import {
66
77
  BLEND_MODES,
67
78
  SurfaceDraft,
@@ -105,9 +116,11 @@ export {
105
116
  CURVE_LUT_SIZE,
106
117
  DEFAULT_GLOBAL_LIGHT,
107
118
  DIRECT_GAUSSIAN_MAX_SIGMA,
119
+ INTERPOLATIONS,
108
120
  LAYER_EFFECT_KINDS,
109
121
  LayerEffectError,
110
122
  MAX_EFFECT_REACH,
123
+ MAX_TRANSFORM_PIXELS,
111
124
  PatternPlacement,
112
125
  PatternTile,
113
126
  RasterCompositor,
@@ -116,6 +129,7 @@ export {
116
129
  TILE,
117
130
  TILE_SHIFT,
118
131
  TiledSurface,
132
+ TransformTooLargeError,
119
133
  ZlibError,
120
134
  activeEffectItems,
121
135
  adler32,
@@ -134,6 +148,7 @@ export {
134
148
  changedTiles,
135
149
  collectTiles,
136
150
  compositeLayerEffects,
151
+ compositeSurfaceOver,
137
152
  contentBounds,
138
153
  contourLut,
139
154
  curveLut,
@@ -162,10 +177,12 @@ export {
162
177
  inflateRaw,
163
178
  insertLayer,
164
179
  isBlendMode,
180
+ isInterpolation,
165
181
  isLayerEffectKind,
166
182
  isLayerLocked,
167
183
  isPng,
168
184
  isSeparableBlendMode,
185
+ keysWeight,
169
186
  layerEffectFields,
170
187
  layerEffectLabel,
171
188
  mapLayer,
@@ -182,6 +199,7 @@ export {
182
199
  pngDataUrl,
183
200
  readPixel,
184
201
  readRegion,
202
+ reduceSurface,
185
203
  renderLayerEffects,
186
204
  scaleLayerEffect,
187
205
  setLum,
@@ -193,11 +211,14 @@ export {
193
211
  tileKey,
194
212
  tileRect,
195
213
  tilesInRect,
214
+ transformSurface,
215
+ transformedBounds,
196
216
  translateSurface,
197
217
  uniformTile,
198
218
  validateEffectGradient,
199
219
  validateLayerEffect,
200
220
  validateLayerEffects,
221
+ warpSurface,
201
222
  writeRegion
202
223
  };
203
224
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  import { C as CanvasGradientDef, S as SvgGradientDef, A as AffineMatrix } from './bezier-BfwIbVTl.cjs';
2
+ import { W as WarpStyle, a as WarpMesh } from './types-CwMPoRMU.cjs';
2
3
 
3
4
  /** An affine matrix `[a, b, c, d, e, f]`: `x' = a·x + c·y + e`, `y' = b·x + d·y + f` (SVG order). */
4
5
  type VectorMatrix = readonly [number, number, number, number, number, number];
@@ -369,20 +370,16 @@ type VectorAverageAxis = 'horizontal' | 'vertical' | 'both';
369
370
  */
370
371
  type VectorEffectType = 'trim' | 'roundCorners' | 'puckerBloat' | 'twist' | 'zigzag' | 'wiggle' | 'offset' | 'merge' | 'repeater' | 'envelope';
371
372
  declare const VECTOR_EFFECT_TYPES: readonly VectorEffectType[];
372
- /** Warp presets (Photoshop's fifteen, in menu order). */
373
- type VectorWarpStyle = 'arc' | 'arcLower' | 'arcUpper' | 'arch' | 'bulge' | 'shellLower' | 'shellUpper' | 'flag' | 'wave' | 'fish' | 'rise' | 'fisheye' | 'inflate' | 'squeeze' | 'twist';
373
+ /** Warp presets (Photoshop's fifteen, in menu order); shared with the image editor (`src/geom`). */
374
+ type VectorWarpStyle = WarpStyle;
374
375
  /**
375
376
  * A grid of bicubic Bézier patches mapping a source box onto the plane. `us` / `vs` are the patch
376
377
  * boundaries as fractions of the box (increasing, first 0, last 1); `points` is the
377
378
  * `(3·(us.length − 1) + 1) × (3·(vs.length − 1) + 1)` control grid, row by row, in the node's own
378
379
  * space. Neighbouring patches share their edge row: anchors sit where both indices are multiples
379
- * of 3, handles where one is.
380
+ * of 3, handles where one is. Shared with the image editor (`src/geom`).
380
381
  */
381
- interface VectorWarpMesh {
382
- us: number[];
383
- vs: number[];
384
- points: Vec2[];
385
- }
382
+ type VectorWarpMesh = WarpMesh;
386
383
  /** Merge Paths modes: a compound path (no boolean), union, the first minus the others, intersection or exclusion. */
387
384
  type VectorMergeMode = 'merge' | 'add' | 'subtract' | 'intersect' | 'exclude';
388
385
  declare const VECTOR_MERGE_MODES: readonly VectorMergeMode[];
@@ -865,4 +862,4 @@ declare function parseSvgTransform(value: string | undefined): AffineMatrix;
865
862
  /** Parses SVG markup into a vector document. Throws when there is no `<svg>` element. */
866
863
  declare function parseVectorSvg(svg: string, options?: VectorSvgImportOptions): VectorDocument;
867
864
 
868
- export { VECTOR_BLEND_SPACINGS as $, type VectorDefaults as A, type VectorStyle as B, type VectorHandleRef as C, type VectorSegmentRef as D, type VectorBlendOptions as E, type VectorModifiers as F, type VectorGradientPatch as G, type VectorAlign as H, type VectorDistribute as I, type VectorArrange as J, type VectorAverageAxis 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 VectorRenderStrokeParts as S, type VectorPaintDef as T, type VectorArrowAlign as U, type VectorDocument as V, type VectorBlend as W, type VectorMergeMode as X, type VectorLineJoin as Y, type VectorWarpStyle as Z, VECTOR_ARROWHEADS as _, type VectorNode as a, vectorGradientAspect as a$, VECTOR_CORNER_KINDS as a0, VECTOR_EFFECT_TYPES as a1, VECTOR_GRADIENT_INTERPOLATIONS as a2, VECTOR_GRADIENT_MAX_PERIODS as a3, VECTOR_GRADIENT_MIN_STOPS as a4, VECTOR_GRADIENT_SPREADS as a5, VECTOR_GRADIENT_TYPES as a6, VECTOR_MERGE_MODES as a7, VECTOR_PATHFINDER_OPERATIONS as a8, VECTOR_STROKE_GRADIENT_MODES as a9, isVectorGradient as aA, mapVectorGradient as aB, mapVectorPaint as aC, moveVectorGradientHandle as aD, moveVectorGradientStop as aE, parseSvgTransform as aF, parseVectorColor as aG, parseVectorSvg as aH, patternAttrs as aI, periodicVectorGradientStops as aJ, pinVectorGradient as aK, removeVectorGradientStop as aL, reverseVectorGradient as aM, samplePlainStops as aN, sampleVectorGradient as aO, sampleVectorGradientAt as aP, sampleVectorPaintDefAt as aQ, sanitizeVectorGradient as aR, setVectorGradientVector as aS, sortedVectorGradientStops as aT, spanVectorGradientStops as aU, transformVectorGradient as aV, transformVectorPaint as aW, vectorBoxMatrix as aX, vectorCornersAttribute as aY, vectorDocumentToSvg as aZ, vectorGradientArea as a_, VECTOR_TOOLS as aa, VECTOR_TRANSFORM_HANDLES as ab, type VectorCorner as ac, type VectorGradientPoints as ad, type VectorGradientRamp as ae, type VectorGradientSvgOptions as af, type VectorGradientUnits as ag, type VectorLineCap as ah, type VectorMatrix as ai, type VectorPaintSvgOptions as aj, type VectorRgba as ak, type VectorSvgImportOptions as al, type VectorSvgPatternDef as am, type VectorSvgWrapper as an, applyVectorCornersAttribute as ao, applyVectorGradientPatch as ap, applyVectorGradientSpread as aq, convertVectorGradient as ar, defaultVectorGradient as as, expandVectorGradientSpread as at, expandVectorGradientStops as au, explicitVectorGradient as av, gradientMidpointRemap as aw, hasExplicitGradientGeometry as ax, insertVectorGradientStop as ay, isCentredVectorGradient as az, type VectorBounds as b, vectorGradientFocalParam as b0, vectorGradientHandles as b1, vectorGradientMatrix as b2, vectorGradientMidpointFromPosition as b3, vectorGradientMidpointPosition as b4, vectorGradientNeedsExpansion as b5, vectorGradientParam as b6, vectorGradientPoints as b7, vectorGradientRamp as b8, vectorGradientSvgDefs as b9, vectorGradientTAt as ba, vectorGradientUnitsMatrix as bb, vectorPaintToSvg as bc, vectorPathLocalBounds as bd, vectorStrokeSvgParts as be, widthProfileFromAttribute as bf, widthProfileToAttribute as bg, type VectorSvgExportOptions as c, 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 VectorEffectType as q, type VectorEffectParamsMap as r, type VectorFillRule as s, type VectorBooleanOperation as t, type VectorEffect as u, type VectorWarpMesh as v, type VectorTransformHandle as w, type VectorAnchorRef as x, type VectorPathfinderOperation as y, type VectorTool as z };
865
+ export { VECTOR_CORNER_KINDS as $, type VectorDefaults as A, type VectorStyle as B, type VectorHandleRef as C, type VectorSegmentRef as D, type VectorBlendOptions as E, type VectorModifiers as F, type VectorGradientPatch as G, type VectorAlign as H, type VectorDistribute as I, type VectorArrange as J, type VectorAverageAxis 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 VectorRenderStrokeParts as S, type VectorPaintDef as T, type VectorArrowAlign as U, type VectorDocument as V, type VectorBlend as W, type VectorMergeMode as X, type VectorLineJoin as Y, VECTOR_ARROWHEADS as Z, VECTOR_BLEND_SPACINGS as _, type VectorNode as a, vectorGradientAspect as a$, VECTOR_EFFECT_TYPES as a0, VECTOR_GRADIENT_INTERPOLATIONS as a1, VECTOR_GRADIENT_MAX_PERIODS as a2, VECTOR_GRADIENT_MIN_STOPS as a3, VECTOR_GRADIENT_SPREADS as a4, VECTOR_GRADIENT_TYPES as a5, VECTOR_MERGE_MODES as a6, VECTOR_PATHFINDER_OPERATIONS as a7, VECTOR_STROKE_GRADIENT_MODES as a8, VECTOR_TOOLS as a9, isVectorGradient as aA, mapVectorGradient as aB, mapVectorPaint as aC, moveVectorGradientHandle as aD, moveVectorGradientStop as aE, parseSvgTransform as aF, parseVectorColor as aG, parseVectorSvg as aH, patternAttrs as aI, periodicVectorGradientStops as aJ, pinVectorGradient as aK, removeVectorGradientStop as aL, reverseVectorGradient as aM, samplePlainStops as aN, sampleVectorGradient as aO, sampleVectorGradientAt as aP, sampleVectorPaintDefAt as aQ, sanitizeVectorGradient as aR, setVectorGradientVector as aS, sortedVectorGradientStops as aT, spanVectorGradientStops as aU, transformVectorGradient as aV, transformVectorPaint as aW, vectorBoxMatrix as aX, vectorCornersAttribute as aY, vectorDocumentToSvg as aZ, vectorGradientArea as a_, VECTOR_TRANSFORM_HANDLES as aa, type VectorCorner 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 VectorSvgImportOptions as ak, type VectorSvgPatternDef as al, type VectorSvgWrapper as am, type VectorWarpStyle as an, applyVectorCornersAttribute as ao, applyVectorGradientPatch as ap, applyVectorGradientSpread as aq, convertVectorGradient as ar, defaultVectorGradient as as, expandVectorGradientSpread as at, expandVectorGradientStops as au, explicitVectorGradient as av, gradientMidpointRemap as aw, hasExplicitGradientGeometry as ax, insertVectorGradientStop as ay, isCentredVectorGradient as az, type VectorBounds as b, vectorGradientFocalParam as b0, vectorGradientHandles as b1, vectorGradientMatrix as b2, vectorGradientMidpointFromPosition as b3, vectorGradientMidpointPosition as b4, vectorGradientNeedsExpansion as b5, vectorGradientParam as b6, vectorGradientPoints as b7, vectorGradientRamp as b8, vectorGradientSvgDefs as b9, vectorGradientTAt as ba, vectorGradientUnitsMatrix as bb, vectorPaintToSvg as bc, vectorPathLocalBounds as bd, vectorStrokeSvgParts as be, widthProfileFromAttribute as bf, widthProfileToAttribute as bg, type VectorSvgExportOptions as c, 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 VectorEffectType as q, type VectorEffectParamsMap as r, type VectorFillRule as s, type VectorBooleanOperation as t, type VectorEffect as u, type VectorWarpMesh as v, type VectorTransformHandle as w, type VectorAnchorRef as x, type VectorPathfinderOperation as y, type VectorTool as z };
@@ -1,4 +1,5 @@
1
1
  import { C as CanvasGradientDef, S as SvgGradientDef, A as AffineMatrix } from './bezier-DYBvLgUH.js';
2
+ import { W as WarpStyle, a as WarpMesh } from './types-CwMPoRMU.js';
2
3
 
3
4
  /** An affine matrix `[a, b, c, d, e, f]`: `x' = a·x + c·y + e`, `y' = b·x + d·y + f` (SVG order). */
4
5
  type VectorMatrix = readonly [number, number, number, number, number, number];
@@ -369,20 +370,16 @@ type VectorAverageAxis = 'horizontal' | 'vertical' | 'both';
369
370
  */
370
371
  type VectorEffectType = 'trim' | 'roundCorners' | 'puckerBloat' | 'twist' | 'zigzag' | 'wiggle' | 'offset' | 'merge' | 'repeater' | 'envelope';
371
372
  declare const VECTOR_EFFECT_TYPES: readonly VectorEffectType[];
372
- /** Warp presets (Photoshop's fifteen, in menu order). */
373
- type VectorWarpStyle = 'arc' | 'arcLower' | 'arcUpper' | 'arch' | 'bulge' | 'shellLower' | 'shellUpper' | 'flag' | 'wave' | 'fish' | 'rise' | 'fisheye' | 'inflate' | 'squeeze' | 'twist';
373
+ /** Warp presets (Photoshop's fifteen, in menu order); shared with the image editor (`src/geom`). */
374
+ type VectorWarpStyle = WarpStyle;
374
375
  /**
375
376
  * A grid of bicubic Bézier patches mapping a source box onto the plane. `us` / `vs` are the patch
376
377
  * boundaries as fractions of the box (increasing, first 0, last 1); `points` is the
377
378
  * `(3·(us.length − 1) + 1) × (3·(vs.length − 1) + 1)` control grid, row by row, in the node's own
378
379
  * space. Neighbouring patches share their edge row: anchors sit where both indices are multiples
379
- * of 3, handles where one is.
380
+ * of 3, handles where one is. Shared with the image editor (`src/geom`).
380
381
  */
381
- interface VectorWarpMesh {
382
- us: number[];
383
- vs: number[];
384
- points: Vec2[];
385
- }
382
+ type VectorWarpMesh = WarpMesh;
386
383
  /** Merge Paths modes: a compound path (no boolean), union, the first minus the others, intersection or exclusion. */
387
384
  type VectorMergeMode = 'merge' | 'add' | 'subtract' | 'intersect' | 'exclude';
388
385
  declare const VECTOR_MERGE_MODES: readonly VectorMergeMode[];
@@ -865,4 +862,4 @@ declare function parseSvgTransform(value: string | undefined): AffineMatrix;
865
862
  /** Parses SVG markup into a vector document. Throws when there is no `<svg>` element. */
866
863
  declare function parseVectorSvg(svg: string, options?: VectorSvgImportOptions): VectorDocument;
867
864
 
868
- export { VECTOR_BLEND_SPACINGS as $, type VectorDefaults as A, type VectorStyle as B, type VectorHandleRef as C, type VectorSegmentRef as D, type VectorBlendOptions as E, type VectorModifiers as F, type VectorGradientPatch as G, type VectorAlign as H, type VectorDistribute as I, type VectorArrange as J, type VectorAverageAxis 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 VectorRenderStrokeParts as S, type VectorPaintDef as T, type VectorArrowAlign as U, type VectorDocument as V, type VectorBlend as W, type VectorMergeMode as X, type VectorLineJoin as Y, type VectorWarpStyle as Z, VECTOR_ARROWHEADS as _, type VectorNode as a, vectorGradientAspect as a$, VECTOR_CORNER_KINDS as a0, VECTOR_EFFECT_TYPES as a1, VECTOR_GRADIENT_INTERPOLATIONS as a2, VECTOR_GRADIENT_MAX_PERIODS as a3, VECTOR_GRADIENT_MIN_STOPS as a4, VECTOR_GRADIENT_SPREADS as a5, VECTOR_GRADIENT_TYPES as a6, VECTOR_MERGE_MODES as a7, VECTOR_PATHFINDER_OPERATIONS as a8, VECTOR_STROKE_GRADIENT_MODES as a9, isVectorGradient as aA, mapVectorGradient as aB, mapVectorPaint as aC, moveVectorGradientHandle as aD, moveVectorGradientStop as aE, parseSvgTransform as aF, parseVectorColor as aG, parseVectorSvg as aH, patternAttrs as aI, periodicVectorGradientStops as aJ, pinVectorGradient as aK, removeVectorGradientStop as aL, reverseVectorGradient as aM, samplePlainStops as aN, sampleVectorGradient as aO, sampleVectorGradientAt as aP, sampleVectorPaintDefAt as aQ, sanitizeVectorGradient as aR, setVectorGradientVector as aS, sortedVectorGradientStops as aT, spanVectorGradientStops as aU, transformVectorGradient as aV, transformVectorPaint as aW, vectorBoxMatrix as aX, vectorCornersAttribute as aY, vectorDocumentToSvg as aZ, vectorGradientArea as a_, VECTOR_TOOLS as aa, VECTOR_TRANSFORM_HANDLES as ab, type VectorCorner as ac, type VectorGradientPoints as ad, type VectorGradientRamp as ae, type VectorGradientSvgOptions as af, type VectorGradientUnits as ag, type VectorLineCap as ah, type VectorMatrix as ai, type VectorPaintSvgOptions as aj, type VectorRgba as ak, type VectorSvgImportOptions as al, type VectorSvgPatternDef as am, type VectorSvgWrapper as an, applyVectorCornersAttribute as ao, applyVectorGradientPatch as ap, applyVectorGradientSpread as aq, convertVectorGradient as ar, defaultVectorGradient as as, expandVectorGradientSpread as at, expandVectorGradientStops as au, explicitVectorGradient as av, gradientMidpointRemap as aw, hasExplicitGradientGeometry as ax, insertVectorGradientStop as ay, isCentredVectorGradient as az, type VectorBounds as b, vectorGradientFocalParam as b0, vectorGradientHandles as b1, vectorGradientMatrix as b2, vectorGradientMidpointFromPosition as b3, vectorGradientMidpointPosition as b4, vectorGradientNeedsExpansion as b5, vectorGradientParam as b6, vectorGradientPoints as b7, vectorGradientRamp as b8, vectorGradientSvgDefs as b9, vectorGradientTAt as ba, vectorGradientUnitsMatrix as bb, vectorPaintToSvg as bc, vectorPathLocalBounds as bd, vectorStrokeSvgParts as be, widthProfileFromAttribute as bf, widthProfileToAttribute as bg, type VectorSvgExportOptions as c, 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 VectorEffectType as q, type VectorEffectParamsMap as r, type VectorFillRule as s, type VectorBooleanOperation as t, type VectorEffect as u, type VectorWarpMesh as v, type VectorTransformHandle as w, type VectorAnchorRef as x, type VectorPathfinderOperation as y, type VectorTool as z };
865
+ export { VECTOR_CORNER_KINDS as $, type VectorDefaults as A, type VectorStyle as B, type VectorHandleRef as C, type VectorSegmentRef as D, type VectorBlendOptions as E, type VectorModifiers as F, type VectorGradientPatch as G, type VectorAlign as H, type VectorDistribute as I, type VectorArrange as J, type VectorAverageAxis 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 VectorRenderStrokeParts as S, type VectorPaintDef as T, type VectorArrowAlign as U, type VectorDocument as V, type VectorBlend as W, type VectorMergeMode as X, type VectorLineJoin as Y, VECTOR_ARROWHEADS as Z, VECTOR_BLEND_SPACINGS as _, type VectorNode as a, vectorGradientAspect as a$, VECTOR_EFFECT_TYPES as a0, VECTOR_GRADIENT_INTERPOLATIONS as a1, VECTOR_GRADIENT_MAX_PERIODS as a2, VECTOR_GRADIENT_MIN_STOPS as a3, VECTOR_GRADIENT_SPREADS as a4, VECTOR_GRADIENT_TYPES as a5, VECTOR_MERGE_MODES as a6, VECTOR_PATHFINDER_OPERATIONS as a7, VECTOR_STROKE_GRADIENT_MODES as a8, VECTOR_TOOLS as a9, isVectorGradient as aA, mapVectorGradient as aB, mapVectorPaint as aC, moveVectorGradientHandle as aD, moveVectorGradientStop as aE, parseSvgTransform as aF, parseVectorColor as aG, parseVectorSvg as aH, patternAttrs as aI, periodicVectorGradientStops as aJ, pinVectorGradient as aK, removeVectorGradientStop as aL, reverseVectorGradient as aM, samplePlainStops as aN, sampleVectorGradient as aO, sampleVectorGradientAt as aP, sampleVectorPaintDefAt as aQ, sanitizeVectorGradient as aR, setVectorGradientVector as aS, sortedVectorGradientStops as aT, spanVectorGradientStops as aU, transformVectorGradient as aV, transformVectorPaint as aW, vectorBoxMatrix as aX, vectorCornersAttribute as aY, vectorDocumentToSvg as aZ, vectorGradientArea as a_, VECTOR_TRANSFORM_HANDLES as aa, type VectorCorner 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 VectorSvgImportOptions as ak, type VectorSvgPatternDef as al, type VectorSvgWrapper as am, type VectorWarpStyle as an, applyVectorCornersAttribute as ao, applyVectorGradientPatch as ap, applyVectorGradientSpread as aq, convertVectorGradient as ar, defaultVectorGradient as as, expandVectorGradientSpread as at, expandVectorGradientStops as au, explicitVectorGradient as av, gradientMidpointRemap as aw, hasExplicitGradientGeometry as ax, insertVectorGradientStop as ay, isCentredVectorGradient as az, type VectorBounds as b, vectorGradientFocalParam as b0, vectorGradientHandles as b1, vectorGradientMatrix as b2, vectorGradientMidpointFromPosition as b3, vectorGradientMidpointPosition as b4, vectorGradientNeedsExpansion as b5, vectorGradientParam as b6, vectorGradientPoints as b7, vectorGradientRamp as b8, vectorGradientSvgDefs as b9, vectorGradientTAt as ba, vectorGradientUnitsMatrix as bb, vectorPaintToSvg as bc, vectorPathLocalBounds as bd, vectorStrokeSvgParts as be, widthProfileFromAttribute as bf, widthProfileToAttribute as bg, type VectorSvgExportOptions as c, 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 VectorEffectType as q, type VectorEffectParamsMap as r, type VectorFillRule as s, type VectorBooleanOperation as t, type VectorEffect as u, type VectorWarpMesh as v, type VectorTransformHandle as w, type VectorAnchorRef as x, type VectorPathfinderOperation as y, type VectorTool as z };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Plain geometry types shared by the vector and image editors. No DOM, no editor types.
3
+ */
4
+ /** A point (or a vector) in some 2D space. */
5
+ interface Vec2 {
6
+ x: number;
7
+ y: number;
8
+ }
9
+ /** An axis-aligned box: top-left corner, width and height. */
10
+ interface Box {
11
+ x: number;
12
+ y: number;
13
+ width: number;
14
+ height: number;
15
+ }
16
+ /** An affine matrix `[a, b, c, d, e, f]`: `x' = a·x + c·y + e`, `y' = b·x + d·y + f` (SVG order). */
17
+ type AffineMatrix = readonly [number, number, number, number, number, number];
18
+ /**
19
+ * A 3×3 projective map, row-major: `[x', y', w'] = H · [x, y, 1]`, so `x' = (h0 x + h1 y + h2) / w'`
20
+ * and `y' = (h3 x + h4 y + h5) / w'` with `w' = h6 x + h7 y + h8`.
21
+ */
22
+ type Homography = readonly [number, number, number, number, number, number, number, number, number];
23
+ /** A quadrilateral's corners clockwise on screen (y down) from the top left: TL, TR, BR, BL. */
24
+ type Quad = readonly [Vec2, Vec2, Vec2, Vec2];
25
+ /** Warp presets (Photoshop's fifteen, in menu order). */
26
+ type WarpStyle = 'arc' | 'arcLower' | 'arcUpper' | 'arch' | 'bulge' | 'shellLower' | 'shellUpper' | 'flag' | 'wave' | 'fish' | 'rise' | 'fisheye' | 'inflate' | 'squeeze' | 'twist';
27
+ /**
28
+ * A grid of bicubic Bézier patches mapping a source box onto the plane. `us` / `vs` are the patch
29
+ * boundaries as fractions of the box (increasing, first 0, last 1); `points` is the
30
+ * `(3·(us.length − 1) + 1) × (3·(vs.length − 1) + 1)` control grid, row by row, in the output
31
+ * space. Neighbouring patches share their edge row: anchors sit where both indices are multiples
32
+ * of 3, handles where one is.
33
+ */
34
+ interface WarpMesh {
35
+ us: number[];
36
+ vs: number[];
37
+ points: Vec2[];
38
+ }
39
+
40
+ export type { AffineMatrix as A, Box as B, Homography as H, Quad as Q, Vec2 as V, WarpStyle as W, WarpMesh as a };