@pixerate/editor 0.112.0 → 0.114.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.
- package/THIRD_PARTY_NOTICES.md +11 -0
- package/dist/animation-editor/index.cjs +60 -54
- package/dist/animation-editor/index.cjs.map +1 -1
- package/dist/animation-editor/index.d.cts +3 -3
- package/dist/animation-editor/index.d.ts +3 -3
- package/dist/animation-editor/index.js +14 -8
- package/dist/animation-editor/index.js.map +1 -1
- package/dist/builtin-CY97ppKM.d.cts +354 -0
- package/dist/builtin-CY97ppKM.d.ts +354 -0
- package/dist/canvas/index.cjs +3 -3
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.js +9 -9
- package/dist/chunk-26PGXHY7.cjs +753 -0
- package/dist/chunk-26PGXHY7.cjs.map +1 -0
- package/dist/chunk-2OJACTPR.cjs +929 -0
- package/dist/chunk-2OJACTPR.cjs.map +1 -0
- package/dist/chunk-3UFGNHSP.js +929 -0
- package/dist/chunk-3UFGNHSP.js.map +1 -0
- package/dist/{chunk-YGIMK4NX.cjs → chunk-5OVJHMZQ.cjs} +757 -825
- package/dist/chunk-5OVJHMZQ.cjs.map +1 -0
- package/dist/chunk-643B2HKC.cjs +534 -0
- package/dist/chunk-643B2HKC.cjs.map +1 -0
- package/dist/chunk-6FCKOS2B.js +534 -0
- package/dist/chunk-6FCKOS2B.js.map +1 -0
- package/dist/chunk-BRLYOPLT.js +2574 -0
- package/dist/chunk-BRLYOPLT.js.map +1 -0
- package/dist/{chunk-LQEEDHOP.js → chunk-C6C5PDKU.js} +759 -761
- package/dist/chunk-C6C5PDKU.js.map +1 -0
- package/dist/chunk-DFQEX3AM.cjs +781 -0
- package/dist/chunk-DFQEX3AM.cjs.map +1 -0
- package/dist/{chunk-CZOXTEMN.js → chunk-EUVSQ25B.js} +336 -404
- package/dist/chunk-EUVSQ25B.js.map +1 -0
- package/dist/chunk-G5NMLUVF.cjs +2574 -0
- package/dist/chunk-G5NMLUVF.cjs.map +1 -0
- package/dist/chunk-LKCYANMW.js +781 -0
- package/dist/chunk-LKCYANMW.js.map +1 -0
- package/dist/{chunk-W3GXSUSQ.cjs → chunk-LPLCWZTM.cjs} +5087 -1283
- package/dist/chunk-LPLCWZTM.cjs.map +1 -0
- package/dist/chunk-MMVHBKMM.js +753 -0
- package/dist/chunk-MMVHBKMM.js.map +1 -0
- package/dist/{chunk-POGBUYWE.cjs → chunk-ST7E3NEE.cjs} +857 -859
- package/dist/chunk-ST7E3NEE.cjs.map +1 -0
- package/dist/{chunk-7VOHOPLW.cjs → chunk-TCKIXI46.cjs} +59 -59
- package/dist/{chunk-7VOHOPLW.cjs.map → chunk-TCKIXI46.cjs.map} +1 -1
- package/dist/{chunk-XIOMMGPD.cjs → chunk-TFOPHZ3U.cjs} +1 -1
- package/dist/chunk-TFOPHZ3U.cjs.map +1 -0
- package/dist/{chunk-Z4BC6M74.js → chunk-UBIXVXPR.js} +2 -2
- package/dist/{chunk-BLWCAQCW.js → chunk-VXR7XWMF.js} +4574 -770
- package/dist/chunk-VXR7XWMF.js.map +1 -0
- package/dist/{chunk-HNS7UHCM.js → chunk-XK5LZKBD.js} +1 -1
- package/dist/chunk-XK5LZKBD.js.map +1 -0
- package/dist/cms/index.cjs +146 -0
- package/dist/cms/index.cjs.map +1 -0
- package/dist/cms/index.d.cts +51 -0
- package/dist/cms/index.d.ts +51 -0
- package/dist/cms/index.js +146 -0
- package/dist/{export-DNu_Jr8p.d.ts → export-_1dUKwpF.d.ts} +326 -195
- package/dist/{export-DBba-buV.d.cts → export-b6NjCZ5-.d.cts} +326 -195
- package/dist/image-editor/index.cjs +2377 -1291
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +149 -97
- package/dist/image-editor/index.d.ts +149 -97
- package/dist/image-editor/index.js +1343 -257
- package/dist/image-editor/index.js.map +1 -1
- package/dist/opentype-BZEOSOX3.d.ts +188 -0
- package/dist/opentype-Dpe75vL5.d.cts +188 -0
- package/dist/paint/index.cjs +63 -4
- package/dist/paint/index.cjs.map +1 -1
- package/dist/paint/index.d.cts +30 -3
- package/dist/paint/index.d.ts +30 -3
- package/dist/paint/index.js +62 -3
- package/dist/paint-editor/index.cjs +146 -145
- package/dist/paint-editor/index.cjs.map +1 -1
- package/dist/paint-editor/index.d.cts +9 -8
- package/dist/paint-editor/index.d.ts +9 -8
- package/dist/paint-editor/index.js +6 -5
- package/dist/paint-editor/index.js.map +1 -1
- package/dist/raster/index.cjs +53 -3
- package/dist/raster/index.cjs.map +1 -1
- package/dist/raster/index.d.cts +62 -91
- package/dist/raster/index.d.ts +62 -91
- package/dist/raster/index.js +59 -9
- package/dist/{render-BEriFuqK.d.cts → render-B1K_OoLy.d.cts} +87 -2
- package/dist/{render-tjzKaik-.d.ts → render-CrmHOgpo.d.ts} +87 -2
- package/dist/{blending-aOE6Y3UE.d.cts → retouch-Bxkuc0KH.d.cts} +219 -2
- package/dist/{blending-DXl06NSx.d.ts → retouch-Do6tBs2H.d.ts} +219 -2
- package/dist/{surface-C8RRg_Bh.d.ts → surface-Cn30xIV6.d.cts} +6 -1
- package/dist/{surface-C8RRg_Bh.d.cts → surface-Cn30xIV6.d.ts} +6 -1
- package/dist/{svg-D_cfkhlB.d.cts → svg-BnRj0q8i.d.cts} +16 -4
- package/dist/{svg-wIaKLrU0.d.ts → svg-CmmBFfGT.d.ts} +16 -4
- package/dist/{types-DtL_qLFz.d.ts → types-1SUQKDAw.d.ts} +273 -4
- package/dist/{types-DyQq-WPY.d.cts → types-yINF17Ta.d.cts} +273 -4
- package/dist/vector/index.cjs +12170 -7343
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.cts +1579 -16
- package/dist/vector/index.d.ts +1579 -16
- package/dist/vector/index.js +6303 -1476
- package/dist/vector/index.js.map +1 -1
- package/dist/warp-B39VsOtd.d.cts +348 -0
- package/dist/warp-DMN30aY6.d.ts +348 -0
- package/dist/zlib-dxQdgHyN.d.cts +95 -0
- package/dist/zlib-dxQdgHyN.d.ts +95 -0
- package/package.json +6 -1
- package/skills/pixerate-image-editor/SKILL.md +34 -34
- package/skills/pixerate-image-editor/references/color-management.md +37 -0
- package/skills/pixerate-image-editor/references/photoshop-files.md +39 -0
- package/skills/pixerate-image-editor/references/retouching.md +36 -0
- package/skills/pixerate-vector/SKILL.md +154 -5
- package/dist/chunk-BLWCAQCW.js.map +0 -1
- package/dist/chunk-CZOXTEMN.js.map +0 -1
- package/dist/chunk-FTBZPI77.cjs +0 -1
- package/dist/chunk-FTBZPI77.cjs.map +0 -1
- package/dist/chunk-HNS7UHCM.js.map +0 -1
- package/dist/chunk-JLYX4V57.cjs +0 -2001
- package/dist/chunk-JLYX4V57.cjs.map +0 -1
- package/dist/chunk-KB2YBCVS.js +0 -2001
- package/dist/chunk-KB2YBCVS.js.map +0 -1
- package/dist/chunk-LQEEDHOP.js.map +0 -1
- package/dist/chunk-POGBUYWE.cjs.map +0 -1
- package/dist/chunk-VKK5VS2T.js +0 -1
- package/dist/chunk-W3GXSUSQ.cjs.map +0 -1
- package/dist/chunk-XIOMMGPD.cjs.map +0 -1
- package/dist/chunk-YGIMK4NX.cjs.map +0 -1
- package/dist/homography-CZ-tFjay.d.cts +0 -50
- package/dist/homography-Ctfjoc1b.d.ts +0 -50
- package/dist/warp-CWHZzE3x.d.ts +0 -118
- package/dist/warp-D5jz_tN7.d.cts +0 -118
- /package/dist/{chunk-Z4BC6M74.js.map → chunk-UBIXVXPR.js.map} +0 -0
- /package/dist/{chunk-VKK5VS2T.js.map → cms/index.js.map} +0 -0
package/dist/raster/index.cjs
CHANGED
|
@@ -72,7 +72,25 @@
|
|
|
72
72
|
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
var _chunkST7E3NEEcjs = require('../chunk-ST7E3NEE.cjs');
|
|
76
94
|
require('../chunk-MUUXNRU4.cjs');
|
|
77
95
|
|
|
78
96
|
|
|
@@ -116,7 +134,39 @@ require('../chunk-MUUXNRU4.cjs');
|
|
|
116
134
|
|
|
117
135
|
|
|
118
136
|
|
|
119
|
-
var
|
|
137
|
+
var _chunkTFOPHZ3Ucjs = require('../chunk-TFOPHZ3U.cjs');
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
var _chunk643B2HKCcjs = require('../chunk-643B2HKC.cjs');
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
120
170
|
|
|
121
171
|
|
|
122
172
|
|
|
@@ -232,5 +282,5 @@ var _chunkXIOMMGPDcjs = require('../chunk-XIOMMGPD.cjs');
|
|
|
232
282
|
|
|
233
283
|
|
|
234
284
|
|
|
235
|
-
exports.BLEND_MODES =
|
|
285
|
+
exports.BIT_DEPTHS = _chunkST7E3NEEcjs.BIT_DEPTHS; exports.BLEND_MODES = _chunkTFOPHZ3Ucjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkST7E3NEEcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkST7E3NEEcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkST7E3NEEcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DeepCompositor = _chunkST7E3NEEcjs.DeepCompositor; exports.INTERPOLATIONS = _chunkST7E3NEEcjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkST7E3NEEcjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunkST7E3NEEcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkST7E3NEEcjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkST7E3NEEcjs.MAX_TRANSFORM_PIXELS; exports.PAINTERLY_BLEND_MODES = _chunkTFOPHZ3Ucjs.PAINTERLY_BLEND_MODES; exports.PatternPlacement = _chunkST7E3NEEcjs.PatternPlacement; exports.PatternTile = _chunkST7E3NEEcjs.PatternTile; exports.RasterCompositor = _chunkST7E3NEEcjs.RasterCompositor; exports.SHADOW_AMBIENT = _chunkTFOPHZ3Ucjs.SHADOW_AMBIENT; exports.STROKE_CHAMFER_MAX = _chunkST7E3NEEcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunkTFOPHZ3Ucjs.SurfaceDraft; exports.TILE = _chunkTFOPHZ3Ucjs.TILE; exports.TILE_SHIFT = _chunkTFOPHZ3Ucjs.TILE_SHIFT; exports.TiledSurface = _chunkTFOPHZ3Ucjs.TiledSurface; exports.TransformTooLargeError = _chunkST7E3NEEcjs.TransformTooLargeError; exports.ZlibError = _chunk643B2HKCcjs.ZlibError; exports.activeEffectItems = _chunkST7E3NEEcjs.activeEffectItems; exports.adler32 = _chunk643B2HKCcjs.adler32; exports.base64ToBytes = _chunkST7E3NEEcjs.base64ToBytes; exports.blendChannel = _chunkTFOPHZ3Ucjs.blendChannel; exports.blendImageData = _chunkTFOPHZ3Ucjs.blendImageData; exports.blendLum = _chunkTFOPHZ3Ucjs.blendLum; exports.blendPixel = _chunkTFOPHZ3Ucjs.blendPixel; exports.blendRgb = _chunkTFOPHZ3Ucjs.blendRgb; exports.blendTile = _chunkST7E3NEEcjs.blendTile; exports.buildEffectMaps = _chunkST7E3NEEcjs.buildEffectMaps; exports.builtinPattern = _chunkST7E3NEEcjs.builtinPattern; exports.builtinPatternIds = _chunkST7E3NEEcjs.builtinPatternIds; exports.bytesToBase64 = _chunkST7E3NEEcjs.bytesToBase64; exports.canvasCompositeOperation = _chunkTFOPHZ3Ucjs.canvasCompositeOperation; exports.changedTiles = _chunkST7E3NEEcjs.changedTiles; exports.collectTiles = _chunkTFOPHZ3Ucjs.collectTiles; exports.compositeLayerEffects = _chunkST7E3NEEcjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkST7E3NEEcjs.compositeSurfaceOver; exports.contentBounds = _chunkTFOPHZ3Ucjs.contentBounds; exports.contourLut = _chunkST7E3NEEcjs.contourLut; exports.convertSurfaceDepth = _chunkST7E3NEEcjs.convertSurfaceDepth; exports.curveLut = _chunkST7E3NEEcjs.curveLut; exports.decodePng = _chunkST7E3NEEcjs.decodePng; exports.deepBytes = _chunkST7E3NEEcjs.deepBytes; exports.deepTile = _chunkST7E3NEEcjs.deepTile; exports.defaultEffectGradient = _chunkST7E3NEEcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkST7E3NEEcjs.defaultLayerEffect; exports.deflate = _chunk643B2HKCcjs.deflate; exports.deflateRaw = _chunk643B2HKCcjs.deflateRaw; exports.depthOf = _chunkST7E3NEEcjs.depthOf; exports.effectColorHex = _chunkST7E3NEEcjs.effectColorHex; exports.effectFillColors = _chunkST7E3NEEcjs.effectFillColors; exports.effectReach = _chunkST7E3NEEcjs.effectReach; exports.effectsAreLocal = _chunkST7E3NEEcjs.effectsAreLocal; exports.effectsFingerprint = _chunkST7E3NEEcjs.effectsFingerprint; exports.effectsMargin = _chunkST7E3NEEcjs.effectsMargin; exports.effectsScale = _chunkST7E3NEEcjs.effectsScale; exports.emptySurface = _chunkTFOPHZ3Ucjs.emptySurface; exports.encodePng = _chunkST7E3NEEcjs.encodePng; exports.fillRect = _chunkTFOPHZ3Ucjs.fillRect; exports.findLayer = _chunkST7E3NEEcjs.findLayer; exports.finishTile = _chunkTFOPHZ3Ucjs.finishTile; exports.flattenLayers = _chunkST7E3NEEcjs.flattenLayers; exports.gaussianBlur = _chunkST7E3NEEcjs.gaussianBlur; exports.gradientT = _chunkST7E3NEEcjs.gradientT; exports.hasActiveEffects = _chunkST7E3NEEcjs.hasActiveEffects; exports.hashNoise = _chunkST7E3NEEcjs.hashNoise; exports.inflate = _chunk643B2HKCcjs.inflate; exports.inflateRaw = _chunk643B2HKCcjs.inflateRaw; exports.insertLayer = _chunkST7E3NEEcjs.insertLayer; exports.isBitDepth = _chunkST7E3NEEcjs.isBitDepth; exports.isBlendMode = _chunkTFOPHZ3Ucjs.isBlendMode; exports.isInterpolation = _chunkST7E3NEEcjs.isInterpolation; exports.isLayerEffectKind = _chunkST7E3NEEcjs.isLayerEffectKind; exports.isLayerLocked = _chunkST7E3NEEcjs.isLayerLocked; exports.isPainterlyBlendMode = _chunkTFOPHZ3Ucjs.isPainterlyBlendMode; exports.isPng = _chunkST7E3NEEcjs.isPng; exports.isSeparableBlendMode = _chunkTFOPHZ3Ucjs.isSeparableBlendMode; exports.keysWeight = _chunkST7E3NEEcjs.keysWeight; exports.layerEffectFields = _chunkST7E3NEEcjs.layerEffectFields; exports.layerEffectLabel = _chunkST7E3NEEcjs.layerEffectLabel; exports.mapLayer = _chunkST7E3NEEcjs.mapLayer; exports.mergeLayerEffect = _chunkST7E3NEEcjs.mergeLayerEffect; exports.mixPigment8 = _chunkTFOPHZ3Ucjs.mixPigment8; exports.mixPigmentRgb = _chunkTFOPHZ3Ucjs.mixPigmentRgb; exports.newEffectId = _chunkST7E3NEEcjs.newEffectId; exports.normalizeBlendMode = _chunkTFOPHZ3Ucjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkST7E3NEEcjs.normalizeLayerEffects; exports.packRgba = _chunkTFOPHZ3Ucjs.packRgba; exports.parseDataUrl = _chunkST7E3NEEcjs.parseDataUrl; exports.parseEffectColor = _chunkST7E3NEEcjs.parseEffectColor; exports.patchEffectMaps = _chunkST7E3NEEcjs.patchEffectMaps; exports.pigment8 = _chunkTFOPHZ3Ucjs.pigment8; exports.pngDataUrl = _chunkST7E3NEEcjs.pngDataUrl; exports.proxyOf = _chunkST7E3NEEcjs.proxyOf; exports.readDeepRegion = _chunkST7E3NEEcjs.readDeepRegion; exports.readPixel = _chunkTFOPHZ3Ucjs.readPixel; exports.readRegion = _chunkTFOPHZ3Ucjs.readRegion; exports.reduceSurface = _chunkST7E3NEEcjs.reduceSurface; exports.renderLayerEffects = _chunkST7E3NEEcjs.renderLayerEffects; exports.scaleLayerEffect = _chunkST7E3NEEcjs.scaleLayerEffect; exports.setLum = _chunkTFOPHZ3Ucjs.setLum; exports.solidSurface = _chunkTFOPHZ3Ucjs.solidSurface; exports.srgbDecode = _chunkST7E3NEEcjs.srgbDecode; exports.srgbEncode = _chunkST7E3NEEcjs.srgbEncode; exports.standardBlendMode = _chunkTFOPHZ3Ucjs.standardBlendMode; exports.surfaceBytes = _chunkTFOPHZ3Ucjs.surfaceBytes; exports.surfaceDepth = _chunkST7E3NEEcjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunkST7E3NEEcjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunkTFOPHZ3Ucjs.surfaceFromPixels; exports.surfacesEqual = _chunkTFOPHZ3Ucjs.surfacesEqual; exports.tileCoord = _chunkTFOPHZ3Ucjs.tileCoord; exports.tileKey = _chunkTFOPHZ3Ucjs.tileKey; exports.tileRect = _chunkTFOPHZ3Ucjs.tileRect; exports.tileSamples = _chunkST7E3NEEcjs.tileSamples; exports.tileSamples16 = _chunkST7E3NEEcjs.tileSamples16; exports.tileSamples32 = _chunkST7E3NEEcjs.tileSamples32; exports.tilesInRect = _chunkTFOPHZ3Ucjs.tilesInRect; exports.to16From32 = _chunkST7E3NEEcjs.to16From32; exports.to16From8 = _chunkST7E3NEEcjs.to16From8; exports.to32From16 = _chunkST7E3NEEcjs.to32From16; exports.to32From8 = _chunkST7E3NEEcjs.to32From8; exports.to8From16 = _chunkST7E3NEEcjs.to8From16; exports.to8From32 = _chunkST7E3NEEcjs.to8From32; exports.transformSurface = _chunkST7E3NEEcjs.transformSurface; exports.transformedBounds = _chunkST7E3NEEcjs.transformedBounds; exports.translateSurface = _chunkTFOPHZ3Ucjs.translateSurface; exports.uniformTile = _chunkTFOPHZ3Ucjs.uniformTile; exports.validateEffectGradient = _chunkST7E3NEEcjs.validateEffectGradient; exports.validateLayerEffect = _chunkST7E3NEEcjs.validateLayerEffect; exports.validateLayerEffects = _chunkST7E3NEEcjs.validateLayerEffects; exports.warpSurface = _chunkST7E3NEEcjs.warpSurface; exports.workingToSamples = _chunkST7E3NEEcjs.workingToSamples; exports.writeDeepRegion = _chunkST7E3NEEcjs.writeDeepRegion; exports.writeRegion = _chunkTFOPHZ3Ucjs.writeRegion;
|
|
236
286
|
//# 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;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACF,
|
|
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;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;AACA;AACF,yDAA8B;AAC9B;AACE;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;AACA;AACA;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,ysPAAC","file":"/home/runner/work/editor/editor/packages/core/dist/raster/index.cjs"}
|
package/dist/raster/index.d.cts
CHANGED
|
@@ -1,99 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
export { B as
|
|
1
|
+
import { R as RasterRect } from '../surface-Cn30xIV6.cjs';
|
|
2
|
+
export { B as BLEND_MODES, a as BlendMode, b as BlendModeInfo, M as MaskSurface, P as PAINTERLY_BLEND_MODES, c as PixelSurface, d as Rgb, e as Rgba, S as SHADOW_AMBIENT, f as SurfaceDraft, T as TILE, g as TILE_SHIFT, h as Tile, i as TileKey, j as TiledSurface, k as blendChannel, l as blendImageData, m as blendLum, n as blendPixel, o as blendRgb, p as canvasCompositeOperation, q as collectTiles, r as contentBounds, s as emptySurface, t as fillRect, u as finishTile, v as isBlendMode, w as isPainterlyBlendMode, x as isSeparableBlendMode, y as mixPigment8, z as mixPigmentRgb, A as normalizeBlendMode, C as packRgba, D as pigment8, E as readPixel, F as readRegion, G as setLum, H as solidSurface, I as standardBlendMode, J as surfaceBytes, K as surfaceFromPixels, L as surfacesEqual, N as tileCoord, O as tileKey, Q as tileRect, U as tilesInRect, V as translateSurface, W as uniformTile, X as writeRegion } from '../surface-Cn30xIV6.cjs';
|
|
3
|
+
import { C as CompositorLayer, R as RasterSources, a as RasterCompositor, b as CompositorProfile } from '../render-B1K_OoLy.cjs';
|
|
4
|
+
export { B as BIT_DEPTHS, c as BevelContour, d as BevelEmbossEffect, e as BevelStyle, f as BevelTechnique, g as BevelTexture, h as BitDepth, i as ColorOverlayEffect, j as CompositeCallOptions, k as CompositeStats, l as CompositorOptions, m as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, n as DeepSamples, o as DropShadowEffect, E as EffectCompositeInput, p as EffectContext, q as EffectContour, r as EffectFill, s as EffectGradient, t as EffectMaps, u as EffectPattern, v as EffectPatternRef, w as EffectRect, G as GlobalLight, x as GlowTechnique, y as GradientColorStop, z as GradientOpacityStop, A as GradientOverlayEffect, F as GradientStyle, H as GroupBlendMode, I as GroupIn, J as INTERPOLATIONS, K as InnerGlowEffect, L as InnerShadowEffect, M as Interpolation, N as LAYER_EFFECT_KINDS, O as LayerEffect, P as LayerEffectError, Q as LayerEffectKind, S as LayerEffects, T as LayerLocation, U as LayerLocks, V as MAX_EFFECT_REACH, W as MAX_TRANSFORM_PIXELS, X as OuterGlowEffect, Y as PatternOverlayEffect, Z as PatternPlacement, _ as PatternTile, $ as PixelFilterSpec, a0 as RasterGroupLayer, a1 as RasterLayer, a2 as RasterLayerBase, a3 as RasterMask, a4 as RasterNode, a5 as RasterPixelLayer, a6 as ResampleOptions, a7 as STROKE_CHAMFER_MAX, a8 as SatinEffect, a9 as StrokeEffect, aa as StrokePosition, ab as TransformTooLargeError, ac as activeEffectItems, ad as blendTile, ae as buildEffectMaps, af as builtinPattern, ag as builtinPatternIds, ah as changedTiles, ai as compositeLayerEffects, aj as compositeSurfaceOver, ak as contourLut, al as convertSurfaceDepth, am as deepBytes, an as deepTile, ao as defaultEffectGradient, ap as defaultLayerEffect, aq as depthOf, ar as effectColorHex, as as effectFillColors, at as effectReach, au as effectsAreLocal, av as effectsFingerprint, aw as effectsMargin, ax as effectsScale, ay as findLayer, az as flattenLayers, aA as gradientT, aB as hasActiveEffects, aC as hashNoise, aD as insertLayer, aE as isBitDepth, aF as isInterpolation, aG as isLayerEffectKind, aH as isLayerLocked, aI as keysWeight, aJ as layerEffectFields, aK as layerEffectLabel, aL as mapLayer, aM as mergeLayerEffect, aN as newEffectId, aO as normalizeLayerEffects, aP as parseEffectColor, aQ as patchEffectMaps, aR as proxyOf, aS as readDeepRegion, aT as reduceSurface, aU as renderLayerEffects, aV as scaleLayerEffect, aW as srgbDecode, aX as srgbEncode, aY as surfaceDepth, aZ as surfaceFromDeepPixels, a_ as tileSamples, a$ as tileSamples16, b0 as tileSamples32, b1 as to16From32, b2 as to16From8, b3 as to32From16, b4 as to32From8, b5 as to8From16, b6 as to8From32, b7 as transformSurface, b8 as transformedBounds, b9 as validateEffectGradient, ba as validateLayerEffect, bb as validateLayerEffects, bc as warpSurface, bd as writeDeepRegion } from '../render-B1K_OoLy.cjs';
|
|
5
|
+
export { B as BlurEdge, C as CURVE_LUT_SIZE, D as DIRECT_GAUSSIAN_MAX_SIGMA, a as DecodedPng, Z as ZlibError, b as adler32, c as base64ToBytes, d as bytesToBase64, e as curveLut, f as decodePng, g as deflate, h as deflateRaw, i as encodePng, j as gaussianBlur, k as inflate, l as inflateRaw, m as isPng, p as parseDataUrl, n as pngDataUrl } from '../zlib-dxQdgHyN.cjs';
|
|
3
6
|
import '../types-CwMPoRMU.cjs';
|
|
4
7
|
|
|
5
|
-
/** Above this σ a Gaussian is approximated by three box passes (cost independent of σ). */
|
|
6
|
-
declare const DIRECT_GAUSSIAN_MAX_SIGMA = 8;
|
|
7
|
-
/** How a blur treats pixels beyond the image: `zero`, or `clamp` (replicate the border). */
|
|
8
|
-
type BlurEdge = 'zero' | 'clamp';
|
|
9
|
-
type Edge = BlurEdge;
|
|
10
8
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
declare function gaussianBlur(src: ArrayLike<number>, w: number, h: number, sigma: number, edge?: Edge): Float32Array;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Curve lookup tables shared by Curves adjustments and layer-effect contours.
|
|
20
|
-
*/
|
|
21
|
-
/** Entries of a curve LUT (input 0..1 in `size - 1` steps). */
|
|
22
|
-
declare const CURVE_LUT_SIZE = 4096;
|
|
23
|
-
/**
|
|
24
|
-
* Photoshop curve: a natural cubic spline through the points (0..1 in and out; it may overshoot
|
|
25
|
-
* between points, as Photoshop's does), constant outside the first / last point, clamped to
|
|
26
|
-
* 0..1, sampled into a LUT. Fewer than two distinct points: the identity.
|
|
27
|
-
*/
|
|
28
|
-
declare function curveLut(points: ReadonlyArray<{
|
|
29
|
-
input: number;
|
|
30
|
-
output: number;
|
|
31
|
-
}>, size?: number): Float32Array;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Dependency-free, synchronous PNG encode / decode for layer pixels and masks, plus base64 and
|
|
35
|
-
* data-URL helpers. Canvas `toDataURL` is lossy for partly transparent pixels (it goes through
|
|
36
|
-
* premultiplied alpha), so layer assets use this codec and round-trip exactly.
|
|
9
|
+
* Compositing at high bit depth: the same layer model as `RasterCompositor` (pixel layers,
|
|
10
|
+
* groups with pass-through, masks, clipping, blend modes, opacity and fill, filter layers) run
|
|
11
|
+
* in float over the layers' deep samples (see `./deep`), for exports, merges and anything else
|
|
12
|
+
* that must keep 16 or 32 bits. It is uncached and meant for one-off renders: the viewport keeps
|
|
13
|
+
* using the 8-bit compositor over each tile's 8-bit rendering.
|
|
37
14
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*/
|
|
41
|
-
interface DecodedPng {
|
|
42
|
-
width: number;
|
|
43
|
-
height: number;
|
|
44
|
-
/** 4 for RGBA output, 1 for greyscale without alpha when `keepGray` was asked for. */
|
|
45
|
-
channels: 1 | 4;
|
|
46
|
-
data: Uint8ClampedArray;
|
|
47
|
-
}
|
|
48
|
-
/** PNG bytes for `width × height` pixels of 1 (grey) or 4 (RGBA) bytes each. */
|
|
49
|
-
declare function encodePng(width: number, height: number, data: ArrayLike<number>, channels?: 1 | 4): Uint8Array;
|
|
50
|
-
declare function isPng(bytes: Uint8Array): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Decodes a PNG. Output is RGBA (4 channels) unless `keepGray` is set and the image is
|
|
53
|
-
* greyscale without alpha, in which case it is one byte per pixel.
|
|
54
|
-
*/
|
|
55
|
-
declare function decodePng(bytes: Uint8Array, options?: {
|
|
56
|
-
keepGray?: boolean;
|
|
57
|
-
maxPixels?: number;
|
|
58
|
-
}): DecodedPng;
|
|
59
|
-
declare function bytesToBase64(bytes: Uint8Array): string;
|
|
60
|
-
declare function base64ToBytes(text: string): Uint8Array;
|
|
61
|
-
/** The bytes and MIME type of a `data:` URL (base64 or percent-encoded). */
|
|
62
|
-
declare function parseDataUrl(url: string): {
|
|
63
|
-
mime: string;
|
|
64
|
-
bytes: Uint8Array;
|
|
65
|
-
} | null;
|
|
66
|
-
declare function pngDataUrl(width: number, height: number, data: ArrayLike<number>, channels?: 1 | 4): string;
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Synchronous zlib (RFC 1950) and raw deflate (RFC 1951), dependency-free, for the image editor's
|
|
70
|
-
* layer PNGs and PSD ZIP channels. `CompressionStream` is asynchronous and not everywhere, and
|
|
71
|
-
* layer pixels must serialize inside the synchronous `toJSON()`.
|
|
15
|
+
* Working space: straight-alpha float RGBA, sRGB-encoded 0..1 at 16 bits and linear light at 32
|
|
16
|
+
* bits (as Photoshop blends in each mode). Results come back in that space.
|
|
72
17
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* -
|
|
76
|
-
*
|
|
18
|
+
* What it delegates to the 8-bit compositor it wraps:
|
|
19
|
+
* - mask coverage (density, feather and parametric masks), which is coverage, not colour;
|
|
20
|
+
* - layers with layer effects or pixel filters, and content layers the editor draws itself
|
|
21
|
+
* (annotations): each is rendered alone at 8 bits, converted, and blended in float with its
|
|
22
|
+
* blend mode and opacity. Such layers keep 8-bit precision (and an effect's own blend mode sees
|
|
23
|
+
* a transparent backdrop); everything else keeps the samples' full depth.
|
|
77
24
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
25
|
+
|
|
26
|
+
/** Float hooks of an editor's own layer kinds (see `CompositorProfile`). */
|
|
27
|
+
interface DeepCompositorProfile<L extends CompositorLayer, S extends RasterSources> {
|
|
28
|
+
/**
|
|
29
|
+
* Applies a run of visible filter layers to float RGBA `acc` over `r` (sRGB-encoded 0..1,
|
|
30
|
+
* straight alpha; values may exceed 1 at 32 bits); `coverage` holds masked ones by id.
|
|
31
|
+
* Missing: filter layers run at 8 bits.
|
|
32
|
+
*/
|
|
33
|
+
applyFilterRunDeep?(layers: L[], acc: Float32Array, r: RasterRect, coverage: Map<string, Float32Array> | undefined, sources: S): void;
|
|
34
|
+
}
|
|
35
|
+
declare class DeepCompositor<L extends CompositorLayer, S extends RasterSources> {
|
|
36
|
+
/** The 8-bit compositor for masks and the layers it renders (see the module comment). */
|
|
37
|
+
private readonly base;
|
|
38
|
+
private readonly profile;
|
|
39
|
+
private readonly deep;
|
|
40
|
+
readonly depth: 16 | 32;
|
|
41
|
+
private sources;
|
|
42
|
+
private readonly linear;
|
|
43
|
+
constructor(
|
|
44
|
+
/** The 8-bit compositor for masks and the layers it renders (see the module comment). */
|
|
45
|
+
base: RasterCompositor<L, S>, profile: CompositorProfile<L, S>, deep: DeepCompositorProfile<L, S>, depth: 16 | 32);
|
|
46
|
+
/** The composite of `layers` over `rect` as float RGBA in the working space (`rect.width × rect.height × 4`). */
|
|
47
|
+
composite(layers: readonly L[], rect: RasterRect, sources: S): Float32Array;
|
|
48
|
+
private isPixel;
|
|
49
|
+
private isFilter;
|
|
50
|
+
private buildSteps;
|
|
51
|
+
private runSteps;
|
|
52
|
+
private runStep;
|
|
53
|
+
private applyClipped;
|
|
54
|
+
private applyFilterRun;
|
|
55
|
+
/** Layers drawn by the 8-bit compositor alone (effects, pixel filters, content the editor draws). */
|
|
56
|
+
private renderedAlone;
|
|
57
|
+
private blendOf;
|
|
58
|
+
/** A layer's float RGBA over `r` (straight alpha, working space), or `null` when it has none there. */
|
|
59
|
+
private content;
|
|
60
|
+
/** 8-bit RGBA to the working space. */
|
|
61
|
+
private from8;
|
|
62
|
+
/** The working space to 8-bit RGBA. */
|
|
63
|
+
private to8;
|
|
64
|
+
/** `src` over `dst` with `mode` at `alpha` × coverage (straight alpha, float), as `blendTile`. */
|
|
65
|
+
private blend;
|
|
80
66
|
}
|
|
81
|
-
/**
|
|
82
|
-
declare function
|
|
83
|
-
maxOutput?: number;
|
|
84
|
-
sizeHint?: number;
|
|
85
|
-
}): Uint8Array;
|
|
86
|
-
/** Adler-32 checksum (zlib trailer). */
|
|
87
|
-
declare function adler32(data: Uint8Array): number;
|
|
88
|
-
/** Inflates zlib data (header, deflate stream, Adler-32 trailer). */
|
|
89
|
-
declare function inflate(data: Uint8Array, options?: {
|
|
90
|
-
maxOutput?: number;
|
|
91
|
-
sizeHint?: number;
|
|
92
|
-
verify?: boolean;
|
|
93
|
-
}): Uint8Array;
|
|
94
|
-
/** Raw deflate (no zlib header). `level` 0 stores the data uncompressed. */
|
|
95
|
-
declare function deflateRaw(data: Uint8Array, level?: 0 | 1): Uint8Array;
|
|
96
|
-
/** zlib stream: header, raw deflate, Adler-32. */
|
|
97
|
-
declare function deflate(data: Uint8Array, level?: 0 | 1): Uint8Array;
|
|
67
|
+
/** Float RGBA in the working space of `depth` as deep samples of that depth (16: encoded codes; 32: as is). */
|
|
68
|
+
declare function workingToSamples(data: Float32Array, depth: 16 | 32): Uint16Array | Float32Array;
|
|
98
69
|
|
|
99
|
-
export {
|
|
70
|
+
export { CompositorLayer, CompositorProfile, DeepCompositor, type DeepCompositorProfile, RasterCompositor, RasterRect, RasterSources, workingToSamples };
|
package/dist/raster/index.d.ts
CHANGED
|
@@ -1,99 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
export { B as
|
|
1
|
+
import { R as RasterRect } from '../surface-Cn30xIV6.js';
|
|
2
|
+
export { B as BLEND_MODES, a as BlendMode, b as BlendModeInfo, M as MaskSurface, P as PAINTERLY_BLEND_MODES, c as PixelSurface, d as Rgb, e as Rgba, S as SHADOW_AMBIENT, f as SurfaceDraft, T as TILE, g as TILE_SHIFT, h as Tile, i as TileKey, j as TiledSurface, k as blendChannel, l as blendImageData, m as blendLum, n as blendPixel, o as blendRgb, p as canvasCompositeOperation, q as collectTiles, r as contentBounds, s as emptySurface, t as fillRect, u as finishTile, v as isBlendMode, w as isPainterlyBlendMode, x as isSeparableBlendMode, y as mixPigment8, z as mixPigmentRgb, A as normalizeBlendMode, C as packRgba, D as pigment8, E as readPixel, F as readRegion, G as setLum, H as solidSurface, I as standardBlendMode, J as surfaceBytes, K as surfaceFromPixels, L as surfacesEqual, N as tileCoord, O as tileKey, Q as tileRect, U as tilesInRect, V as translateSurface, W as uniformTile, X as writeRegion } from '../surface-Cn30xIV6.js';
|
|
3
|
+
import { C as CompositorLayer, R as RasterSources, a as RasterCompositor, b as CompositorProfile } from '../render-CrmHOgpo.js';
|
|
4
|
+
export { B as BIT_DEPTHS, c as BevelContour, d as BevelEmbossEffect, e as BevelStyle, f as BevelTechnique, g as BevelTexture, h as BitDepth, i as ColorOverlayEffect, j as CompositeCallOptions, k as CompositeStats, l as CompositorOptions, m as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, n as DeepSamples, o as DropShadowEffect, E as EffectCompositeInput, p as EffectContext, q as EffectContour, r as EffectFill, s as EffectGradient, t as EffectMaps, u as EffectPattern, v as EffectPatternRef, w as EffectRect, G as GlobalLight, x as GlowTechnique, y as GradientColorStop, z as GradientOpacityStop, A as GradientOverlayEffect, F as GradientStyle, H as GroupBlendMode, I as GroupIn, J as INTERPOLATIONS, K as InnerGlowEffect, L as InnerShadowEffect, M as Interpolation, N as LAYER_EFFECT_KINDS, O as LayerEffect, P as LayerEffectError, Q as LayerEffectKind, S as LayerEffects, T as LayerLocation, U as LayerLocks, V as MAX_EFFECT_REACH, W as MAX_TRANSFORM_PIXELS, X as OuterGlowEffect, Y as PatternOverlayEffect, Z as PatternPlacement, _ as PatternTile, $ as PixelFilterSpec, a0 as RasterGroupLayer, a1 as RasterLayer, a2 as RasterLayerBase, a3 as RasterMask, a4 as RasterNode, a5 as RasterPixelLayer, a6 as ResampleOptions, a7 as STROKE_CHAMFER_MAX, a8 as SatinEffect, a9 as StrokeEffect, aa as StrokePosition, ab as TransformTooLargeError, ac as activeEffectItems, ad as blendTile, ae as buildEffectMaps, af as builtinPattern, ag as builtinPatternIds, ah as changedTiles, ai as compositeLayerEffects, aj as compositeSurfaceOver, ak as contourLut, al as convertSurfaceDepth, am as deepBytes, an as deepTile, ao as defaultEffectGradient, ap as defaultLayerEffect, aq as depthOf, ar as effectColorHex, as as effectFillColors, at as effectReach, au as effectsAreLocal, av as effectsFingerprint, aw as effectsMargin, ax as effectsScale, ay as findLayer, az as flattenLayers, aA as gradientT, aB as hasActiveEffects, aC as hashNoise, aD as insertLayer, aE as isBitDepth, aF as isInterpolation, aG as isLayerEffectKind, aH as isLayerLocked, aI as keysWeight, aJ as layerEffectFields, aK as layerEffectLabel, aL as mapLayer, aM as mergeLayerEffect, aN as newEffectId, aO as normalizeLayerEffects, aP as parseEffectColor, aQ as patchEffectMaps, aR as proxyOf, aS as readDeepRegion, aT as reduceSurface, aU as renderLayerEffects, aV as scaleLayerEffect, aW as srgbDecode, aX as srgbEncode, aY as surfaceDepth, aZ as surfaceFromDeepPixels, a_ as tileSamples, a$ as tileSamples16, b0 as tileSamples32, b1 as to16From32, b2 as to16From8, b3 as to32From16, b4 as to32From8, b5 as to8From16, b6 as to8From32, b7 as transformSurface, b8 as transformedBounds, b9 as validateEffectGradient, ba as validateLayerEffect, bb as validateLayerEffects, bc as warpSurface, bd as writeDeepRegion } from '../render-CrmHOgpo.js';
|
|
5
|
+
export { B as BlurEdge, C as CURVE_LUT_SIZE, D as DIRECT_GAUSSIAN_MAX_SIGMA, a as DecodedPng, Z as ZlibError, b as adler32, c as base64ToBytes, d as bytesToBase64, e as curveLut, f as decodePng, g as deflate, h as deflateRaw, i as encodePng, j as gaussianBlur, k as inflate, l as inflateRaw, m as isPng, p as parseDataUrl, n as pngDataUrl } from '../zlib-dxQdgHyN.js';
|
|
3
6
|
import '../types-CwMPoRMU.js';
|
|
4
7
|
|
|
5
|
-
/** Above this σ a Gaussian is approximated by three box passes (cost independent of σ). */
|
|
6
|
-
declare const DIRECT_GAUSSIAN_MAX_SIGMA = 8;
|
|
7
|
-
/** How a blur treats pixels beyond the image: `zero`, or `clamp` (replicate the border). */
|
|
8
|
-
type BlurEdge = 'zero' | 'clamp';
|
|
9
|
-
type Edge = BlurEdge;
|
|
10
8
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
declare function gaussianBlur(src: ArrayLike<number>, w: number, h: number, sigma: number, edge?: Edge): Float32Array;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Curve lookup tables shared by Curves adjustments and layer-effect contours.
|
|
20
|
-
*/
|
|
21
|
-
/** Entries of a curve LUT (input 0..1 in `size - 1` steps). */
|
|
22
|
-
declare const CURVE_LUT_SIZE = 4096;
|
|
23
|
-
/**
|
|
24
|
-
* Photoshop curve: a natural cubic spline through the points (0..1 in and out; it may overshoot
|
|
25
|
-
* between points, as Photoshop's does), constant outside the first / last point, clamped to
|
|
26
|
-
* 0..1, sampled into a LUT. Fewer than two distinct points: the identity.
|
|
27
|
-
*/
|
|
28
|
-
declare function curveLut(points: ReadonlyArray<{
|
|
29
|
-
input: number;
|
|
30
|
-
output: number;
|
|
31
|
-
}>, size?: number): Float32Array;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Dependency-free, synchronous PNG encode / decode for layer pixels and masks, plus base64 and
|
|
35
|
-
* data-URL helpers. Canvas `toDataURL` is lossy for partly transparent pixels (it goes through
|
|
36
|
-
* premultiplied alpha), so layer assets use this codec and round-trip exactly.
|
|
9
|
+
* Compositing at high bit depth: the same layer model as `RasterCompositor` (pixel layers,
|
|
10
|
+
* groups with pass-through, masks, clipping, blend modes, opacity and fill, filter layers) run
|
|
11
|
+
* in float over the layers' deep samples (see `./deep`), for exports, merges and anything else
|
|
12
|
+
* that must keep 16 or 32 bits. It is uncached and meant for one-off renders: the viewport keeps
|
|
13
|
+
* using the 8-bit compositor over each tile's 8-bit rendering.
|
|
37
14
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*/
|
|
41
|
-
interface DecodedPng {
|
|
42
|
-
width: number;
|
|
43
|
-
height: number;
|
|
44
|
-
/** 4 for RGBA output, 1 for greyscale without alpha when `keepGray` was asked for. */
|
|
45
|
-
channels: 1 | 4;
|
|
46
|
-
data: Uint8ClampedArray;
|
|
47
|
-
}
|
|
48
|
-
/** PNG bytes for `width × height` pixels of 1 (grey) or 4 (RGBA) bytes each. */
|
|
49
|
-
declare function encodePng(width: number, height: number, data: ArrayLike<number>, channels?: 1 | 4): Uint8Array;
|
|
50
|
-
declare function isPng(bytes: Uint8Array): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Decodes a PNG. Output is RGBA (4 channels) unless `keepGray` is set and the image is
|
|
53
|
-
* greyscale without alpha, in which case it is one byte per pixel.
|
|
54
|
-
*/
|
|
55
|
-
declare function decodePng(bytes: Uint8Array, options?: {
|
|
56
|
-
keepGray?: boolean;
|
|
57
|
-
maxPixels?: number;
|
|
58
|
-
}): DecodedPng;
|
|
59
|
-
declare function bytesToBase64(bytes: Uint8Array): string;
|
|
60
|
-
declare function base64ToBytes(text: string): Uint8Array;
|
|
61
|
-
/** The bytes and MIME type of a `data:` URL (base64 or percent-encoded). */
|
|
62
|
-
declare function parseDataUrl(url: string): {
|
|
63
|
-
mime: string;
|
|
64
|
-
bytes: Uint8Array;
|
|
65
|
-
} | null;
|
|
66
|
-
declare function pngDataUrl(width: number, height: number, data: ArrayLike<number>, channels?: 1 | 4): string;
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Synchronous zlib (RFC 1950) and raw deflate (RFC 1951), dependency-free, for the image editor's
|
|
70
|
-
* layer PNGs and PSD ZIP channels. `CompressionStream` is asynchronous and not everywhere, and
|
|
71
|
-
* layer pixels must serialize inside the synchronous `toJSON()`.
|
|
15
|
+
* Working space: straight-alpha float RGBA, sRGB-encoded 0..1 at 16 bits and linear light at 32
|
|
16
|
+
* bits (as Photoshop blends in each mode). Results come back in that space.
|
|
72
17
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* -
|
|
76
|
-
*
|
|
18
|
+
* What it delegates to the 8-bit compositor it wraps:
|
|
19
|
+
* - mask coverage (density, feather and parametric masks), which is coverage, not colour;
|
|
20
|
+
* - layers with layer effects or pixel filters, and content layers the editor draws itself
|
|
21
|
+
* (annotations): each is rendered alone at 8 bits, converted, and blended in float with its
|
|
22
|
+
* blend mode and opacity. Such layers keep 8-bit precision (and an effect's own blend mode sees
|
|
23
|
+
* a transparent backdrop); everything else keeps the samples' full depth.
|
|
77
24
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
25
|
+
|
|
26
|
+
/** Float hooks of an editor's own layer kinds (see `CompositorProfile`). */
|
|
27
|
+
interface DeepCompositorProfile<L extends CompositorLayer, S extends RasterSources> {
|
|
28
|
+
/**
|
|
29
|
+
* Applies a run of visible filter layers to float RGBA `acc` over `r` (sRGB-encoded 0..1,
|
|
30
|
+
* straight alpha; values may exceed 1 at 32 bits); `coverage` holds masked ones by id.
|
|
31
|
+
* Missing: filter layers run at 8 bits.
|
|
32
|
+
*/
|
|
33
|
+
applyFilterRunDeep?(layers: L[], acc: Float32Array, r: RasterRect, coverage: Map<string, Float32Array> | undefined, sources: S): void;
|
|
34
|
+
}
|
|
35
|
+
declare class DeepCompositor<L extends CompositorLayer, S extends RasterSources> {
|
|
36
|
+
/** The 8-bit compositor for masks and the layers it renders (see the module comment). */
|
|
37
|
+
private readonly base;
|
|
38
|
+
private readonly profile;
|
|
39
|
+
private readonly deep;
|
|
40
|
+
readonly depth: 16 | 32;
|
|
41
|
+
private sources;
|
|
42
|
+
private readonly linear;
|
|
43
|
+
constructor(
|
|
44
|
+
/** The 8-bit compositor for masks and the layers it renders (see the module comment). */
|
|
45
|
+
base: RasterCompositor<L, S>, profile: CompositorProfile<L, S>, deep: DeepCompositorProfile<L, S>, depth: 16 | 32);
|
|
46
|
+
/** The composite of `layers` over `rect` as float RGBA in the working space (`rect.width × rect.height × 4`). */
|
|
47
|
+
composite(layers: readonly L[], rect: RasterRect, sources: S): Float32Array;
|
|
48
|
+
private isPixel;
|
|
49
|
+
private isFilter;
|
|
50
|
+
private buildSteps;
|
|
51
|
+
private runSteps;
|
|
52
|
+
private runStep;
|
|
53
|
+
private applyClipped;
|
|
54
|
+
private applyFilterRun;
|
|
55
|
+
/** Layers drawn by the 8-bit compositor alone (effects, pixel filters, content the editor draws). */
|
|
56
|
+
private renderedAlone;
|
|
57
|
+
private blendOf;
|
|
58
|
+
/** A layer's float RGBA over `r` (straight alpha, working space), or `null` when it has none there. */
|
|
59
|
+
private content;
|
|
60
|
+
/** 8-bit RGBA to the working space. */
|
|
61
|
+
private from8;
|
|
62
|
+
/** The working space to 8-bit RGBA. */
|
|
63
|
+
private to8;
|
|
64
|
+
/** `src` over `dst` with `mode` at `alpha` × coverage (straight alpha, float), as `blendTile`. */
|
|
65
|
+
private blend;
|
|
80
66
|
}
|
|
81
|
-
/**
|
|
82
|
-
declare function
|
|
83
|
-
maxOutput?: number;
|
|
84
|
-
sizeHint?: number;
|
|
85
|
-
}): Uint8Array;
|
|
86
|
-
/** Adler-32 checksum (zlib trailer). */
|
|
87
|
-
declare function adler32(data: Uint8Array): number;
|
|
88
|
-
/** Inflates zlib data (header, deflate stream, Adler-32 trailer). */
|
|
89
|
-
declare function inflate(data: Uint8Array, options?: {
|
|
90
|
-
maxOutput?: number;
|
|
91
|
-
sizeHint?: number;
|
|
92
|
-
verify?: boolean;
|
|
93
|
-
}): Uint8Array;
|
|
94
|
-
/** Raw deflate (no zlib header). `level` 0 stores the data uncompressed. */
|
|
95
|
-
declare function deflateRaw(data: Uint8Array, level?: 0 | 1): Uint8Array;
|
|
96
|
-
/** zlib stream: header, raw deflate, Adler-32. */
|
|
97
|
-
declare function deflate(data: Uint8Array, level?: 0 | 1): Uint8Array;
|
|
67
|
+
/** Float RGBA in the working space of `depth` as deep samples of that depth (16: encoded codes; 32: as is). */
|
|
68
|
+
declare function workingToSamples(data: Float32Array, depth: 16 | 32): Uint16Array | Float32Array;
|
|
98
69
|
|
|
99
|
-
export {
|
|
70
|
+
export { CompositorLayer, CompositorProfile, DeepCompositor, type DeepCompositorProfile, RasterCompositor, RasterRect, RasterSources, workingToSamples };
|