@pixerate/editor 0.118.0 → 0.119.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 (74) hide show
  1. package/THIRD_PARTY_NOTICES.md +1 -0
  2. package/dist/animation-editor/index.cjs +54 -54
  3. package/dist/animation-editor/index.d.cts +3 -3
  4. package/dist/animation-editor/index.d.ts +3 -3
  5. package/dist/animation-editor/index.js +2 -2
  6. package/dist/{chunk-2J3LS7JZ.cjs → chunk-4S2AXNQF.cjs} +221 -186
  7. package/dist/chunk-4S2AXNQF.cjs.map +1 -0
  8. package/dist/{chunk-7LNZAWSJ.js → chunk-CSHEI3YT.js} +625 -451
  9. package/dist/chunk-CSHEI3YT.js.map +1 -0
  10. package/dist/{chunk-M7O4BJRH.cjs → chunk-KGNUFO4T.cjs} +36 -36
  11. package/dist/{chunk-M7O4BJRH.cjs.map → chunk-KGNUFO4T.cjs.map} +1 -1
  12. package/dist/{chunk-R2JE6SA7.js → chunk-KZLQY4CD.js} +42 -7
  13. package/dist/chunk-KZLQY4CD.js.map +1 -0
  14. package/dist/{chunk-L2T6EJ5S.cjs → chunk-L3PXFMOF.cjs} +38 -25
  15. package/dist/chunk-L3PXFMOF.cjs.map +1 -0
  16. package/dist/{chunk-FODKPD44.cjs → chunk-LI3KTY7K.cjs} +724 -550
  17. package/dist/chunk-LI3KTY7K.cjs.map +1 -0
  18. package/dist/{chunk-IVSNUXW7.js → chunk-T7IZDNSL.js} +37 -24
  19. package/dist/chunk-T7IZDNSL.js.map +1 -0
  20. package/dist/{chunk-T2P5TIZ6.js → chunk-TDQDMBUR.js} +2 -2
  21. package/dist/{chunk-BYAWOAST.cjs → chunk-TS5IEUW6.cjs} +26 -25
  22. package/dist/chunk-TS5IEUW6.cjs.map +1 -0
  23. package/dist/{chunk-VD2UDVF7.js → chunk-UMVW2Q66.js} +21 -5
  24. package/dist/chunk-UMVW2Q66.js.map +1 -0
  25. package/dist/{chunk-EBSYZRSW.cjs → chunk-WMRIG4XQ.cjs} +21 -5
  26. package/dist/chunk-WMRIG4XQ.cjs.map +1 -0
  27. package/dist/{chunk-JHXMNOMF.js → chunk-YHW26LS2.js} +14 -13
  28. package/dist/chunk-YHW26LS2.js.map +1 -0
  29. package/dist/{export-DMOuzgZZ.d.cts → export-B_jO2PrH.d.cts} +18 -4
  30. package/dist/{export-Dul1SbPv.d.ts → export-Ds8Ccw0K.d.ts} +18 -4
  31. package/dist/{flow-4-OC-UkQ.d.cts → flow-A2Dj-69w.d.cts} +21 -9
  32. package/dist/{flow-Cb7lkPm8.d.ts → flow-C95atNoQ.d.ts} +21 -9
  33. package/dist/image-editor/index.cjs +1104 -979
  34. package/dist/image-editor/index.cjs.map +1 -1
  35. package/dist/image-editor/index.d.cts +5 -5
  36. package/dist/image-editor/index.d.ts +5 -5
  37. package/dist/image-editor/index.js +157 -32
  38. package/dist/image-editor/index.js.map +1 -1
  39. package/dist/paint/index.cjs +5 -3
  40. package/dist/paint/index.cjs.map +1 -1
  41. package/dist/paint/index.d.cts +2 -2
  42. package/dist/paint/index.d.ts +2 -2
  43. package/dist/paint/index.js +4 -2
  44. package/dist/paint-editor/index.cjs +147 -147
  45. package/dist/paint-editor/index.d.cts +4 -4
  46. package/dist/paint-editor/index.d.ts +4 -4
  47. package/dist/paint-editor/index.js +4 -4
  48. package/dist/raster/index.cjs +2 -2
  49. package/dist/raster/index.js +1 -1
  50. package/dist/{svg-DlEuhwoX.d.ts → svg-CTxrB5xO.d.ts} +5 -1
  51. package/dist/{svg-CVdFc80-.d.cts → svg-hK0WQc7-.d.cts} +5 -1
  52. package/dist/{types-Tfly4Aya.d.cts → types-Dq-8qgoo.d.cts} +45 -3
  53. package/dist/{types-CDLGhAZp.d.ts → types-TrSSh_RB.d.ts} +45 -3
  54. package/dist/vector/index.cjs +1312 -1009
  55. package/dist/vector/index.cjs.map +1 -1
  56. package/dist/vector/index.d.cts +103 -5
  57. package/dist/vector/index.d.ts +103 -5
  58. package/dist/vector/index.js +317 -14
  59. package/dist/vector/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/skills/pixerate-image-editor/references/photoshop-files.md +5 -2
  62. package/skills/pixerate-vector/SKILL.md +13 -1
  63. package/skills/pixerate-vector/references/commands.md +1 -0
  64. package/dist/chunk-2J3LS7JZ.cjs.map +0 -1
  65. package/dist/chunk-7LNZAWSJ.js.map +0 -1
  66. package/dist/chunk-BYAWOAST.cjs.map +0 -1
  67. package/dist/chunk-EBSYZRSW.cjs.map +0 -1
  68. package/dist/chunk-FODKPD44.cjs.map +0 -1
  69. package/dist/chunk-IVSNUXW7.js.map +0 -1
  70. package/dist/chunk-JHXMNOMF.js.map +0 -1
  71. package/dist/chunk-L2T6EJ5S.cjs.map +0 -1
  72. package/dist/chunk-R2JE6SA7.js.map +0 -1
  73. package/dist/chunk-VD2UDVF7.js.map +0 -1
  74. /package/dist/{chunk-T2P5TIZ6.js.map → chunk-TDQDMBUR.js.map} +0 -0
