@overtone-art/canvas-editor-core 0.8.5 → 0.8.6

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/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { Canvas, FabricObject, Point, ImageFormat, Group, Gradient } from 'fabric';
2
- import { e as EditorEvents, r as LayerType, p as LayerMeta, L as LayerData, _ as SerializedLayer, Q as PatternConfig, R as PatternLocks, a4 as TextCurveConfig, a5 as TextCurveInput, a8 as TextWrapMode, a7 as TextOverflow, w as MaskPresetId, $ as ShapeMaskPresetId, a9 as TextureMaskPresetId, ab as Unit, O as MockupPrintArea, H as MockupConfig, h as FontDefinition, s as LicenseConfig, u as LicenseStatus, W as ProjectState, M as MaskBrushOptions, v as MaskPoint, y as MaskRefinementProvider, x as MaskRefinementPrompt, A as MaskRefinementResult, n as LayerMaskEntry, o as LayerMaskMode, E as EditorConfig, a0 as ShapePlugin, c as BlendMode, a2 as TemplateDefinition, I as ImageAdjustments, f as EditorState, Y as SemanticExportOptions, a1 as SvgExportOptions, U as PrintifyPositioning, P as NormalizedLayerPosition, T as PositioningAdapter, k as ImageProviderResult, l as ImageSearchOptions, m as ImageSearchResult, F as FileAdapter, j as ImageProvider, Z as SerializedBackgroundImageOptions, b as BackgroundImageOptions, X as ResizeOptions, d as DpiIssue, q as LayerShadowConfig, C as CanvasSizePreset, J as MockupDisplacement } from './types-BeaEHTFc.mjs';
3
- export { B as BLEND_GROUPS, a as BLEND_MODES, D as DEFAULT_PATTERN_CONFIG, g as ExportFormat, i as ImageAttribution, t as LicensePayload, z as MaskRefinementRequest, G as MockupBlendMode, K as MockupDisplacementChannel, N as MockupOverlay, S as PatternState, V as ProjectPage, a3 as TemplateParameter, a6 as TextCurveShape, aa as TileMode, ac as blendModeLabel, ad as blendModeOf, ae as blendOperation } from './types-BeaEHTFc.mjs';
1
+ import { Canvas, FabricObject, Point, ImageFormat, Group } from 'fabric';
2
+ import { f as EditorEvents, v as LayerType, t as LayerMeta, L as LayerData, a3 as SerializedLayer, V as PatternConfig, W as PatternLocks, a9 as TextCurveConfig, aa as TextCurveInput, ad as TextWrapMode, ac as TextOverflow, A as MaskPresetId, a4 as ShapeMaskPresetId, ae as TextureMaskPresetId, ag as Unit, T as MockupPrintArea, P as MockupConfig, i as FontDefinition, w as LicenseConfig, y as LicenseStatus, $ as ProjectState, M as MaskBrushOptions, z as MaskPoint, J as MaskRefinementProvider, H as MaskRefinementPrompt, N as MaskRefinementResult, r as LayerMaskEntry, j as GradientConfig, s as LayerMaskMode, E as EditorConfig, a5 as ShapePlugin, c as BlendMode, a7 as TemplateDefinition, I as ImageAdjustments, g as EditorState, a1 as SemanticExportOptions, a6 as SvgExportOptions, Z as PrintifyPositioning, U as NormalizedLayerPosition, Y as PositioningAdapter, o as ImageProviderResult, p as ImageSearchOptions, q as ImageSearchResult, F as FileAdapter, n as ImageProvider, a2 as SerializedBackgroundImageOptions, b as BackgroundImageOptions, a0 as ResizeOptions, e as DpiIssue, u as LayerShadowConfig, C as CanvasSizePreset, Q as MockupDisplacement } from './types-F2GH3dcU.mjs';
3
+ export { B as BLEND_GROUPS, a as BLEND_MODES, D as DEFAULT_GRADIENT_CONFIG, d as DEFAULT_PATTERN_CONFIG, h as ExportFormat, G as GradientBox, k as GradientKind, l as GradientStop, m as ImageAttribution, x as LicensePayload, K as MaskRefinementRequest, O as MockupBlendMode, R as MockupDisplacementChannel, S as MockupOverlay, X as PatternState, _ as ProjectPage, a8 as TemplateParameter, ab as TextCurveShape, af as TileMode, ah as angleFromCoords, ai as blendModeLabel, aj as blendModeOf, ak as blendOperation, al as linearCoords, am as readGradientConfig, an as toFabricGradient } from './types-F2GH3dcU.mjs';
4
4
 
