@pixerate/editor 0.103.0 → 0.105.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 +2 -0
- package/dist/{chunk-NQLQ2JOI.js → chunk-4X5MIVCE.js} +1155 -295
- package/dist/chunk-4X5MIVCE.js.map +1 -0
- package/dist/{chunk-VSMM7B3P.cjs → chunk-ZID226ZG.cjs} +1169 -309
- package/dist/chunk-ZID226ZG.cjs.map +1 -0
- package/dist/{compositor-CTMU-B1t.d.cts → compositor-Bc3PNP3C.d.cts} +1 -1
- package/dist/{compositor-B1ZrKR89.d.ts → compositor-BsYYllvR.d.ts} +1 -1
- package/dist/{export-X9rY79p0.d.cts → export-_m3Es4ru.d.cts} +19 -4
- package/dist/{export-BLpMyCYg.d.ts → export-iMrop3Jm.d.ts} +19 -4
- package/dist/image-editor/index.cjs +523 -539
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +16 -8
- package/dist/image-editor/index.d.ts +16 -8
- package/dist/image-editor/index.js +37 -53
- package/dist/image-editor/index.js.map +1 -1
- package/dist/{mixer-DGcH6HLu.d.cts → mixer-C1M1Nua_.d.cts} +1 -1
- package/dist/{mixer-DG_9Yu2W.d.ts → mixer-Cu5a9Bzd.d.ts} +1 -1
- package/dist/paint/index.d.cts +2 -2
- package/dist/paint/index.d.ts +2 -2
- package/dist/paint-editor/index.cjs +1531 -128
- package/dist/paint-editor/index.cjs.map +1 -1
- package/dist/paint-editor/index.d.cts +461 -14
- package/dist/paint-editor/index.d.ts +461 -14
- package/dist/paint-editor/index.js +1479 -76
- package/dist/paint-editor/index.js.map +1 -1
- package/dist/raster/index.d.cts +4 -4
- package/dist/raster/index.d.ts +4 -4
- package/dist/{surface-AfHCH7BR.d.cts → surface-BBJN9wxg.d.cts} +1 -1
- package/dist/{surface-AfHCH7BR.d.ts → surface-BBJN9wxg.d.ts} +1 -1
- package/package.json +1 -1
- package/skills/pixerate-image-editor/SKILL.md +14 -5
- package/skills/pixerate-paint-editor/SKILL.md +49 -8
- package/dist/chunk-NQLQ2JOI.js.map +0 -1
- package/dist/chunk-VSMM7B3P.cjs.map +0 -1
|
@@ -1,15 +1,15 @@
|
|
|
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, q as AnnotationLayer, r as LayerFilter, s as PixelLayer, t as DevelopFilter, u as ImageTransform, v as ImageHistogram, w as ImageProjection, x as CompositorSources, y as LayerCompositor, z as SmartFilterStack, B as SmartFilter, E as SmartObjectLayer, F as SmartContents, G as SmartDocument, J as SmartPlacement, K as FreeTransformGeometry, M as LayerPlacement, N as FreeTransformMode, O as FreeTransformResult, Q as FreeTransformSession, T as FreeTransformInit, U as TransformAnchor } from '../export-
|
|
2
|
-
export { V as AIResultOptions, W as AdjustmentLayerBase, X as AdjustmentLayerInit, Y as AdjustmentLayerUpdate, Z as AnnotationPlacement, _ as AnnotationType, $ as ArrowAnnotation, a0 as AspectRatio, a1 as BaseAnnotation, a2 as BlackWhiteParams, a3 as BlurFilter, a4 as CircleAnnotation, a5 as ColorBalanceParams, a6 as ColorBalanceTone, a7 as ColorRangeOptions, a8 as ColorRangeSample, a9 as CreateAnnotationPayload, aa as CropHandle, ab as CurvesParams, ac as DEFAULT_ADJUSTMENTS, ad as DEFAULT_DEPTH_MASK, ae as DEFAULT_REFINE_EDGE_PARAMS, af as DEFAULT_TRANSFORM, ag as DeserializeContext, ah as DevelopSettings, ai as EMPTY_DISTANCE, aj as ExportOptions, ak as FREE_TRANSFORM_CONTENTS, al as FREE_TRANSFORM_MODES, am as FillOptions, an as FreeTransformContent, ao as FreeTransformHost, ap as FreeTransformPreview, aq as GUIDED_FILTER_EPS, ar as GroupLayer, as as HISTOGRAM_BINS, at as HistogramChannel, au as HistoryEntryHandle, av as HueSaturationParams, aw as IMAGE_EDITOR_SCHEMA_VERSION, ax as ImageAnnotation, ay as ImageDimensions, az as ImageEditorAIHooks, I as ImageEditorAssetStore, aA as ImageEditorFit, aB as ImageEditorOptions, aC as ImageEditorRenderer, aD as ImageEditorState, aE as ImageEditorTool, aF as ImageLayerType, aG as InpaintHook, aH as InpaintOptions, aI as InvertParams, aJ as LAYERED_SCHEMA_VERSION, aK as LayerBase, aL as LayerBlendMode, aM as LayerFilterKind, aN as LayerLocation, aO as LayerMaskProps, aP as LayerOperationError, aQ as LayerProperties, aR as LayerSourcesHost, aS as LayerTarget, aT as LegacySerializedImageEditorState, aU as LevelsParams, aV as LineAnnotation, aW as MagicWandOptions, aX as MixerStrokeInit, aY as PSD_BLEND_KEYS, aZ as PaintOptions, a_ as PaintStrokeResult, a$ as PaintStrokeSession, b0 as PenAnnotation, b1 as PhotoFilterParams, b2 as PixelBuffer, b3 as PixelLayerInit, b4 as PosterizeParams, b5 as PsdChannel, b6 as PsdExportInput, P as PsdExportResult, b7 as PsdFile, b8 as PsdHeader, b9 as PsdImportOptions, ba as PsdImportResult, bb as PsdLayerMask, bc as PsdLayerRecord, bd as PsdLayerSummary, be as PsdRect, bf as PsdResource, bg as PsdSmartFilter, bh as PsdTaggedBlock, bi as PsdTreeNode, bj as RectAnnotation, bk as RemoveBackgroundHook, bl as RemoveBackgroundOptions, bm as RenderOptions, bn as SELECTION_MODES, bo as SELECTION_MODIFY_OPS, bp as SampleOptions, bq as SelectionChannel, br as SelectionCommandOptions, bs as SelectionModifyOp, bt as SerializeContext, bu as SerializedAdjustmentLayer, bv as SerializedAnnotationLayer, bw as SerializedGroupLayer, S as SerializedLayer, bx as SerializedLayerEffects, by as SerializedLayeredImageEditorState, bz as SerializedPattern, bA as SerializedPixelLayer, bB as SerializedRasterMask, bC as SerializedSelection, bD as SerializedSmartContents, bE as SerializedSmartFilter, bF as SerializedSmartObjectLayer, bG as ShapeSelectionOptions, bH as SmartFilterKind, bI as SmartObjectInfo, bJ as SmartPsdData, bK as StrokeInit, bL as StrokeTool, bM as TONE_RANGE_PRESETS, bN as TRANSFORM_ANCHORS, bO as TextAnnotation, bP as ThresholdParams, bQ as ToneRangePreset, bR as TransformParams, bS as TransformReadout, bT as VibranceParams, bU as ViewportMetrics, bV as addLayerEffect, bW as addLayerFilter, bX as adjustmentNodeAsLayer, bY as anchorPoint, bZ as applyImageProjectionToContext, b_ as applyParams, b$ as blurFilter, c0 as borderCoverage, c1 as boxMean, c2 as boxPointOf, c3 as buildLayerMaskPlanes, c4 as calculateCropDrag, c5 as canvasToImagePoint, c6 as clampCropToImage, c7 as colorRange, c8 as combineSelections, c9 as computeHistogram, ca as computeSelectionBounds, cb as contractCoverage, cc as cornersFromMatrix, cd as coverageToByte, ce as createSelectionMask, cf as decodeLayerChannel, cg as decodeLayerMask, ch as decodeMergedImage, ci as decodePngDataUrl, cj as decodeSelectionRle, ck as depthMaskAlpha, cl as describeTransform, cm as deserializeEffects, cn as deserializeLayer, co as deserializeLayers, cp as deserializePatterns, cq as deserializeSelection, cr as developFilter, cs as distanceTransform, ct as duplicateLayer, cu as edgeWidth, cv as ellipsePoints, cw as ellipseSelection, cx as encodeSelectionRle, cy as encodeSurface, cz as expandCoverage, cA as exportPsd, cB as featherCoverage, cC as flipCorners, cD as fullSelection, cE as geometryHomography, cF as getAnnotationBounds, cG as getCropCursor, cH as getRotatedSize, cI as getViewportMetrics, cJ as getViewportProjection, cK as globalImageCache, cL as greyMorphology, cM as groupLayers, cN as guidePlanes, cO as guidedFilterColor, cP as hasSurface, cQ as hasWarp, cR as hashMaskContent, cS as histogramPath, cT as hitTestAnnotation, cU as hitTestCrop, cV as hueRange, cW as identityTransform, cX as imageToCanvasPoint, cY as importPsd, cZ as invertSelection, c_ as isActiveFilter, c$ as isIdentityTransform, d0 as isQuarterTurnSwapped, d1 as isSelectionEmpty, d2 as isSelectionMode, d3 as isSpatialFilter, d4 as isTransformAnchor, d5 as isValidWarp, d6 as layerEffectsOf, d7 as layerMaskCoverage, d8 as layerMaskFromSelection, d9 as layerMaskKey, da as layerName, db as layerTree, dc as layerTypeLabel, dd as magicWand, de as mapCropHandle, df as matrixFromCorners, dg as matrixFromParams, dh as migrateSerializedImageEditorState, di as migrateToLayeredState, dj as modifySelection, dk as moveLayer, dl as newLayerId, dm as normalizeAngle, dn as normalizeFilter, dp as normalizeLayerMask, dq as normalizeRect, dr as normalizeRefineEdgeParams, ds as normalizeStoredAdjustments, dt as offsetLayer, du as parseBlend, dv as parseColor, dw as parseSelectionMode, dx as pixelLayerBounds, dy as pixelLayers, dz as placeLayer, dA as polygonCoverage, dB as polygonSelection, dC as presetWarp, dD as previewStep, dE as projectImagePoint, dF as projectImageRect, dG as projectMaskCoverage, dH as psdToLayers, dI as readPsd, dJ as rectSelection, dK as referencePoint, dL as refineCoverage, dM as refineEdgeHalo, dN as refineSelection, dO as removeLayer, dP as removeLayerEffect, dQ as removeLayerFilter, dR as requireLayer, dS as requireUnlocked, dT as resizePixels, dU as resizeSelection, dV as resolveExternalAssets, dW as runLayerFilters, dX as selectionArea, dY as selectionFromCoverage, dZ as selectionFromPixels, d_ as selectionToCoverage, d$ as selectionToPixels, e0 as selectionValueAt, e1 as serializeContents, e2 as serializeEffects, e3 as serializeLayer, e4 as serializeLayers, e5 as serializeLayersExternal, e6 as serializePatterns, e7 as serializeSelection, e8 as setLayerEffects, e9 as setLayerEffectsEnabled, ea as setLayerMask, eb as setLayerProperties, ec as shiftCoverage, ed as smartObjectLayers, ee as smoothCoverage, ef as srgb8ToLab, eg as toHex, eh as toneRange, ei as transformHomography, ej as transformMap, ek as transformedBox, el as transformedPoint, em as ungroupLayer, en as unionRect, eo as unprojectCanvasPoint, ep as updateLayerEffect, eq as updateLayerFilter, er as updateLayerMaskProps, es as withNewIds, et as writePsd } from '../export-
|
|
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, q as AnnotationLayer, r as LayerFilter, s as PixelLayer, t as DevelopFilter, u as ImageTransform, v as ImageHistogram, w as ImageProjection, x as CompositorSources, y as LayerCompositor, z as SmartFilterStack, B as SmartFilter, E as SmartObjectLayer, F as SmartContents, G as SmartDocument, J as SmartPlacement, K as FreeTransformGeometry, M as LayerPlacement, N as FreeTransformMode, O as FreeTransformResult, Q as FreeTransformSession, T as FreeTransformInit, U as TransformAnchor } from '../export-_m3Es4ru.cjs';
|
|
2
|
+
export { V as AIResultOptions, W as AdjustmentLayerBase, X as AdjustmentLayerInit, Y as AdjustmentLayerUpdate, Z as AnnotationPlacement, _ as AnnotationType, $ as ArrowAnnotation, a0 as AspectRatio, a1 as BaseAnnotation, a2 as BlackWhiteParams, a3 as BlurFilter, a4 as CircleAnnotation, a5 as ColorBalanceParams, a6 as ColorBalanceTone, a7 as ColorRangeOptions, a8 as ColorRangeSample, a9 as CreateAnnotationPayload, aa as CropHandle, ab as CurvesParams, ac as DEFAULT_ADJUSTMENTS, ad as DEFAULT_DEPTH_MASK, ae as DEFAULT_REFINE_EDGE_PARAMS, af as DEFAULT_TRANSFORM, ag as DeserializeContext, ah as DevelopSettings, ai as EMPTY_DISTANCE, aj as ExportOptions, ak as FREE_TRANSFORM_CONTENTS, al as FREE_TRANSFORM_MODES, am as FillOptions, an as FreeTransformContent, ao as FreeTransformHost, ap as FreeTransformPreview, aq as GUIDED_FILTER_EPS, ar as GroupLayer, as as HISTOGRAM_BINS, at as HistogramChannel, au as HistoryEntryHandle, av as HueSaturationParams, aw as IMAGE_EDITOR_SCHEMA_VERSION, ax as ImageAnnotation, ay as ImageDimensions, az as ImageEditorAIHooks, I as ImageEditorAssetStore, aA as ImageEditorFit, aB as ImageEditorOptions, aC as ImageEditorRenderer, aD as ImageEditorState, aE as ImageEditorTool, aF as ImageLayerType, aG as InpaintHook, aH as InpaintOptions, aI as InvertParams, aJ as LAYERED_SCHEMA_VERSION, aK as LayerBase, aL as LayerBlendMode, aM as LayerFilterKind, aN as LayerLocation, aO as LayerMaskProps, aP as LayerOperationError, aQ as LayerProperties, aR as LayerSourcesHost, aS as LayerTarget, aT as LegacySerializedImageEditorState, aU as LevelsParams, aV as LineAnnotation, aW as MagicWandOptions, aX as MixerStrokeInit, aY as PSD_BLEND_KEYS, aZ as PaintOptions, a_ as PaintStrokeResult, a$ as PaintStrokeSession, b0 as PenAnnotation, b1 as PhotoFilterParams, b2 as PixelBuffer, b3 as PixelLayerInit, b4 as PosterizeParams, b5 as PsdChannel, b6 as PsdExportInput, P as PsdExportResult, b7 as PsdFile, b8 as PsdHeader, b9 as PsdImportOptions, ba as PsdImportResult, bb as PsdLayerMask, bc as PsdLayerRecord, bd as PsdLayerSummary, be as PsdRect, bf as PsdResource, bg as PsdSmartFilter, bh as PsdTaggedBlock, bi as PsdTreeNode, bj as RectAnnotation, bk as RemoveBackgroundHook, bl as RemoveBackgroundOptions, bm as RenderOptions, bn as SELECTION_MODES, bo as SELECTION_MODIFY_OPS, bp as SampleOptions, bq as SelectionChannel, br as SelectionCommandOptions, bs as SelectionModifyOp, bt as SerializeContext, bu as SerializedAdjustmentLayer, bv as SerializedAnnotationLayer, bw as SerializedGroupLayer, S as SerializedLayer, bx as SerializedLayerEffects, by as SerializedLayeredImageEditorState, bz as SerializedPattern, bA as SerializedPixelLayer, bB as SerializedRasterMask, bC as SerializedSelection, bD as SerializedSmartContents, bE as SerializedSmartFilter, bF as SerializedSmartObjectLayer, bG as ShapeSelectionOptions, bH as SmartFilterKind, bI as SmartObjectInfo, bJ as SmartPsdData, bK as StrokeInit, bL as StrokeTool, bM as TONE_RANGE_PRESETS, bN as TRANSFORM_ANCHORS, bO as TextAnnotation, bP as ThresholdParams, bQ as ToneRangePreset, bR as TransformParams, bS as TransformReadout, bT as VibranceParams, bU as ViewportMetrics, bV as addLayerEffect, bW as addLayerFilter, bX as adjustmentNodeAsLayer, bY as anchorPoint, bZ as applyImageProjectionToContext, b_ as applyParams, b$ as blurFilter, c0 as borderCoverage, c1 as boxMean, c2 as boxPointOf, c3 as buildLayerMaskPlanes, c4 as calculateCropDrag, c5 as canvasToImagePoint, c6 as clampCropToImage, c7 as colorRange, c8 as combineSelections, c9 as computeHistogram, ca as computeSelectionBounds, cb as contractCoverage, cc as cornersFromMatrix, cd as coverageToByte, ce as createSelectionMask, cf as decodeLayerChannel, cg as decodeLayerMask, ch as decodeMergedImage, ci as decodePngDataUrl, cj as decodeSelectionRle, ck as depthMaskAlpha, cl as describeTransform, cm as deserializeEffects, cn as deserializeLayer, co as deserializeLayers, cp as deserializePatterns, cq as deserializeSelection, cr as developFilter, cs as distanceTransform, ct as duplicateLayer, cu as edgeWidth, cv as ellipsePoints, cw as ellipseSelection, cx as encodeSelectionRle, cy as encodeSurface, cz as expandCoverage, cA as exportPsd, cB as featherCoverage, cC as flipCorners, cD as fullSelection, cE as geometryHomography, cF as getAnnotationBounds, cG as getCropCursor, cH as getRotatedSize, cI as getViewportMetrics, cJ as getViewportProjection, cK as globalImageCache, cL as greyMorphology, cM as groupLayers, cN as guidePlanes, cO as guidedFilterColor, cP as hasSurface, cQ as hasWarp, cR as hashMaskContent, cS as histogramPath, cT as hitTestAnnotation, cU as hitTestCrop, cV as hueRange, cW as identityTransform, cX as imageToCanvasPoint, cY as importPsd, cZ as invertSelection, c_ as isActiveFilter, c$ as isIdentityTransform, d0 as isQuarterTurnSwapped, d1 as isSelectionEmpty, d2 as isSelectionMode, d3 as isSpatialFilter, d4 as isTransformAnchor, d5 as isValidWarp, d6 as layerEffectsOf, d7 as layerMaskCoverage, d8 as layerMaskFromSelection, d9 as layerMaskKey, da as layerName, db as layerTree, dc as layerTypeLabel, dd as magicWand, de as mapCropHandle, df as matrixFromCorners, dg as matrixFromParams, dh as migrateSerializedImageEditorState, di as migrateToLayeredState, dj as modifySelection, dk as moveLayer, dl as newLayerId, dm as normalizeAngle, dn as normalizeFilter, dp as normalizeLayerMask, dq as normalizeRect, dr as normalizeRefineEdgeParams, ds as normalizeStoredAdjustments, dt as offsetLayer, du as parseBlend, dv as parseColor, dw as parseSelectionMode, dx as pixelLayerBounds, dy as pixelLayers, dz as placeLayer, dA as polygonCoverage, dB as polygonSelection, dC as presetWarp, dD as previewStep, dE as projectImagePoint, dF as projectImageRect, dG as projectMaskCoverage, dH as psdToLayers, dI as readPsd, dJ as rectSelection, dK as referencePoint, dL as refineCoverage, dM as refineEdgeHalo, dN as refineSelection, dO as removeLayer, dP as removeLayerEffect, dQ as removeLayerFilter, dR as requireLayer, dS as requireUnlocked, dT as resizePixels, dU as resizeSelection, dV as resolveExternalAssets, dW as runLayerFilters, dX as selectionArea, dY as selectionFromCoverage, dZ as selectionFromPixels, d_ as selectionToCoverage, d$ as selectionToPixels, e0 as selectionValueAt, e1 as serializeContents, e2 as serializeEffects, e3 as serializeLayer, e4 as serializeLayers, e5 as serializeLayersExternal, e6 as serializePatterns, e7 as serializeSelection, e8 as setLayerEffects, e9 as setLayerEffectsEnabled, ea as setLayerMask, eb as setLayerProperties, ec as shiftCoverage, ed as smartObjectLayers, ee as smoothCoverage, ef as srgb8ToLab, eg as toHex, eh as toneRange, ei as transformHomography, ej as transformMap, ek as transformedBox, el as transformedPoint, em as ungroupLayer, en as unionRect, eo as unprojectCanvasPoint, ep as updateLayerEffect, eq as updateLayerFilter, er as updateLayerMaskProps, es as withNewIds, et as writePsd } from '../export-_m3Es4ru.cjs';
|
|
3
3
|
import { b as LoadReport, J as JsonObject, f as MigrationStep } from '../migrate-iTlm3a8h.cjs';
|
|
4
|
-
import { B as BlendMode, P as PixelSurface, R as RasterRect } from '../surface-
|
|
5
|
-
export {
|
|
4
|
+
import { B as BlendMode, P as PixelSurface, R as RasterRect } from '../surface-BBJN9wxg.cjs';
|
|
5
|
+
export { b as BLEND_MODES, d as BlendModeInfo, M as MaskSurface, e as Rgb, f as Rgba, S as SurfaceDraft, g as TILE, h as TILE_SHIFT, c as Tile, T as TileKey, a as TiledSurface, j as blendChannel, k as blendImageData, l as blendLum, m as blendPixel, n as blendRgb, o as canvasCompositeOperation, p as collectTiles, q as contentBounds, r as emptySurface, s as fillRect, t as finishTile, i as isBlendMode, u as isSeparableBlendMode, v as mixPigment8, w as mixPigmentRgb, x as normalizeBlendMode, y as packRgba, z as readPixel, A as readRegion, C as setLum, D as solidSurface, E as surfaceBytes, F as surfaceFromPixels, G as surfacesEqual, H as tileCoord, I as tileKey, J as tileRect, K as tilesInRect, L as translateSurface, N as uniformTile, O as writeRegion } from '../surface-BBJN9wxg.cjs';
|
|
6
6
|
import { a as AgentToolProvider, A as AgentTool } from '../registry-BqA1AZt0.cjs';
|
|
7
|
-
import { j as LayerEffects, l as LayerEffectKind, i as LayerEffect, E as EffectPattern, I as Interpolation } from '../compositor-
|
|
8
|
-
export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, k as CompositorOptions, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, v as EffectContour, w as EffectFill, x as EffectGradient, y as EffectPatternRef, g as GlobalLight, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, J as GradientStyle, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, O as LAYER_EFFECT_KINDS, P as LayerEffectError, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, W as PatternTile, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-
|
|
7
|
+
import { j as LayerEffects, l as LayerEffectKind, i as LayerEffect, E as EffectPattern, I as Interpolation } from '../compositor-Bc3PNP3C.cjs';
|
|
8
|
+
export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, k as CompositorOptions, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, v as EffectContour, w as EffectFill, x as EffectGradient, y as EffectPatternRef, g as GlobalLight, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, J as GradientStyle, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, O as LAYER_EFFECT_KINDS, P as LayerEffectError, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, W as PatternTile, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-Bc3PNP3C.cjs';
|
|
9
9
|
import { b as CaptureSurface } from '../capture-DFEMFmVt.cjs';
|
|
10
10
|
export { DIRECT_GAUSSIAN_MAX_SIGMA, DecodedPng, EffectRect, ZlibError, adler32, base64ToBytes, bytesToBase64, curveLut, decodePng, deflate, deflateRaw, encodePng, gaussianBlur, inflate, inflateRaw, isPng, parseDataUrl, pngDataUrl, renderLayerEffects } from '../raster/index.cjs';
|
|
11
|
-
import { a as MixerLoad, M as MixerSettings } from '../mixer-
|
|
12
|
-
export { B as BrushSettings, C as CoverageMap, g as DEFAULT_BRUSH, h as DEFAULT_MIXER, D as Dab, i as DabWalker, E as EMPTY_MIXER_LOAD, b as MAX_BRUSH_SIZE, j as MIXER_DRAIN, k as MIXER_PICKUP_RATE, l as MIXING_MODELS, e as MixerStroke, d as MixerTarget, m as MixingModel, f as StrokeApply, c as StrokeCoverage, S as StrokePoint, n as applyStrokeToTile, o as cleanMixer, p as coverageTileCoord, q as dabCoverage, r as dabRect, s as loadMixer, t as normalizeBrush, u as normalizeMixer, v as rasterizeDab, w as smoothPoints, x as tipFalloff, y as tipReach, z as tipShape, A as walkDabs } from '../mixer-
|
|
11
|
+
import { a as MixerLoad, M as MixerSettings } from '../mixer-C1M1Nua_.cjs';
|
|
12
|
+
export { B as BrushSettings, C as CoverageMap, g as DEFAULT_BRUSH, h as DEFAULT_MIXER, D as Dab, i as DabWalker, E as EMPTY_MIXER_LOAD, b as MAX_BRUSH_SIZE, j as MIXER_DRAIN, k as MIXER_PICKUP_RATE, l as MIXING_MODELS, e as MixerStroke, d as MixerTarget, m as MixingModel, f as StrokeApply, c as StrokeCoverage, S as StrokePoint, n as applyStrokeToTile, o as cleanMixer, p as coverageTileCoord, q as dabCoverage, r as dabRect, s as loadMixer, t as normalizeBrush, u as normalizeMixer, v as rasterizeDab, w as smoothPoints, x as tipFalloff, y as tipReach, z as tipShape, A as walkDabs } from '../mixer-C1M1Nua_.cjs';
|
|
13
13
|
export { PIGMENT_BANDS, PIGMENT_LAMBDA_MIN, PIGMENT_LAMBDA_STEP, PIGMENT_WAVELENGTHS, Pigment, PigmentOptions, PigmentRgb, createPigment, createPigmentTools, lerpPigment, lerpPigmentInto, mixPigments, reflectanceToRgb, rgbToReflectance, setPigmentColor } from '../paint/index.cjs';
|
|
14
14
|
import { W as WarpStyle, a as WarpMesh, V as Vec2, Q as Quad } from '../types-CwMPoRMU.cjs';
|
|
15
15
|
export { A as AffineMatrix, H as Homography } from '../types-CwMPoRMU.cjs';
|
|
@@ -1383,6 +1383,14 @@ declare function writeAdjustmentBlock<K extends AdjustmentKind>(kind: K, params:
|
|
|
1383
1383
|
data: Uint8Array;
|
|
1384
1384
|
};
|
|
1385
1385
|
|
|
1386
|
+
/**
|
|
1387
|
+
* Layer effects ↔ PSD: the object-based effects descriptor (`lfx2`, `lfxs` on groups, `lmfx` with
|
|
1388
|
+
* several instances per kind) both ways, and the legacy `lrFX` block on read. Key names follow the
|
|
1389
|
+
* descriptors Photoshop writes (documented by reverse-engineering in psd-tools and ag-psd, MIT).
|
|
1390
|
+
*
|
|
1391
|
+
* Reading reports what it could not represent exactly (`notes`), so import warns only for that.
|
|
1392
|
+
*/
|
|
1393
|
+
|
|
1386
1394
|
interface ParsedLayerEffects {
|
|
1387
1395
|
effects: LayerEffects;
|
|
1388
1396
|
/** What could not be held exactly (empty when the mapping is exact). */
|
|
@@ -1,15 +1,15 @@
|
|
|
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, q as AnnotationLayer, r as LayerFilter, s as PixelLayer, t as DevelopFilter, u as ImageTransform, v as ImageHistogram, w as ImageProjection, x as CompositorSources, y as LayerCompositor, z as SmartFilterStack, B as SmartFilter, E as SmartObjectLayer, F as SmartContents, G as SmartDocument, J as SmartPlacement, K as FreeTransformGeometry, M as LayerPlacement, N as FreeTransformMode, O as FreeTransformResult, Q as FreeTransformSession, T as FreeTransformInit, U as TransformAnchor } from '../export-
|
|
2
|
-
export { V as AIResultOptions, W as AdjustmentLayerBase, X as AdjustmentLayerInit, Y as AdjustmentLayerUpdate, Z as AnnotationPlacement, _ as AnnotationType, $ as ArrowAnnotation, a0 as AspectRatio, a1 as BaseAnnotation, a2 as BlackWhiteParams, a3 as BlurFilter, a4 as CircleAnnotation, a5 as ColorBalanceParams, a6 as ColorBalanceTone, a7 as ColorRangeOptions, a8 as ColorRangeSample, a9 as CreateAnnotationPayload, aa as CropHandle, ab as CurvesParams, ac as DEFAULT_ADJUSTMENTS, ad as DEFAULT_DEPTH_MASK, ae as DEFAULT_REFINE_EDGE_PARAMS, af as DEFAULT_TRANSFORM, ag as DeserializeContext, ah as DevelopSettings, ai as EMPTY_DISTANCE, aj as ExportOptions, ak as FREE_TRANSFORM_CONTENTS, al as FREE_TRANSFORM_MODES, am as FillOptions, an as FreeTransformContent, ao as FreeTransformHost, ap as FreeTransformPreview, aq as GUIDED_FILTER_EPS, ar as GroupLayer, as as HISTOGRAM_BINS, at as HistogramChannel, au as HistoryEntryHandle, av as HueSaturationParams, aw as IMAGE_EDITOR_SCHEMA_VERSION, ax as ImageAnnotation, ay as ImageDimensions, az as ImageEditorAIHooks, I as ImageEditorAssetStore, aA as ImageEditorFit, aB as ImageEditorOptions, aC as ImageEditorRenderer, aD as ImageEditorState, aE as ImageEditorTool, aF as ImageLayerType, aG as InpaintHook, aH as InpaintOptions, aI as InvertParams, aJ as LAYERED_SCHEMA_VERSION, aK as LayerBase, aL as LayerBlendMode, aM as LayerFilterKind, aN as LayerLocation, aO as LayerMaskProps, aP as LayerOperationError, aQ as LayerProperties, aR as LayerSourcesHost, aS as LayerTarget, aT as LegacySerializedImageEditorState, aU as LevelsParams, aV as LineAnnotation, aW as MagicWandOptions, aX as MixerStrokeInit, aY as PSD_BLEND_KEYS, aZ as PaintOptions, a_ as PaintStrokeResult, a$ as PaintStrokeSession, b0 as PenAnnotation, b1 as PhotoFilterParams, b2 as PixelBuffer, b3 as PixelLayerInit, b4 as PosterizeParams, b5 as PsdChannel, b6 as PsdExportInput, P as PsdExportResult, b7 as PsdFile, b8 as PsdHeader, b9 as PsdImportOptions, ba as PsdImportResult, bb as PsdLayerMask, bc as PsdLayerRecord, bd as PsdLayerSummary, be as PsdRect, bf as PsdResource, bg as PsdSmartFilter, bh as PsdTaggedBlock, bi as PsdTreeNode, bj as RectAnnotation, bk as RemoveBackgroundHook, bl as RemoveBackgroundOptions, bm as RenderOptions, bn as SELECTION_MODES, bo as SELECTION_MODIFY_OPS, bp as SampleOptions, bq as SelectionChannel, br as SelectionCommandOptions, bs as SelectionModifyOp, bt as SerializeContext, bu as SerializedAdjustmentLayer, bv as SerializedAnnotationLayer, bw as SerializedGroupLayer, S as SerializedLayer, bx as SerializedLayerEffects, by as SerializedLayeredImageEditorState, bz as SerializedPattern, bA as SerializedPixelLayer, bB as SerializedRasterMask, bC as SerializedSelection, bD as SerializedSmartContents, bE as SerializedSmartFilter, bF as SerializedSmartObjectLayer, bG as ShapeSelectionOptions, bH as SmartFilterKind, bI as SmartObjectInfo, bJ as SmartPsdData, bK as StrokeInit, bL as StrokeTool, bM as TONE_RANGE_PRESETS, bN as TRANSFORM_ANCHORS, bO as TextAnnotation, bP as ThresholdParams, bQ as ToneRangePreset, bR as TransformParams, bS as TransformReadout, bT as VibranceParams, bU as ViewportMetrics, bV as addLayerEffect, bW as addLayerFilter, bX as adjustmentNodeAsLayer, bY as anchorPoint, bZ as applyImageProjectionToContext, b_ as applyParams, b$ as blurFilter, c0 as borderCoverage, c1 as boxMean, c2 as boxPointOf, c3 as buildLayerMaskPlanes, c4 as calculateCropDrag, c5 as canvasToImagePoint, c6 as clampCropToImage, c7 as colorRange, c8 as combineSelections, c9 as computeHistogram, ca as computeSelectionBounds, cb as contractCoverage, cc as cornersFromMatrix, cd as coverageToByte, ce as createSelectionMask, cf as decodeLayerChannel, cg as decodeLayerMask, ch as decodeMergedImage, ci as decodePngDataUrl, cj as decodeSelectionRle, ck as depthMaskAlpha, cl as describeTransform, cm as deserializeEffects, cn as deserializeLayer, co as deserializeLayers, cp as deserializePatterns, cq as deserializeSelection, cr as developFilter, cs as distanceTransform, ct as duplicateLayer, cu as edgeWidth, cv as ellipsePoints, cw as ellipseSelection, cx as encodeSelectionRle, cy as encodeSurface, cz as expandCoverage, cA as exportPsd, cB as featherCoverage, cC as flipCorners, cD as fullSelection, cE as geometryHomography, cF as getAnnotationBounds, cG as getCropCursor, cH as getRotatedSize, cI as getViewportMetrics, cJ as getViewportProjection, cK as globalImageCache, cL as greyMorphology, cM as groupLayers, cN as guidePlanes, cO as guidedFilterColor, cP as hasSurface, cQ as hasWarp, cR as hashMaskContent, cS as histogramPath, cT as hitTestAnnotation, cU as hitTestCrop, cV as hueRange, cW as identityTransform, cX as imageToCanvasPoint, cY as importPsd, cZ as invertSelection, c_ as isActiveFilter, c$ as isIdentityTransform, d0 as isQuarterTurnSwapped, d1 as isSelectionEmpty, d2 as isSelectionMode, d3 as isSpatialFilter, d4 as isTransformAnchor, d5 as isValidWarp, d6 as layerEffectsOf, d7 as layerMaskCoverage, d8 as layerMaskFromSelection, d9 as layerMaskKey, da as layerName, db as layerTree, dc as layerTypeLabel, dd as magicWand, de as mapCropHandle, df as matrixFromCorners, dg as matrixFromParams, dh as migrateSerializedImageEditorState, di as migrateToLayeredState, dj as modifySelection, dk as moveLayer, dl as newLayerId, dm as normalizeAngle, dn as normalizeFilter, dp as normalizeLayerMask, dq as normalizeRect, dr as normalizeRefineEdgeParams, ds as normalizeStoredAdjustments, dt as offsetLayer, du as parseBlend, dv as parseColor, dw as parseSelectionMode, dx as pixelLayerBounds, dy as pixelLayers, dz as placeLayer, dA as polygonCoverage, dB as polygonSelection, dC as presetWarp, dD as previewStep, dE as projectImagePoint, dF as projectImageRect, dG as projectMaskCoverage, dH as psdToLayers, dI as readPsd, dJ as rectSelection, dK as referencePoint, dL as refineCoverage, dM as refineEdgeHalo, dN as refineSelection, dO as removeLayer, dP as removeLayerEffect, dQ as removeLayerFilter, dR as requireLayer, dS as requireUnlocked, dT as resizePixels, dU as resizeSelection, dV as resolveExternalAssets, dW as runLayerFilters, dX as selectionArea, dY as selectionFromCoverage, dZ as selectionFromPixels, d_ as selectionToCoverage, d$ as selectionToPixels, e0 as selectionValueAt, e1 as serializeContents, e2 as serializeEffects, e3 as serializeLayer, e4 as serializeLayers, e5 as serializeLayersExternal, e6 as serializePatterns, e7 as serializeSelection, e8 as setLayerEffects, e9 as setLayerEffectsEnabled, ea as setLayerMask, eb as setLayerProperties, ec as shiftCoverage, ed as smartObjectLayers, ee as smoothCoverage, ef as srgb8ToLab, eg as toHex, eh as toneRange, ei as transformHomography, ej as transformMap, ek as transformedBox, el as transformedPoint, em as ungroupLayer, en as unionRect, eo as unprojectCanvasPoint, ep as updateLayerEffect, eq as updateLayerFilter, er as updateLayerMaskProps, es as withNewIds, et as writePsd } from '../export-
|
|
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, q as AnnotationLayer, r as LayerFilter, s as PixelLayer, t as DevelopFilter, u as ImageTransform, v as ImageHistogram, w as ImageProjection, x as CompositorSources, y as LayerCompositor, z as SmartFilterStack, B as SmartFilter, E as SmartObjectLayer, F as SmartContents, G as SmartDocument, J as SmartPlacement, K as FreeTransformGeometry, M as LayerPlacement, N as FreeTransformMode, O as FreeTransformResult, Q as FreeTransformSession, T as FreeTransformInit, U as TransformAnchor } from '../export-iMrop3Jm.js';
|
|
2
|
+
export { V as AIResultOptions, W as AdjustmentLayerBase, X as AdjustmentLayerInit, Y as AdjustmentLayerUpdate, Z as AnnotationPlacement, _ as AnnotationType, $ as ArrowAnnotation, a0 as AspectRatio, a1 as BaseAnnotation, a2 as BlackWhiteParams, a3 as BlurFilter, a4 as CircleAnnotation, a5 as ColorBalanceParams, a6 as ColorBalanceTone, a7 as ColorRangeOptions, a8 as ColorRangeSample, a9 as CreateAnnotationPayload, aa as CropHandle, ab as CurvesParams, ac as DEFAULT_ADJUSTMENTS, ad as DEFAULT_DEPTH_MASK, ae as DEFAULT_REFINE_EDGE_PARAMS, af as DEFAULT_TRANSFORM, ag as DeserializeContext, ah as DevelopSettings, ai as EMPTY_DISTANCE, aj as ExportOptions, ak as FREE_TRANSFORM_CONTENTS, al as FREE_TRANSFORM_MODES, am as FillOptions, an as FreeTransformContent, ao as FreeTransformHost, ap as FreeTransformPreview, aq as GUIDED_FILTER_EPS, ar as GroupLayer, as as HISTOGRAM_BINS, at as HistogramChannel, au as HistoryEntryHandle, av as HueSaturationParams, aw as IMAGE_EDITOR_SCHEMA_VERSION, ax as ImageAnnotation, ay as ImageDimensions, az as ImageEditorAIHooks, I as ImageEditorAssetStore, aA as ImageEditorFit, aB as ImageEditorOptions, aC as ImageEditorRenderer, aD as ImageEditorState, aE as ImageEditorTool, aF as ImageLayerType, aG as InpaintHook, aH as InpaintOptions, aI as InvertParams, aJ as LAYERED_SCHEMA_VERSION, aK as LayerBase, aL as LayerBlendMode, aM as LayerFilterKind, aN as LayerLocation, aO as LayerMaskProps, aP as LayerOperationError, aQ as LayerProperties, aR as LayerSourcesHost, aS as LayerTarget, aT as LegacySerializedImageEditorState, aU as LevelsParams, aV as LineAnnotation, aW as MagicWandOptions, aX as MixerStrokeInit, aY as PSD_BLEND_KEYS, aZ as PaintOptions, a_ as PaintStrokeResult, a$ as PaintStrokeSession, b0 as PenAnnotation, b1 as PhotoFilterParams, b2 as PixelBuffer, b3 as PixelLayerInit, b4 as PosterizeParams, b5 as PsdChannel, b6 as PsdExportInput, P as PsdExportResult, b7 as PsdFile, b8 as PsdHeader, b9 as PsdImportOptions, ba as PsdImportResult, bb as PsdLayerMask, bc as PsdLayerRecord, bd as PsdLayerSummary, be as PsdRect, bf as PsdResource, bg as PsdSmartFilter, bh as PsdTaggedBlock, bi as PsdTreeNode, bj as RectAnnotation, bk as RemoveBackgroundHook, bl as RemoveBackgroundOptions, bm as RenderOptions, bn as SELECTION_MODES, bo as SELECTION_MODIFY_OPS, bp as SampleOptions, bq as SelectionChannel, br as SelectionCommandOptions, bs as SelectionModifyOp, bt as SerializeContext, bu as SerializedAdjustmentLayer, bv as SerializedAnnotationLayer, bw as SerializedGroupLayer, S as SerializedLayer, bx as SerializedLayerEffects, by as SerializedLayeredImageEditorState, bz as SerializedPattern, bA as SerializedPixelLayer, bB as SerializedRasterMask, bC as SerializedSelection, bD as SerializedSmartContents, bE as SerializedSmartFilter, bF as SerializedSmartObjectLayer, bG as ShapeSelectionOptions, bH as SmartFilterKind, bI as SmartObjectInfo, bJ as SmartPsdData, bK as StrokeInit, bL as StrokeTool, bM as TONE_RANGE_PRESETS, bN as TRANSFORM_ANCHORS, bO as TextAnnotation, bP as ThresholdParams, bQ as ToneRangePreset, bR as TransformParams, bS as TransformReadout, bT as VibranceParams, bU as ViewportMetrics, bV as addLayerEffect, bW as addLayerFilter, bX as adjustmentNodeAsLayer, bY as anchorPoint, bZ as applyImageProjectionToContext, b_ as applyParams, b$ as blurFilter, c0 as borderCoverage, c1 as boxMean, c2 as boxPointOf, c3 as buildLayerMaskPlanes, c4 as calculateCropDrag, c5 as canvasToImagePoint, c6 as clampCropToImage, c7 as colorRange, c8 as combineSelections, c9 as computeHistogram, ca as computeSelectionBounds, cb as contractCoverage, cc as cornersFromMatrix, cd as coverageToByte, ce as createSelectionMask, cf as decodeLayerChannel, cg as decodeLayerMask, ch as decodeMergedImage, ci as decodePngDataUrl, cj as decodeSelectionRle, ck as depthMaskAlpha, cl as describeTransform, cm as deserializeEffects, cn as deserializeLayer, co as deserializeLayers, cp as deserializePatterns, cq as deserializeSelection, cr as developFilter, cs as distanceTransform, ct as duplicateLayer, cu as edgeWidth, cv as ellipsePoints, cw as ellipseSelection, cx as encodeSelectionRle, cy as encodeSurface, cz as expandCoverage, cA as exportPsd, cB as featherCoverage, cC as flipCorners, cD as fullSelection, cE as geometryHomography, cF as getAnnotationBounds, cG as getCropCursor, cH as getRotatedSize, cI as getViewportMetrics, cJ as getViewportProjection, cK as globalImageCache, cL as greyMorphology, cM as groupLayers, cN as guidePlanes, cO as guidedFilterColor, cP as hasSurface, cQ as hasWarp, cR as hashMaskContent, cS as histogramPath, cT as hitTestAnnotation, cU as hitTestCrop, cV as hueRange, cW as identityTransform, cX as imageToCanvasPoint, cY as importPsd, cZ as invertSelection, c_ as isActiveFilter, c$ as isIdentityTransform, d0 as isQuarterTurnSwapped, d1 as isSelectionEmpty, d2 as isSelectionMode, d3 as isSpatialFilter, d4 as isTransformAnchor, d5 as isValidWarp, d6 as layerEffectsOf, d7 as layerMaskCoverage, d8 as layerMaskFromSelection, d9 as layerMaskKey, da as layerName, db as layerTree, dc as layerTypeLabel, dd as magicWand, de as mapCropHandle, df as matrixFromCorners, dg as matrixFromParams, dh as migrateSerializedImageEditorState, di as migrateToLayeredState, dj as modifySelection, dk as moveLayer, dl as newLayerId, dm as normalizeAngle, dn as normalizeFilter, dp as normalizeLayerMask, dq as normalizeRect, dr as normalizeRefineEdgeParams, ds as normalizeStoredAdjustments, dt as offsetLayer, du as parseBlend, dv as parseColor, dw as parseSelectionMode, dx as pixelLayerBounds, dy as pixelLayers, dz as placeLayer, dA as polygonCoverage, dB as polygonSelection, dC as presetWarp, dD as previewStep, dE as projectImagePoint, dF as projectImageRect, dG as projectMaskCoverage, dH as psdToLayers, dI as readPsd, dJ as rectSelection, dK as referencePoint, dL as refineCoverage, dM as refineEdgeHalo, dN as refineSelection, dO as removeLayer, dP as removeLayerEffect, dQ as removeLayerFilter, dR as requireLayer, dS as requireUnlocked, dT as resizePixels, dU as resizeSelection, dV as resolveExternalAssets, dW as runLayerFilters, dX as selectionArea, dY as selectionFromCoverage, dZ as selectionFromPixels, d_ as selectionToCoverage, d$ as selectionToPixels, e0 as selectionValueAt, e1 as serializeContents, e2 as serializeEffects, e3 as serializeLayer, e4 as serializeLayers, e5 as serializeLayersExternal, e6 as serializePatterns, e7 as serializeSelection, e8 as setLayerEffects, e9 as setLayerEffectsEnabled, ea as setLayerMask, eb as setLayerProperties, ec as shiftCoverage, ed as smartObjectLayers, ee as smoothCoverage, ef as srgb8ToLab, eg as toHex, eh as toneRange, ei as transformHomography, ej as transformMap, ek as transformedBox, el as transformedPoint, em as ungroupLayer, en as unionRect, eo as unprojectCanvasPoint, ep as updateLayerEffect, eq as updateLayerFilter, er as updateLayerMaskProps, es as withNewIds, et as writePsd } from '../export-iMrop3Jm.js';
|
|
3
3
|
import { b as LoadReport, J as JsonObject, f as MigrationStep } from '../migrate-iTlm3a8h.js';
|
|
4
|
-
import { B as BlendMode, P as PixelSurface, R as RasterRect } from '../surface-
|
|
5
|
-
export {
|
|
4
|
+
import { B as BlendMode, P as PixelSurface, R as RasterRect } from '../surface-BBJN9wxg.js';
|
|
5
|
+
export { b as BLEND_MODES, d as BlendModeInfo, M as MaskSurface, e as Rgb, f as Rgba, S as SurfaceDraft, g as TILE, h as TILE_SHIFT, c as Tile, T as TileKey, a as TiledSurface, j as blendChannel, k as blendImageData, l as blendLum, m as blendPixel, n as blendRgb, o as canvasCompositeOperation, p as collectTiles, q as contentBounds, r as emptySurface, s as fillRect, t as finishTile, i as isBlendMode, u as isSeparableBlendMode, v as mixPigment8, w as mixPigmentRgb, x as normalizeBlendMode, y as packRgba, z as readPixel, A as readRegion, C as setLum, D as solidSurface, E as surfaceBytes, F as surfaceFromPixels, G as surfacesEqual, H as tileCoord, I as tileKey, J as tileRect, K as tilesInRect, L as translateSurface, N as uniformTile, O as writeRegion } from '../surface-BBJN9wxg.js';
|
|
6
6
|
import { a as AgentToolProvider, A as AgentTool } from '../registry-D-4fit9C.js';
|
|
7
|
-
import { j as LayerEffects, l as LayerEffectKind, i as LayerEffect, E as EffectPattern, I as Interpolation } from '../compositor-
|
|
8
|
-
export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, k as CompositorOptions, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, v as EffectContour, w as EffectFill, x as EffectGradient, y as EffectPatternRef, g as GlobalLight, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, J as GradientStyle, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, O as LAYER_EFFECT_KINDS, P as LayerEffectError, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, W as PatternTile, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-
|
|
7
|
+
import { j as LayerEffects, l as LayerEffectKind, i as LayerEffect, E as EffectPattern, I as Interpolation } from '../compositor-BsYYllvR.js';
|
|
8
|
+
export { B as BevelContour, m as BevelEmbossEffect, n as BevelStyle, o as BevelTechnique, p as BevelTexture, q as ColorOverlayEffect, r as CompositeCallOptions, s as CompositeStats, k as CompositorOptions, t as ContourPoint, D as DEFAULT_GLOBAL_LIGHT, u as DropShadowEffect, v as EffectContour, w as EffectFill, x as EffectGradient, y as EffectPatternRef, g as GlobalLight, z as GlowTechnique, A as GradientColorStop, F as GradientOpacityStop, H as GradientOverlayEffect, J as GradientStyle, K as INTERPOLATIONS, M as InnerGlowEffect, N as InnerShadowEffect, O as LAYER_EFFECT_KINDS, P as LayerEffectError, L as LayerLocks, Q as MAX_EFFECT_REACH, S as MAX_TRANSFORM_PIXELS, T as OuterGlowEffect, U as PatternOverlayEffect, V as PatternPlacement, W as PatternTile, X as ResampleOptions, Y as SatinEffect, Z as StrokeEffect, _ as StrokePosition, $ as TransformTooLargeError, a0 as blendTile, a1 as builtinPattern, a2 as builtinPatternIds, a3 as changedTiles, a4 as compositeSurfaceOver, a5 as defaultEffectGradient, a6 as defaultLayerEffect, a7 as effectColorHex, a8 as effectReach, a9 as effectsFingerprint, aa as effectsMargin, ab as effectsScale, ac as findLayer, ad as flattenLayers, ae as hasActiveEffects, af as hashNoise, ag as insertLayer, ah as isInterpolation, ai as isLayerEffectKind, aj as isLayerLocked, ak as keysWeight, al as layerEffectFields, am as layerEffectLabel, an as mapLayer, ao as mergeLayerEffect, ap as newEffectId, aq as normalizeLayerEffects, ar as parseEffectColor, as as reduceSurface, at as scaleLayerEffect, au as transformSurface, av as transformedBounds, aw as validateEffectGradient, ax as validateLayerEffect, ay as validateLayerEffects, az as warpSurface } from '../compositor-BsYYllvR.js';
|
|
9
9
|
import { b as CaptureSurface } from '../capture-wwNGaW05.js';
|
|
10
10
|
export { DIRECT_GAUSSIAN_MAX_SIGMA, DecodedPng, EffectRect, ZlibError, adler32, base64ToBytes, bytesToBase64, curveLut, decodePng, deflate, deflateRaw, encodePng, gaussianBlur, inflate, inflateRaw, isPng, parseDataUrl, pngDataUrl, renderLayerEffects } from '../raster/index.js';
|
|
11
|
-
import { a as MixerLoad, M as MixerSettings } from '../mixer-
|
|
12
|
-
export { B as BrushSettings, C as CoverageMap, g as DEFAULT_BRUSH, h as DEFAULT_MIXER, D as Dab, i as DabWalker, E as EMPTY_MIXER_LOAD, b as MAX_BRUSH_SIZE, j as MIXER_DRAIN, k as MIXER_PICKUP_RATE, l as MIXING_MODELS, e as MixerStroke, d as MixerTarget, m as MixingModel, f as StrokeApply, c as StrokeCoverage, S as StrokePoint, n as applyStrokeToTile, o as cleanMixer, p as coverageTileCoord, q as dabCoverage, r as dabRect, s as loadMixer, t as normalizeBrush, u as normalizeMixer, v as rasterizeDab, w as smoothPoints, x as tipFalloff, y as tipReach, z as tipShape, A as walkDabs } from '../mixer-
|
|
11
|
+
import { a as MixerLoad, M as MixerSettings } from '../mixer-Cu5a9Bzd.js';
|
|
12
|
+
export { B as BrushSettings, C as CoverageMap, g as DEFAULT_BRUSH, h as DEFAULT_MIXER, D as Dab, i as DabWalker, E as EMPTY_MIXER_LOAD, b as MAX_BRUSH_SIZE, j as MIXER_DRAIN, k as MIXER_PICKUP_RATE, l as MIXING_MODELS, e as MixerStroke, d as MixerTarget, m as MixingModel, f as StrokeApply, c as StrokeCoverage, S as StrokePoint, n as applyStrokeToTile, o as cleanMixer, p as coverageTileCoord, q as dabCoverage, r as dabRect, s as loadMixer, t as normalizeBrush, u as normalizeMixer, v as rasterizeDab, w as smoothPoints, x as tipFalloff, y as tipReach, z as tipShape, A as walkDabs } from '../mixer-Cu5a9Bzd.js';
|
|
13
13
|
export { PIGMENT_BANDS, PIGMENT_LAMBDA_MIN, PIGMENT_LAMBDA_STEP, PIGMENT_WAVELENGTHS, Pigment, PigmentOptions, PigmentRgb, createPigment, createPigmentTools, lerpPigment, lerpPigmentInto, mixPigments, reflectanceToRgb, rgbToReflectance, setPigmentColor } from '../paint/index.js';
|
|
14
14
|
import { W as WarpStyle, a as WarpMesh, V as Vec2, Q as Quad } from '../types-CwMPoRMU.js';
|
|
15
15
|
export { A as AffineMatrix, H as Homography } from '../types-CwMPoRMU.js';
|
|
@@ -1383,6 +1383,14 @@ declare function writeAdjustmentBlock<K extends AdjustmentKind>(kind: K, params:
|
|
|
1383
1383
|
data: Uint8Array;
|
|
1384
1384
|
};
|
|
1385
1385
|
|
|
1386
|
+
/**
|
|
1387
|
+
* Layer effects ↔ PSD: the object-based effects descriptor (`lfx2`, `lfxs` on groups, `lmfx` with
|
|
1388
|
+
* several instances per kind) both ways, and the legacy `lrFX` block on read. Key names follow the
|
|
1389
|
+
* descriptors Photoshop writes (documented by reverse-engineering in psd-tools and ag-psd, MIT).
|
|
1390
|
+
*
|
|
1391
|
+
* Reading reports what it could not represent exactly (`notes`), so import warns only for that.
|
|
1392
|
+
*/
|
|
1393
|
+
|
|
1386
1394
|
interface ParsedLayerEffects {
|
|
1387
1395
|
effects: LayerEffects;
|
|
1388
1396
|
/** What could not be held exactly (empty when the mapping is exact). */
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
ADJUSTMENT_KINDS,
|
|
11
11
|
ADJUSTMENT_LUT_SIZE,
|
|
12
12
|
AS_SHOT_KELVIN,
|
|
13
|
+
BROWSER_IMAGE_TYPES,
|
|
13
14
|
D50,
|
|
14
15
|
D65,
|
|
15
16
|
DEFAULT_ADJUSTMENTS_VALUES,
|
|
@@ -244,6 +245,7 @@ import {
|
|
|
244
245
|
setSmartFiltersEnabled,
|
|
245
246
|
setSmartPlacement,
|
|
246
247
|
shiftCoverage,
|
|
248
|
+
smartContentsFile,
|
|
247
249
|
smartObjectLayers,
|
|
248
250
|
smoothCoverage,
|
|
249
251
|
srgbToLinear,
|
|
@@ -277,7 +279,7 @@ import {
|
|
|
277
279
|
writePsd,
|
|
278
280
|
xyToTempTint,
|
|
279
281
|
xyToUv
|
|
280
|
-
} from "../chunk-
|
|
282
|
+
} from "../chunk-4X5MIVCE.js";
|
|
281
283
|
import {
|
|
282
284
|
DEFAULT_GLOBAL_LIGHT,
|
|
283
285
|
DIRECT_GAUSSIAN_MAX_SIGMA,
|
|
@@ -2992,39 +2994,6 @@ var FreeTransformSession = class {
|
|
|
2992
2994
|
};
|
|
2993
2995
|
|
|
2994
2996
|
// src/image-editor/controller.ts
|
|
2995
|
-
function prepareNestedForPsd(layers) {
|
|
2996
|
-
const out = [];
|
|
2997
|
-
for (const l of layers) {
|
|
2998
|
-
if (l.type === "annotation") continue;
|
|
2999
|
-
let next = l;
|
|
3000
|
-
if (l.type === "group") next = { ...l, children: prepareNestedForPsd(l.children) };
|
|
3001
|
-
else if (l.type === "smart") next = rasterizeSmartObject([l], l.id).layer;
|
|
3002
|
-
else if (l.type === "pixel" && l.filters?.length) {
|
|
3003
|
-
const p = { ...l };
|
|
3004
|
-
if (l.filters.some(isActiveFilter)) {
|
|
3005
|
-
const b = l.surface.bounds;
|
|
3006
|
-
if (b) {
|
|
3007
|
-
const r = { x: b.x + l.offset.x - 64, y: b.y + l.offset.y - 64, width: b.width + 128, height: b.height + 128 };
|
|
3008
|
-
const plain3 = { ...l, visible: true, opacity: 1, blend: "normal" };
|
|
3009
|
-
delete plain3.mask;
|
|
3010
|
-
delete plain3.clipped;
|
|
3011
|
-
delete plain3.effects;
|
|
3012
|
-
delete plain3.fillOpacity;
|
|
3013
|
-
const data = new LayerCompositor().composite([plain3], r, { width: r.x + r.width, height: r.y + r.height });
|
|
3014
|
-
p.surface = surfaceFromPixels({ width: r.width, height: r.height, data }, 4, r.x - l.offset.x, r.y - l.offset.y);
|
|
3015
|
-
}
|
|
3016
|
-
}
|
|
3017
|
-
delete p.filters;
|
|
3018
|
-
next = p;
|
|
3019
|
-
}
|
|
3020
|
-
if (next.mask?.source) {
|
|
3021
|
-
next = { ...next };
|
|
3022
|
-
delete next.mask;
|
|
3023
|
-
}
|
|
3024
|
-
out.push(next);
|
|
3025
|
-
}
|
|
3026
|
-
return out;
|
|
3027
|
-
}
|
|
3028
2997
|
var IMAGE_EDITOR_SCHEMA_VERSION = LAYERED_SCHEMA_VERSION;
|
|
3029
2998
|
function paintCoverageInto(base, coverage, apply, rects) {
|
|
3030
2999
|
const tiles = new Map(base.tiles);
|
|
@@ -3650,6 +3619,17 @@ var ImageEditorController = class {
|
|
|
3650
3619
|
}
|
|
3651
3620
|
return b ? { x: b.x + layer.offset.x, y: b.y + layer.offset.y, width: b.width, height: b.height } : null;
|
|
3652
3621
|
}
|
|
3622
|
+
/**
|
|
3623
|
+
* A tight base64 PNG data URL of a pixel or smart layer's content, or `null` for an unknown or
|
|
3624
|
+
* non-pixel layer, or when the layer is completely transparent.
|
|
3625
|
+
*/
|
|
3626
|
+
getLayerDataURL(id) {
|
|
3627
|
+
const layer = this.getLayer(id);
|
|
3628
|
+
if (!layer || layer.type !== "pixel" && layer.type !== "smart") return null;
|
|
3629
|
+
const surface = this.surfaceOf(layer);
|
|
3630
|
+
const enc = encodeSurface(surface);
|
|
3631
|
+
return enc ? enc.url : null;
|
|
3632
|
+
}
|
|
3653
3633
|
/**
|
|
3654
3634
|
* Composites the layer stack in document space without a canvas (annotation layers need one
|
|
3655
3635
|
* and are left out): `rect` (default: the canvas) as RGBA, straight alpha. Crop, rotation and
|
|
@@ -4392,20 +4372,13 @@ var ImageEditorController = class {
|
|
|
4392
4372
|
const c = layer.contents;
|
|
4393
4373
|
const base = c.name.replace(/\.\w+$/, "") || "Contents";
|
|
4394
4374
|
if (c.file) {
|
|
4395
|
-
const mime = { psd: "image/vnd.adobe.photoshop", psb: "image/vnd.adobe.photoshop",
|
|
4375
|
+
const mime = { psd: "image/vnd.adobe.photoshop", psb: "image/vnd.adobe.photoshop", pdf: "application/pdf", ...BROWSER_IMAGE_TYPES };
|
|
4396
4376
|
const ext = c.file.type.toLowerCase();
|
|
4397
4377
|
return { name: /\.\w+$/.test(c.name) ? c.name : `${base}.${ext}`, mimeType: mime[ext] ?? "application/octet-stream", bytes: c.file.bytes };
|
|
4398
4378
|
}
|
|
4399
4379
|
if (!isContentsDecoded(c)) throw new LayerOperationError(`The contents of "${layer.name || id}" are not available here.`);
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
return { name: `${base}.png`, mimeType: "image/png", bytes: encodePng(c.width, c.height, data) };
|
|
4403
|
-
}
|
|
4404
|
-
const doc = c.document;
|
|
4405
|
-
const merged = readRegion(contentsSurface(c), { x: 0, y: 0, width: c.width, height: c.height });
|
|
4406
|
-
const prepared = prepareNestedForPsd(doc.layers);
|
|
4407
|
-
const res = exportPsd({ width: c.width, height: c.height, layers: prepared, merged, patterns: doc.patterns, globalLight: doc.globalLight });
|
|
4408
|
-
return { name: `${base}.${res.psb ? "psb" : "psd"}`, mimeType: "image/vnd.adobe.photoshop", bytes: res.bytes };
|
|
4380
|
+
const f = smartContentsFile(c);
|
|
4381
|
+
return { name: f.name, mimeType: f.name.endsWith(".png") ? "image/png" : "image/vnd.adobe.photoshop", bytes: f.bytes };
|
|
4409
4382
|
}
|
|
4410
4383
|
/**
|
|
4411
4384
|
* Layer › Smart Objects › New Smart Object via Copy (`linked: false`: independent contents) or a
|
|
@@ -4485,11 +4458,13 @@ var ImageEditorController = class {
|
|
|
4485
4458
|
*/
|
|
4486
4459
|
async prepareSmartObjects() {
|
|
4487
4460
|
const pending = /* @__PURE__ */ new Map();
|
|
4488
|
-
for (const l of flattenLayers(this.state.layers))
|
|
4461
|
+
for (const l of flattenLayers(this.state.layers)) {
|
|
4462
|
+
if (l.type === "smart" && !isContentsDecoded(l.contents) && l.contents.file && BROWSER_IMAGE_TYPES[l.contents.file.type]) pending.set(l.contents.id, l.contents);
|
|
4463
|
+
}
|
|
4489
4464
|
const left = [];
|
|
4490
4465
|
for (const [cid, c] of pending) {
|
|
4491
4466
|
try {
|
|
4492
|
-
const url = `data:${c.file.type
|
|
4467
|
+
const url = `data:${BROWSER_IMAGE_TYPES[c.file.type]};base64,${bytesToBase64(c.file.bytes)}`;
|
|
4493
4468
|
const px2 = await this.decodeImage(url);
|
|
4494
4469
|
const decoded = { ...c, kind: "raster", raster: rasterContents(px2, c.name, cid).raster, width: px2.width, height: px2.height };
|
|
4495
4470
|
const swap = (layers) => {
|
|
@@ -4841,6 +4816,15 @@ var ImageEditorController = class {
|
|
|
4841
4816
|
byKey.set(key, thumb);
|
|
4842
4817
|
return thumb;
|
|
4843
4818
|
}
|
|
4819
|
+
/**
|
|
4820
|
+
* A small PNG data URL preview of a pixel or smart layer over the canvas (or of its mask with `mask: true`),
|
|
4821
|
+
* longest side `maxSide` px; `null` for layers without pixels.
|
|
4822
|
+
*/
|
|
4823
|
+
getLayerThumbnailDataURL(id, options = {}) {
|
|
4824
|
+
const thumb = this.getLayerThumbnail(id, options);
|
|
4825
|
+
if (!thumb) return null;
|
|
4826
|
+
return pngDataUrl(thumb.width, thumb.height, thumb.data, 4);
|
|
4827
|
+
}
|
|
4844
4828
|
// --- Painting ---
|
|
4845
4829
|
/** Brush settings, colours and tool options of the paint tools (view state, no undo). */
|
|
4846
4830
|
setPaintOptions(options) {
|
|
@@ -6057,11 +6041,11 @@ var ImageEditorController = class {
|
|
|
6057
6041
|
return out2;
|
|
6058
6042
|
}
|
|
6059
6043
|
if (layer.type === "smart") {
|
|
6060
|
-
|
|
6061
|
-
const
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
return
|
|
6044
|
+
const out2 = { ...layer };
|
|
6045
|
+
const mask2 = bakeMask(layer);
|
|
6046
|
+
if (mask2) out2.mask = mask2;
|
|
6047
|
+
else delete out2.mask;
|
|
6048
|
+
return out2;
|
|
6065
6049
|
}
|
|
6066
6050
|
let out = { ...layer };
|
|
6067
6051
|
if (layer.source === "document") {
|
|
@@ -8747,7 +8731,7 @@ function createImagePsdTools(controller) {
|
|
|
8747
8731
|
const open = {
|
|
8748
8732
|
name: "import_psd",
|
|
8749
8733
|
title: "Open a PSD as the document",
|
|
8750
|
-
description: "Opens a PSD / PSB as the document, replacing the current layers, crop and rotation (one undo step; undo brings the previous document back). Pixel, group and adjustment layers, masks, blend modes, opacity, fill, clipping, visibility, locks, layer effects (with the patterns and global light of the file) map directly;
|
|
8734
|
+
description: "Opens a PSD / PSB as the document, replacing the current layers, crop and rotation (one undo step; undo brings the previous document back). Pixel, group and adjustment layers, masks, blend modes, opacity, fill, clipping, visibility, locks, layer effects (with the patterns and global light of the file) map directly; smart objects come in as smart objects (embedded contents, placement and warp, smart filters: Box Blur is drawn, other Photoshop filters are kept but not drawn, filter mask; linked contents as their stored pixels); type, fill and shape layers come in as their pixels; unsupported adjustments are left out. Returns the new layer tree with ids, the size and the warnings (each names the affected layers).",
|
|
8751
8735
|
inputSchema: { type: "object", properties: { data: DATA }, required: ["data"], additionalProperties: false },
|
|
8752
8736
|
annotations: { title: "Open a PSD as the document", ...DESTRUCTIVE4 },
|
|
8753
8737
|
handler: ({ data }) => {
|
|
@@ -8766,7 +8750,7 @@ function createImagePsdTools(controller) {
|
|
|
8766
8750
|
const save = {
|
|
8767
8751
|
name: "export_psd",
|
|
8768
8752
|
title: "Export the document as a PSD",
|
|
8769
|
-
description: "Writes the document as an 8-bit RGB PSD (a PSB above 30000 px) with real layers, groups, adjustment layers, masks and layer effects (an effects block opened from a PSD is written back unchanged while its effects are; the patterns effects use are embedded), in the source frame (crop and rotation are not applied). Layer filters and depth masks are baked, annotation layers are rasterized (in a browser; elsewhere left out), and the merged image is the editor's composite. Changes nothing. Returns the file as base64, its size in bytes, whether it is a PSB, and warnings for everything that was changed or left out.",
|
|
8753
|
+
description: "Writes the document as an 8-bit RGB PSD (a PSB above 30000 px) with real layers, groups, adjustment layers, masks and layer effects (an effects block opened from a PSD is written back unchanged while its effects are; the patterns effects use are embedded), in the source frame (crop and rotation are not applied). Smart objects are written as Photoshop smart objects (contents embedded once per linked set, placement, warp, smart filters and filter mask; a Develop smart filter has no Photoshop filter and is left out of the list). Layer filters and depth masks are baked, annotation layers are rasterized (in a browser; elsewhere left out), and the merged image is the editor's composite. Changes nothing. Returns the file as base64, its size in bytes, whether it is a PSB, and warnings for everything that was changed or left out.",
|
|
8770
8754
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
8771
8755
|
annotations: { title: "Export the document as a PSD", ...READ5 },
|
|
8772
8756
|
handler: async () => {
|