@bensitu/image-editor 2.1.0 → 2.2.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 (113) hide show
  1. package/README.md +235 -81
  2. package/dist/cjs/index.cjs +2969 -747
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/esm/annotation/annotation-lock.js +7 -0
  5. package/dist/esm/annotation/annotation-lock.js.map +1 -0
  6. package/dist/esm/annotation/annotation-manager.js +217 -0
  7. package/dist/esm/annotation/annotation-manager.js.map +1 -0
  8. package/dist/esm/annotation/annotation-style.js +50 -0
  9. package/dist/esm/annotation/annotation-style.js.map +1 -0
  10. package/dist/esm/annotation/draw-controller.js +114 -0
  11. package/dist/esm/annotation/draw-controller.js.map +1 -0
  12. package/dist/esm/annotation/text-controller.js +234 -0
  13. package/dist/esm/annotation/text-controller.js.map +1 -0
  14. package/dist/esm/core/default-options.js +232 -3
  15. package/dist/esm/core/default-options.js.map +1 -1
  16. package/dist/esm/core/editor-object-kind.js +37 -0
  17. package/dist/esm/core/editor-object-kind.js.map +1 -0
  18. package/dist/esm/core/errors.js +19 -0
  19. package/dist/esm/core/errors.js.map +1 -1
  20. package/dist/esm/core/layer-order.js +100 -0
  21. package/dist/esm/core/layer-order.js.map +1 -0
  22. package/dist/esm/core/public-types.js +34 -1
  23. package/dist/esm/core/public-types.js.map +1 -1
  24. package/dist/esm/core/state-serializer.js +104 -24
  25. package/dist/esm/core/state-serializer.js.map +1 -1
  26. package/dist/esm/crop/crop-controller.js +2 -0
  27. package/dist/esm/crop/crop-controller.js.map +1 -1
  28. package/dist/esm/export/export-format.js.map +1 -1
  29. package/dist/esm/export/export-service.js +123 -135
  30. package/dist/esm/export/export-service.js.map +1 -1
  31. package/dist/esm/export/overlay-merge-service.js +75 -0
  32. package/dist/esm/export/overlay-merge-service.js.map +1 -0
  33. package/dist/esm/history/history-manager.js +2 -2
  34. package/dist/esm/history/history-manager.js.map +1 -1
  35. package/dist/esm/image/image-loader.js +18 -49
  36. package/dist/esm/image/image-loader.js.map +1 -1
  37. package/dist/esm/image/transform-controller.js.map +1 -1
  38. package/dist/esm/image-editor.js +1063 -60
  39. package/dist/esm/image-editor.js.map +1 -1
  40. package/dist/esm/index.js +1 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/mask/mask-factory.js +39 -14
  43. package/dist/esm/mask/mask-factory.js.map +1 -1
  44. package/dist/esm/mask/mask-label-manager.js +2 -0
  45. package/dist/esm/mask/mask-label-manager.js.map +1 -1
  46. package/dist/esm/mask/mask-list.js.map +1 -1
  47. package/dist/esm/mask/mask-style.js.map +1 -1
  48. package/dist/esm/mosaic/mosaic-controller.js +24 -28
  49. package/dist/esm/mosaic/mosaic-controller.js.map +1 -1
  50. package/dist/esm/utils/image-element-loader.js +55 -0
  51. package/dist/esm/utils/image-element-loader.js.map +1 -0
  52. package/dist/esm/utils/pointer.js +28 -0
  53. package/dist/esm/utils/pointer.js.map +1 -0
  54. package/dist/types/annotation/annotation-lock.d.ts +12 -0
  55. package/dist/types/annotation/annotation-lock.d.ts.map +1 -0
  56. package/dist/types/annotation/annotation-manager.d.ts +33 -0
  57. package/dist/types/annotation/annotation-manager.d.ts.map +1 -0
  58. package/dist/types/annotation/annotation-style.d.ts +13 -0
  59. package/dist/types/annotation/annotation-style.d.ts.map +1 -0
  60. package/dist/types/annotation/draw-controller.d.ts +43 -0
  61. package/dist/types/annotation/draw-controller.d.ts.map +1 -0
  62. package/dist/types/annotation/text-controller.d.ts +47 -0
  63. package/dist/types/annotation/text-controller.d.ts.map +1 -0
  64. package/dist/types/core/default-options.d.ts +14 -2
  65. package/dist/types/core/default-options.d.ts.map +1 -1
  66. package/dist/types/core/editor-object-kind.d.ts +29 -0
  67. package/dist/types/core/editor-object-kind.d.ts.map +1 -0
  68. package/dist/types/core/errors.d.ts +11 -1
  69. package/dist/types/core/errors.d.ts.map +1 -1
  70. package/dist/types/core/layer-order.d.ts +21 -0
  71. package/dist/types/core/layer-order.d.ts.map +1 -0
  72. package/dist/types/core/public-types.d.ts +222 -24
  73. package/dist/types/core/public-types.d.ts.map +1 -1
  74. package/dist/types/core/state-serializer.d.ts +30 -5
  75. package/dist/types/core/state-serializer.d.ts.map +1 -1
  76. package/dist/types/crop/crop-controller.d.ts +6 -7
  77. package/dist/types/crop/crop-controller.d.ts.map +1 -1
  78. package/dist/types/export/export-format.d.ts +5 -33
  79. package/dist/types/export/export-format.d.ts.map +1 -1
  80. package/dist/types/export/export-service.d.ts +24 -15
  81. package/dist/types/export/export-service.d.ts.map +1 -1
  82. package/dist/types/export/overlay-merge-service.d.ts +38 -0
  83. package/dist/types/export/overlay-merge-service.d.ts.map +1 -0
  84. package/dist/types/history/history-manager.d.ts +11 -14
  85. package/dist/types/history/history-manager.d.ts.map +1 -1
  86. package/dist/types/image/image-loader.d.ts +22 -17
  87. package/dist/types/image/image-loader.d.ts.map +1 -1
  88. package/dist/types/image/image-resampler.d.ts +1 -1
  89. package/dist/types/image/transform-controller.d.ts +5 -7
  90. package/dist/types/image/transform-controller.d.ts.map +1 -1
  91. package/dist/types/image-editor.d.ts +75 -7
  92. package/dist/types/image-editor.d.ts.map +1 -1
  93. package/dist/types/index.d.cts +3 -3
  94. package/dist/types/index.d.cts.map +1 -1
  95. package/dist/types/index.d.ts +3 -3
  96. package/dist/types/index.d.ts.map +1 -1
  97. package/dist/types/mask/mask-factory.d.ts.map +1 -1
  98. package/dist/types/mask/mask-label-manager.d.ts +10 -9
  99. package/dist/types/mask/mask-label-manager.d.ts.map +1 -1
  100. package/dist/types/mask/mask-list.d.ts +11 -12
  101. package/dist/types/mask/mask-list.d.ts.map +1 -1
  102. package/dist/types/mask/mask-style.d.ts +19 -20
  103. package/dist/types/mask/mask-style.d.ts.map +1 -1
  104. package/dist/types/mosaic/mosaic-controller.d.ts +3 -3
  105. package/dist/types/mosaic/mosaic-controller.d.ts.map +1 -1
  106. package/dist/types/ui/visibility-state.d.ts +2 -2
  107. package/dist/types/utils/image-element-loader.d.ts +19 -0
  108. package/dist/types/utils/image-element-loader.d.ts.map +1 -0
  109. package/dist/types/utils/pointer.d.ts +16 -0
  110. package/dist/types/utils/pointer.d.ts.map +1 -0
  111. package/dist/umd/image-editor.umd.js +1 -1
  112. package/dist/umd/image-editor.umd.js.map +1 -1
  113. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-object-kind.d.ts","sourceRoot":"","sources":["../../../src/core/editor-object-kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EACR,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,GAAG,eAAe,CAIhF;AAED,wBAAgB,cAAc,CAC1B,MAAM,EAAE,QAAQ,CAAC,YAAY,EAC7B,IAAI,EAAE;IACF,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC,GACF,UAAU,CAYZ;AAED,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,EAC7B,IAAI,EAAE;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACF,gBAAgB,CASlB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAC,YAAY,EAC7D,MAAM,EAAE,CAAC,EACT,iBAAiB,EAAE,iBAAiB,GACrC,CAAC,GAAG,aAAa,CAKnB"}