@@ -1,5 +1,5 @@
1
- import { a as ImageAdjustments, D as DepthMaskOptions, b as SerializedImageEditorState, A as AdjustmentKind, c as AdjustmentLayer, d as AdjustmentParamsMap, e as AdjustmentLayerMask, f as AdjustmentLayerOf, C as CurvePoint, H as HueRange, L as LevelsChannel, g as ImageEditorController, h as SelectionMask, i as SelectionMode, j as ColorDistance, R as RefineEdgeParams, k as ImagePoint, l as ImageLayer, m as CropBox, n as RasterMask, o as Annotation, p as AdjustmentLayerNode, T as TextEnv, q as AnnotationLayer, r as ShapeLayer, s as TypeLayer, t as LayerFilter, u as PixelLayer, v as DevelopFilter, w as ImageTransform, x as ImageHistogram, y as ImageProjection, z as CompositorSources, B as LayerCompositor, E as SmartFilterStack, F as SmartFilter, G as SmartObjectLayer, J as SmartContents, K as SmartDocument, M as SmartPlacement, N as FreeTransformGeometry, O as LiveShapeKind, Q as TypeLayerInfo, U as LayerPlacement, V as FreeTransformMode, W as FreeTransformResult, X as FreeTransformSession, Y as FreeTransformInit, Z as TransformAnchor } from '../export-DMOuzgZZ.cjs';
2
- export { _ as AIResultOptions, $ as AdjustmentLayerBase, a0 as AdjustmentLayerInit, a1 as AdjustmentLayerUpdate, a2 as AnnotationPlacement, a3 as AnnotationType, a4 as ArrowAnnotation, a5 as AspectRatio, a6 as BaseAnnotation, a7 as BlackWhiteParams, a8 as BlurFilter, a9 as CircleAnnotation, aa as CloneSource, ab as ColorBalanceParams, ac as ColorBalanceTone, ad as ColorRangeOptions, ae as ColorRangeSample, af as CreateAnnotationPayload, ag as CropHandle, ah as CurvesParams, ai as DEFAULT_ADJUSTMENTS, aj as DEFAULT_DEPTH_MASK, ak as DEFAULT_MITER_LIMIT, al as DEFAULT_PROOF, am as DEFAULT_REFINE_EDGE_PARAMS, an as DEFAULT_TRANSFORM, ao as DeserializeContext, ap as DevelopSettings, aq as DocumentColorMode, ar as DocumentColorProfile, as as EMPTY_DISTANCE, at as ExportOptions, au as FREE_TRANSFORM_CONTENTS, av as FREE_TRANSFORM_MODES, aw as FillOptions, ax as FreeTransformContent, ay as FreeTransformHost, az as FreeTransformPreview, aA as GUIDED_FILTER_EPS, aB as GroupLayer, aC as HISTOGRAM_BINS, aD as HistogramChannel, aE as HistoryEntryHandle, aF as HueSaturationParams, aG as IMAGE_EDITOR_SCHEMA_VERSION, aH as ImageAnnotation, aI as ImageDimensions, aJ as ImageEditorAIHooks, I as ImageEditorAssetStore, aK as ImageEditorFit, aL as ImageEditorOptions, aM as ImageEditorRenderer, aN as ImageEditorState, aO as ImageEditorTool, aP as ImageLayerType, aQ as InpaintHook, aR as InpaintOptions, aS as InvertParams, aT as LAYERED_SCHEMA_VERSION, aU as LIVE_SHAPE_KINDS, aV as LayerBase, aW as LayerBlendMode, aX as LayerFilterKind, aY as LayerLocation, aZ as LayerMaskProps, a_ as LayerOperationError, a$ as LayerProperties, b0 as LayerSourcesHost, b1 as LayerTarget, b2 as LegacySerializedImageEditorState, b3 as LevelsParams, b4 as LineAnnotation, b5 as LiveShape, b6 as MagicWandOptions, b7 as MixerStrokeInit, b8 as PARAGRAPH_STYLE_FIELDS, b9 as PSD_BLEND_KEYS, ba as PaintOptions, bb as PaintStrokeResult, bc as PaintStrokeSession, bd as PenAnnotation, be as PhotoFilterParams, bf as PixelBuffer, bg as PixelLayerInit, bh as PixelTransform, bi as PosterizeParams, bj as ProofSetup, bk as PsdChannel, bl as PsdExportInput, P as PsdExportResult, bm as PsdFile, bn as PsdHeader, bo as PsdImportOptions, bp as PsdImportResult, bq as PsdLayerMask, br as PsdLayerRecord, bs as PsdLayerSummary, bt as PsdRect, bu as PsdResource, bv as PsdSmartFilter, bw as PsdTaggedBlock, bx as PsdTreeNode, by as RETOUCH_TOOLS, bz as RectAnnotation, bA as RemoveBackgroundHook, bB as RemoveBackgroundOptions, bC as RenderOptions, bD as RetouchStrokeInit, bE as RetouchTool, bF as SELECTION_MODES, bG as SELECTION_MODIFY_OPS, bH as SHAPE_OPERATIONS, bI as SHAPE_RENDER_MARGIN, bJ as SampleOptions, bK as SelectionChannel, bL as SelectionCommandOptions, bM as SelectionModifyOp, bN as SerializeContext, bO as SerializedAdjustmentLayer, bP as SerializedAnnotationLayer, bQ as SerializedColorMode, bR as SerializedColorProfile, bS as SerializedDeepPixels, bT as SerializedGroupLayer, S as SerializedLayer, bU as SerializedLayerEffects, bV as SerializedLayeredImageEditorState, bW as SerializedPattern, bX as SerializedPixelLayer, bY as SerializedRasterMask, bZ as SerializedSelection, b_ as SerializedShapeLayer, b$ as SerializedSmartContents, c0 as SerializedSmartFilter, c1 as SerializedSmartObjectLayer, c2 as SerializedTypeLayer, c3 as ShapeArrowhead, c4 as ShapeComponent, c5 as ShapeEnv, c6 as ShapeFillRule, c7 as ShapeGeometryInput, c8 as ShapeLayerData, c9 as ShapeLayerInfo, ca as ShapeLayerInit, cb as ShapeLineCap, cc as ShapeLineJoin, cd as ShapeOperation, ce as ShapePaint, cf as ShapePsdData, cg as ShapeSelectionOptions, ch as ShapeStroke, ci as ShapeStrokeAlign, cj as ShapeStrokeInput, ck as SmartFilterKind, cl as SmartObjectInfo, cm as SmartPsdData, cn as StrokeInit, co as StrokeTool, cp as TEXT_RENDER_MARGIN, cq as TEXT_STYLE_FIELDS, cr as TONE_RANGE_PRESETS, cs as TRANSFORM_ANCHORS, ct as TextAnnotation, cu as TextLayerInit, cv as ThresholdParams, cw as ToneRangePreset, cx as TransformParams, cy as TransformReadout, cz as TypeLayerData, cA as TypePsdData, cB as VibranceParams, cC as ViewportMetrics, cD as addLayerEffect, cE as addLayerFilter, cF as adjustmentNodeAsLayer, cG as anchorPoint, cH as annotationBlend, cI as annotationOfShape, cJ as annotationOfType, cK as applyImageProjectionToContext, cL as applyParams, cM as blurFilter, cN as borderCoverage, cO as boxMean, cP as boxPointOf, cQ as buildLayerMaskPlanes, cR as calculateCropDrag, cS as canvasToImagePoint, cT as clampCropToImage, cU as colorModePlanes, cV as colorRange, cW as combineSelections, cX as componentPath, cY as compositeDeep, cZ as computeHistogram, c_ as computeSelectionBounds, c$ as contractCoverage, d0 as convertHex, d1 as convertSurfaceColors, d2 as cornersFromMatrix, d3 as coverageToByte, d4 as createSelectionMask, d5 as createShapeLayer, d6 as createTypeLayer, d7 as decodeDeepSurface, d8 as decodeLayerChannel, d9 as decodeLayerMask, da as decodeMergedImage, db as decodePngDataUrl, dc as decodeSelectionRle, dd as defaultShapeName, de as depthMaskAlpha, df as describeTransform, dg as deserializeColorMode, dh as deserializeColorProfile, di as deserializeEffects, dj as deserializeLayer, dk as deserializeLayers, dl as deserializePatterns, dm as deserializeSelection, dn as developFilter, dp as displayTransform, dq as distanceTransform, dr as documentProfile, ds as duplicateLayer, dt as edgeWidth, du as effectiveProof, dv as ellipsePoints, dw as ellipseSelection, dx as encodeDeepSurface, dy as encodeSelectionRle, dz as encodeSurface, dA as expandCoverage, dB as exportPsd, dC as featherCoverage, dD as flipCorners, dE as fullSelection, dF as geometryHomography, dG as getAnnotationBounds, dH as getCropCursor, dI as getRotatedSize, dJ as getViewportMetrics, dK as getViewportProjection, dL as globalImageCache, dM as greyMorphology, dN as groupLayers, dO as guidePlanes, dP as guidedFilterColor, dQ as hasSurface, dR as hasWarp, dS as hashMaskContent, dT as histogramPath, dU as hitTestAnnotation, dV as hitTestCrop, dW as hueRange, dX as identityTransform, dY as imageToCanvasPoint, dZ as importPsd, d_ as invertSelection, d$ as isActiveFilter, e0 as isIdentityTransform, e1 as isQuarterTurnSwapped, e2 as isRenderedLayer, e3 as isRetouchTool, e4 as isSelectionEmpty, e5 as isSelectionMode, e6 as isSpatialFilter, e7 as isSrgb, e8 as isTransformAnchor, e9 as isValidWarp, ea as layerEffectsOf, eb as layerMaskCoverage, ec as layerMaskFromSelection, ed as layerMaskKey, ee as layerName, ef as layerTree, eg as layerTypeLabel, eh as liveComponent, ei as liveShapeSubpaths, ej as magicWand, ek as mapCropHandle, el as mapSubpaths, em as matrixFromCorners, en as matrixFromParams, eo as mergeShapeComponents, ep as migrateSerializedImageEditorState, eq as migrateToLayeredState, er as modifySelection, es as moveLayer, et as newLayerId, eu as normalizeAngle, ev as normalizeFilter, ew as normalizeLayerMask, ex as normalizeLiveShape, ey as normalizeRect, ez as normalizeRefineEdgeParams, eA as normalizeShapePaint, eB as normalizeShapeStroke, eC as normalizeStoredAdjustments, eD as normalizeSubpaths, eE as normalizeText, eF as offsetLayer, eG as offsetShape, eH as parseBlend, eI as parseColor, eJ as parseSelectionMode, eK as patchParagraphStyle, eL as patchTextStyle, eM as pixelLayerBounds, eN as pixelLayers, eO as placeLayer, eP as polygonCoverage, eQ as polygonSelection, eR as presetWarp, eS as previewStep, eT as profileBytes, eU as projectImagePoint, eV as projectImageRect, eW as projectMaskCoverage, eX as psdToLayers, eY as readPsd, eZ as rectSelection, e_ as referencePoint, e$ as refineCoverage, f0 as refineEdgeHalo, f1 as refineSelection, f2 as removeLayer, f3 as removeLayerEffect, f4 as removeLayerFilter, f5 as renderShape, f6 as renderShapeRect, f7 as renderText, f8 as replaceTextRange, f9 as requireLayer, fa as requireOperation, fb as requireShapeLayer, fc as requireTypeLayer, fd as requireUnlocked, fe as rerenderShape, ff as rerenderText, fg as resizePixels, fh as resizeSelection, fi as resolveExternalAssets, fj as resolveProfile, fk as runLayerFilters, fl as selectionArea, fm as selectionFromCoverage, fn as selectionFromPixels, fo as selectionToCoverage, fp as selectionToPixels, fq as selectionValueAt, fr as serializeColorMode, fs as serializeColorProfile, ft as serializeContents, fu as serializeEffects, fv as serializeLayer, fw as serializeLayers, fx as serializeLayersExternal, fy as serializePatterns, fz as serializeSelection, fA as setLayerEffects, fB as setLayerEffectsEnabled, fC as setLayerMask, fD as setLayerProperties, fE as shapeAsPixelLayer, fF as shapeFromAnnotation, fG as shapeGeometryBounds, fH as shapeLayers, fI as shapeOutline, fJ as shapeRenderClip, fK as shiftCoverage, fL as smartObjectLayers, fM as smoothCoverage, fN as srgb8ToLab, fO as textMatrix, fP as textOutlines, fQ as textRange, fR as toHex, fS as toTextSpace, fT as toneRange, fU as transformHomography, fV as transformMap, fW as transformShapeComponents, fX as transformTypeLayer, fY as transformedBox, fZ as transformedPoint, f_ as typeAsPixelLayer, f$ as typeFrame, g0 as typeFromAnnotation, g1 as typeLayerName, g2 as ungroupLayer, g3 as unionRect, g4 as unprojectCanvasPoint, g5 as updateLayerEffect, g6 as updateLayerFilter, g7 as updateLayerMaskProps, g8 as updateShapeLayer, g9 as updateTypeLayer, ga as withNewIds, gb as writePsd } from '../export-DMOuzgZZ.cjs';
1
+ import { a as ImageAdjustments, D as DepthMaskOptions, b as SerializedImageEditorState, A as AdjustmentKind, c as AdjustmentLayer, d as AdjustmentParamsMap, e as AdjustmentLayerMask, f as AdjustmentLayerOf, C as CurvePoint, H as HueRange, L as LevelsChannel, g as ImageEditorController, h as SelectionMask, i as SelectionMode, j as ColorDistance, R as RefineEdgeParams, k as ImagePoint, l as ImageLayer, m as CropBox, n as RasterMask, o as Annotation, p as AdjustmentLayerNode, T as TextEnv, q as AnnotationLayer, r as ShapeLayer, s as TypeLayer, t as LayerFilter, u as PixelLayer, v as DevelopFilter, w as ImageTransform, x as ImageHistogram, y as ImageProjection, z as CompositorSources, B as LayerCompositor, E as SmartFilterStack, F as SmartFilter, G as SmartObjectLayer, J as SmartContents, K as SmartDocument, M as SmartPlacement, N as FreeTransformGeometry, O as LiveShapeKind, Q as TypeLayerInfo, U as LayerPlacement, V as FreeTransformMode, W as FreeTransformResult, X as FreeTransformSession, Y as FreeTransformInit, Z as TransformAnchor } from '../export-B_jO2PrH.cjs';
2
+ export { _ as AIResultOptions, $ as AdjustmentLayerBase, a0 as AdjustmentLayerInit, a1 as AdjustmentLayerUpdate, a2 as AnnotationPlacement, a3 as AnnotationType, a4 as ArrowAnnotation, a5 as AspectRatio, a6 as BaseAnnotation, a7 as BlackWhiteParams, a8 as BlurFilter, a9 as CircleAnnotation, aa as CloneSource, ab as ColorBalanceParams, ac as ColorBalanceTone, ad as ColorRangeOptions, ae as ColorRangeSample, af as CreateAnnotationPayload, ag as CropHandle, ah as CurvesParams, ai as DEFAULT_ADJUSTMENTS, aj as DEFAULT_DEPTH_MASK, ak as DEFAULT_MITER_LIMIT, al as DEFAULT_PROOF, am as DEFAULT_REFINE_EDGE_PARAMS, an as DEFAULT_TRANSFORM, ao as DeserializeContext, ap as DevelopSettings, aq as DocumentColorMode, ar as DocumentColorProfile, as as EMPTY_DISTANCE, at as ExportOptions, au as FREE_TRANSFORM_CONTENTS, av as FREE_TRANSFORM_MODES, aw as FillOptions, ax as FreeTransformContent, ay as FreeTransformHost, az as FreeTransformPreview, aA as GUIDED_FILTER_EPS, aB as GroupLayer, aC as HISTOGRAM_BINS, aD as HistogramChannel, aE as HistoryEntryHandle, aF as HueSaturationParams, aG as IMAGE_EDITOR_SCHEMA_VERSION, aH as ImageAnnotation, aI as ImageDimensions, aJ as ImageEditorAIHooks, I as ImageEditorAssetStore, aK as ImageEditorFit, aL as ImageEditorOptions, aM as ImageEditorRenderer, aN as ImageEditorState, aO as ImageEditorTool, aP as ImageLayerType, aQ as InpaintHook, aR as InpaintOptions, aS as InvertParams, aT as LAYERED_SCHEMA_VERSION, aU as LIVE_SHAPE_KINDS, aV as LayerBase, aW as LayerBlendMode, aX as LayerFilterKind, aY as LayerLocation, aZ as LayerMaskProps, a_ as LayerOperationError, a$ as LayerProperties, b0 as LayerSourcesHost, b1 as LayerTarget, b2 as LegacySerializedImageEditorState, b3 as LevelsParams, b4 as LineAnnotation, b5 as LiveShape, b6 as MagicWandOptions, b7 as MixerStrokeInit, b8 as PARAGRAPH_STYLE_FIELDS, b9 as PSD_BLEND_KEYS, ba as PaintOptions, bb as PaintStrokeResult, bc as PaintStrokeSession, bd as PenAnnotation, be as PhotoFilterParams, bf as PixelBuffer, bg as PixelLayerInit, bh as PixelTransform, bi as PosterizeParams, bj as ProofSetup, bk as PsdChannel, bl as PsdExportInput, P as PsdExportResult, bm as PsdFile, bn as PsdHeader, bo as PsdImportOptions, bp as PsdImportResult, bq as PsdLayerMask, br as PsdLayerRecord, bs as PsdLayerSummary, bt as PsdRect, bu as PsdResource, bv as PsdSmartFilter, bw as PsdTaggedBlock, bx as PsdTreeNode, by as RETOUCH_TOOLS, bz as RectAnnotation, bA as RemoveBackgroundHook, bB as RemoveBackgroundOptions, bC as RenderOptions, bD as RetouchStrokeInit, bE as RetouchTool, bF as SELECTION_MODES, bG as SELECTION_MODIFY_OPS, bH as SHAPE_OPERATIONS, bI as SHAPE_RENDER_MARGIN, bJ as SampleOptions, bK as SelectionChannel, bL as SelectionCommandOptions, bM as SelectionModifyOp, bN as SerializeContext, bO as SerializedAdjustmentLayer, bP as SerializedAnnotationLayer, bQ as SerializedColorMode, bR as SerializedColorProfile, bS as SerializedDeepPixels, bT as SerializedGroupLayer, S as SerializedLayer, bU as SerializedLayerEffects, bV as SerializedLayeredImageEditorState, bW as SerializedPattern, bX as SerializedPixelLayer, bY as SerializedRasterMask, bZ as SerializedSelection, b_ as SerializedShapeLayer, b$ as SerializedSmartContents, c0 as SerializedSmartFilter, c1 as SerializedSmartObjectLayer, c2 as SerializedTypeLayer, c3 as ShapeArrowhead, c4 as ShapeComponent, c5 as ShapeEnv, c6 as ShapeFillRule, c7 as ShapeGeometryInput, c8 as ShapeLayerData, c9 as ShapeLayerInfo, ca as ShapeLayerInit, cb as ShapeLineCap, cc as ShapeLineJoin, cd as ShapeOperation, ce as ShapePaint, cf as ShapePsdData, cg as ShapeSelectionOptions, ch as ShapeStroke, ci as ShapeStrokeAlign, cj as ShapeStrokeInput, ck as SmartFilterKind, cl as SmartObjectInfo, cm as SmartPsdData, cn as StrokeInit, co as StrokeTool, cp as TEXT_RENDER_MARGIN, cq as TEXT_STYLE_FIELDS, cr as TONE_RANGE_PRESETS, cs as TRANSFORM_ANCHORS, ct as TextAnnotation, cu as TextLayerInit, cv as ThresholdParams, cw as ToneRangePreset, cx as TransformParams, cy as TransformReadout, cz as TypeLayerData, cA as TypePsdData, cB as VibranceParams, cC as ViewportMetrics, cD as addLayerEffect, cE as addLayerFilter, cF as adjustmentNodeAsLayer, cG as anchorPoint, cH as annotationBlend, cI as annotationOfShape, cJ as annotationOfType, cK as applyImageProjectionToContext, cL as applyParams, cM as blurFilter, cN as borderCoverage, cO as boxMean, cP as boxPointOf, cQ as buildLayerMaskPlanes, cR as calculateCropDrag, cS as canvasToImagePoint, cT as clampCropToImage, cU as colorModePlanes, cV as colorRange, cW as combineSelections, cX as componentPath, cY as compositeDeep, cZ as computeHistogram, c_ as computeSelectionBounds, c$ as contractCoverage, d0 as convertHex, d1 as convertSurfaceColors, d2 as cornersFromMatrix, d3 as coverageToByte, d4 as createSelectionMask, d5 as createShapeLayer, d6 as createTypeLayer, d7 as decodeDeepSurface, d8 as decodeLayerChannel, d9 as decodeLayerMask, da as decodeMergedImage, db as decodePngDataUrl, dc as decodeSelectionRle, dd as defaultShapeName, de as depthMaskAlpha, df as describeTransform, dg as deserializeColorMode, dh as deserializeColorProfile, di as deserializeEffects, dj as deserializeLayer, dk as deserializeLayers, dl as deserializePatterns, dm as deserializeSelection, dn as developFilter, dp as displayTransform, dq as distanceTransform, dr as documentProfile, ds as duplicateLayer, dt as edgeWidth, du as effectiveProof, dv as ellipsePoints, dw as ellipseSelection, dx as encodeDeepSurface, dy as encodeSelectionRle, dz as encodeSurface, dA as expandCoverage, dB as exportPsd, dC as featherCoverage, dD as flipCorners, dE as fullSelection, dF as geometryHomography, dG as getAnnotationBounds, dH as getCropCursor, dI as getRotatedSize, dJ as getViewportMetrics, dK as getViewportProjection, dL as globalImageCache, dM as greyMorphology, dN as groupLayers, dO as guidePlanes, dP as guidedFilterColor, dQ as hasSurface, dR as hasWarp, dS as hashMaskContent, dT as histogramPath, dU as hitTestAnnotation, dV as hitTestCrop, dW as hueRange, dX as identityTransform, dY as imageToCanvasPoint, dZ as importPsd, d_ as invertSelection, d$ as isActiveFilter, e0 as isIdentityTransform, e1 as isQuarterTurnSwapped, e2 as isRenderedLayer, e3 as isRetouchTool, e4 as isSelectionEmpty, e5 as isSelectionMode, e6 as isSpatialFilter, e7 as isSrgb, e8 as isTransformAnchor, e9 as isValidWarp, ea as layerEffectsOf, eb as layerMaskCoverage, ec as layerMaskFromSelection, ed as layerMaskKey, ee as layerName, ef as layerTree, eg as layerTypeLabel, eh as liveComponent, ei as liveShapeSubpaths, ej as magicWand, ek as mapCropHandle, el as mapSubpaths, em as matrixFromCorners, en as matrixFromParams, eo as mergeShapeComponents, ep as migrateSerializedImageEditorState, eq as migrateToLayeredState, er as modifySelection, es as moveLayer, et as newLayerId, eu as normalizeAngle, ev as normalizeFilter, ew as normalizeLayerMask, ex as normalizeLiveShape, ey as normalizeRect, ez as normalizeRefineEdgeParams, eA as normalizeShapePaint, eB as normalizeShapeStroke, eC as normalizeStoredAdjustments, eD as normalizeSubpaths, eE as normalizeText, eF as offsetLayer, eG as offsetShape, eH as parseBlend, eI as parseColor, eJ as parseSelectionMode, eK as patchParagraphStyle, eL as patchTextStyle, eM as pixelLayerBounds, eN as pixelLayers, eO as placeLayer, eP as polygonCoverage, eQ as polygonSelection, eR as presetWarp, eS as previewStep, eT as profileBytes, eU as projectImagePoint, eV as projectImageRect, eW as projectMaskCoverage, eX as psdToLayers, eY as readPsd, eZ as rectSelection, e_ as referencePoint, e$ as refineCoverage, f0 as refineEdgeHalo, f1 as refineSelection, f2 as removeLayer, f3 as removeLayerEffect, f4 as removeLayerFilter, f5 as renderShape, f6 as renderShapeRect, f7 as renderText, f8 as replaceTextRange, f9 as requireLayer, fa as requireOperation, fb as requireShapeLayer, fc as requireTypeLayer, fd as requireUnlocked, fe as rerenderShape, ff as rerenderText, fg as resizePixels, fh as resizeSelection, fi as resolveExternalAssets, fj as resolveProfile, fk as runLayerFilters, fl as selectionArea, fm as selectionFromCoverage, fn as selectionFromPixels, fo as selectionToCoverage, fp as selectionToPixels, fq as selectionValueAt, fr as serializeColorMode, fs as serializeColorProfile, ft as serializeContents, fu as serializeEffects, fv as serializeLayer, fw as serializeLayers, fx as serializeLayersExternal, fy as serializePatterns, fz as serializeSelection, fA as setLayerEffects, fB as setLayerEffectsEnabled, fC as setLayerMask, fD as setLayerProperties, fE as shapeAsPixelLayer, fF as shapeFromAnnotation, fG as shapeGeometryBounds, fH as shapeLayers, fI as shapeOutline, fJ as shapeRenderClip, fK as shiftCoverage, fL as smartObjectLayers, fM as smoothCoverage, fN as srgb8ToLab, fO as textMatrix, fP as textOutlines, fQ as textRange, fR as toHex, fS as toTextSpace, fT as toneRange, fU as transformHomography, fV as transformMap, fW as transformShapeComponents, fX as transformTypeLayer, fY as transformedBox, fZ as transformedPoint, f_ as typeAsPixelLayer, f$ as typeFrame, g0 as typeFromAnnotation, g1 as typeLayerName, g2 as ungroupLayer, g3 as unionRect, g4 as unprojectCanvasPoint, g5 as updateLayerEffect, g6 as updateLayerFilter, g7 as updateLayerMaskProps, g8 as updateShapeLayer, g9 as updateTypeLayer, ga as withNewIds, gb as writePsd } from '../export-B_jO2PrH.cjs';
3
3
  import { b as LoadReport, J as JsonObject, f as MigrationStep } from '../migrate-iTlm3a8h.cjs';