5
5
  type EventHandler<T> = (data: T) => void;
6
6
  declare class EventEmitter<TEvents extends {} = Record<string, unknown>> {
@@ -959,6 +959,11 @@ declare abstract class MaskStackStore {
959
959
  constructor(canvas: Canvas, layers: LayerManager, history: HistoryManager, events: EventEmitter<EditorEvents>);
960
960
  list(target: string): LayerMaskEntry[];
961
961
  get(target: string, maskId: string): LayerMaskEntry | undefined;
962
+ /** Repaint a gradient mask without replacing or re-fitting its geometry. */
963
+ setGradient(target: string, maskId: string, gradient: GradientConfig, options?: {
964
+ meta?: Record<string, unknown>;
965
+ save?: boolean;
966
+ }): boolean;
962
967
  /** Every target that currently carries at least one mask. */
963
968
  targets(): string[];
964
969
  /** The box a mask is fitted to, in the space the stack is composed in. */
@@ -1169,71 +1174,6 @@ declare function fitToBox(object: FabricObject, box: {
1169
1174
  */
1170
1175
  declare function unwrapGroup(group: Group): FabricObject[];
1171
1176
 
1172
- type GradientKind = 'linear' | 'radial';
1173
- interface GradientStop {
1174
- /** `#rrggbb`. Alpha lives in `opacity`, so a colour input stays a colour input. */
1175
- color: string;
1176
- /** 0…1. */
1177
- opacity: number;
1178
- /** 0…1 along the gradient line. */
1179
- position: number;
1180
- }
1181
- interface GradientConfig {
1182
- kind: GradientKind;
1183
- /** Degrees, CSS convention: 0 paints towards the top, 90 towards the right. Linear only. */
1184
- angle: number;
1185
- /** 0…1 of the layer box. Radial only. */
1186
- center: {
1187
- x: number;
1188
- y: number;
1189
- };
1190
- /** 0…1 of the layer box. An ellipse, because percentage units follow the box. Radial only. */
1191
- radius: number;
1192
- /** At least two, ascending by position. */
1193
- stops: GradientStop[];
1194
- }
1195
- /** The layer's UNSCALED box — the space fabric paints a percentage filler in. */
1196
- interface GradientBox {
1197
- width: number;
1198
- height: number;
1199
- }
1200
- declare const DEFAULT_GRADIENT_CONFIG: GradientConfig;
1201
- /**
1202
- * Endpoints of the gradient line, in percentage space.
1203
- *
1204
- * fabric paints a percentage filler through `ctx.transform(width, 0, 0, height, …)`
1205
- * (`_applyPatternGradientTransform`), so the space is the unit box under a
1206
- * NON-UNIFORM scale — not a rotation. Drawing the line naively there would put
1207
- * the gradient's iso-lines at some angle other than the one asked for. These
1208
- * endpoints are solved the other way round: `v` is the direction whose iso-lines
1209
- * land perpendicular to `angle` in the box, and `length` is the CSS gradient-line
1210
- * length, which is what makes the run cover the box corners at every angle.
1211
- *
1212
- * A consequence, and the reason the test asserts it: at angles that are not
1213
- * axis-aligned in a non-square box the endpoints sit OUTSIDE 0…1. Clamping them
1214
- * would shorten the run and bunch the stops.
1215
- */
1216
- declare function linearCoords(angle: number, box: GradientBox): {
1217
- x1: number;
1218
- y1: number;
1219
- x2: number;
1220
- y2: number;
1221
- };
1222
- /** Inverse of {@link linearCoords}. */
1223
- declare function angleFromCoords(coords: {
1224
- x1: number;
1225
- y1: number;
1226
- x2: number;
1227
- y2: number;
1228
- }, box: GradientBox): number;
1229
- declare function toFabricGradient(config: GradientConfig, box: GradientBox): Gradient<'linear'> | Gradient<'radial'>;
1230
- /**
1231
- * The config an object's gradient fill was built from, or null when the fill is
1232
- * flat. This is the ONLY reader: `fill` is the single source of truth, so a
1233
- * panel never has to be told what it is already looking at.
1234
- */
1235
- declare function readGradientConfig(object: FabricObject): GradientConfig | null;
1236
-
1237
1177
  declare class CanvasEditor {
1238
1178
  readonly canvas: Canvas;
1239
1179
  readonly layers: LayerManager;
@@ -1595,4 +1535,4 @@ declare class AnnotationOverlay {
1595
1535
  */
1596
1536
  declare function displaceRgba(source: Uint8ClampedArray, map: Uint8ClampedArray, width: number, height: number, options: Omit<MockupDisplacement, 'image'>): Uint8ClampedArray;
1597
1537
 
1598
- export { type AddMaskOptions, AnnotationOverlay, type AnnotationPrimitive, BackgroundImageOptions, BlendMode, CANVAS_MASK_TARGET, CANVAS_SIZE_PRESETS, CanvasEditor, type CanvasRenderingProtocol, CanvasSizePreset, type CoverPlacement, CropController, type CurvePath, DEFAULT_GRADIENT_CONFIG, DEFAULT_LAYER_SHADOW, DEFAULT_SELECTION_STYLE, DEFAULT_TEXT_CURVE, DpiIssue, EditorConfig, EditorEvents, EditorState, EventEmitter, FileAdapter, FontDefinition, FontRegistry, type GradientBox, type GradientConfig, type GradientKind, type GradientStop, HistoryManager, ImageAdjustments, ImageProvider, ImageProviderResult, ImageSearchOptions, ImageSearchResult, Layer, LayerData, LayerManager, LayerMaskEntry, LayerMaskManager, LayerMaskMode, LayerMeta, LayerShadowConfig, LayerType, LicenseConfig, LicenseManager, LicenseStatus, MAX_MASK_LAYERS, MaskBrushOptions, MaskController, type MaskPerformanceSample, MaskPoint, MaskPresetId, MaskPresetManager, MaskRefinementError, type MaskRefinementErrorCode, MaskRefinementPrompt, MaskRefinementProvider, MaskRefinementResult, MockupConfig, MockupDisplacement, MockupPrintArea, NormalizedLayerPosition, PatternConfig, PatternLocks, PatternManager, type PatternOrigin, type PngExportOptions, PositioningAdapter, PrintifyPositioning, ProjectManager, ProjectState, ResizeOptions, SHAPE_MASK_BOX, SHAPE_MASK_IDS, type SelectionStyle, SemanticExportOptions, SerializedBackgroundImageOptions, SerializedLayer, ShapeMaskPresetId, ShapePlugin, SnapManager, SvgExportOptions, TEXTURE_MASK_IDS, TEXTURE_MASK_SIZE, TemplateDefinition, type TemplateLayerSpec, TextCurveConfig, TextCurveInput, TextCurveManager, TextOverflow, TextWrapManager, TextWrapMode, type TextWrapState, TextureMaskPresetId, type TileDrawSize, type TilePlacement, TiledPatternObject, Unit, UnitConverter, type ViewportTransform, angleFromCoords, applyAspectLock, applyLayerShadow, applyObjectSelectionStyle, applySelectionStyle, applyTextWrapToObject, buildCurveLinePaths, buildCurvePathData, clamp, clearTextureMaskCache, composeMaskGroup, computeCoverPlacement, computePrintAreaClip, computeTilePositions, deserializeEditor, displaceRgba, drawTiles, escapeXml, explodeTemplateSvg, exportDataURL, exportMockup, exportPNG, exportPrintArea, exportSVG, fitTextWidth, fitToBox, generateId, isCssColor, isMaskPresetId, isShapeMaskId, isTextureMaskId, linearCoords, needsAbsoluteSpace, normalizeTextCurve, preWrapWordSplit, readGradientConfig, readLayerShadow, readTextWrap, renderTextureMask, resetTransform, restoreLocks, round2, sanitizeSvg, serializeEditor, shapeMaskPathData, textPathCurve, textPathSpec, toCanvasSpace, toFabricGradient, toHostSpace, unwrapGroup };
1538
+ export { type AddMaskOptions, AnnotationOverlay, type AnnotationPrimitive, BackgroundImageOptions, BlendMode, CANVAS_MASK_TARGET, CANVAS_SIZE_PRESETS, CanvasEditor, type CanvasRenderingProtocol, CanvasSizePreset, type CoverPlacement, CropController, type CurvePath, DEFAULT_LAYER_SHADOW, DEFAULT_SELECTION_STYLE, DEFAULT_TEXT_CURVE, DpiIssue, EditorConfig, EditorEvents, EditorState, EventEmitter, FileAdapter, FontDefinition, FontRegistry, GradientConfig, HistoryManager, ImageAdjustments, ImageProvider, ImageProviderResult, ImageSearchOptions, ImageSearchResult, Layer, LayerData, LayerManager, LayerMaskEntry, LayerMaskManager, LayerMaskMode, LayerMeta, LayerShadowConfig, LayerType, LicenseConfig, LicenseManager, LicenseStatus, MAX_MASK_LAYERS, MaskBrushOptions, MaskController, type MaskPerformanceSample, MaskPoint, MaskPresetId, MaskPresetManager, MaskRefinementError, type MaskRefinementErrorCode, MaskRefinementPrompt, MaskRefinementProvider, MaskRefinementResult, MockupConfig, MockupDisplacement, MockupPrintArea, NormalizedLayerPosition, PatternConfig, PatternLocks, PatternManager, type PatternOrigin, type PngExportOptions, PositioningAdapter, PrintifyPositioning, ProjectManager, ProjectState, ResizeOptions, SHAPE_MASK_BOX, SHAPE_MASK_IDS, type SelectionStyle, SemanticExportOptions, SerializedBackgroundImageOptions, SerializedLayer, ShapeMaskPresetId, ShapePlugin, SnapManager, SvgExportOptions, TEXTURE_MASK_IDS, TEXTURE_MASK_SIZE, TemplateDefinition, type TemplateLayerSpec, TextCurveConfig, TextCurveInput, TextCurveManager, TextOverflow, TextWrapManager, TextWrapMode, type TextWrapState, TextureMaskPresetId, type TileDrawSize, type TilePlacement, TiledPatternObject, Unit, UnitConverter, type ViewportTransform, applyAspectLock, applyLayerShadow, applyObjectSelectionStyle, applySelectionStyle, applyTextWrapToObject, buildCurveLinePaths, buildCurvePathData, clamp, clearTextureMaskCache, composeMaskGroup, computeCoverPlacement, computePrintAreaClip, computeTilePositions, deserializeEditor, displaceRgba, drawTiles, escapeXml, explodeTemplateSvg, exportDataURL, exportMockup, exportPNG, exportPrintArea, exportSVG, fitTextWidth, fitToBox, generateId, isCssColor, isMaskPresetId, isShapeMaskId, isTextureMaskId, needsAbsoluteSpace, normalizeTextCurve, preWrapWordSplit, readLayerShadow, readTextWrap, renderTextureMask, resetTransform, restoreLocks, round2, sanitizeSvg, serializeEditor, shapeMaskPathData, textPathCurve, textPathSpec, toCanvasSpace, toHostSpace, unwrapGroup };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Canvas, FabricObject, Point, ImageFormat, Group, Gradient } from 'fabric';
2
- import { e as EditorEvents, r as LayerType, p as LayerMeta, L as LayerData, _ as SerializedLayer, Q as PatternConfig, R as PatternLocks, a4 as TextCurveConfig, a5 as TextCurveInput, a8 as TextWrapMode, a7 as TextOverflow, w as MaskPresetId, $ as ShapeMaskPresetId, a9 as TextureMaskPresetId, ab as Unit, O as MockupPrintArea, H as MockupConfig, h as FontDefinition, s as LicenseConfig, u as LicenseStatus, W as ProjectState, M as MaskBrushOptions, v as MaskPoint, y as MaskRefinementProvider, x as MaskRefinementPrompt, A as MaskRefinementResult, n as LayerMaskEntry, o as LayerMaskMode, E as EditorConfig, a0 as ShapePlugin, c as BlendMode, a2 as TemplateDefinition, I as ImageAdjustments, f as EditorState, Y as SemanticExportOptions, a1 as SvgExportOptions, U as PrintifyPositioning, P as NormalizedLayerPosition, T as PositioningAdapter, k as ImageProviderResult, l as ImageSearchOptions, m as ImageSearchResult, F as FileAdapter, j as ImageProvider, Z as SerializedBackgroundImageOptions, b as BackgroundImageOptions, X as ResizeOptions, d as DpiIssue, q as LayerShadowConfig, C as CanvasSizePreset, J as MockupDisplacement } from './types-BeaEHTFc.js';
3
- export { B as BLEND_GROUPS, a as BLEND_MODES, D as DEFAULT_PATTERN_CONFIG, g as ExportFormat, i as ImageAttribution, t as LicensePayload, z as MaskRefinementRequest, G as MockupBlendMode, K as MockupDisplacementChannel, N as MockupOverlay, S as PatternState, V as ProjectPage, a3 as TemplateParameter, a6 as TextCurveShape, aa as TileMode, ac as blendModeLabel, ad as blendModeOf, ae as blendOperation } from './types-BeaEHTFc.js';
1
+ import { Canvas, FabricObject, Point, ImageFormat, Group } from 'fabric';
2
+ import { f as EditorEvents, v as LayerType, t as LayerMeta, L as LayerData, a3 as SerializedLayer, V as PatternConfig, W as PatternLocks, a9 as TextCurveConfig, aa as TextCurveInput, ad as TextWrapMode, ac as TextOverflow, A as MaskPresetId, a4 as ShapeMaskPresetId, ae as TextureMaskPresetId, ag as Unit, T as MockupPrintArea, P as MockupConfig, i as FontDefinition, w as LicenseConfig, y as LicenseStatus, $ as ProjectState, M as MaskBrushOptions, z as MaskPoint, J as MaskRefinementProvider, H as MaskRefinementPrompt, N as MaskRefinementResult, r as LayerMaskEntry, j as GradientConfig, s as LayerMaskMode, E as EditorConfig, a5 as ShapePlugin, c as BlendMode, a7 as TemplateDefinition, I as ImageAdjustments, g as EditorState, a1 as SemanticExportOptions, a6 as SvgExportOptions, Z as PrintifyPositioning, U as NormalizedLayerPosition, Y as PositioningAdapter, o as ImageProviderResult, p as ImageSearchOptions, q as ImageSearchResult, F as FileAdapter, n as ImageProvider, a2 as SerializedBackgroundImageOptions, b as BackgroundImageOptions, a0 as ResizeOptions, e as DpiIssue, u as LayerShadowConfig, C as CanvasSizePreset, Q as MockupDisplacement } from './types-F2GH3dcU.js';
3
+ export { B as BLEND_GROUPS, a as BLEND_MODES, D as DEFAULT_GRADIENT_CONFIG, d as DEFAULT_PATTERN_CONFIG, h as ExportFormat, G as GradientBox, k as GradientKind, l as GradientStop, m as ImageAttribution, x as LicensePayload, K as MaskRefinementRequest, O as MockupBlendMode, R as MockupDisplacementChannel, S as MockupOverlay, X as PatternState, _ as ProjectPage, a8 as TemplateParameter, ab as TextCurveShape, af as TileMode, ah as angleFromCoords, ai as blendModeLabel, aj as blendModeOf, ak as blendOperation, al as linearCoords, am as readGradientConfig, an as toFabricGradient } from './types-F2GH3dcU.js';
4
4
 
5
5
  type EventHandler<T> = (data: T) => void;
6
6
  declare class EventEmitter<TEvents extends {} = Record<string, unknown>> {
@@ -959,6 +959,11 @@ declare abstract class MaskStackStore {
959
959
  constructor(canvas: Canvas, layers: LayerManager, history: HistoryManager, events: EventEmitter<EditorEvents>);
960
960
  list(target: string): LayerMaskEntry[];
961
961
  get(target: string, maskId: string): LayerMaskEntry | undefined;
962
+ /** Repaint a gradient mask without replacing or re-fitting its geometry. */
963
+ setGradient(target: string, maskId: string, gradient: GradientConfig, options?: {
964
+ meta?: Record<string, unknown>;
965
+ save?: boolean;
966
+ }): boolean;
962
967
  /** Every target that currently carries at least one mask. */
963
968
  targets(): string[];
964
969
  /** The box a mask is fitted to, in the space the stack is composed in. */
@@ -1169,71 +1174,6 @@ declare function fitToBox(object: FabricObject, box: {
1169
1174
  */
1170
1175
  declare function unwrapGroup(group: Group): FabricObject[];
1171
1176
 
1172
- type GradientKind = 'linear' | 'radial';
1173
- interface GradientStop {
1174
- /** `#rrggbb`. Alpha lives in `opacity`, so a colour input stays a colour input. */
1175
- color: string;
1176
- /** 0…1. */
1177
- opacity: number;
1178
- /** 0…1 along the gradient line. */
1179
- position: number;
1180
- }
1181
- interface GradientConfig {
1182
- kind: GradientKind;
1183
- /** Degrees, CSS convention: 0 paints towards the top, 90 towards the right. Linear only. */
1184
- angle: number;
1185
- /** 0…1 of the layer box. Radial only. */
1186
- center: {
1187
- x: number;
1188
- y: number;
1189
- };
1190
- /** 0…1 of the layer box. An ellipse, because percentage units follow the box. Radial only. */
1191
- radius: number;
1192
- /** At least two, ascending by position. */
1193
- stops: GradientStop[];
1194
- }
1195
- /** The layer's UNSCALED box — the space fabric paints a percentage filler in. */
1196
- interface GradientBox {
1197
- width: number;
1198
- height: number;
1199
- }
1200
- declare const DEFAULT_GRADIENT_CONFIG: GradientConfig;
1201
- /**
1202
- * Endpoints of the gradient line, in percentage space.
1203
- *
1204
- * fabric paints a percentage filler through `ctx.transform(width, 0, 0, height, …)`
1205
- * (`_applyPatternGradientTransform`), so the space is the unit box under a
1206
- * NON-UNIFORM scale — not a rotation. Drawing the line naively there would put
1207
- * the gradient's iso-lines at some angle other than the one asked for. These
1208
- * endpoints are solved the other way round: `v` is the direction whose iso-lines
1209
- * land perpendicular to `angle` in the box, and `length` is the CSS gradient-line
1210
- * length, which is what makes the run cover the box corners at every angle.
1211
- *
1212
- * A consequence, and the reason the test asserts it: at angles that are not
1213
- * axis-aligned in a non-square box the endpoints sit OUTSIDE 0…1. Clamping them
1214
- * would shorten the run and bunch the stops.
1215
- */
1216
- declare function linearCoords(angle: number, box: GradientBox): {
1217
- x1: number;
1218
- y1: number;
1219
- x2: number;
1220
- y2: number;
1221
- };
1222
- /** Inverse of {@link linearCoords}. */
1223
- declare function angleFromCoords(coords: {
1224
- x1: number;
1225
- y1: number;
1226
- x2: number;
1227
- y2: number;
1228
- }, box: GradientBox): number;
1229
- declare function toFabricGradient(config: GradientConfig, box: GradientBox): Gradient<'linear'> | Gradient<'radial'>;
1230
- /**
1231
- * The config an object's gradient fill was built from, or null when the fill is
1232
- * flat. This is the ONLY reader: `fill` is the single source of truth, so a
1233
- * panel never has to be told what it is already looking at.
1234
- */
1235
- declare function readGradientConfig(object: FabricObject): GradientConfig | null;
1236
-
1237
1177
  declare class CanvasEditor {
1238
1178
  readonly canvas: Canvas;
1239
1179
  readonly layers: LayerManager;
@@ -1595,4 +1535,4 @@ declare class AnnotationOverlay {
1595
1535
  */
1596
1536
  declare function displaceRgba(source: Uint8ClampedArray, map: Uint8ClampedArray, width: number, height: number, options: Omit<MockupDisplacement, 'image'>): Uint8ClampedArray;
1597
1537
 
1598
- export { type AddMaskOptions, AnnotationOverlay, type AnnotationPrimitive, BackgroundImageOptions, BlendMode, CANVAS_MASK_TARGET, CANVAS_SIZE_PRESETS, CanvasEditor, type CanvasRenderingProtocol, CanvasSizePreset, type CoverPlacement, CropController, type CurvePath, DEFAULT_GRADIENT_CONFIG, DEFAULT_LAYER_SHADOW, DEFAULT_SELECTION_STYLE, DEFAULT_TEXT_CURVE, DpiIssue, EditorConfig, EditorEvents, EditorState, EventEmitter, FileAdapter, FontDefinition, FontRegistry, type GradientBox, type GradientConfig, type GradientKind, type GradientStop, HistoryManager, ImageAdjustments, ImageProvider, ImageProviderResult, ImageSearchOptions, ImageSearchResult, Layer, LayerData, LayerManager, LayerMaskEntry, LayerMaskManager, LayerMaskMode, LayerMeta, LayerShadowConfig, LayerType, LicenseConfig, LicenseManager, LicenseStatus, MAX_MASK_LAYERS, MaskBrushOptions, MaskController, type MaskPerformanceSample, MaskPoint, MaskPresetId, MaskPresetManager, MaskRefinementError, type MaskRefinementErrorCode, MaskRefinementPrompt, MaskRefinementProvider, MaskRefinementResult, MockupConfig, MockupDisplacement, MockupPrintArea, NormalizedLayerPosition, PatternConfig, PatternLocks, PatternManager, type PatternOrigin, type PngExportOptions, PositioningAdapter, PrintifyPositioning, ProjectManager, ProjectState, ResizeOptions, SHAPE_MASK_BOX, SHAPE_MASK_IDS, type SelectionStyle, SemanticExportOptions, SerializedBackgroundImageOptions, SerializedLayer, ShapeMaskPresetId, ShapePlugin, SnapManager, SvgExportOptions, TEXTURE_MASK_IDS, TEXTURE_MASK_SIZE, TemplateDefinition, type TemplateLayerSpec, TextCurveConfig, TextCurveInput, TextCurveManager, TextOverflow, TextWrapManager, TextWrapMode, type TextWrapState, TextureMaskPresetId, type TileDrawSize, type TilePlacement, TiledPatternObject, Unit, UnitConverter, type ViewportTransform, angleFromCoords, applyAspectLock, applyLayerShadow, applyObjectSelectionStyle, applySelectionStyle, applyTextWrapToObject, buildCurveLinePaths, buildCurvePathData, clamp, clearTextureMaskCache, composeMaskGroup, computeCoverPlacement, computePrintAreaClip, computeTilePositions, deserializeEditor, displaceRgba, drawTiles, escapeXml, explodeTemplateSvg, exportDataURL, exportMockup, exportPNG, exportPrintArea, exportSVG, fitTextWidth, fitToBox, generateId, isCssColor, isMaskPresetId, isShapeMaskId, isTextureMaskId, linearCoords, needsAbsoluteSpace, normalizeTextCurve, preWrapWordSplit, readGradientConfig, readLayerShadow, readTextWrap, renderTextureMask, resetTransform, restoreLocks, round2, sanitizeSvg, serializeEditor, shapeMaskPathData, textPathCurve, textPathSpec, toCanvasSpace, toFabricGradient, toHostSpace, unwrapGroup };
1538
+ export { type AddMaskOptions, AnnotationOverlay, type AnnotationPrimitive, BackgroundImageOptions, BlendMode, CANVAS_MASK_TARGET, CANVAS_SIZE_PRESETS, CanvasEditor, type CanvasRenderingProtocol, CanvasSizePreset, type CoverPlacement, CropController, type CurvePath, DEFAULT_LAYER_SHADOW, DEFAULT_SELECTION_STYLE, DEFAULT_TEXT_CURVE, DpiIssue, EditorConfig, EditorEvents, EditorState, EventEmitter, FileAdapter, FontDefinition, FontRegistry, GradientConfig, HistoryManager, ImageAdjustments, ImageProvider, ImageProviderResult, ImageSearchOptions, ImageSearchResult, Layer, LayerData, LayerManager, LayerMaskEntry, LayerMaskManager, LayerMaskMode, LayerMeta, LayerShadowConfig, LayerType, LicenseConfig, LicenseManager, LicenseStatus, MAX_MASK_LAYERS, MaskBrushOptions, MaskController, type MaskPerformanceSample, MaskPoint, MaskPresetId, MaskPresetManager, MaskRefinementError, type MaskRefinementErrorCode, MaskRefinementPrompt, MaskRefinementProvider, MaskRefinementResult, MockupConfig, MockupDisplacement, MockupPrintArea, NormalizedLayerPosition, PatternConfig, PatternLocks, PatternManager, type PatternOrigin, type PngExportOptions, PositioningAdapter, PrintifyPositioning, ProjectManager, ProjectState, ResizeOptions, SHAPE_MASK_BOX, SHAPE_MASK_IDS, type SelectionStyle, SemanticExportOptions, SerializedBackgroundImageOptions, SerializedLayer, ShapeMaskPresetId, ShapePlugin, SnapManager, SvgExportOptions, TEXTURE_MASK_IDS, TEXTURE_MASK_SIZE, TemplateDefinition, type TemplateLayerSpec, TextCurveConfig, TextCurveInput, TextCurveManager, TextOverflow, TextWrapManager, TextWrapMode, type TextWrapState, TextureMaskPresetId, type TileDrawSize, type TilePlacement, TiledPatternObject, Unit, UnitConverter, type ViewportTransform, applyAspectLock, applyLayerShadow, applyObjectSelectionStyle, applySelectionStyle, applyTextWrapToObject, buildCurveLinePaths, buildCurvePathData, clamp, clearTextureMaskCache, composeMaskGroup, computeCoverPlacement, computePrintAreaClip, computeTilePositions, deserializeEditor, displaceRgba, drawTiles, escapeXml, explodeTemplateSvg, exportDataURL, exportMockup, exportPNG, exportPrintArea, exportSVG, fitTextWidth, fitToBox, generateId, isCssColor, isMaskPresetId, isShapeMaskId, isTextureMaskId, needsAbsoluteSpace, normalizeTextCurve, preWrapWordSplit, readLayerShadow, readTextWrap, renderTextureMask, resetTransform, restoreLocks, round2, sanitizeSvg, serializeEditor, shapeMaskPathData, textPathCurve, textPathSpec, toCanvasSpace, toHostSpace, unwrapGroup };