@@ -70,7 +70,7 @@ export declare class ImageLoadTimeoutError extends Error {
70
70
  * returns `null`).
71
71
  *
72
72
  * Surfaces to consumer as: rejection of the `loadImage` promise. The
73
- * Transactional_Load rollback runs before the rejection.
73
+ * image-loader rollback runs before the rejection.
74
74
  *
75
75
  */
76
76
  export declare class DownsampleError extends Error {
@@ -93,6 +93,16 @@ export declare class MergeMasksError extends Error {
93
93
  readonly originalError: unknown;
94
94
  constructor(message?: string, originalError?: unknown);
95
95
  }
96
+ /**
97
+ * Raised when flattening annotations into the base image fails. The
98
+ * pre-merge snapshot is restored before the rejection.
99
+ */
100
+ export declare class MergeAnnotationsError extends Error {
101
+ readonly name = "MergeAnnotationsError";
102
+ /** Original error thrown during the merge pipeline. */
103
+ readonly originalError: unknown;
104
+ constructor(message?: string, originalError?: unknown);
105
+ }
96
106
  /**
97
107
  * Raised by `crop/crop-controller.ts.applyCrop` on any failure during the
98
108
  * crop pipeline (crop computation, cropped-image load via the loader, or
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC7C,SAAyB,IAAI,4BAA4B;gBAGrD,OAAO,SAA6H;CAK3I;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,SAAyB,IAAI,sBAAsB;IAEnD,uEAAuE;IACvE,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAqC,EAAE,aAAa,GAAE,OAAc;CAK1F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,SAAyB,IAAI,2BAA2B;IAExD,oEAAoE;IACpE,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAM/C;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,8CAA8C;IAC9C,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAGnC,OAAO,SAAoD,EAC3D,aAAa,GAAE,OAAc;CAMpC;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,uDAAuD;IACvD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA0C,EAAE,aAAa,GAAE,OAAc;CAK/F;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACrC,SAAyB,IAAI,oBAAoB;IAEjD,sDAAsD;IACtD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAuC,EAAE,aAAa,GAAE,OAAc;CAK5F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,SAAyB,IAAI,yBAAyB;IAEtD,uDAAuD;IACvD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,SAAS,SAAoB;CAK5C;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAyB,IAAI,iBAAiB;IAE9C,wDAAwD;IACxD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA4B,EAAE,aAAa,GAAE,OAAc;CAKjF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC7C,SAAyB,IAAI,4BAA4B;gBAGrD,OAAO,SAA6H;CAK3I;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,SAAyB,IAAI,sBAAsB;IAEnD,uEAAuE;IACvE,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAqC,EAAE,aAAa,GAAE,OAAc;CAK1F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,SAAyB,IAAI,2BAA2B;IAExD,oEAAoE;IACpE,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAM/C;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,8CAA8C;IAC9C,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAGnC,OAAO,SAAoD,EAC3D,aAAa,GAAE,OAAc;CAMpC;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,uDAAuD;IACvD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA0C,EAAE,aAAa,GAAE,OAAc;CAK/F;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,SAAyB,IAAI,2BAA2B;IAExD,uDAAuD;IACvD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAGnC,OAAO,SAAgD,EACvD,aAAa,GAAE,OAAc;CAMpC;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACrC,SAAyB,IAAI,oBAAoB;IAEjD,sDAAsD;IACtD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAuC,EAAE,aAAa,GAAE,OAAc;CAK5F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,SAAyB,IAAI,yBAAyB;IAEtD,uDAAuD;IACvD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,SAAS,SAAoB;CAK5C;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAyB,IAAI,iBAAiB;IAE9C,wDAAwD;IACxD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA4B,EAAE,aAAa,GAAE,OAAc;CAKjF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Layer-order helpers for editor-owned Fabric objects.
3
+ *
4
+ * The invariant is base images at the bottom, host objects next, editable
5
+ * overlays above them, and session-only objects at the top.
6
+ *
7
+ * @module
8
+ */
9
+ import type * as FabricNS from 'fabric';
10
+ import { type AnnotationObject, type BaseImageObject, type MaskObject, type SessionObject } from './public-types.js';
11
+ export declare function normalizeLayerOrder(canvas: FabricNS.Canvas): void;
12
+ export declare function placeBaseImageObject(canvas: FabricNS.Canvas, image: BaseImageObject): void;
13
+ export declare function placeMaskObject(canvas: FabricNS.Canvas, mask: MaskObject): void;
14
+ export declare function placeAnnotationObject(canvas: FabricNS.Canvas, annotation: AnnotationObject): void;
15
+ export declare function placeSessionObject(canvas: FabricNS.Canvas, sessionObject: SessionObject): void;
16
+ export declare function getEditableOverlayRange(canvas: FabricNS.Canvas): {
17
+ start: number;
18
+ end: number;
19
+ overlays: Array<MaskObject | AnnotationObject>;
20
+ };
21
+ //# sourceMappingURL=layer-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-order.d.ts","sourceRoot":"","sources":["../../../src/core/layer-order.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AAExC,OAAO,EAIH,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EACrB,MAAM,mBAAmB,CAAC;AA6E3B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAYjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAI1F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAK/E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAKjG;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAG9F;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;CAClD,CAWA"}
@@ -55,6 +55,20 @@ export type NormalizedImageFormat = 'jpeg' | 'png' | 'webp';
55
55
  * - `'canvas'` exports the full Fabric canvas.
56
56
  */
57
57
  export type ExportArea = 'image' | 'canvas';
58
+ export type EditorObjectKind = 'baseImage' | 'mask' | 'annotation' | 'session';
59
+ export type AnnotationType = 'text' | 'draw';
60
+ export type SessionObjectType = 'cropRect' | 'maskLabel' | 'mosaicPreviewCircle' | 'mosaicPreviewImage' | 'textPreview' | 'drawPreview';
61
+ export type EditorToolMode = 'crop' | 'mosaic' | 'text' | 'draw';
62
+ export interface EditorObjectMeta {
63
+ editorObjectKind: EditorObjectKind;
64
+ }
65
+ export interface BaseImageObject extends FabricNS.FabricImage {
66
+ editorObjectKind: 'baseImage';
67
+ }
68
+ export interface SessionObject extends FabricNS.FabricObject {
69
+ editorObjectKind: 'session';
70
+ sessionObjectType: SessionObjectType;
71
+ }
58
72
  /**
59
73
  * Intermediate raster format used by `applyCrop`.
60
74
  *
@@ -80,10 +94,11 @@ export type MosaicOutputFileType = ImageFileType | 'source';
80
94
  * history snapshots by the state serializer.
81
95
  */
82
96
  export interface MaskObject extends FabricNS.FabricObject {
97
+ editorObjectKind: 'mask';
83
98
  /** Unique numeric identifier assigned at creation time. */
84
99
  maskId: number;
85
100
  /** Stable internal identifier used to restore overlapping masks deterministically. */
86
- maskUid?: string;
101
+ maskUid: string;
87
102
  /** Human-readable label shown in the mask list (`maskName` option + id). */
88
103
  maskName: string;
89
104
  /** Original opacity stored to support hover highlight / restore. */
@@ -94,24 +109,37 @@ export interface MaskObject extends FabricNS.FabricObject {
94
109
  originalStrokeWidth?: number;
95
110
  /** Active label overlay object, if currently displayed. */
96
111
  labelObject?: FabricNS.FabricObject;
97
- /** Marker flag — `true` only on the crop rectangle, never on real masks. */
98
- isCropRect?: boolean;
99
- /**
100
- * Marker flag set on label-overlay text objects so the state serializer
101
- * can exclude them from history snapshots.
102
- */
103
- maskLabel?: boolean;
112
+ }
113
+ export interface AnnotationObject extends FabricNS.FabricObject {
114
+ editorObjectKind: 'annotation';
115
+ annotationId: number;
116
+ annotationType: AnnotationType;
117
+ annotationName: string;
118
+ annotationHidden?: boolean;
119
+ annotationLocked?: boolean;
120
+ }
121
+ export interface TextAnnotationObject extends AnnotationObject {
122
+ annotationType: 'text';
123
+ }
124
+ export interface DrawAnnotationObject extends AnnotationObject {
125
+ annotationType: 'draw';
104
126
  }
105
127
  /**
106
128
  * Type guard — returns `true` when `object` carries the runtime mask metadata
107
129
  * (`maskId: number`) so consumers can filter `canvas.getObjects`
108
130
  * deterministically.
109
131
  */
110
- export declare function isMaskObject(object: FabricNS.FabricObject): object is MaskObject;
132
+ export declare function isBaseImageObject(object: unknown): object is BaseImageObject;
133
+ export declare function isMaskObject(object: unknown): object is MaskObject;
134
+ export declare function isAnnotationObject(object: unknown): object is AnnotationObject;
135
+ export declare function isTextAnnotationObject(object: unknown): object is TextAnnotationObject;
136
+ export declare function isDrawAnnotationObject(object: unknown): object is DrawAnnotationObject;
137
+ export declare function isSessionObject(object: unknown): object is SessionObject;
138
+ export declare function isEditableOverlayObject(object: unknown): object is MaskObject | AnnotationObject;
111
139
  /**
112
140
  * Public operation/reason associated with lifecycle and state callbacks.
113
141
  */
114
- export type ImageEditorOperation = 'init' | 'loadImage' | 'loadFromState' | 'saveState' | 'scaleImage' | 'rotateImage' | 'resetImageTransform' | 'createMask' | 'removeSelectedMask' | 'removeAllMasks' | 'mergeMasks' | 'enterCropMode' | 'applyCrop' | 'cancelCrop' | 'enterMosaicMode' | 'exitMosaicMode' | 'applyMosaic' | 'setMosaicConfig' | 'resetMosaicConfig' | 'setMosaicBrushSize' | 'setMosaicBlockSize' | 'undo' | 'redo' | 'exportImageBase64' | 'exportImageFile' | 'downloadImage' | 'dispose';
142
+ export type ImageEditorOperation = 'init' | 'loadImage' | 'loadFromState' | 'saveState' | 'scaleImage' | 'rotateImage' | 'resetImageTransform' | 'createMask' | 'removeSelectedMask' | 'removeAllMasks' | 'mergeMasks' | 'createTextAnnotation' | 'enterTextMode' | 'exitTextMode' | 'setTextConfig' | 'resetTextConfig' | 'setTextColor' | 'setTextFontSize' | 'enterDrawMode' | 'exitDrawMode' | 'setDrawConfig' | 'resetDrawConfig' | 'setDrawColor' | 'setDrawBrushSize' | 'updateSelectedAnnotation' | 'updateAnnotation' | 'removeSelectedAnnotation' | 'removeAllAnnotations' | 'deleteSelectedObject' | 'mergeAnnotations' | 'bringSelectedObjectForward' | 'sendSelectedObjectBackward' | 'bringSelectedObjectToFront' | 'sendSelectedObjectToBack' | 'enterCropMode' | 'applyCrop' | 'cancelCrop' | 'enterMosaicMode' | 'exitMosaicMode' | 'applyMosaic' | 'setMosaicConfig' | 'resetMosaicConfig' | 'setMosaicBrushSize' | 'setMosaicBlockSize' | 'undo' | 'redo' | 'exportImageBase64' | 'exportImageFile' | 'downloadImage' | 'dispose';
115
143
  /**
116
144
  * Context passed to lifecycle and state callbacks.
117
145
  */
@@ -144,11 +172,15 @@ export interface ImageEditorState {
144
172
  hasImage: boolean;
145
173
  image: ImageInfo | null;
146
174
  maskCount: number;
175
+ annotationCount: number;
147
176
  currentScale: number;
148
177
  currentRotation: number;
149
178
  isBusy: boolean;
179
+ activeToolMode: EditorToolMode | null;
150
180
  isCropMode: boolean;
151
181
  isMosaicMode: boolean;
182
+ isTextMode: boolean;
183
+ isDrawMode: boolean;
152
184
  canUndo: boolean;
153
185
  canRedo: boolean;
154
186
  canvasWidth: number;
@@ -160,6 +192,9 @@ export interface ImageEditorState {
160
192
  export interface ImageEditorSelection {
161
193
  selectedMask: MaskObject | null;
162
194
  selectedMasks: MaskObject[];
195
+ selectedAnnotation: AnnotationObject | null;
196
+ selectedAnnotations: AnnotationObject[];
197
+ selectedObjectKind: 'mask' | 'annotation' | null;
163
198
  }
164
199
  /**
165
200
  * Configuration for the label shown above a selected mask.
@@ -269,7 +304,7 @@ export interface MosaicConfig {
269
304
  * Optional dash pattern for the brush preview circle.
270
305
  * @default [4, 4]
271
306
  */
272
- previewStrokeDashArray?: number[] | null;
307
+ previewStrokeDashArray?: readonly number[] | null;
273
308
  /**
274
309
  * Fill for the brush preview circle.
275
310
  * @default 'rgba(0,0,0,0)'
@@ -298,11 +333,95 @@ export interface ResolvedMosaicConfig {
298
333
  blockSize: number;
299
334
  previewStroke: string;
300
335
  previewStrokeWidth: number;
301
- previewStrokeDashArray: number[] | null;
336
+ previewStrokeDashArray: readonly number[] | null;
302
337
  previewFill: string;
303
338
  outputFileType: MosaicOutputFileType;
304
339
  outputQuality?: number;
305
340
  }
341
+ export interface TextAnnotationConfig {
342
+ text?: string;
343
+ left?: MaskNumericProp;
344
+ top?: MaskNumericProp;
345
+ width?: number;
346
+ fontSize?: number;
347
+ fontFamily?: string;
348
+ fontWeight?: string | number;
349
+ fill?: string;
350
+ backgroundColor?: string;
351
+ textAlign?: 'left' | 'center' | 'right' | 'justify';
352
+ angle?: number;
353
+ selectable?: boolean;
354
+ evented?: boolean;
355
+ editable?: boolean;
356
+ enterEditing?: boolean;
357
+ annotationHidden?: boolean;
358
+ annotationLocked?: boolean;
359
+ styles?: Partial<FabricNS.TextboxProps>;
360
+ }
361
+ export interface ResolvedTextAnnotationConfig {
362
+ text: string;
363
+ left?: number;
364
+ top?: number;
365
+ width: number;
366
+ fontSize: number;
367
+ fontFamily: string;
368
+ fontWeight: string | number;
369
+ fill: string;
370
+ backgroundColor: string;
371
+ textAlign: 'left' | 'center' | 'right' | 'justify';
372
+ angle: number;
373
+ selectable: boolean;
374
+ evented: boolean;
375
+ editable: boolean;
376
+ enterEditing: boolean;
377
+ annotationHidden: boolean;
378
+ annotationLocked: boolean;
379
+ styles: Partial<FabricNS.TextboxProps>;
380
+ }
381
+ export interface DrawConfig {
382
+ brushSize?: number;
383
+ color?: string;
384
+ opacity?: number;
385
+ lineCap?: CanvasLineCap;
386
+ lineJoin?: CanvasLineJoin;
387
+ selectable?: boolean;
388
+ evented?: boolean;
389
+ annotationHidden?: boolean;
390
+ annotationLocked?: boolean;
391
+ }
392
+ export interface ResolvedDrawConfig {
393
+ brushSize: number;
394
+ color: string;
395
+ opacity: number;
396
+ lineCap: CanvasLineCap;
397
+ lineJoin: CanvasLineJoin;
398
+ selectable: boolean;
399
+ evented: boolean;
400
+ annotationHidden: boolean;
401
+ annotationLocked: boolean;
402
+ }
403
+ export interface CommonAnnotationUpdateConfig {
404
+ annotationHidden?: boolean;
405
+ annotationLocked?: boolean;
406
+ selectable?: boolean;
407
+ evented?: boolean;
408
+ }
409
+ export interface TextAnnotationUpdateConfig extends CommonAnnotationUpdateConfig {
410
+ text?: string;
411
+ fontSize?: number;
412
+ fontFamily?: string;
413
+ fontWeight?: string | number;
414
+ fill?: string;
415
+ backgroundColor?: string;
416
+ textAlign?: 'left' | 'center' | 'right' | 'justify';
417
+ width?: number;
418
+ }
419
+ export interface DrawAnnotationUpdateConfig extends CommonAnnotationUpdateConfig {
420
+ stroke?: string;
421
+ strokeWidth?: number;
422
+ opacity?: number;
423
+ }
424
+ export type AnnotationUpdateConfig = TextAnnotationUpdateConfig | DrawAnnotationUpdateConfig | CommonAnnotationUpdateConfig;
306
425
  /**
307
426
  * A numeric property that may be provided as:
308
427
  * - a plain `number` in canvas pixels,
@@ -443,6 +562,13 @@ export interface RemoveAllMasksOptions {
443
562
  */
444
563
  saveHistory?: boolean;
445
564
  }
565
+ /**
566
+ * Options accepted by `ImageEditor.removeAllAnnotations(options?)`.
567
+ */
568
+ export interface RemoveAllAnnotationsOptions {
569
+ saveHistory?: boolean;
570
+ force?: boolean;
571
+ }
446
572
  /**
447
573
  * Mapping from logical control names to actual DOM element IDs on the page.
448
574
  * Any key may be omitted; the default ID is the same as the key name.
@@ -477,6 +603,40 @@ export interface ElementIdMap {
477
603
  removeAllMasksButton?: string | null;
478
604
  /** Merge masks into image button. @default 'mergeMasksButton' */
479
605
  mergeMasksButton?: string | null;
606
+ /** Annotation list container (`<ul>` or `<ol>`). @default 'annotationList' */
607
+ annotationList?: string | null;
608
+ /** Enter Text mode button. @default 'enterTextModeButton' */
609
+ enterTextModeButton?: string | null;
610
+ /** Exit Text mode button. @default 'exitTextModeButton' */
611
+ exitTextModeButton?: string | null;
612
+ /** Text color input. @default 'textColorInput' */
613
+ textColorInput?: string | null;
614
+ /** Text font-size input. @default 'textFontSizeInput' */
615
+ textFontSizeInput?: string | null;
616
+ /** Enter Draw mode button. @default 'enterDrawModeButton' */
617
+ enterDrawModeButton?: string | null;
618
+ /** Exit Draw mode button. @default 'exitDrawModeButton' */
619
+ exitDrawModeButton?: string | null;
620
+ /** Draw color input. @default 'drawColorInput' */
621
+ drawColorInput?: string | null;
622
+ /** Draw brush-size input. @default 'drawBrushSizeInput' */
623
+ drawBrushSizeInput?: string | null;
624
+ /** Remove selected annotation button. @default 'removeSelectedAnnotationButton' */
625
+ removeSelectedAnnotationButton?: string | null;
626
+ /** Remove all annotations button. @default 'removeAllAnnotationsButton' */
627
+ removeAllAnnotationsButton?: string | null;
628
+ /** Delete selected mask or annotation button. @default 'deleteSelectedObjectButton' */
629
+ deleteSelectedObjectButton?: string | null;
630
+ /** Merge annotations into image button. @default 'mergeAnnotationsButton' */
631
+ mergeAnnotationsButton?: string | null;
632
+ /** Move selected editable overlay one layer forward. */
633
+ bringSelectedObjectForwardButton?: string | null;
634
+ /** Move selected editable overlay one layer backward. */
635
+ sendSelectedObjectBackwardButton?: string | null;
636
+ /** Move selected editable overlay to the front of overlays. */
637
+ bringSelectedObjectToFrontButton?: string | null;
638
+ /** Move selected editable overlay to the back of overlays. */
639
+ sendSelectedObjectToBackButton?: string | null;
480
640
  /** Download image button. @default 'downloadImageButton' */
481
641
  downloadImageButton?: string | null;
482
642
  /** Mask list container (`<ul>` or `<ol>`). @default 'maskList' */
@@ -516,18 +676,28 @@ export interface ElementIdMap {
516
676
  /** Clickable upload area (delegates to imageInput). @default 'uploadArea' */
517
677
  uploadArea?: string | null;
518
678
  }
679
+ export interface OverlayExportOptions {
680
+ /**
681
+ * Render masks into the exported output. This does not mutate editor state.
682
+ * @default options.mergeMasksByDefault
683
+ */
684
+ mergeMasks?: boolean;
685
+ /**
686
+ * Render annotations into the exported output. This does not mutate editor state.
687
+ * @default options.mergeAnnotationsByDefault
688
+ */
689
+ mergeAnnotations?: boolean;
690
+ }
519
691
  /**
520
692
  * Options for {@link ImageEditor.exportImageBase64}.
521
693
  *
522
694
  * Both `fileType` and `format` are accepted — when both are provided,
523
- * `fileType` wins. The export pipeline normalizes `'jpg'` to `'jpeg'`,
524
- * derives the MIME type via `export/export-format.ts`, and clamps `quality`
525
- * to `[0, 1]`. PNG ignores `quality` because it is
526
- * lossless.
695
+ * `fileType` wins. The export pipeline normalizes `'jpg'` to
696
+ * `'jpeg'`, derives the MIME type via `export/export-format.ts`,
697
+ * and clamps `quality` to `[0, 1]`. PNG ignores `quality` because it
698
+ * is lossless.
527
699
  */
528
- export interface Base64ExportOptions {
529
- /** Whether masks are flattened into the exported result. @default true */
530
- mergeMask?: boolean;
700
+ export interface Base64ExportOptions extends OverlayExportOptions {
531
701
  /**
532
702
  * Which region to export. `'image'` clips to the image bounding box;
533
703
  * `'canvas'` exports the full canvas.
@@ -553,9 +723,7 @@ export interface Base64ExportOptions {
553
723
  * `fileType` follows the same normalization rules as
554
724
  * {@link Base64ExportOptions}.
555
725
  */
556
- export interface ImageFileExportOptions {
557
- /** Bake masks into the exported image. @default true */
558
- mergeMask?: boolean;
726
+ export interface ImageFileExportOptions extends OverlayExportOptions {
559
727
  /**
560
728
  * Which region to export. `'image'` clips to the image bounding box;
561
729
  * `'canvas'` exports the full canvas.
@@ -571,6 +739,17 @@ export interface ImageFileExportOptions {
571
739
  /** Filename for the resulting `File` object. */
572
740
  fileName?: string;
573
741
  }
742
+ /**
743
+ * Options for {@link ImageEditor.downloadImage}.
744
+ *
745
+ * `mergeMasks` and `mergeAnnotations` match the Base64/File export behavior:
746
+ * omitted values fall back to `mergeMasksByDefault` and
747
+ * `mergeAnnotationsByDefault`.
748
+ */
749
+ export interface DownloadImageOptions extends OverlayExportOptions {
750
+ /** Filename used by the generated download link. */
751
+ fileName?: string;
752
+ }
574
753
  /**
575
754
  * Configuration passed to the {@link ImageEditor} constructor.
576
755
  *
@@ -659,7 +838,13 @@ export interface ImageEditorOptions {
659
838
  * exportImageBase64/exportImageFile/downloadImage.
660
839
  * @default true
661
840
  */
662
- mergeMaskByDefault?: boolean;
841
+ mergeMasksByDefault?: boolean;
842
+ /**
843
+ * Default annotation compositing behavior for
844
+ * exportImageBase64/exportImageFile/downloadImage.
845
+ * @default true
846
+ */
847
+ mergeAnnotationsByDefault?: boolean;
663
848
  /** Default width for new rect/ellipse masks. @default 50 */
664
849
  defaultMaskWidth?: number;
665
850
  /** Default height for new rect/ellipse masks. @default 80 */
@@ -678,6 +863,10 @@ export interface ImageEditorOptions {
678
863
  maskLabelOffset?: number;
679
864
  /** Name prefix for auto-generated mask names. @default 'mask' */
680
865
  maskName?: string;
866
+ /** Name prefix for auto-generated text annotations. @default 'text' */
867
+ textAnnotationName?: string;
868
+ /** Name prefix for auto-generated draw annotations. @default 'draw' */
869
+ drawAnnotationName?: string;
681
870
  /** Allow multi-object group selection on the canvas. @default false */
682
871
  groupSelection?: boolean;
683
872
  /** Show a placeholder when no image is loaded. @default true */
@@ -703,6 +892,8 @@ export interface ImageEditorOptions {
703
892
  onEditorDisposed?: (context: ImageEditorCallbackContext) => void;
704
893
  /** Called after the mask collection changes. */
705
894
  onMasksChanged?: (masks: MaskObject[], context: ImageEditorCallbackContext) => void;
895
+ /** Called after the annotation collection changes. */
896
+ onAnnotationsChanged?: (annotations: AnnotationObject[], context: ImageEditorCallbackContext) => void;
706
897
  /** Called after mask selection changes. */
707
898
  onSelectionChange?: (selection: ImageEditorSelection, context: ImageEditorCallbackContext) => void;
708
899
  /**
@@ -730,13 +921,17 @@ export interface ImageEditorOptions {
730
921
  * setMosaicBlockSize() update the current tool config only.
731
922
  */
732
923
  defaultMosaicConfig?: MosaicConfig;
924
+ /** Default Text annotation configuration. */
925
+ defaultTextConfig?: TextAnnotationConfig;
926
+ /** Default Draw mode configuration. */
927
+ defaultDrawConfig?: DrawConfig;
733
928
  }
734
929
  /**
735
930
  * Fully resolved options with every required field guaranteed present.
736
931
  * Produced by `core/default-options.ts` after merging defaults with the
737
932
  * user-supplied partial options.
738
933
  */
739
- export interface ResolvedOptions extends Required<Omit<ImageEditorOptions, 'label' | 'crop' | 'defaultMosaicConfig' | 'onImageLoadStart' | 'onImageLoaded' | 'onImageCleared' | 'onImageChanged' | 'onBusyChange' | 'onEditorDisposed' | 'onMasksChanged' | 'onSelectionChange' | 'onError' | 'onWarning' | 'downsampleQuality' | 'maxExportPixels'>> {
934
+ export interface ResolvedOptions extends Required<Omit<ImageEditorOptions, 'label' | 'crop' | 'defaultMosaicConfig' | 'defaultTextConfig' | 'defaultDrawConfig' | 'onImageLoadStart' | 'onImageLoaded' | 'onImageCleared' | 'onImageChanged' | 'onBusyChange' | 'onEditorDisposed' | 'onMasksChanged' | 'onAnnotationsChanged' | 'onSelectionChange' | 'onError' | 'onWarning' | 'downsampleQuality' | 'maxExportPixels'>> {
740
935
  downsampleQuality: number;
741
936
  maxExportPixels: number;
742
937
  /** Current layout mode used by future image loads. */
@@ -744,6 +939,8 @@ export interface ResolvedOptions extends Required<Omit<ImageEditorOptions, 'labe
744
939
  label: LabelConfig;
745
940
  crop: ResolvedCropConfig;
746
941
  defaultMosaicConfig: ResolvedMosaicConfig;
942
+ defaultTextConfig: ResolvedTextAnnotationConfig;
943
+ defaultDrawConfig: ResolvedDrawConfig;
747
944
  onImageLoadStart: ((context: ImageEditorCallbackContext) => void) | null;
748
945
  onImageLoaded: ((imageInfo: ImageInfo, context: ImageEditorCallbackContext) => void) | null;
749
946
  onImageCleared: ((previousImage: FabricNS.FabricImage | null, context: ImageEditorCallbackContext) => void) | null;
@@ -751,6 +948,7 @@ export interface ResolvedOptions extends Required<Omit<ImageEditorOptions, 'labe
751
948
  onBusyChange: ((isBusy: boolean, context: ImageEditorCallbackContext) => void) | null;
752
949
  onEditorDisposed: ((context: ImageEditorCallbackContext) => void) | null;
753
950
  onMasksChanged: ((masks: MaskObject[], context: ImageEditorCallbackContext) => void) | null;
951
+ onAnnotationsChanged: ((annotations: AnnotationObject[], context: ImageEditorCallbackContext) => void) | null;
754
952
  onSelectionChange: ((selection: ImageEditorSelection, context: ImageEditorCallbackContext) => void) | null;
755
953
  onError: ((error: unknown, message: string) => void) | null;
756
954
  onWarning: ((error: unknown, message: string) => void) | null;
@@ -1 +1 @@
1
- {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../../../src/core/public-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../../../src/core/public-types.ts"],"names":[],"mappings":"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"}
@@ -43,10 +43,9 @@
43
43
  * @module
44
44
  */
45
45
  import type * as FabricNS from 'fabric';
46
- import type { ImageMimeType } from './public-types.js';
46
+ import type { AnnotationObject, BaseImageObject, ImageMimeType, MaskObject } from './public-types.js';
47
47
  /**
48
- * Per-object payload inside a {@link CanvasJson} snapshot. Mirrors the
49
- * Pretty_Printer wire format used by the canvas serializer.
48
+ * Per-object payload inside a {@link CanvasJson} snapshot.
50
49
  *
51
50
  * The `isCropRect` and `maskLabel` markers are filtered out by
52
51
  * {@link saveState}, so a snapshot pushed to history will never contain
@@ -57,6 +56,10 @@ import type { ImageMimeType } from './public-types.js';
57
56
  export interface CanvasJsonObject {
58
57
  /** Fabric shape type discriminator (`'rect'`, `'circle'`, `'image'`, etc.). */
59
58
  type?: string;
59
+ /** Editor-owned object discriminator. */
60
+ editorObjectKind?: string;
61
+ /** Session object subtype discriminator. */
62
+ sessionObjectType?: string;
60
63
  /** Left-edge pixel coordinate (Fabric serializes `originX: 'left'` masks here). */
61
64
  left?: number;
62
65
  /** Top-edge pixel coordinate. */
@@ -95,6 +98,16 @@ export interface CanvasJsonObject {
95
98
  maskLabel?: boolean;
96
99
  /** Marks Mosaic preview objects; filtered before history push. */
97
100
  isMosaicPreview?: boolean;
101
+ /** Annotation identifier. */
102
+ annotationId?: number;
103
+ /** Annotation subtype. */
104
+ annotationType?: string;
105
+ /** Annotation display name. */
106
+ annotationName?: string;
107
+ /** Business-level annotation visibility. */
108
+ annotationHidden?: boolean;
109
+ /** Business-level annotation lock state. */
110
+ annotationLocked?: boolean;
98
111
  /** Pass-through for every other Fabric-serialized shape property. */
99
112
  [key: string]: unknown;
100
113
  }
@@ -112,8 +125,12 @@ export interface EditorStateMeta {
112
125
  baseImageScale: number;
113
126
  /** MIME type of the currently committed image, when known. */
114
127
  currentImageMimeType?: ImageMimeType | null;
128
+ /** Active editor-owned object kind when the snapshot was captured, if any. */
129
+ activeObjectKind?: 'mask' | 'annotation' | null;
115
130
  /** Mask selected when the snapshot was captured, if any. */
116
131
  activeMaskId?: number;
132
+ /** Annotation selected when the snapshot was captured, if any. */
133
+ activeAnnotationId?: number;
117
134
  }
118
135
  /**
119
136
  * Full snapshot envelope. Standard Fabric `toJSON` keys plus the editor
@@ -141,7 +158,7 @@ export interface CanvasJson {
141
158
  * cannot mutate the shared array.
142
159
  *
143
160
  */
144
- export declare const SNAPSHOT_CUSTOM_KEYS: readonly ["maskId", "maskUid", "maskName", "isCropRect", "maskLabel", "originalAlpha", "originalStroke", "originalStrokeWidth", "hasControls", "selectable", "strokeUniform", "lockRotation", "transparentCorners", "borderColor", "cornerColor", "cornerSize", "isMosaicPreview"];
161
+ export declare const SNAPSHOT_CUSTOM_KEYS: readonly ["editorObjectKind", "sessionObjectType", "maskId", "maskUid", "maskName", "isCropRect", "maskLabel", "originalAlpha", "originalStroke", "originalStrokeWidth", "hasControls", "selectable", "strokeUniform", "lockRotation", "transparentCorners", "borderColor", "cornerColor", "cornerSize", "isMosaicPreview", "annotationId", "annotationType", "annotationName", "annotationHidden", "annotationLocked"];
145
162
  /**
146
163
  * Inputs to {@link saveState}. The editor facade passes the live canvas
147
164
  * plus the three transform fields that make up `_editorState`.
@@ -151,6 +168,8 @@ export interface SaveStateInput {
151
168
  canvas: FabricNS.Canvas;
152
169
  /** Active mask id supplied by the facade when Fabric active state is unavailable. */
153
170
  activeMaskId?: number | null;
171
+ /** Active annotation id supplied by the facade when Fabric active state is unavailable. */
172
+ activeAnnotationId?: number | null;
154
173
  /** Current image zoom factor (mirrored into `_editorState.currentScale`). */
155
174
  currentScale: number;
156
175
  /** Current image rotation in degrees (mirrored into `_editorState.currentRotation`). */
@@ -239,19 +258,25 @@ export interface LoadFromStateResult {
239
258
  * `createMask` calls do not collide with restored IDs.
240
259
  */
241
260
  maxMaskId: number;
261
+ /** Highest `annotationId` observed on restored annotation objects. */
262
+ maxAnnotationId: number;
242
263
  /**
243
264
  * The first `'image'` object that is NOT a mask, or `null`. Used by the
244
265
  * facade to set `selectable: false`, `evented: false`, and to send the
245
266
  * image to the back of the stacking order. The serializer does not
246
267
  * mutate the object itself.
247
268
  */
248
- originalImage: FabricNS.FabricImage | null;
269
+ originalImage: BaseImageObject | null;
249
270
  /**
250
271
  * All canvas objects after restore, in `getObjects` order. The facade
251
272
  * uses this list to re-attach mask hover handlers and to drive the
252
273
  * `isImageLoadedToCanvas` flag.
253
274
  */
254
275
  objects: FabricNS.FabricObject[];
276
+ /** Restored mask objects. */
277
+ masks: MaskObject[];
278
+ /** Restored annotation objects. */
279
+ annotations: AnnotationObject[];
255
280
  /**
256
281
  * The canonical JSON string for the snapshot — equal to the input string
257
282
  * if a string was passed, or `JSON.stringify(input)` if a `CanvasJson`