4
4
  import { a as BlendMode, c as PixelSurface, R as RasterRect } from '../surface-Cn30xIV6.cjs';
5
5
  export { B as BLEND_MODES, b as BlendModeInfo, M as MaskSurface, P as PAINTERLY_BLEND_MODES, Z as PIGMENT_BANDS, _ as PIGMENT_LAMBDA_MIN, $ as PIGMENT_LAMBDA_STEP, a0 as PIGMENT_WAVELENGTHS, Y as Pigment, a1 as PigmentOptions, a2 as PigmentRgb, 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, a3 as createPigment, s as emptySurface, t as fillRect, u as finishTile, v as isBlendMode, w as isPainterlyBlendMode, x as isSeparableBlendMode, a4 as lerpPigment, a5 as lerpPigmentInto, y as mixPigment8, z as mixPigmentRgb, a6 as mixPigments, A as normalizeBlendMode, C as packRgba, D as pigment8, E as readPixel, F as readRegion, a7 as reflectanceToRgb, a8 as rgbToReflectance, G as setLum, a9 as setPigmentColor, 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';
@@ -12,14 +12,14 @@ export { C as CanvasTextShaperOptions, O as OpenTypeFont, a as OutlineFontEntry,
12
12
  import { C as TextAlign, d as TextStyle, c as ParagraphStyle } from '../warp-B39VsOtd.cjs';
13
13
  export { D as DEFAULT_AUTO_LEADING, E as DEFAULT_TEXT_STYLE, F as LaidChar, L as LaidFragment, f as LaidLine, P as ParagraphRun, G as TEXT_ALIGNS, a as TextFont, e as TextLayout, b as TextRun, T as TextShaper, g as WARP_STYLES, h as WARP_STYLE_LABELS, W as WarpPreset, H as caretAt, i as dragWarpMeshPoint, j as evalWarpMesh, I as fitParagraphRuns, J as fitRuns, K as fontOf, t as identityWarpMesh, M as layoutText, N as paragraphRanges, p as pullWarpMesh, o as resizeWarpMesh, O as restyleRange, Q as spliceRuns, R as styleAt, S as textIndexAt, v as warpMeshEditPoints, x as warpMeshGridCurves, y as warpMeshParamAt, B as warpPresetMesh } from '../warp-B39VsOtd.cjs';
14
14
  import { B as BezierPath } from '../bezier-BfwIbVTl.cjs';
15
- import { a as MixerLoad, M as MixerSettings } from '../flow-4-OC-UkQ.cjs';
16
- export { F as BlenderScratch, i as BlenderSettings, B as BrushSettings, C as CoverageMap, G as DEFAULT_BLENDER, H as DEFAULT_BRUSH, s as DEFAULT_FLOW, I as DEFAULT_MIXER, J as DEFAULT_RETOUCH, K as DEFAULT_SMUDGE, L as DEFAULT_WET_PAPER, t as DEFAULT_WET_PARAMS, N as DRY_EPS, D as Dab, O as DabWalker, Q as EMPTY_MIXER_LOAD, U as EX, V as EY, X as ExchangeRates, Y as FLAG_ALIVE, Z as FLAG_BOTTOM, _ as FLAG_LEFT, $ as FLAG_RIGHT, a0 as FLAG_TOP, a1 as FLAG_WET, a2 as FLAT, a3 as FREE_INTERVAL, a4 as MAX_BATCH, u as MAX_BRUSH_SIZE, a5 as MAX_TILT_ACCEL, a6 as MAX_WET_LANES, a7 as MAX_WET_SLOTS, a8 as MIXER_DRAIN, a9 as MIXER_PICKUP_RATE, aa as MIXING_MODELS, c as MixerStroke, b as MixerTarget, h as MixingModel, ab as OPP, ac as PAPER_CAPACITY, ad as PARAM, ae as PARAM_FLOATS, af as PIGMENT_CHANNELS, ag as PLANE, ah as PLANE_BYTES, ai as P_D0, aj as P_EDGE, ak as P_FX, al as P_FY, am as P_H, an as P_P0, ao as P_RHO, ap as P_SW, aq as P_UX, ar as P_UY, as as PaintExchange, at as PaintMedium, au as PaintSample, P as PaintTileTarget, av as PixelSource, aw as RETOUCH_SAMPLES, ax as RegionPixelSource, d as RetouchApply, ay as RetouchDabEffect, az as RetouchDabStroke, f as RetouchPaint, aA as RetouchSample, R as RetouchSettings, n as RgbTriple, aB as SET_PLANES, aC as SLOT_BYTES, aD as SLOT_PLANES, aE as SLOT_SIDE, aF as SPOT_HEAL_TYPES, aG as STRIP, aH as SmudgeDab, j as SmudgeSettings, aI as SmudgeTip, aJ as SpotHealType, g as StrokeApply, S as StrokeCoverage, e as StrokePoint, aK as TONE_RANGES, T as TileMedium, aL as TileMediumOptions, aM as TilePixelSource, aN as ToneRange, aO as U_MAX, aP as W9, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, aQ as WET_TILE, p as WetBackendInfo, aR as WetFlowField, x as WetFlowKind, m as WetFlowSpec, aS as WetKernelKind, aT as WetLaneOptions, aU as WetLaneStats, aV as WetPaper, r as WetPaperInput, l as WetParams, q as WetSnapshot, y as WetSupport, k as WetTilt, aW as WetWorkerLayout, aX as WetWorkerPool, W as WetWorld, aY as WetWorldError, o as WetWorldOptions, aZ as applyRetouchToTile, a_ as applyStrokeToDeepTile, a$ as applyStrokeToTile, b0 as applyToneToDeepTile, b1 as blendRadius, b2 as blenderDab, b3 as canShareMemory, b4 as cleanMixer, b5 as coverageTileCoord, b6 as createBlenderScratch, b7 as dabCoverage, b8 as dabRect, b9 as dodgeBurn, ba as dodgeBurnCurve, bb as dsincos, bc as edgeBits, bd as exchangeRates, be as flowField, bf as healPixels, bg as latticeViscosity, bh as loadMixer, bi as loadWetKernel, bj as luma, bk as mixerRates, bl as normalizeBlender, bm as normalizeBrush, z as normalizeFlow, bn as normalizeMixer, bo as normalizeRetouch, bp as normalizeSmudge, bq as normalizeTilt, A as normalizeWetParams, br as packWetParams, bs as perDabStrength, bt as rasterizeDab, bu as readSourceRegion, bv as rgbaViewOfGrey, bw as saturationOf, bx as smoothPoints, by as smudgeEffect, bz as sponge, bA as spongeEffect, bB as spotHealPixels, bC as spotHealWindow, bD as tipFalloff, bE as tipReach, bF as tipShape, bG as toneOf, bH as walkDabs, bI as wetSimdSupported, E as wetSupport } from '../flow-4-OC-UkQ.cjs';
15
+ import { a as MixerLoad, M as MixerSettings } from '../flow-A2Dj-69w.cjs';
16
+ export { F as BlenderScratch, i as BlenderSettings, B as BrushSettings, C as CoverageMap, G as DEFAULT_BLENDER, H as DEFAULT_BRUSH, s as DEFAULT_FLOW, I as DEFAULT_MIXER, J as DEFAULT_RETOUCH, K as DEFAULT_SMUDGE, L as DEFAULT_WET_PAPER, t as DEFAULT_WET_PARAMS, N as DRY_EPS, D as Dab, O as DabWalker, Q as EMPTY_MIXER_LOAD, U as EX, V as EY, X as ExchangeRates, Y as FLAG_ALIVE, Z as FLAG_BOTTOM, _ as FLAG_LEFT, $ as FLAG_RIGHT, a0 as FLAG_TOP, a1 as FLAG_WET, a2 as FLAT, a3 as FREE_INTERVAL, a4 as MAX_BATCH, u as MAX_BRUSH_SIZE, a5 as MAX_TILT_ACCEL, a6 as MAX_WET_LANES, a7 as MAX_WET_SLOTS, a8 as MIXER_DRAIN, a9 as MIXER_PICKUP_RATE, aa as MIXING_MODELS, c as MixerStroke, b as MixerTarget, h as MixingModel, ab as OPP, ac as PAPER_CAPACITY, ad as PARAM, ae as PARAM_FLOATS, af as PIGMENT_CHANNELS, ag as PLANE, ah as PLANE_BYTES, ai as P_D0, aj as P_EDGE, ak as P_FX, al as P_FY, am as P_H, an as P_P0, ao as P_RHO, ap as P_SW, aq as P_UX, ar as P_UY, as as PaintExchange, at as PaintMedium, au as PaintPixels, av as PaintSample, P as PaintTileTarget, aw as PixelSource, ax as RETOUCH_SAMPLES, ay as RegionPixelSource, d as RetouchApply, az as RetouchDabEffect, aA as RetouchDabStroke, f as RetouchPaint, aB as RetouchSample, R as RetouchSettings, n as RgbTriple, aC as SET_PLANES, aD as SLOT_BYTES, aE as SLOT_PLANES, aF as SLOT_SIDE, aG as SPOT_HEAL_TYPES, aH as STRIP, aI as SmudgeDab, j as SmudgeSettings, aJ as SmudgeTip, aK as SpotHealType, g as StrokeApply, S as StrokeCoverage, e as StrokePoint, aL as TONE_RANGES, T as TileMedium, aM as TileMediumOptions, aN as TilePixelSource, aO as ToneRange, aP as U_MAX, aQ as W9, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, aR as WET_TILE, p as WetBackendInfo, aS as WetFlowField, x as WetFlowKind, m as WetFlowSpec, aT as WetKernelKind, aU as WetLaneOptions, aV as WetLaneStats, aW as WetPaper, r as WetPaperInput, l as WetParams, q as WetSnapshot, y as WetSupport, k as WetTilt, aX as WetWorkerLayout, aY as WetWorkerPool, W as WetWorld, aZ as WetWorldError, o as WetWorldOptions, a_ as applyRetouchToTile, a$ as applyStrokeToDeepTile, b0 as applyStrokeToTile, b1 as applyToneToDeepTile, b2 as blendRadius, b3 as blenderDab, b4 as canShareMemory, b5 as cleanMixer, b6 as coverageTileCoord, b7 as createBlenderScratch, b8 as dabCoverage, b9 as dabRect, ba as dodgeBurn, bb as dodgeBurnCurve, bc as dsincos, bd as edgeBits, be as exchangeRates, bf as flowField, bg as healPixels, bh as latticeViscosity, bi as loadMixer, bj as loadWetKernel, bk as luma, bl as mixerRates, bm as normalizeBlender, bn as normalizeBrush, z as normalizeFlow, bo as normalizeMixer, bp as normalizeRetouch, bq as normalizeSmudge, br as normalizeTilt, A as normalizeWetParams, bs as packWetParams, bt as perDabStrength, bu as put255, bv as rasterizeDab, bw as readSourceRegion, bx as rgbaViewOfGrey, by as saturationOf, bz as smoothPoints, bA as smudgeEffect, bB as sponge, bC as spongeEffect, bD as spotHealPixels, bE as spotHealWindow, bF as tipFalloff, bG as tipReach, bH as tipShape, bI as toneOf, bJ as walkDabs, bK as wetSimdSupported, E as wetSupport } from '../flow-A2Dj-69w.cjs';
17
17
  export { BODY_SCATTER, HIDE, PIGMENT_UNIT, PaintPathOptions, PathSample, PathStrokeOptions, SRGB_TO_LINEAR, WetMedium, WetMediumOptions, bestOffset, createPigmentTools, dexp, dilateMask, dlog, dpow, expNeg, filmPixel, filmReflectance, linearToSrgb8, maskBounds, membraneFill, paintPathStroke, pathStrokeCoverage, pathStrokeDabs, pigmentColor, pigmentOf, pixelPigment, seamlessClone, shadeTile, solveMembrane, srgbByteToLinear, stepSlotTs } from '../paint/index.cjs';
18
18
  import { j as Intent, b as BuiltinProfileId } from '../builtin-CY97ppKM.cjs';
19
19
  export { a as BUILTIN_PROFILES, i as INTENTS } from '../builtin-CY97ppKM.cjs';
20
20
  import { W as WarpStyle, a as WarpMesh, V as Vec2, Q as Quad } from '../types-CwMPoRMU.cjs';
21
21
  export { A as AffineMatrix, H as Homography } from '../types-CwMPoRMU.cjs';
22
- import '../types-Tfly4Aya.cjs';
22
+ import '../types-Dq-8qgoo.cjs';
23
23
  import '../schema-Di0CS6Pe.cjs';
24
24
  import '../types-BFkYA4eF.cjs';
25
25
 
@@ -1,5 +1,5 @@
1
- import { a as ImageAdjustments, D as DepthMaskOptions, b as SerializedImageEditorState, A as AdjustmentKind, c as AdjustmentLayer, d as AdjustmentParamsMap, e as AdjustmentLayerMask, f as AdjustmentLayerOf, C as CurvePoint, H as HueRange, L as LevelsChannel, g as ImageEditorController, h as SelectionMask, i as SelectionMode, j as ColorDistance, R as RefineEdgeParams, k as ImagePoint, l as ImageLayer, m as CropBox, n as RasterMask, o as Annotation, p as AdjustmentLayerNode, T as TextEnv, q as AnnotationLayer, r as ShapeLayer, s as TypeLayer, t as LayerFilter, u as PixelLayer, v as DevelopFilter, w as ImageTransform, x as ImageHistogram, y as ImageProjection, z as CompositorSources, B as LayerCompositor, E as SmartFilterStack, F as SmartFilter, G as SmartObjectLayer, J as SmartContents, K as SmartDocument, M as SmartPlacement, N as FreeTransformGeometry, O as LiveShapeKind, Q as TypeLayerInfo, U as LayerPlacement, V as FreeTransformMode, W as FreeTransformResult, X as FreeTransformSession, Y as FreeTransformInit, Z as TransformAnchor } from '../export-Dul1SbPv.js';
2
- export { _ as AIResultOptions, $ as AdjustmentLayerBase, a0 as AdjustmentLayerInit, a1 as AdjustmentLayerUpdate, a2 as AnnotationPlacement, a3 as AnnotationType, a4 as ArrowAnnotation, a5 as AspectRatio, a6 as BaseAnnotation, a7 as BlackWhiteParams, a8 as BlurFilter, a9 as CircleAnnotation, aa as CloneSource, ab as ColorBalanceParams, ac as ColorBalanceTone, ad as ColorRangeOptions, ae as ColorRangeSample, af as CreateAnnotationPayload, ag as CropHandle, ah as CurvesParams, ai as DEFAULT_ADJUSTMENTS, aj as DEFAULT_DEPTH_MASK, ak as DEFAULT_MITER_LIMIT, al as DEFAULT_PROOF, am as DEFAULT_REFINE_EDGE_PARAMS, an as DEFAULT_TRANSFORM, ao as DeserializeContext, ap as DevelopSettings, aq as DocumentColorMode, ar as DocumentColorProfile, as as EMPTY_DISTANCE, at as ExportOptions, au as FREE_TRANSFORM_CONTENTS, av as FREE_TRANSFORM_MODES, aw as FillOptions, ax as FreeTransformContent, ay as FreeTransformHost, az as FreeTransformPreview, aA as GUIDED_FILTER_EPS, aB as GroupLayer, aC as HISTOGRAM_BINS, aD as HistogramChannel, aE as HistoryEntryHandle, aF as HueSaturationParams, aG as IMAGE_EDITOR_SCHEMA_VERSION, aH as ImageAnnotation, aI as ImageDimensions, aJ as ImageEditorAIHooks, I as ImageEditorAssetStore, aK as ImageEditorFit, aL as ImageEditorOptions, aM as ImageEditorRenderer, aN as ImageEditorState, aO as ImageEditorTool, aP as ImageLayerType, aQ as InpaintHook, aR as InpaintOptions, aS as InvertParams, aT as LAYERED_SCHEMA_VERSION, aU as LIVE_SHAPE_KINDS, aV as LayerBase, aW as LayerBlendMode, aX as LayerFilterKind, aY as LayerLocation, aZ as LayerMaskProps, a_ as LayerOperationError, a$ as LayerProperties, b0 as LayerSourcesHost, b1 as LayerTarget, b2 as LegacySerializedImageEditorState, b3 as LevelsParams, b4 as LineAnnotation, b5 as LiveShape, b6 as MagicWandOptions, b7 as MixerStrokeInit, b8 as PARAGRAPH_STYLE_FIELDS, b9 as PSD_BLEND_KEYS, ba as PaintOptions, bb as PaintStrokeResult, bc as PaintStrokeSession, bd as PenAnnotation, be as PhotoFilterParams, bf as PixelBuffer, bg as PixelLayerInit, bh as PixelTransform, bi as PosterizeParams, bj as ProofSetup, bk as PsdChannel, bl as PsdExportInput, P as PsdExportResult, bm as PsdFile, bn as PsdHeader, bo as PsdImportOptions, bp as PsdImportResult, bq as PsdLayerMask, br as PsdLayerRecord, bs as PsdLayerSummary, bt as PsdRect, bu as PsdResource, bv as PsdSmartFilter, bw as PsdTaggedBlock, bx as PsdTreeNode, by as RETOUCH_TOOLS, bz as RectAnnotation, bA as RemoveBackgroundHook, bB as RemoveBackgroundOptions, bC as RenderOptions, bD as RetouchStrokeInit, bE as RetouchTool, bF as SELECTION_MODES, bG as SELECTION_MODIFY_OPS, bH as SHAPE_OPERATIONS, bI as SHAPE_RENDER_MARGIN, bJ as SampleOptions, bK as SelectionChannel, bL as SelectionCommandOptions, bM as SelectionModifyOp, bN as SerializeContext, bO as SerializedAdjustmentLayer, bP as SerializedAnnotationLayer, bQ as SerializedColorMode, bR as SerializedColorProfile, bS as SerializedDeepPixels, bT as SerializedGroupLayer, S as SerializedLayer, bU as SerializedLayerEffects, bV as SerializedLayeredImageEditorState, bW as SerializedPattern, bX as SerializedPixelLayer, bY as SerializedRasterMask, bZ as SerializedSelection, b_ as SerializedShapeLayer, b$ as SerializedSmartContents, c0 as SerializedSmartFilter, c1 as SerializedSmartObjectLayer, c2 as SerializedTypeLayer, c3 as ShapeArrowhead, c4 as ShapeComponent, c5 as ShapeEnv, c6 as ShapeFillRule, c7 as ShapeGeometryInput, c8 as ShapeLayerData, c9 as ShapeLayerInfo, ca as ShapeLayerInit, cb as ShapeLineCap, cc as ShapeLineJoin, cd as ShapeOperation, ce as ShapePaint, cf as ShapePsdData, cg as ShapeSelectionOptions, ch as ShapeStroke, ci as ShapeStrokeAlign, cj as ShapeStrokeInput, ck as SmartFilterKind, cl as SmartObjectInfo, cm as SmartPsdData, cn as StrokeInit, co as StrokeTool, cp as TEXT_RENDER_MARGIN, cq as TEXT_STYLE_FIELDS, cr as TONE_RANGE_PRESETS, cs as TRANSFORM_ANCHORS, ct as TextAnnotation, cu as TextLayerInit, cv as ThresholdParams, cw as ToneRangePreset, cx as TransformParams, cy as TransformReadout, cz as TypeLayerData, cA as TypePsdData, cB as VibranceParams, cC as ViewportMetrics, cD as addLayerEffect, cE as addLayerFilter, cF as adjustmentNodeAsLayer, cG as anchorPoint, cH as annotationBlend, cI as annotationOfShape, cJ as annotationOfType, cK as applyImageProjectionToContext, cL as applyParams, cM as blurFilter, cN as borderCoverage, cO as boxMean, cP as boxPointOf, cQ as buildLayerMaskPlanes, cR as calculateCropDrag, cS as canvasToImagePoint, cT as clampCropToImage, cU as colorModePlanes, cV as colorRange, cW as combineSelections, cX as componentPath, cY as compositeDeep, cZ as computeHistogram, c_ as computeSelectionBounds, c$ as contractCoverage, d0 as convertHex, d1 as convertSurfaceColors, d2 as cornersFromMatrix, d3 as coverageToByte, d4 as createSelectionMask, d5 as createShapeLayer, d6 as createTypeLayer, d7 as decodeDeepSurface, d8 as decodeLayerChannel, d9 as decodeLayerMask, da as decodeMergedImage, db as decodePngDataUrl, dc as decodeSelectionRle, dd as defaultShapeName, de as depthMaskAlpha, df as describeTransform, dg as deserializeColorMode, dh as deserializeColorProfile, di as deserializeEffects, dj as deserializeLayer, dk as deserializeLayers, dl as deserializePatterns, dm as deserializeSelection, dn as developFilter, dp as displayTransform, dq as distanceTransform, dr as documentProfile, ds as duplicateLayer, dt as edgeWidth, du as effectiveProof, dv as ellipsePoints, dw as ellipseSelection, dx as encodeDeepSurface, dy as encodeSelectionRle, dz as encodeSurface, dA as expandCoverage, dB as exportPsd, dC as featherCoverage, dD as flipCorners, dE as fullSelection, dF as geometryHomography, dG as getAnnotationBounds, dH as getCropCursor, dI as getRotatedSize, dJ as getViewportMetrics, dK as getViewportProjection, dL as globalImageCache, dM as greyMorphology, dN as groupLayers, dO as guidePlanes, dP as guidedFilterColor, dQ as hasSurface, dR as hasWarp, dS as hashMaskContent, dT as histogramPath, dU as hitTestAnnotation, dV as hitTestCrop, dW as hueRange, dX as identityTransform, dY as imageToCanvasPoint, dZ as importPsd, d_ as invertSelection, d$ as isActiveFilter, e0 as isIdentityTransform, e1 as isQuarterTurnSwapped, e2 as isRenderedLayer, e3 as isRetouchTool, e4 as isSelectionEmpty, e5 as isSelectionMode, e6 as isSpatialFilter, e7 as isSrgb, e8 as isTransformAnchor, e9 as isValidWarp, ea as layerEffectsOf, eb as layerMaskCoverage, ec as layerMaskFromSelection, ed as layerMaskKey, ee as layerName, ef as layerTree, eg as layerTypeLabel, eh as liveComponent, ei as liveShapeSubpaths, ej as magicWand, ek as mapCropHandle, el as mapSubpaths, em as matrixFromCorners, en as matrixFromParams, eo as mergeShapeComponents, ep as migrateSerializedImageEditorState, eq as migrateToLayeredState, er as modifySelection, es as moveLayer, et as newLayerId, eu as normalizeAngle, ev as normalizeFilter, ew as normalizeLayerMask, ex as normalizeLiveShape, ey as normalizeRect, ez as normalizeRefineEdgeParams, eA as normalizeShapePaint, eB as normalizeShapeStroke, eC as normalizeStoredAdjustments, eD as normalizeSubpaths, eE as normalizeText, eF as offsetLayer, eG as offsetShape, eH as parseBlend, eI as parseColor, eJ as parseSelectionMode, eK as patchParagraphStyle, eL as patchTextStyle, eM as pixelLayerBounds, eN as pixelLayers, eO as placeLayer, eP as polygonCoverage, eQ as polygonSelection, eR as presetWarp, eS as previewStep, eT as profileBytes, eU as projectImagePoint, eV as projectImageRect, eW as projectMaskCoverage, eX as psdToLayers, eY as readPsd, eZ as rectSelection, e_ as referencePoint, e$ as refineCoverage, f0 as refineEdgeHalo, f1 as refineSelection, f2 as removeLayer, f3 as removeLayerEffect, f4 as removeLayerFilter, f5 as renderShape, f6 as renderShapeRect, f7 as renderText, f8 as replaceTextRange, f9 as requireLayer, fa as requireOperation, fb as requireShapeLayer, fc as requireTypeLayer, fd as requireUnlocked, fe as rerenderShape, ff as rerenderText, fg as resizePixels, fh as resizeSelection, fi as resolveExternalAssets, fj as resolveProfile, fk as runLayerFilters, fl as selectionArea, fm as selectionFromCoverage, fn as selectionFromPixels, fo as selectionToCoverage, fp as selectionToPixels, fq as selectionValueAt, fr as serializeColorMode, fs as serializeColorProfile, ft as serializeContents, fu as serializeEffects, fv as serializeLayer, fw as serializeLayers, fx as serializeLayersExternal, fy as serializePatterns, fz as serializeSelection, fA as setLayerEffects, fB as setLayerEffectsEnabled, fC as setLayerMask, fD as setLayerProperties, fE as shapeAsPixelLayer, fF as shapeFromAnnotation, fG as shapeGeometryBounds, fH as shapeLayers, fI as shapeOutline, fJ as shapeRenderClip, fK as shiftCoverage, fL as smartObjectLayers, fM as smoothCoverage, fN as srgb8ToLab, fO as textMatrix, fP as textOutlines, fQ as textRange, fR as toHex, fS as toTextSpace, fT as toneRange, fU as transformHomography, fV as transformMap, fW as transformShapeComponents, fX as transformTypeLayer, fY as transformedBox, fZ as transformedPoint, f_ as typeAsPixelLayer, f$ as typeFrame, g0 as typeFromAnnotation, g1 as typeLayerName, g2 as ungroupLayer, g3 as unionRect, g4 as unprojectCanvasPoint, g5 as updateLayerEffect, g6 as updateLayerFilter, g7 as updateLayerMaskProps, g8 as updateShapeLayer, g9 as updateTypeLayer, ga as withNewIds, gb as writePsd } from '../export-Dul1SbPv.js';
1
+ import { a as ImageAdjustments, D as DepthMaskOptions, b as SerializedImageEditorState, A as AdjustmentKind, c as AdjustmentLayer, d as AdjustmentParamsMap, e as AdjustmentLayerMask, f as AdjustmentLayerOf, C as CurvePoint, H as HueRange, L as LevelsChannel, g as ImageEditorController, h as SelectionMask, i as SelectionMode, j as ColorDistance, R as RefineEdgeParams, k as ImagePoint, l as ImageLayer, m as CropBox, n as RasterMask, o as Annotation, p as AdjustmentLayerNode, T as TextEnv, q as AnnotationLayer, r as ShapeLayer, s as TypeLayer, t as LayerFilter, u as PixelLayer, v as DevelopFilter, w as ImageTransform, x as ImageHistogram, y as ImageProjection, z as CompositorSources, B as LayerCompositor, E as SmartFilterStack, F as SmartFilter, G as SmartObjectLayer, J as SmartContents, K as SmartDocument, M as SmartPlacement, N as FreeTransformGeometry, O as LiveShapeKind, Q as TypeLayerInfo, U as LayerPlacement, V as FreeTransformMode, W as FreeTransformResult, X as FreeTransformSession, Y as FreeTransformInit, Z as TransformAnchor } from '../export-Ds8Ccw0K.js';
2
+ export { _ as AIResultOptions, $ as AdjustmentLayerBase, a0 as AdjustmentLayerInit, a1 as AdjustmentLayerUpdate, a2 as AnnotationPlacement, a3 as AnnotationType, a4 as ArrowAnnotation, a5 as AspectRatio, a6 as BaseAnnotation, a7 as BlackWhiteParams, a8 as BlurFilter, a9 as CircleAnnotation, aa as CloneSource, ab as ColorBalanceParams, ac as ColorBalanceTone, ad as ColorRangeOptions, ae as ColorRangeSample, af as CreateAnnotationPayload, ag as CropHandle, ah as CurvesParams, ai as DEFAULT_ADJUSTMENTS, aj as DEFAULT_DEPTH_MASK, ak as DEFAULT_MITER_LIMIT, al as DEFAULT_PROOF, am as DEFAULT_REFINE_EDGE_PARAMS, an as DEFAULT_TRANSFORM, ao as DeserializeContext, ap as DevelopSettings, aq as DocumentColorMode, ar as DocumentColorProfile, as as EMPTY_DISTANCE, at as ExportOptions, au as FREE_TRANSFORM_CONTENTS, av as FREE_TRANSFORM_MODES, aw as FillOptions, ax as FreeTransformContent, ay as FreeTransformHost, az as FreeTransformPreview, aA as GUIDED_FILTER_EPS, aB as GroupLayer, aC as HISTOGRAM_BINS, aD as HistogramChannel, aE as HistoryEntryHandle, aF as HueSaturationParams, aG as IMAGE_EDITOR_SCHEMA_VERSION, aH as ImageAnnotation, aI as ImageDimensions, aJ as ImageEditorAIHooks, I as ImageEditorAssetStore, aK as ImageEditorFit, aL as ImageEditorOptions, aM as ImageEditorRenderer, aN as ImageEditorState, aO as ImageEditorTool, aP as ImageLayerType, aQ as InpaintHook, aR as InpaintOptions, aS as InvertParams, aT as LAYERED_SCHEMA_VERSION, aU as LIVE_SHAPE_KINDS, aV as LayerBase, aW as LayerBlendMode, aX as LayerFilterKind, aY as LayerLocation, aZ as LayerMaskProps, a_ as LayerOperationError, a$ as LayerProperties, b0 as LayerSourcesHost, b1 as LayerTarget, b2 as LegacySerializedImageEditorState, b3 as LevelsParams, b4 as LineAnnotation, b5 as LiveShape, b6 as MagicWandOptions, b7 as MixerStrokeInit, b8 as PARAGRAPH_STYLE_FIELDS, b9 as PSD_BLEND_KEYS, ba as PaintOptions, bb as PaintStrokeResult, bc as PaintStrokeSession, bd as PenAnnotation, be as PhotoFilterParams, bf as PixelBuffer, bg as PixelLayerInit, bh as PixelTransform, bi as PosterizeParams, bj as ProofSetup, bk as PsdChannel, bl as PsdExportInput, P as PsdExportResult, bm as PsdFile, bn as PsdHeader, bo as PsdImportOptions, bp as PsdImportResult, bq as PsdLayerMask, br as PsdLayerRecord, bs as PsdLayerSummary, bt as PsdRect, bu as PsdResource, bv as PsdSmartFilter, bw as PsdTaggedBlock, bx as PsdTreeNode, by as RETOUCH_TOOLS, bz as RectAnnotation, bA as RemoveBackgroundHook, bB as RemoveBackgroundOptions, bC as RenderOptions, bD as RetouchStrokeInit, bE as RetouchTool, bF as SELECTION_MODES, bG as SELECTION_MODIFY_OPS, bH as SHAPE_OPERATIONS, bI as SHAPE_RENDER_MARGIN, bJ as SampleOptions, bK as SelectionChannel, bL as SelectionCommandOptions, bM as SelectionModifyOp, bN as SerializeContext, bO as SerializedAdjustmentLayer, bP as SerializedAnnotationLayer, bQ as SerializedColorMode, bR as SerializedColorProfile, bS as SerializedDeepPixels, bT as SerializedGroupLayer, S as SerializedLayer, bU as SerializedLayerEffects, bV as SerializedLayeredImageEditorState, bW as SerializedPattern, bX as SerializedPixelLayer, bY as SerializedRasterMask, bZ as SerializedSelection, b_ as SerializedShapeLayer, b$ as SerializedSmartContents, c0 as SerializedSmartFilter, c1 as SerializedSmartObjectLayer, c2 as SerializedTypeLayer, c3 as ShapeArrowhead, c4 as ShapeComponent, c5 as ShapeEnv, c6 as ShapeFillRule, c7 as ShapeGeometryInput, c8 as ShapeLayerData, c9 as ShapeLayerInfo, ca as ShapeLayerInit, cb as ShapeLineCap, cc as ShapeLineJoin, cd as ShapeOperation, ce as ShapePaint, cf as ShapePsdData, cg as ShapeSelectionOptions, ch as ShapeStroke, ci as ShapeStrokeAlign, cj as ShapeStrokeInput, ck as SmartFilterKind, cl as SmartObjectInfo, cm as SmartPsdData, cn as StrokeInit, co as StrokeTool, cp as TEXT_RENDER_MARGIN, cq as TEXT_STYLE_FIELDS, cr as TONE_RANGE_PRESETS, cs as TRANSFORM_ANCHORS, ct as TextAnnotation, cu as TextLayerInit, cv as ThresholdParams, cw as ToneRangePreset, cx as TransformParams, cy as TransformReadout, cz as TypeLayerData, cA as TypePsdData, cB as VibranceParams, cC as ViewportMetrics, cD as addLayerEffect, cE as addLayerFilter, cF as adjustmentNodeAsLayer, cG as anchorPoint, cH as annotationBlend, cI as annotationOfShape, cJ as annotationOfType, cK as applyImageProjectionToContext, cL as applyParams, cM as blurFilter, cN as borderCoverage, cO as boxMean, cP as boxPointOf, cQ as buildLayerMaskPlanes, cR as calculateCropDrag, cS as canvasToImagePoint, cT as clampCropToImage, cU as colorModePlanes, cV as colorRange, cW as combineSelections, cX as componentPath, cY as compositeDeep, cZ as computeHistogram, c_ as computeSelectionBounds, c$ as contractCoverage, d0 as convertHex, d1 as convertSurfaceColors, d2 as cornersFromMatrix, d3 as coverageToByte, d4 as createSelectionMask, d5 as createShapeLayer, d6 as createTypeLayer, d7 as decodeDeepSurface, d8 as decodeLayerChannel, d9 as decodeLayerMask, da as decodeMergedImage, db as decodePngDataUrl, dc as decodeSelectionRle, dd as defaultShapeName, de as depthMaskAlpha, df as describeTransform, dg as deserializeColorMode, dh as deserializeColorProfile, di as deserializeEffects, dj as deserializeLayer, dk as deserializeLayers, dl as deserializePatterns, dm as deserializeSelection, dn as developFilter, dp as displayTransform, dq as distanceTransform, dr as documentProfile, ds as duplicateLayer, dt as edgeWidth, du as effectiveProof, dv as ellipsePoints, dw as ellipseSelection, dx as encodeDeepSurface, dy as encodeSelectionRle, dz as encodeSurface, dA as expandCoverage, dB as exportPsd, dC as featherCoverage, dD as flipCorners, dE as fullSelection, dF as geometryHomography, dG as getAnnotationBounds, dH as getCropCursor, dI as getRotatedSize, dJ as getViewportMetrics, dK as getViewportProjection, dL as globalImageCache, dM as greyMorphology, dN as groupLayers, dO as guidePlanes, dP as guidedFilterColor, dQ as hasSurface, dR as hasWarp, dS as hashMaskContent, dT as histogramPath, dU as hitTestAnnotation, dV as hitTestCrop, dW as hueRange, dX as identityTransform, dY as imageToCanvasPoint, dZ as importPsd, d_ as invertSelection, d$ as isActiveFilter, e0 as isIdentityTransform, e1 as isQuarterTurnSwapped, e2 as isRenderedLayer, e3 as isRetouchTool, e4 as isSelectionEmpty, e5 as isSelectionMode, e6 as isSpatialFilter, e7 as isSrgb, e8 as isTransformAnchor, e9 as isValidWarp, ea as layerEffectsOf, eb as layerMaskCoverage, ec as layerMaskFromSelection, ed as layerMaskKey, ee as layerName, ef as layerTree, eg as layerTypeLabel, eh as liveComponent, ei as liveShapeSubpaths, ej as magicWand, ek as mapCropHandle, el as mapSubpaths, em as matrixFromCorners, en as matrixFromParams, eo as mergeShapeComponents, ep as migrateSerializedImageEditorState, eq as migrateToLayeredState, er as modifySelection, es as moveLayer, et as newLayerId, eu as normalizeAngle, ev as normalizeFilter, ew as normalizeLayerMask, ex as normalizeLiveShape, ey as normalizeRect, ez as normalizeRefineEdgeParams, eA as normalizeShapePaint, eB as normalizeShapeStroke, eC as normalizeStoredAdjustments, eD as normalizeSubpaths, eE as normalizeText, eF as offsetLayer, eG as offsetShape, eH as parseBlend, eI as parseColor, eJ as parseSelectionMode, eK as patchParagraphStyle, eL as patchTextStyle, eM as pixelLayerBounds, eN as pixelLayers, eO as placeLayer, eP as polygonCoverage, eQ as polygonSelection, eR as presetWarp, eS as previewStep, eT as profileBytes, eU as projectImagePoint, eV as projectImageRect, eW as projectMaskCoverage, eX as psdToLayers, eY as readPsd, eZ as rectSelection, e_ as referencePoint, e$ as refineCoverage, f0 as refineEdgeHalo, f1 as refineSelection, f2 as removeLayer, f3 as removeLayerEffect, f4 as removeLayerFilter, f5 as renderShape, f6 as renderShapeRect, f7 as renderText, f8 as replaceTextRange, f9 as requireLayer, fa as requireOperation, fb as requireShapeLayer, fc as requireTypeLayer, fd as requireUnlocked, fe as rerenderShape, ff as rerenderText, fg as resizePixels, fh as resizeSelection, fi as resolveExternalAssets, fj as resolveProfile, fk as runLayerFilters, fl as selectionArea, fm as selectionFromCoverage, fn as selectionFromPixels, fo as selectionToCoverage, fp as selectionToPixels, fq as selectionValueAt, fr as serializeColorMode, fs as serializeColorProfile, ft as serializeContents, fu as serializeEffects, fv as serializeLayer, fw as serializeLayers, fx as serializeLayersExternal, fy as serializePatterns, fz as serializeSelection, fA as setLayerEffects, fB as setLayerEffectsEnabled, fC as setLayerMask, fD as setLayerProperties, fE as shapeAsPixelLayer, fF as shapeFromAnnotation, fG as shapeGeometryBounds, fH as shapeLayers, fI as shapeOutline, fJ as shapeRenderClip, fK as shiftCoverage, fL as smartObjectLayers, fM as smoothCoverage, fN as srgb8ToLab, fO as textMatrix, fP as textOutlines, fQ as textRange, fR as toHex, fS as toTextSpace, fT as toneRange, fU as transformHomography, fV as transformMap, fW as transformShapeComponents, fX as transformTypeLayer, fY as transformedBox, fZ as transformedPoint, f_ as typeAsPixelLayer, f$ as typeFrame, g0 as typeFromAnnotation, g1 as typeLayerName, g2 as ungroupLayer, g3 as unionRect, g4 as unprojectCanvasPoint, g5 as updateLayerEffect, g6 as updateLayerFilter, g7 as updateLayerMaskProps, g8 as updateShapeLayer, g9 as updateTypeLayer, ga as withNewIds, gb as writePsd } from '../export-Ds8Ccw0K.js';
3
3
  import { b as LoadReport, J as JsonObject, f as MigrationStep } from '../migrate-iTlm3a8h.js';
4
4
  import { a as BlendMode, c as PixelSurface, R as RasterRect } from '../surface-Cn30xIV6.js';
5
5
  export { B as BLEND_MODES, b as BlendModeInfo, M as MaskSurface, P as PAINTERLY_BLEND_MODES, Z as PIGMENT_BANDS, _ as PIGMENT_LAMBDA_MIN, $ as PIGMENT_LAMBDA_STEP, a0 as PIGMENT_WAVELENGTHS, Y as Pigment, a1 as PigmentOptions, a2 as PigmentRgb, 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, a3 as createPigment, s as emptySurface, t as fillRect, u as finishTile, v as isBlendMode, w as isPainterlyBlendMode, x as isSeparableBlendMode, a4 as lerpPigment, a5 as lerpPigmentInto, y as mixPigment8, z as mixPigmentRgb, a6 as mixPigments, A as normalizeBlendMode, C as packRgba, D as pigment8, E as readPixel, F as readRegion, a7 as reflectanceToRgb, a8 as rgbToReflectance, G as setLum, a9 as setPigmentColor, 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';
@@ -12,14 +12,14 @@ export { C as CanvasTextShaperOptions, O as OpenTypeFont, a as OutlineFontEntry,
12
12
  import { C as TextAlign, d as TextStyle, c as ParagraphStyle } from '../warp-DMN30aY6.js';
13
13
  export { D as DEFAULT_AUTO_LEADING, E as DEFAULT_TEXT_STYLE, F as LaidChar, L as LaidFragment, f as LaidLine, P as ParagraphRun, G as TEXT_ALIGNS, a as TextFont, e as TextLayout, b as TextRun, T as TextShaper, g as WARP_STYLES, h as WARP_STYLE_LABELS, W as WarpPreset, H as caretAt, i as dragWarpMeshPoint, j as evalWarpMesh, I as fitParagraphRuns, J as fitRuns, K as fontOf, t as identityWarpMesh, M as layoutText, N as paragraphRanges, p as pullWarpMesh, o as resizeWarpMesh, O as restyleRange, Q as spliceRuns, R as styleAt, S as textIndexAt, v as warpMeshEditPoints, x as warpMeshGridCurves, y as warpMeshParamAt, B as warpPresetMesh } from '../warp-DMN30aY6.js';
14
14
  import { B as BezierPath } from '../bezier-DYBvLgUH.js';
15
- import { a as MixerLoad, M as MixerSettings } from '../flow-Cb7lkPm8.js';
16
- export { F as BlenderScratch, i as BlenderSettings, B as BrushSettings, C as CoverageMap, G as DEFAULT_BLENDER, H as DEFAULT_BRUSH, s as DEFAULT_FLOW, I as DEFAULT_MIXER, J as DEFAULT_RETOUCH, K as DEFAULT_SMUDGE, L as DEFAULT_WET_PAPER, t as DEFAULT_WET_PARAMS, N as DRY_EPS, D as Dab, O as DabWalker, Q as EMPTY_MIXER_LOAD, U as EX, V as EY, X as ExchangeRates, Y as FLAG_ALIVE, Z as FLAG_BOTTOM, _ as FLAG_LEFT, $ as FLAG_RIGHT, a0 as FLAG_TOP, a1 as FLAG_WET, a2 as FLAT, a3 as FREE_INTERVAL, a4 as MAX_BATCH, u as MAX_BRUSH_SIZE, a5 as MAX_TILT_ACCEL, a6 as MAX_WET_LANES, a7 as MAX_WET_SLOTS, a8 as MIXER_DRAIN, a9 as MIXER_PICKUP_RATE, aa as MIXING_MODELS, c as MixerStroke, b as MixerTarget, h as MixingModel, ab as OPP, ac as PAPER_CAPACITY, ad as PARAM, ae as PARAM_FLOATS, af as PIGMENT_CHANNELS, ag as PLANE, ah as PLANE_BYTES, ai as P_D0, aj as P_EDGE, ak as P_FX, al as P_FY, am as P_H, an as P_P0, ao as P_RHO, ap as P_SW, aq as P_UX, ar as P_UY, as as PaintExchange, at as PaintMedium, au as PaintSample, P as PaintTileTarget, av as PixelSource, aw as RETOUCH_SAMPLES, ax as RegionPixelSource, d as RetouchApply, ay as RetouchDabEffect, az as RetouchDabStroke, f as RetouchPaint, aA as RetouchSample, R as RetouchSettings, n as RgbTriple, aB as SET_PLANES, aC as SLOT_BYTES, aD as SLOT_PLANES, aE as SLOT_SIDE, aF as SPOT_HEAL_TYPES, aG as STRIP, aH as SmudgeDab, j as SmudgeSettings, aI as SmudgeTip, aJ as SpotHealType, g as StrokeApply, S as StrokeCoverage, e as StrokePoint, aK as TONE_RANGES, T as TileMedium, aL as TileMediumOptions, aM as TilePixelSource, aN as ToneRange, aO as U_MAX, aP as W9, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, aQ as WET_TILE, p as WetBackendInfo, aR as WetFlowField, x as WetFlowKind, m as WetFlowSpec, aS as WetKernelKind, aT as WetLaneOptions, aU as WetLaneStats, aV as WetPaper, r as WetPaperInput, l as WetParams, q as WetSnapshot, y as WetSupport, k as WetTilt, aW as WetWorkerLayout, aX as WetWorkerPool, W as WetWorld, aY as WetWorldError, o as WetWorldOptions, aZ as applyRetouchToTile, a_ as applyStrokeToDeepTile, a$ as applyStrokeToTile, b0 as applyToneToDeepTile, b1 as blendRadius, b2 as blenderDab, b3 as canShareMemory, b4 as cleanMixer, b5 as coverageTileCoord, b6 as createBlenderScratch, b7 as dabCoverage, b8 as dabRect, b9 as dodgeBurn, ba as dodgeBurnCurve, bb as dsincos, bc as edgeBits, bd as exchangeRates, be as flowField, bf as healPixels, bg as latticeViscosity, bh as loadMixer, bi as loadWetKernel, bj as luma, bk as mixerRates, bl as normalizeBlender, bm as normalizeBrush, z as normalizeFlow, bn as normalizeMixer, bo as normalizeRetouch, bp as normalizeSmudge, bq as normalizeTilt, A as normalizeWetParams, br as packWetParams, bs as perDabStrength, bt as rasterizeDab, bu as readSourceRegion, bv as rgbaViewOfGrey, bw as saturationOf, bx as smoothPoints, by as smudgeEffect, bz as sponge, bA as spongeEffect, bB as spotHealPixels, bC as spotHealWindow, bD as tipFalloff, bE as tipReach, bF as tipShape, bG as toneOf, bH as walkDabs, bI as wetSimdSupported, E as wetSupport } from '../flow-Cb7lkPm8.js';
15
+ import { a as MixerLoad, M as MixerSettings } from '../flow-C95atNoQ.js';
16
+ export { F as BlenderScratch, i as BlenderSettings, B as BrushSettings, C as CoverageMap, G as DEFAULT_BLENDER, H as DEFAULT_BRUSH, s as DEFAULT_FLOW, I as DEFAULT_MIXER, J as DEFAULT_RETOUCH, K as DEFAULT_SMUDGE, L as DEFAULT_WET_PAPER, t as DEFAULT_WET_PARAMS, N as DRY_EPS, D as Dab, O as DabWalker, Q as EMPTY_MIXER_LOAD, U as EX, V as EY, X as ExchangeRates, Y as FLAG_ALIVE, Z as FLAG_BOTTOM, _ as FLAG_LEFT, $ as FLAG_RIGHT, a0 as FLAG_TOP, a1 as FLAG_WET, a2 as FLAT, a3 as FREE_INTERVAL, a4 as MAX_BATCH, u as MAX_BRUSH_SIZE, a5 as MAX_TILT_ACCEL, a6 as MAX_WET_LANES, a7 as MAX_WET_SLOTS, a8 as MIXER_DRAIN, a9 as MIXER_PICKUP_RATE, aa as MIXING_MODELS, c as MixerStroke, b as MixerTarget, h as MixingModel, ab as OPP, ac as PAPER_CAPACITY, ad as PARAM, ae as PARAM_FLOATS, af as PIGMENT_CHANNELS, ag as PLANE, ah as PLANE_BYTES, ai as P_D0, aj as P_EDGE, ak as P_FX, al as P_FY, am as P_H, an as P_P0, ao as P_RHO, ap as P_SW, aq as P_UX, ar as P_UY, as as PaintExchange, at as PaintMedium, au as PaintPixels, av as PaintSample, P as PaintTileTarget, aw as PixelSource, ax as RETOUCH_SAMPLES, ay as RegionPixelSource, d as RetouchApply, az as RetouchDabEffect, aA as RetouchDabStroke, f as RetouchPaint, aB as RetouchSample, R as RetouchSettings, n as RgbTriple, aC as SET_PLANES, aD as SLOT_BYTES, aE as SLOT_PLANES, aF as SLOT_SIDE, aG as SPOT_HEAL_TYPES, aH as STRIP, aI as SmudgeDab, j as SmudgeSettings, aJ as SmudgeTip, aK as SpotHealType, g as StrokeApply, S as StrokeCoverage, e as StrokePoint, aL as TONE_RANGES, T as TileMedium, aM as TileMediumOptions, aN as TilePixelSource, aO as ToneRange, aP as U_MAX, aQ as W9, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, aR as WET_TILE, p as WetBackendInfo, aS as WetFlowField, x as WetFlowKind, m as WetFlowSpec, aT as WetKernelKind, aU as WetLaneOptions, aV as WetLaneStats, aW as WetPaper, r as WetPaperInput, l as WetParams, q as WetSnapshot, y as WetSupport, k as WetTilt, aX as WetWorkerLayout, aY as WetWorkerPool, W as WetWorld, aZ as WetWorldError, o as WetWorldOptions, a_ as applyRetouchToTile, a$ as applyStrokeToDeepTile, b0 as applyStrokeToTile, b1 as applyToneToDeepTile, b2 as blendRadius, b3 as blenderDab, b4 as canShareMemory, b5 as cleanMixer, b6 as coverageTileCoord, b7 as createBlenderScratch, b8 as dabCoverage, b9 as dabRect, ba as dodgeBurn, bb as dodgeBurnCurve, bc as dsincos, bd as edgeBits, be as exchangeRates, bf as flowField, bg as healPixels, bh as latticeViscosity, bi as loadMixer, bj as loadWetKernel, bk as luma, bl as mixerRates, bm as normalizeBlender, bn as normalizeBrush, z as normalizeFlow, bo as normalizeMixer, bp as normalizeRetouch, bq as normalizeSmudge, br as normalizeTilt, A as normalizeWetParams, bs as packWetParams, bt as perDabStrength, bu as put255, bv as rasterizeDab, bw as readSourceRegion, bx as rgbaViewOfGrey, by as saturationOf, bz as smoothPoints, bA as smudgeEffect, bB as sponge, bC as spongeEffect, bD as spotHealPixels, bE as spotHealWindow, bF as tipFalloff, bG as tipReach, bH as tipShape, bI as toneOf, bJ as walkDabs, bK as wetSimdSupported, E as wetSupport } from '../flow-C95atNoQ.js';
17
17
  export { BODY_SCATTER, HIDE, PIGMENT_UNIT, PaintPathOptions, PathSample, PathStrokeOptions, SRGB_TO_LINEAR, WetMedium, WetMediumOptions, bestOffset, createPigmentTools, dexp, dilateMask, dlog, dpow, expNeg, filmPixel, filmReflectance, linearToSrgb8, maskBounds, membraneFill, paintPathStroke, pathStrokeCoverage, pathStrokeDabs, pigmentColor, pigmentOf, pixelPigment, seamlessClone, shadeTile, solveMembrane, srgbByteToLinear, stepSlotTs } from '../paint/index.js';
18
18
  import { j as Intent, b as BuiltinProfileId } from '../builtin-CY97ppKM.js';
19
19
  export { a as BUILTIN_PROFILES, i as INTENTS } from '../builtin-CY97ppKM.js';
20
20
  import { W as WarpStyle, a as WarpMesh, V as Vec2, Q as Quad } from '../types-CwMPoRMU.js';
21
21
  export { A as AffineMatrix, H as Homography } from '../types-CwMPoRMU.js';
22
- import '../types-CDLGhAZp.js';
22
+ import '../types-TrSSh_RB.js';
23
23
  import '../schema-Di0CS6Pe.js';
24
24
  import '../types-BFkYA4eF.js';
25
25
 
@@ -358,7 +358,7 @@ import {
358
358
  writePsd,
359
359
  xyToTempTint,
360
360
  xyToUv
361
- } from "../chunk-R2JE6SA7.js";
361
+ } from "../chunk-KZLQY4CD.js";
362
362
  import {
363
363
  loadDocument
364
364
  } from "../chunk-U5HZSFCS.js";
@@ -416,7 +416,7 @@ import {
416
416
  validateLayerEffects,
417
417
  warpSurface,
418
418
  workingToSamples
419
- } from "../chunk-VD2UDVF7.js";
419
+ } from "../chunk-UMVW2Q66.js";
420
420
  import {
421
421
  applyHomography,
422
422
  base64ToBytes,
@@ -467,7 +467,7 @@ import {
467
467
  spotHealPixels,
468
468
  spotHealWindow,
469
469
  toneOf
470
- } from "../chunk-JHXMNOMF.js";
470
+ } from "../chunk-YHW26LS2.js";
471
471
  import {
472
472
  BODY_SCATTER,
473
473
  CoverageMap,
@@ -575,6 +575,7 @@ import {
575
575
  pigmentColor,
576
576
  pigmentOf,
577
577
  pixelPigment,
578
+ put255,
578
579
  rasterizeDab,
579
580
  shadeTile,
580
581
  smoothPoints,
@@ -586,7 +587,7 @@ import {
586
587
  walkDabs,
587
588
  wetSimdSupported,
588
589
  wetSupport
589
- } from "../chunk-IVSNUXW7.js";
590
+ } from "../chunk-T7IZDNSL.js";
590
591
  import {
591
592
  BIT_DEPTHS,
592
593
  BLEND_MODES,
@@ -726,7 +727,7 @@ import {
726
727
  warpMeshParamAt,
727
728
  warpMeshRows,
728
729
  warpPresetMesh
729
- } from "../chunk-7LNZAWSJ.js";
730
+ } from "../chunk-CSHEI3YT.js";
730
731
  import "../chunk-YCSFS3GK.js";
731
732
  import "../chunk-ZRJMJIQU.js";
732
733
  import "../chunk-TGD52FEZ.js";
@@ -3388,9 +3389,10 @@ function paintCoverageInto(base, coverage, apply, rects, depth = null) {
3388
3389
  const key = tileKey(t.tx, t.ty);
3389
3390
  if (done.has(key)) continue;
3390
3391
  done.add(key);
3391
- if (depth && base.channels === 4) {
3392
- const d = applyStrokeToDeepTile(coverage, tileSamples(base.tiles.get(key), 4, depth, base.defaultValue), t.tx, t.ty, apply);
3393
- const tile2 = deepTile(d, 4, base.defaultValue);
3392
+ if (depth) {
3393
+ const ch = base.channels;
3394
+ const d = applyStrokeToDeepTile(coverage, tileSamples(base.tiles.get(key), ch, depth, base.defaultValue), t.tx, t.ty, apply, { channels: ch });
3395
+ const tile2 = deepTile(d, ch, base.defaultValue);
3394
3396
  if (tile2) tiles.set(key, tile2);
3395
3397
  else tiles.delete(key);
3396
3398
  continue;
@@ -3414,8 +3416,9 @@ var PaintStrokeSession = class {
3414
3416
  this.controller = controller;
3415
3417
  this.target = target;
3416
3418
  this.apply = apply;
3417
- const coverage = stroke instanceof StrokeCoverage || "kind" in stroke && stroke.kind === "coverage" && !stroke.finalPaint;
3418
- this.deep = depth && coverage && target.surface.channels === 4 ? depth : null;
3419
+ const coverage = stroke instanceof StrokeCoverage || "kind" in stroke && stroke.kind === "coverage";
3420
+ this.deep = depth && coverage && (target.surface.channels === 4 || stroke instanceof StrokeCoverage) ? depth : null;
3421
+ this.dabDeep = depth && !coverage && target.surface.channels === 4 ? depth : null;
3419
3422
  this.before = controller._captureForStroke();
3420
3423
  this.base = target.surface;
3421
3424
  this.live = new Map(this.base.tiles);
@@ -3461,6 +3464,29 @@ var PaintStrokeSession = class {
3461
3464
  /** Brush and eraser strokes on a 16- or 32-bit document: the deep samples of each touched tile. */
3462
3465
  deep;
3463
3466
  liveDeep = /* @__PURE__ */ new Map();
3467
+ /**
3468
+ * Mixer Brush, Smudge and Sponge on a 16- or 32-bit layer: they read and write float working
3469
+ * tiles on the 8-bit 0..255 sRGB-encoded scale, which keep the fractions bytes would round away.
3470
+ */
3471
+ dabDeep;
3472
+ work = /* @__PURE__ */ new Map();
3473
+ workRead = /* @__PURE__ */ new Map();
3474
+ /** The pre-stroke tile as a float working tile (cached; `null`: transparent). */
3475
+ readWork(key) {
3476
+ if (!this.workRead.has(key)) this.workRead.set(key, workTileOf(this.base.tiles.get(key)));
3477
+ return this.workRead.get(key);
3478
+ }
3479
+ /** Clone, healing and the spot-heal trail at depth: `paint` through the coverage on the float working tile. */
3480
+ retouchDeepTile(key, tx, ty, paint, options) {
3481
+ const r = this.retouch;
3482
+ const read = this.readWork(key);
3483
+ const out = applyRetouchToTile(this.stroke.coverage, read ?? new Float32Array(TILE * TILE * 4), 4, tx, ty, paint, r.apply, options);
3484
+ this.work.set(key, out);
3485
+ const d = deepOfWorkTile(out, this.deep, read, this.base.tiles.get(key));
3486
+ this.liveDeep.set(key, d);
3487
+ this.live.set(key, { data: proxyOf(d, 4), uniform: null, deep: d });
3488
+ return d;
3489
+ }
3464
3490
  /** The new tile of a coverage stroke over the pre-stroke tile `src`. */
3465
3491
  compositeTile(src, tx, ty, options = {}, paint) {
3466
3492
  const r = this.retouch;
@@ -3470,6 +3496,28 @@ var PaintStrokeSession = class {
3470
3496
  /** The live pixels a mixer stroke reads and writes; base tiles are copied on first write. */
3471
3497
  mixerPixels() {
3472
3498
  const a = this.apply;
3499
+ const depth = this.dabDeep;
3500
+ if (depth) {
3501
+ const read = (key) => this.readWork(key);
3502
+ return {
3503
+ offset: a.offset,
3504
+ lockTransparency: a.lockTransparency,
3505
+ selection: a.selection,
3506
+ readTile: (tx, ty) => {
3507
+ const key = tileKey(tx, ty);
3508
+ return this.work.get(key) ?? read(key);
3509
+ },
3510
+ writeTile: (tx, ty) => {
3511
+ const key = tileKey(tx, ty);
3512
+ if (!this.touched.has(key)) {
3513
+ this.work.set(key, read(key)?.slice() ?? new Float32Array(TILE * TILE * 4));
3514
+ this.touched.add(key);
3515
+ }
3516
+ this.fresh.add(key);
3517
+ return this.work.get(key);
3518
+ }
3519
+ };
3520
+ }
3473
3521
  return {
3474
3522
  offset: a.offset,
3475
3523
  lockTransparency: a.lockTransparency,
@@ -3506,7 +3554,13 @@ var PaintStrokeSession = class {
3506
3554
  if (!rects.length) return;
3507
3555
  const ch = this.base.channels;
3508
3556
  if (this.mixer) {
3509
- for (const key of this.fresh) this.live.set(key, { data: this.live.get(key).data, uniform: null });
3557
+ if (this.dabDeep) {
3558
+ for (const key of this.fresh) {
3559
+ const d = deepOfWorkTile(this.work.get(key), this.dabDeep, this.workRead.get(key) ?? null, this.base.tiles.get(key));
3560
+ this.liveDeep.set(key, d);
3561
+ this.live.set(key, { data: proxyOf(d, 4), uniform: null, deep: d });
3562
+ }
3563
+ } else for (const key of this.fresh) this.live.set(key, { data: this.live.get(key).data, uniform: null });
3510
3564
  this.fresh.clear();
3511
3565
  this.controller._strokeUpdate(this.target.id, this.target.channel, new TiledSurface(ch, new Map(this.live), this.base.defaultValue), rects);
3512
3566
  return;
@@ -3522,15 +3576,21 @@ var PaintStrokeSession = class {
3522
3576
  }
3523
3577
  for (const [key, { tx, ty, r }] of regions) {
3524
3578
  if (this.deep) {
3525
- const src2 = tileSamples(this.base.tiles.get(key), 4, this.deep, this.base.defaultValue);
3526
- const prev2 = this.touched.has(key) ? this.liveDeep.get(key) : void 0;
3527
- this.touched.add(key);
3528
- const opts = prev2 ? { into: prev2, region: r } : {};
3529
3579
  const rt = this.retouch;
3530
3580
  const paint = rt?.kind === "coverage" ? rt.paint() : null;
3581
+ if (paint && paint.kind !== "tone") {
3582
+ const prevWork = this.touched.has(key) ? this.work.get(key) : void 0;
3583
+ this.touched.add(key);
3584
+ this.retouchDeepTile(key, tx, ty, paint, prevWork ? { into: prevWork, region: r } : {});
3585
+ continue;
3586
+ }
3587
+ const src2 = tileSamples(this.base.tiles.get(key), ch, this.deep, this.base.defaultValue);
3588
+ const prev2 = this.touched.has(key) ? this.liveDeep.get(key) : void 0;
3589
+ this.touched.add(key);
3590
+ const opts = prev2 ? { into: prev2, region: r, channels: ch } : { channels: ch };
3531
3591
  const d = rt?.kind === "coverage" && paint?.kind === "tone" ? applyToneToDeepTile(stroke.coverage, src2, tx, ty, paint.tone, rt.apply, opts) : applyStrokeToDeepTile(stroke.coverage, src2, tx, ty, this.apply, opts);
3532
3592
  this.liveDeep.set(key, d);
3533
- this.live.set(key, { data: proxyOf(d, 4), uniform: null, deep: d });
3593
+ this.live.set(key, { data: proxyOf(d, ch), uniform: null, deep: d });
3534
3594
  continue;
3535
3595
  }
3536
3596
  const src = this.base.tiles.get(key)?.data ?? defaultTile(this.base);
@@ -3556,6 +3616,10 @@ var PaintStrokeSession = class {
3556
3616
  if (final) {
3557
3617
  for (const key of this.touched) {
3558
3618
  const { tx, ty } = tileCoord(key);
3619
+ if (this.deep) {
3620
+ this.retouchDeepTile(key, tx, ty, final, {});
3621
+ continue;
3622
+ }
3559
3623
  const src = this.base.tiles.get(key)?.data ?? defaultTile(this.base);
3560
3624
  this.live.set(key, { data: this.compositeTile(src, tx, ty, {}, final), uniform: null });
3561
3625
  }
@@ -3566,7 +3630,7 @@ var PaintStrokeSession = class {
3566
3630
  for (const key of this.touched) {
3567
3631
  const live = this.live.get(key);
3568
3632
  const deep = this.liveDeep.get(key);
3569
- const tile = deep ? deepTile(deep, 4, this.base.defaultValue) : finishTile(live.data, ch, this.base.defaultValue);
3633
+ const tile = deep ? deepTile(deep, ch, this.base.defaultValue) : finishTile(live.data, ch, this.base.defaultValue);
3570
3634
  const prev = this.base.tiles.get(key);
3571
3635
  if (tile) tiles.set(key, tile);
3572
3636
  else tiles.delete(key);
@@ -3588,6 +3652,47 @@ var PaintStrokeSession = class {
3588
3652
  this.controller._strokeCommit(this.before, this.target.id, this.target.channel, null);
3589
3653
  }
3590
3654
  };
3655
+ function workTileOf(tile) {
3656
+ if (!tile) return null;
3657
+ const d = tile.deep;
3658
+ const out = new Float32Array(TILE * TILE * 4);
3659
+ if (d instanceof Uint16Array) for (let i = 0; i < d.length; i++) out[i] = d[i] / 257;
3660
+ else if (d instanceof Float32Array) {
3661
+ for (let i = 0; i < d.length; i += 4) {
3662
+ out[i] = srgbEncode(d[i]) * 255;
3663
+ out[i + 1] = srgbEncode(d[i + 1]) * 255;
3664
+ out[i + 2] = srgbEncode(d[i + 2]) * 255;
3665
+ out[i + 3] = d[i + 3] * 255;
3666
+ }
3667
+ } else out.set(tile.data);
3668
+ return out;
3669
+ }
3670
+ function deepOfWorkTile(w, depth, read, base) {
3671
+ const orig = read && base ? tileSamples(base, 4, depth, 0) : null;
3672
+ const out = depth === 16 ? new Uint16Array(w.length) : new Float32Array(w.length);
3673
+ for (let i = 0; i < w.length; i += 4) {
3674
+ if (orig && w[i] === read[i] && w[i + 1] === read[i + 1] && w[i + 2] === read[i + 2] && w[i + 3] === read[i + 3]) {
3675
+ out[i] = orig[i];
3676
+ out[i + 1] = orig[i + 1];
3677
+ out[i + 2] = orig[i + 2];
3678
+ out[i + 3] = orig[i + 3];
3679
+ continue;
3680
+ }
3681
+ if (depth === 16) {
3682
+ for (let c = 0; c < 4; c++) {
3683
+ const v = Math.round(w[i + c] * 257);
3684
+ out[i + c] = v <= 0 ? 0 : v >= 65535 ? 65535 : v;
3685
+ }
3686
+ continue;
3687
+ }
3688
+ out[i] = srgbDecode(w[i] / 255);
3689
+ out[i + 1] = srgbDecode(w[i + 1] / 255);
3690
+ out[i + 2] = srgbDecode(w[i + 2] / 255);
3691
+ const al = w[i + 3] / 255;
3692
+ out[i + 3] = al <= 0 ? 0 : al >= 1 ? 1 : al;
3693
+ }
3694
+ return out;
3695
+ }
3591
3696
  function keepDeepLayers(prev, next) {
3592
3697
  const before = /* @__PURE__ */ new Map();
3593
3698
  for (const l of flattenLayers(prev)) before.set(l.id, l);
@@ -5510,9 +5615,9 @@ var ImageEditorController = class {
5510
5615
  selection: this.state.selection?.bounds ? this.state.selection : null,
5511
5616
  offset: target.offset
5512
5617
  };
5513
- if (tool === "mixer") return new PaintStrokeSession(this, target, this.mixerStroke(init, brush), apply);
5514
- const depth = target.channel === "pixels" && this.bitDepth !== 8 ? this.bitDepth : null;
5515
- if (isRetouchTool(tool)) return new PaintStrokeSession(this, target, this.retouchStroke(tool, init, brush, target, apply), apply, tool === "dodge" || tool === "burn" ? depth : null);
5618
+ const depth = target.channel !== "filter-mask" && this.bitDepth !== 8 ? this.bitDepth : null;
5619
+ if (tool === "mixer") return new PaintStrokeSession(this, target, this.mixerStroke(init, brush), apply, depth);
5620
+ if (isRetouchTool(tool)) return new PaintStrokeSession(this, target, this.retouchStroke(tool, init, brush, target, apply), apply, depth);
5516
5621
  return new PaintStrokeSession(this, target, new StrokeCoverage(brush), apply, depth);
5517
5622
  }
5518
5623
  /** A retouching stroke's start: its settings, what it samples and how it composites. */
@@ -5536,8 +5641,9 @@ var ImageEditorController = class {
5536
5641
  }, paint: () => paint2 };
5537
5642
  }
5538
5643
  const sample = mask ? "current" : settings.sample;
5539
- const own = this.surfaceSource(target.surface, target.offset);
5540
- const source = sample === "current" ? own : this.compositeSource(sample === "all" ? null : target.id);
5644
+ const deep = !mask && this.bitDepth !== 8 ? this.bitDepth : null;
5645
+ const own = deep ? new TilePixelSource((tx, ty) => workTileOf(target.surface.tiles.get(tileKey(tx, ty))), 4, target.offset) : this.surfaceSource(target.surface, target.offset);
5646
+ const source = sample === "current" ? own : this.compositeSource(sample === "all" ? null : target.id, deep);
5541
5647
  const pad = (r, m) => ({ x: r.x - m, y: r.y - m, width: r.width + 2 * m, height: r.height + 2 * m });
5542
5648
  const covered = (cov, r) => {
5543
5649
  const m = new Uint8Array(r.width * r.height);
@@ -5600,11 +5706,21 @@ var ImageEditorController = class {
5600
5706
  return new TilePixelSource((tx, ty) => surface.tiles.get(tileKey(tx, ty))?.data ?? (surface.defaultValue ? defaultTile(surface) : null), surface.channels, offset);
5601
5707
  }
5602
5708
  /** A pixel source over the composite of the current layers (through `throughId` and below, or all of them), as it is now. */
5603
- compositeSource(throughId) {
5709
+ compositeSource(throughId, depth = null) {
5604
5710
  const stack = withoutAnnotations(this.state.layers);
5605
5711
  const layers = throughId ? layersThrough(stack, throughId) : stack;
5606
- const compositor = new LayerCompositor();
5607
5712
  const sources = this.compositorSources();
5713
+ if (depth) {
5714
+ return new TilePixelSource((tx, ty) => {
5715
+ const w = compositeDeep(layers, { x: tx * TILE, y: ty * TILE, width: TILE, height: TILE }, sources, depth);
5716
+ for (let i = 0; i < w.length; i += 4) {
5717
+ if (depth === 32) for (let c = 0; c < 3; c++) w[i + c] = srgbEncode(w[i + c]);
5718
+ for (let c = 0; c < 4; c++) w[i + c] *= 255;
5719
+ }
5720
+ return w;
5721
+ }, 4);
5722
+ }
5723
+ const compositor = new LayerCompositor();
5608
5724
  return new TilePixelSource((tx, ty) => compositor.tile(layers, tx, ty, sources), 4);
5609
5725
  }
5610
5726
  /** A Mixer Brush stroke's start: the settings, and the load (refilled when asked or set to). */
@@ -5710,7 +5826,7 @@ var ImageEditorController = class {
5710
5826
  selection: null,
5711
5827
  offset: target.offset
5712
5828
  };
5713
- const depth = target.channel === "pixels" && this.bitDepth !== 8 ? this.bitDepth : null;
5829
+ const depth = target.channel !== "filter-mask" && this.bitDepth !== 8 ? this.bitDepth : null;
5714
5830
  const surface = paintCoverageInto(target.surface, coverage, apply, [region], depth);
5715
5831
  const next = mapLayer(this.state.layers, target.id, (l) => this.withSurface(l, target.channel, surface));
5716
5832
  this.commitLayers(next);
@@ -7168,16 +7284,24 @@ var ImageEditorController = class {
7168
7284
  setBitDepth(depth) {
7169
7285
  if (!isBitDepth(depth)) throw new LayerOperationError(`Bit depth must be 8, 16 or 32, not ${String(depth)}.`);
7170
7286
  const changed = [];
7287
+ const withMask = (l) => {
7288
+ const m = l.mask;
7289
+ if (!m) return l;
7290
+ const surface = convertSurfaceDepth(m.surface, depth);
7291
+ return surface === m.surface ? l : { ...l, mask: { ...m, surface } };
7292
+ };
7171
7293
  const convert = (layers) => layers.map((l) => {
7294
+ let next2 = l;
7172
7295
  if (l.type === "group") {
7173
7296
  const children = convert(l.children);
7174
- return children.some((c, i) => c !== l.children[i]) ? { ...l, children } : l;
7175
- }
7176
- if (l.type !== "pixel") return l;
7177
- const surface = convertSurfaceDepth(l.surface, depth);
7178
- if (surface === l.surface) return l;
7179
- changed.push(l.id);
7180
- return { ...l, surface };
7297
+ if (children.some((c, i) => c !== l.children[i])) next2 = { ...l, children };
7298
+ } else if (l.type === "pixel") {
7299
+ const surface = convertSurfaceDepth(l.surface, depth);
7300
+ if (surface !== l.surface) next2 = { ...l, surface };
7301
+ }
7302
+ next2 = withMask(next2);
7303
+ if (next2 !== l && (l.type !== "group" || next2.mask !== l.mask)) changed.push(l.id);
7304
+ return next2;
7181
7305
  });
7182
7306
  if (depth === this.bitDepth) return { bitDepth: depth, changedLayerIds: [] };
7183
7307
  const next = convert(this.state.layers);
@@ -14700,6 +14824,7 @@ export {
14700
14824
  psdPatternToEffectPattern,
14701
14825
  psdToLayers,
14702
14826
  pullWarpMesh,
14827
+ put255,
14703
14828
  quickMaskPixels,
14704
14829
  rangeLightness,
14705
14830
  rasterContents,