@netless/appliance-plugin 1.1.2 → 1.1.3-4.beta.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 (154) hide show
  1. package/READMA.zh-CN.md +993 -0
  2. package/README.md +963 -176
  3. package/cdn/cdn.js +1 -1
  4. package/cdn/fullWorker-Dwf7nY.js +486 -0
  5. package/cdn/subWorker-DXBnNm.js +486 -0
  6. package/dist/ObserverMap-BudneEfB.mjs +58 -0
  7. package/dist/ObserverMap-DTz9zucn.js +1 -0
  8. package/dist/appliance-plugin.js +1 -1
  9. package/dist/appliance-plugin.mjs +27 -18
  10. package/dist/cdn.d.ts +2 -2
  11. package/dist/collector/base.d.ts +3 -1
  12. package/dist/collector/collector.d.ts +57 -14
  13. package/dist/collector/index.d.ts +4 -4
  14. package/dist/collector/types.d.ts +49 -10
  15. package/dist/component/autoDraw/index.d.ts +0 -0
  16. package/dist/component/miniMap/index.d.ts +1 -0
  17. package/dist/component/miniMap/manager.d.ts +37 -0
  18. package/dist/component/miniMap/view.d.ts +14 -0
  19. package/dist/component/svg/base.d.ts +30 -0
  20. package/dist/component/svg/manager.d.ts +44 -0
  21. package/dist/component/svg/markmap.d.ts +41 -0
  22. package/dist/component/svg/mermaid-check.d.ts +18 -0
  23. package/dist/component/svg/mermaid-loader.d.ts +29 -0
  24. package/dist/component/svg/mermaid.d.ts +109 -0
  25. package/dist/component/svg/snapshot.d.ts +31 -0
  26. package/dist/component/svg/svgElemt.d.ts +43 -0
  27. package/dist/component/svg/svgToImageLoader.d.ts +25 -0
  28. package/dist/component/svg/types.d.ts +10 -0
  29. package/dist/component/svg/utils.d.ts +9 -0
  30. package/dist/component/svg/vNodeManager.d.ts +28 -0
  31. package/dist/component/textEditor/index.d.ts +2 -2
  32. package/dist/component/textEditor/manager.d.ts +22 -3
  33. package/dist/component/textEditor/types.d.ts +5 -4
  34. package/dist/component/textEditor/utils.d.ts +1 -0
  35. package/dist/component/textEditor/view.d.ts +28 -48
  36. package/dist/core/autoShape/index.d.ts +12 -0
  37. package/dist/core/autoShape/mapper.d.ts +3 -0
  38. package/dist/core/autoShape/recognizer.d.ts +8 -0
  39. package/dist/core/autoShape/registry.d.ts +2 -0
  40. package/dist/core/autoShape/templates.d.ts +2 -0
  41. package/dist/core/autoShape/types.d.ts +78 -0
  42. package/dist/core/backGroundThread/index.d.ts +35 -0
  43. package/dist/core/backGroundThread/types.d.ts +12 -0
  44. package/dist/core/enum.d.ts +74 -13
  45. package/dist/core/index.d.ts +3 -3
  46. package/dist/core/mainEngine.d.ts +101 -27
  47. package/dist/core/mainThread/base.d.ts +10 -6
  48. package/dist/core/mainThread/index.d.ts +2 -2
  49. package/dist/core/mainThread/snapshotThread.d.ts +8 -4
  50. package/dist/core/mainThread/subLocalThread.d.ts +21 -16
  51. package/dist/core/mainThread/subServiceThread.d.ts +2 -2
  52. package/dist/core/mainThread/subTopThread.d.ts +2 -2
  53. package/dist/core/msgEvent/base.d.ts +1 -0
  54. package/dist/core/msgEvent/baseForBackgroundThread.d.ts +9 -0
  55. package/dist/core/msgEvent/baseForWorker.d.ts +2 -1
  56. package/dist/core/msgEvent/copyNode/forBackgroundThread.d.ts +8 -0
  57. package/dist/core/msgEvent/copyNode/forMain.d.ts +2 -2
  58. package/dist/core/msgEvent/forBackgroundThread.d.ts +12 -0
  59. package/dist/core/msgEvent/forMainThread.d.ts +4 -4
  60. package/dist/core/msgEvent/forWorker.d.ts +4 -4
  61. package/dist/core/msgEvent/index.d.ts +4 -4
  62. package/dist/core/msgEvent/rotateNode/forMain.d.ts +2 -2
  63. package/dist/core/msgEvent/scaleNode/forMain.d.ts +2 -2
  64. package/dist/core/msgEvent/setColor/forMain.d.ts +2 -2
  65. package/dist/core/msgEvent/setPoint/forMain.d.ts +2 -2
  66. package/dist/core/msgEvent/setZIndex/forMain.d.ts +7 -0
  67. package/dist/core/msgEvent/translateNode/forMain.d.ts +2 -2
  68. package/dist/core/plugin.d.ts +49 -0
  69. package/dist/core/renderCotrol.d.ts +12 -11
  70. package/dist/core/tools/arrow.d.ts +10 -22
  71. package/dist/core/tools/base.d.ts +52 -9
  72. package/dist/core/tools/ellipse.d.ts +10 -22
  73. package/dist/core/tools/image.d.ts +9 -7
  74. package/dist/core/tools/index.d.ts +14 -13
  75. package/dist/core/tools/laserPen.d.ts +1 -1
  76. package/dist/core/tools/pencil.d.ts +18 -8
  77. package/dist/core/tools/pencilEraser.d.ts +36 -41
  78. package/dist/core/tools/pencilEraserBitMap.d.ts +20 -27
  79. package/dist/core/tools/polygon.d.ts +10 -22
  80. package/dist/core/tools/rectangle.d.ts +10 -22
  81. package/dist/core/tools/selector.d.ts +42 -24
  82. package/dist/core/tools/shadowSvg.d.ts +36 -0
  83. package/dist/core/tools/speechBalloon.d.ts +10 -22
  84. package/dist/core/tools/star.d.ts +10 -22
  85. package/dist/core/tools/straight.d.ts +10 -22
  86. package/dist/core/tools/text.d.ts +2 -1
  87. package/dist/core/tools/utils.d.ts +11 -12
  88. package/dist/core/types.d.ts +98 -18
  89. package/dist/core/utils/ObserverMap.d.ts +19 -0
  90. package/dist/core/utils/clipper.d.ts +8 -0
  91. package/dist/core/utils/getSvgPathFromPoints.d.ts +1 -1
  92. package/dist/core/utils/index.d.ts +6 -5
  93. package/dist/core/utils/indexDB.d.ts +17 -0
  94. package/dist/core/utils/math.d.ts +1 -0
  95. package/dist/core/utils/polygonUtils.d.ts +8 -0
  96. package/dist/core/utils/primitives/Box2d.d.ts +4 -4
  97. package/dist/core/utils/proxy.d.ts +3 -4
  98. package/dist/core/utils/spriteNode.d.ts +8 -1
  99. package/dist/core/vNodeManager.d.ts +13 -9
  100. package/dist/core/worker/base.d.ts +43 -21
  101. package/dist/core/worker/fullWorkerLocal.d.ts +29 -25
  102. package/dist/core/worker/fullWorkerService.d.ts +9 -9
  103. package/dist/core/worker/simpleWorker.d.ts +28 -0
  104. package/dist/core/worker/snapshotWork.d.ts +27 -0
  105. package/dist/core/worker/subWorkerLocal.d.ts +2 -3
  106. package/dist/core/worker/subWorkerTopLayer.d.ts +2 -2
  107. package/dist/core/worker/workerManager.d.ts +52 -36
  108. package/dist/cursors/index.d.ts +9 -11
  109. package/dist/displayer/const.d.ts +1 -0
  110. package/dist/displayer/cursor/index.d.ts +1 -0
  111. package/dist/displayer/floatBar/dragBox/index.d.ts +9 -3
  112. package/dist/displayer/floatBar/index.d.ts +2 -1
  113. package/dist/displayer/floatBtns/index.d.ts +2 -0
  114. package/dist/displayer/utils.d.ts +1 -0
  115. package/dist/extend.d.ts +1 -0
  116. package/dist/fullWorker.js +242 -195
  117. package/dist/index-BCI9ZJly.mjs +9884 -0
  118. package/dist/index-CRWsZj1z.mjs +16601 -0
  119. package/dist/index-D2XqHUO-.js +1 -0
  120. package/dist/index-Dfujq78k.js +3 -0
  121. package/dist/index-TQPJgovl.mjs +1263 -0
  122. package/dist/index-ZvQrVWzu.js +1 -0
  123. package/dist/index.d.ts +1 -0
  124. package/dist/plugin/applianceMultiPlugin.d.ts +2 -3
  125. package/dist/plugin/applianceSinglePlugin.d.ts +3 -4
  126. package/dist/plugin/baseApplianceManager.d.ts +58 -13
  127. package/dist/plugin/baseViewContainerManager.d.ts +72 -73
  128. package/dist/plugin/const.d.ts +2 -22
  129. package/dist/plugin/displayerView.d.ts +18 -4
  130. package/dist/plugin/index.d.ts +1 -0
  131. package/dist/plugin/multi/applianceMultiManager.d.ts +0 -1
  132. package/dist/plugin/multi/containerManager.d.ts +8 -1
  133. package/dist/plugin/multi/displayer/appViewDisplayerManager.d.ts +3 -2
  134. package/dist/plugin/multi/displayer/mainViewDisplayerManager.d.ts +4 -2
  135. package/dist/plugin/single/displayer/mainViewDisplayerManager.d.ts +4 -3
  136. package/dist/plugin/types.d.ts +393 -32
  137. package/dist/style.css +1 -1
  138. package/dist/subWorker.js +242 -195
  139. package/dist/svgToImageLoader-DPRAAhwW.js +1 -0
  140. package/dist/svgToImageLoader-mXH53h-l.mjs +18 -0
  141. package/dist/undo/index.d.ts +25 -31
  142. package/dist/undo/proxyArray.d.ts +37 -0
  143. package/package.json +31 -9
  144. package/cdn/fullWorker-DMz46H.js +0 -439
  145. package/cdn/subWorker-B_zAQR.js +0 -439
  146. package/dist/collector/eventCollector.d.ts +0 -31
  147. package/dist/collector/magixEventCollector.d.ts +0 -31
  148. package/dist/core/mainThread/workerMainThread.d.ts +0 -99
  149. package/dist/core/msgEvent/deleteNode/forMainThread.d.ts +0 -6
  150. package/dist/core/msgEvent/deleteNode/forWorker.d.ts +0 -6
  151. package/dist/index-B-Nowr4E.mjs +0 -14865
  152. package/dist/index-BDVvqw7g.js +0 -1
  153. package/dist/index-DwakKeHT.mjs +0 -2497
  154. package/dist/index-cRE5FY5s.js +0 -1
@@ -1,15 +1,19 @@
1
1
  import { IRectType, IUpdateNodeOpt, BaseNodeMapItem } from "../types";
2
- import { EPostMessageType, EScaleType, EToolsKey } from "../enum";
2
+ import { EImageType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
3
3
  import { Point2d } from "../utils/primitives/Point2d";
4
4
  import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
5
5
  import { VNodeManager } from "../vNodeManager";
6
6
  import { ShapeNodes } from "./utils";
7
7
  import type { LocalWorkForFullWorker } from "../worker/fullWorkerLocal";
8
- import type { SubLocalThreadImpl } from "../mainThread/subLocalThread";
8
+ import type { SubLocalMainThreadImpl } from "../mainThread/subLocalThread";
9
9
  import type { SnapshotThreadImpl } from "../mainThread/snapshotThread";
10
- import type { SubServiceThreadImpl } from "../mainThread/subServiceThread";
11
- import type { WorkThreadEngineForFullWorker, WorkThreadEngineForSubWorker } from "../worker/workerManager";
10
+ import type { SubServiceMainThreadImpl } from "../mainThread/subServiceThread";
11
+ import { type WorkThreadEngineForFullWorker, type WorkThreadEngineForSimpleWorker, WorkThreadEngineForSubWorker } from "../worker/workerManager";
12
12
  export interface ImageOptions extends BaseShapeOptions {
13
+ /** 图片地址 */
14
+ src: string;
15
+ /** 图片类型 */
16
+ type: EImageType;
13
17
  /** 图片的唯一识别符 */
14
18
  uuid: string;
15
19
  /** 图片中点在世界坐标系中的 x 坐标 */
@@ -26,8 +30,6 @@ export interface ImageOptions extends BaseShapeOptions {
26
30
  uniformScale?: boolean;
27
31
  /** 是否以跨域方式加载图片 */
28
32
  crossOrigin?: boolean | string;
29
- /** 图片地址 */
30
- src: string;
31
33
  }
32
34
  export declare class ImageShape extends BaseShapeTool {
33
35
  readonly canRotate: boolean;
@@ -47,7 +49,7 @@ export declare class ImageShape extends BaseShapeTool {
47
49
  consumeService(): IRectType | undefined;
48
50
  consumeServiceAsync(props: {
49
51
  isFullWork: boolean;
50
- worker: LocalWorkForFullWorker | WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker | SubLocalThreadImpl | SnapshotThreadImpl | SubServiceThreadImpl;
52
+ worker: WorkThreadEngineForSimpleWorker | LocalWorkForFullWorker | WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker | SubLocalMainThreadImpl | SnapshotThreadImpl | SubServiceMainThreadImpl;
51
53
  replaceId?: string;
52
54
  }): Promise<IRectType | undefined>;
53
55
  clearTmpPoints(): void;
@@ -1,13 +1,14 @@
1
- export * from './base';
2
- export * from './pencil';
3
- export * from './laserPen';
4
- export * from './eraser';
5
- export * from './selector';
6
- export * from './arrow';
7
- export * from './ellipse';
8
- export * from './rectangle';
9
- export * from './star';
10
- export * from './polygon';
11
- export * from './speechBalloon';
12
- export * from './image';
13
- export * from './utils';
1
+ export * from "./base";
2
+ export * from "./pencil";
3
+ export * from "./laserPen";
4
+ export * from "./eraser";
5
+ export * from "./selector";
6
+ export * from "./arrow";
7
+ export * from "./ellipse";
8
+ export * from "./rectangle";
9
+ export * from "./star";
10
+ export * from "./polygon";
11
+ export * from "./speechBalloon";
12
+ export * from "./image";
13
+ export * from "./utils";
14
+ export * from "./pencilEraserBitMap";
@@ -7,7 +7,7 @@ export interface LaserPenOptions extends BaseShapeOptions {
7
7
  thickness: number;
8
8
  duration: number;
9
9
  strokeColor: string;
10
- strokeType: Omit<EStrokeType, 'Stroke'>;
10
+ strokeType: Omit<EStrokeType, "Stroke">;
11
11
  }
12
12
  export declare class LaserPenShape extends BaseShapeTool {
13
13
  readonly toolsType: EToolsKey;
@@ -1,5 +1,5 @@
1
1
  import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
2
- import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
2
+ import { EDataType, EPostMessageType, EScaleType, EToolsKey, EventWorkState } from "../enum";
3
3
  import { Point2d } from "../utils/primitives/Point2d";
4
4
  import { IWorkerMessage, IMainMessage, IRectType, IUpdateNodeOpt } from "../types";
5
5
  import { EStrokeType } from "../../plugin/types";
@@ -9,10 +9,13 @@ export interface PencilOptions extends BaseShapeOptions {
9
9
  thickness: number;
10
10
  strokeColor: string;
11
11
  strokeType: EStrokeType;
12
+ autoShape?: boolean;
13
+ /** 仅用于本地预览,不向 collector 同步中间态 */
14
+ previewLocalOnly?: boolean;
12
15
  }
13
16
  export declare class PencilShape extends BaseShapeTool {
14
17
  readonly canRotate: boolean;
15
- readonly scaleType: EScaleType;
18
+ scaleType: EScaleType;
16
19
  readonly toolsType: EToolsKey;
17
20
  private syncTimestamp;
18
21
  private syncIndex;
@@ -30,25 +33,26 @@ export declare class PencilShape extends BaseShapeTool {
30
33
  data: IWorkerMessage;
31
34
  isFullWork?: boolean;
32
35
  isSubWorker?: boolean;
36
+ isSimpleWorker?: boolean;
33
37
  drawCount?: number;
34
38
  isMainThread?: boolean;
35
- replaceId?: string;
39
+ removeDrawCount?: number;
36
40
  }): {
37
- rect: IRectType | undefined;
38
- type: EPostMessageType;
39
- dataType: EDataType;
40
- } | {
41
41
  type: EPostMessageType;
42
42
  dataType: EDataType;
43
- rect: IRectType | undefined;
44
43
  op: number[] | undefined;
45
44
  index: number | undefined;
45
+ rect: IRectType | undefined;
46
46
  updateNodeOpt: {
47
47
  useAnimation: boolean;
48
48
  };
49
49
  workId: string;
50
50
  toolsType: EToolsKey;
51
51
  opt: import("./utils").ShapeOptions;
52
+ } | {
53
+ rect: IRectType | undefined;
54
+ type: EPostMessageType;
55
+ dataType: EDataType;
52
56
  };
53
57
  consumeAll(props: {
54
58
  data?: IWorkerMessage;
@@ -75,7 +79,13 @@ export declare class PencilShape extends BaseShapeTool {
75
79
  op: number[];
76
80
  isFullWork?: boolean;
77
81
  replaceId?: string;
82
+ workState?: EventWorkState;
78
83
  }): IRectType | undefined;
84
+ computPencilPoints(params: {
85
+ op: number[];
86
+ eraserPolylines: number[][];
87
+ eraserThickness: number;
88
+ }): number[][] | undefined;
79
89
  private transformDataAll;
80
90
  private draw;
81
91
  private computDrawPoints;
@@ -1,7 +1,10 @@
1
1
  import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
2
- import { EPostMessageType, EScaleType, EToolsKey } from "../enum";
3
- import { IWorkerMessage, IRectType, IworkId } from "../types";
4
- import type { ServiceThreadSubWork } from "./utils";
2
+ import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
3
+ import { IWorkerMessage, IRectType, BaseNodeMapItem } from "../types";
4
+ import type { IMainMessage } from "../types";
5
+ import { Point2d } from "../utils/primitives/Point2d";
6
+ import type { LocalWorkForFullWorker } from "../worker/fullWorkerLocal";
7
+ import type { SubLocalMainThreadImpl } from "../mainThread/subLocalThread";
5
8
  export interface PencilEraserOptions extends BaseShapeOptions {
6
9
  thickness: number;
7
10
  }
@@ -9,66 +12,58 @@ export declare class PencilEraserShape extends BaseShapeTool {
9
12
  readonly canRotate: boolean;
10
13
  readonly scaleType: EScaleType;
11
14
  readonly toolsType: EToolsKey;
12
- readonly serviceWork?: ServiceThreadSubWork;
13
15
  private static readonly eraserSizes;
14
- protected tmpPoints: Array<number>;
16
+ protected tmpPoints: Array<Point2d>;
15
17
  protected workOptions: PencilEraserOptions;
16
18
  worldPosition: [number, number];
17
19
  worldScaling: [number, number];
18
20
  eraserRect: IRectType | undefined;
19
21
  eraserPolyline?: [number, number, number, number];
20
- constructor(props: BaseShapeToolProps, serviceWork?: ServiceThreadSubWork);
21
- consumeService(): IRectType | undefined;
22
- private createEraserRect;
23
- private computRectCenterPoints;
24
- private isNear;
25
- private cutPolyline;
26
- private isSamePoint;
27
- private translateIntersect;
28
- private isLineEraser;
29
- private remove;
22
+ constructor(props: BaseShapeToolProps);
23
+ /** 批量合并消费本地数据,返回绘制结果 */
24
+ combineConsume(props: {
25
+ workerEngine?: LocalWorkForFullWorker | SubLocalMainThreadImpl;
26
+ }): IMainMessage | undefined;
27
+ consumeService(): undefined;
28
+ private updateTempPoints;
29
+ private getChangeNodes;
30
30
  consume(props: {
31
31
  data: IWorkerMessage;
32
+ isFullWork: boolean;
33
+ isSubWorker?: boolean;
34
+ isMainThread?: boolean;
35
+ drawCount?: number;
36
+ removeDrawCount?: number;
32
37
  }): {
33
38
  workId: string;
34
39
  toolsType: EToolsKey;
35
40
  opt: import("./utils").ShapeOptions;
36
41
  type: EPostMessageType;
37
- rect?: undefined;
38
- removeIds?: undefined;
39
- newWorkDatas?: undefined;
40
- } | {
41
- type: EPostMessageType;
42
- rect: IRectType;
43
- removeIds: string[];
44
- newWorkDatas: Map<string, {
45
- op: number[];
46
- opt: BaseShapeOptions;
47
- workId: IworkId;
48
- toolsType: EToolsKey;
49
- }>;
50
42
  };
43
+ private computEraserPointLines;
51
44
  consumeAll(props: {
52
- data: IWorkerMessage;
45
+ workerEngine?: LocalWorkForFullWorker | SubLocalMainThreadImpl;
53
46
  }): {
54
47
  workId: string;
55
48
  toolsType: EToolsKey;
56
49
  opt: import("./utils").ShapeOptions;
57
50
  type: EPostMessageType;
58
- rect?: undefined;
59
- removeIds?: undefined;
60
- newWorkDatas?: undefined;
61
51
  } | {
52
+ rect: IRectType | undefined;
53
+ workId: string;
54
+ toolsType: EToolsKey;
55
+ opt: import("./utils").ShapeOptions;
62
56
  type: EPostMessageType;
63
- rect: IRectType;
64
- removeIds: string[];
65
- newWorkDatas: Map<string, {
66
- op: number[];
67
- opt: BaseShapeOptions;
68
- workId: IworkId;
69
- toolsType: EToolsKey;
70
- }>;
57
+ } | {
58
+ type: EPostMessageType;
59
+ dataType: EDataType;
60
+ rect: IRectType | undefined;
61
+ ops: string;
62
+ willNewNodes: Map<string, BaseNodeMapItem>;
63
+ willDeleteNodes: Set<string>;
64
+ workId: string;
65
+ toolsType: EToolsKey;
66
+ opt: import("./utils").ShapeOptions;
71
67
  };
72
68
  clearTmpPoints(): void;
73
- private getCanEraserNodeMap;
74
69
  }
@@ -1,14 +1,16 @@
1
1
  import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
2
2
  import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
3
3
  import { IWorkerMessage, IRectType, BaseNodeMapItem } from "../types";
4
+ import type { IMainMessage } from "../types";
4
5
  import { Point2d } from "../utils/primitives/Point2d";
5
6
  import type { LocalWorkForFullWorker } from "../worker/fullWorkerLocal";
6
- import type { SubLocalThreadImpl } from "../mainThread/subLocalThread";
7
- export type SerializerEraserLines = Array<SerializerEraserItem>;
7
+ import type { SubLocalMainThreadImpl } from "../mainThread/subLocalThread";
8
8
  export interface SerializerEraserItem {
9
9
  op: number[][];
10
10
  thickness: number;
11
+ workId: string;
11
12
  }
13
+ export type SerializerEraserLines = Array<SerializerEraserItem>;
12
14
  export interface BitMapEraserOptions extends BaseShapeOptions {
13
15
  thickness: number;
14
16
  }
@@ -23,42 +25,32 @@ export declare class BitMapEraserShape extends BaseShapeTool {
23
25
  worldScaling: [number, number];
24
26
  eraserRect: IRectType | undefined;
25
27
  eraserPolyline?: [number, number, number, number];
26
- syncUnitTime: number;
27
- private syncIndex;
28
- private syncTimestamp;
28
+ oldRect: IRectType | undefined;
29
29
  constructor(props: BaseShapeToolProps);
30
- consumeService(params: {
31
- op: number[];
32
- isFullWork?: boolean;
33
- }): IRectType | undefined;
30
+ /** 批量合并消费本地数据,返回绘制结果 */
31
+ combineConsume(props: {
32
+ workerEngine?: LocalWorkForFullWorker | SubLocalMainThreadImpl;
33
+ }): IMainMessage | undefined;
34
+ consumeService(): undefined;
34
35
  private updateTempPoints;
35
36
  private getChangeNodes;
36
- reRenderEffectNodes(props: {
37
- willUpdateNodes: Map<string, BaseNodeMapItem>;
38
- worker: LocalWorkForFullWorker | SubLocalThreadImpl;
39
- }): Promise<IRectType | undefined>;
40
37
  consume(props: {
41
38
  data: IWorkerMessage;
39
+ isFullWork: boolean;
40
+ isSubWorker?: boolean;
41
+ isMainThread?: boolean;
42
+ drawCount?: number;
43
+ removeDrawCount?: number;
42
44
  }): {
43
45
  workId: string;
44
46
  toolsType: EToolsKey;
45
47
  opt: import("./utils").ShapeOptions;
46
48
  type: EPostMessageType;
47
- } | {
48
- type: EPostMessageType;
49
- dataType: EDataType;
50
- rect: IRectType | undefined;
51
- op: number[] | undefined;
52
- index: number | undefined;
53
- updateNodeOpt: {
54
- useAnimation: boolean;
55
- };
56
- workId: string;
57
- toolsType: EToolsKey;
58
- opt: import("./utils").ShapeOptions;
59
49
  };
60
- private draw;
61
- consumeAll(): {
50
+ private computEraserPointLines;
51
+ consumeAll(props: {
52
+ workerEngine?: LocalWorkForFullWorker | SubLocalMainThreadImpl;
53
+ }): {
62
54
  workId: string;
63
55
  toolsType: EToolsKey;
64
56
  opt: import("./utils").ShapeOptions;
@@ -75,6 +67,7 @@ export declare class BitMapEraserShape extends BaseShapeTool {
75
67
  rect: IRectType | undefined;
76
68
  ops: string;
77
69
  willUpdateNodes: Map<string, BaseNodeMapItem>;
70
+ willDeleteNodes: Set<string>;
78
71
  workId: string;
79
72
  toolsType: EToolsKey;
80
73
  opt: import("./utils").ShapeOptions;
@@ -1,7 +1,7 @@
1
1
  import { IWorkerMessage, IRectType, IUpdateNodeOpt } from "../types";
2
- import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
2
+ import { EDataType, EPostMessageType, EScaleType, EToolsKey, EventWorkState } from "../enum";
3
3
  import { Point2d } from "../utils/primitives/Point2d";
4
- import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
4
+ import { BaseConsumeResultType, BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
5
5
  import { VNodeManager } from "../vNodeManager";
6
6
  import { ShapeNodes } from "./utils";
7
7
  import { EStrokeType } from "../../plugin/types";
@@ -14,7 +14,7 @@ export interface PolygonOptions extends BaseShapeOptions {
14
14
  }
15
15
  export declare class PolygonShape extends BaseShapeTool {
16
16
  readonly canRotate: boolean;
17
- readonly scaleType: EScaleType;
17
+ scaleType: EScaleType;
18
18
  readonly toolsType: EToolsKey;
19
19
  protected tmpPoints: Array<Point2d>;
20
20
  protected workOptions: PolygonOptions;
@@ -27,29 +27,16 @@ export declare class PolygonShape extends BaseShapeTool {
27
27
  isClearAll?: boolean;
28
28
  isSubWorker?: boolean;
29
29
  isMainThread?: boolean;
30
- }): {
31
- type: EPostMessageType;
32
- } | {
33
- workId: string;
34
- toolsType: EToolsKey;
35
- opt: import("./utils").ShapeOptions;
36
- type: EPostMessageType;
37
- dataType: EDataType;
38
- op: number[];
39
- isSync: boolean;
40
- index: number;
41
- } | {
42
- workId: string;
43
- toolsType: EToolsKey;
44
- opt: import("./utils").ShapeOptions;
45
- rect: IRectType | undefined;
46
- type: EPostMessageType;
47
- dataType: EDataType;
48
- };
30
+ smoothSync?: boolean;
31
+ isSimpleWorker?: boolean;
32
+ }): BaseConsumeResultType;
49
33
  consumeAll(): {
50
34
  type: EPostMessageType;
51
35
  removeIds: string[];
52
36
  } | {
37
+ updateNodeOpt: {
38
+ useAnimation: boolean;
39
+ };
53
40
  workId: string;
54
41
  toolsType: EToolsKey;
55
42
  opt: import("./utils").ShapeOptions;
@@ -66,6 +53,7 @@ export declare class PolygonShape extends BaseShapeTool {
66
53
  consumeService(props: {
67
54
  op: number[];
68
55
  isFullWork: boolean;
56
+ workState?: EventWorkState;
69
57
  }): IRectType | undefined;
70
58
  clearTmpPoints(): void;
71
59
  static updateNodeOpt(param: {
@@ -1,7 +1,7 @@
1
1
  import { IWorkerMessage, IRectType, IUpdateNodeOpt } from "../types";
2
- import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
2
+ import { EDataType, EPostMessageType, EScaleType, EToolsKey, EventWorkState } from "../enum";
3
3
  import { Point2d } from "../utils/primitives/Point2d";
4
- import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
4
+ import { BaseConsumeResultType, BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
5
5
  import { VNodeManager } from "../vNodeManager";
6
6
  import { ShapeNodes } from "./utils";
7
7
  import { EStrokeType } from "../../plugin/types";
@@ -13,7 +13,7 @@ export interface RectangleOptions extends BaseShapeOptions {
13
13
  }
14
14
  export declare class RectangleShape extends BaseShapeTool {
15
15
  readonly canRotate: boolean;
16
- readonly scaleType: EScaleType;
16
+ scaleType: EScaleType;
17
17
  readonly toolsType: EToolsKey;
18
18
  protected tmpPoints: Array<Point2d>;
19
19
  protected workOptions: RectangleOptions;
@@ -28,29 +28,16 @@ export declare class RectangleShape extends BaseShapeTool {
28
28
  isClearAll?: boolean;
29
29
  isSubWorker?: boolean;
30
30
  isMainThread?: boolean;
31
- }): {
32
- type: EPostMessageType;
33
- } | {
34
- workId: string;
35
- toolsType: EToolsKey;
36
- opt: import("./utils").ShapeOptions;
37
- type: EPostMessageType;
38
- dataType: EDataType;
39
- op: number[];
40
- isSync: boolean;
41
- index: number;
42
- } | {
43
- workId: string;
44
- toolsType: EToolsKey;
45
- opt: import("./utils").ShapeOptions;
46
- rect: IRectType | undefined;
47
- type: EPostMessageType;
48
- dataType: EDataType;
49
- };
31
+ smoothSync?: boolean;
32
+ isSimpleWorker?: boolean;
33
+ }): BaseConsumeResultType;
50
34
  consumeAll(): {
51
35
  type: EPostMessageType;
52
36
  removeIds: string[];
53
37
  } | {
38
+ updateNodeOpt: {
39
+ useAnimation: boolean;
40
+ };
54
41
  workId: string;
55
42
  toolsType: EToolsKey;
56
43
  opt: import("./utils").ShapeOptions;
@@ -67,6 +54,7 @@ export declare class RectangleShape extends BaseShapeTool {
67
54
  op: number[];
68
55
  isFullWork: boolean;
69
56
  replaceId?: string;
57
+ workState?: EventWorkState;
70
58
  }): IRectType | undefined;
71
59
  clearTmpPoints(): void;
72
60
  static updateNodeOpt(param: {
@@ -1,4 +1,4 @@
1
- import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
1
+ import { BaseConsumeResultType, BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
2
2
  import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
3
3
  import { IWorkerMessage, IMainMessage, IRectType, IUpdateNodeOpt, IServiceWorkItem } from "../types";
4
4
  import { Point2d } from "../utils/primitives/Point2d";
@@ -6,7 +6,7 @@ import type { VNodeManager } from "../vNodeManager";
6
6
  import { TextOptions } from "../../component/textEditor/types";
7
7
  import { LocalWorkForFullWorker } from "../worker/fullWorkerLocal";
8
8
  import { ShapeOptType } from "../../displayer/types";
9
- import type { SubLocalThreadImpl } from "../mainThread/subLocalThread";
9
+ import type { SubLocalMainThreadImpl } from "../mainThread/subLocalThread";
10
10
  import { EStrokeType } from "../../plugin";
11
11
  export interface SelectorOptions extends BaseShapeOptions {
12
12
  }
@@ -14,6 +14,7 @@ export declare class SelectorShape extends BaseShapeTool {
14
14
  readonly toolsType: EToolsKey;
15
15
  static selectorBorderId: string;
16
16
  protected tmpPoints: Array<Point2d>;
17
+ protected subTmpPoints: Array<Point2d>;
17
18
  protected workOptions: BaseShapeOptions;
18
19
  vNodes: VNodeManager;
19
20
  selectIds?: string[];
@@ -21,6 +22,7 @@ export declare class SelectorShape extends BaseShapeTool {
21
22
  strokeColor?: string;
22
23
  fillColor?: string;
23
24
  oldSelectRect?: IRectType;
25
+ oldSubSelectRect?: IRectType;
24
26
  canRotate: boolean;
25
27
  canTextEdit: boolean;
26
28
  canLock: boolean;
@@ -41,33 +43,18 @@ export declare class SelectorShape extends BaseShapeTool {
41
43
  getChildrenPoints(): [number, number][] | undefined;
42
44
  consume(props: {
43
45
  data: IWorkerMessage;
44
- }): {
46
+ isSubWorker?: boolean;
47
+ isSimpleWorker?: boolean;
48
+ }): BaseConsumeResultType | {
45
49
  type: EPostMessageType;
50
+ rect: undefined;
46
51
  } | {
47
52
  workId: string;
48
53
  toolsType: EToolsKey;
49
54
  opt: import("./utils").ShapeOptions;
55
+ rect: IRectType | undefined;
50
56
  type: EPostMessageType;
51
57
  dataType: EDataType;
52
- rect: IRectType | undefined;
53
- selectIds: never[] | string[];
54
- selectRect: IRectType | undefined;
55
- selectorColor: string | undefined;
56
- strokeColor: string | undefined;
57
- fillColor: string | undefined;
58
- textOpt: TextOptions | undefined;
59
- canTextEdit: boolean;
60
- canRotate: boolean;
61
- canLock: boolean;
62
- scaleType: EScaleType;
63
- willSyncService: boolean;
64
- points: [number, number][] | undefined;
65
- isLocked: boolean | undefined;
66
- toolsTypes: EToolsKey[] | undefined;
67
- shapeOpt: ShapeOptType | undefined;
68
- thickness: number | undefined;
69
- useStroke: boolean | undefined;
70
- strokeType: EStrokeType | undefined;
71
58
  };
72
59
  consumeAll(): {
73
60
  workId: string;
@@ -98,7 +85,38 @@ export declare class SelectorShape extends BaseShapeTool {
98
85
  type: EPostMessageType;
99
86
  };
100
87
  consumeService(): undefined;
88
+ private updateTempPointsForSubWorker;
89
+ private computDrawPoints;
90
+ private drawForSubWorker;
91
+ private transformData;
92
+ subWorkerConsume(props: {
93
+ data: IWorkerMessage;
94
+ isFullWork?: boolean;
95
+ }): {
96
+ type: EPostMessageType;
97
+ rect: undefined;
98
+ } | {
99
+ workId: string;
100
+ toolsType: EToolsKey;
101
+ opt: import("./utils").ShapeOptions;
102
+ rect: IRectType | undefined;
103
+ type: EPostMessageType;
104
+ dataType: EDataType;
105
+ };
106
+ subWorkerConsumeAll(props: {
107
+ data: IWorkerMessage;
108
+ isFullWork?: boolean;
109
+ }): {
110
+ workId: string;
111
+ toolsType: EToolsKey;
112
+ opt: import("./utils").ShapeOptions;
113
+ rect: IRectType | undefined;
114
+ type: EPostMessageType;
115
+ dataType: EDataType;
116
+ };
117
+ clearSubTmpPoints(): void;
101
118
  clearTmpPoints(): void;
119
+ clearSubSelectData(): void;
102
120
  clearSelectData(): void;
103
121
  private selectSingleTool;
104
122
  private unSelectedAllIds;
@@ -111,7 +129,7 @@ export declare class SelectorShape extends BaseShapeTool {
111
129
  vNodes: VNodeManager;
112
130
  selectIds?: string[];
113
131
  willSerializeData?: boolean;
114
- worker?: LocalWorkForFullWorker | SubLocalThreadImpl;
132
+ worker?: LocalWorkForFullWorker | SubLocalMainThreadImpl;
115
133
  offset?: [number, number];
116
134
  }): Promise<IMainMessage | undefined>;
117
135
  blurSelector(): {
@@ -122,7 +140,7 @@ export declare class SelectorShape extends BaseShapeTool {
122
140
  willSyncService: boolean;
123
141
  };
124
142
  getRightServiceId(serviceWorkId: string): string;
125
- selectServiceNode(workId: string, workItem: Pick<IServiceWorkItem, 'selectIds'>, isService: boolean): IRectType | undefined;
143
+ selectServiceNode(workId: string, workItem: Pick<IServiceWorkItem, "selectIds">, isService: boolean): IRectType | undefined;
126
144
  reRenderSelector(): IRectType | undefined;
127
145
  updateSelectIds(nextSelectIds: string[]): {
128
146
  bgRect: IRectType | undefined;
@@ -0,0 +1,36 @@
1
+ import { IRectType, IUpdateNodeOpt, BaseNodeMapItem, ISVGOptions } from "../types";
2
+ import { EPostMessageType, EScaleType, EToolsKey } from "../enum";
3
+ import { Point2d } from "../utils/primitives/Point2d";
4
+ import { BaseShapeTool } from "./base";
5
+ import { VNodeManager } from "../vNodeManager";
6
+ import { ShapeNodes } from "./utils";
7
+ import { ISVGShadowShapeToolProps } from "../../component/svg/base";
8
+ export declare class ISvgShadowShape extends BaseShapeTool {
9
+ readonly canRotate: boolean;
10
+ readonly scaleType: EScaleType;
11
+ readonly toolsType: EToolsKey;
12
+ protected tmpPoints: Array<Point2d>;
13
+ protected workOptions: ISVGOptions;
14
+ oldRect?: IRectType;
15
+ constructor(props: ISVGShadowShapeToolProps);
16
+ consume(): {
17
+ type: EPostMessageType;
18
+ };
19
+ consumeAll(): {
20
+ type: EPostMessageType;
21
+ };
22
+ private draw;
23
+ consumeService(props: {
24
+ isFullWork: boolean;
25
+ replaceId?: string;
26
+ }): IRectType | undefined;
27
+ clearTmpPoints(): void;
28
+ static getScaleType(opt: ISVGOptions): EScaleType.all | EScaleType.proportional;
29
+ static updateNodeOpt(param: {
30
+ node: ShapeNodes;
31
+ opt: IUpdateNodeOpt;
32
+ vNodes: VNodeManager;
33
+ willSerializeData?: boolean;
34
+ targetNode?: BaseNodeMapItem;
35
+ }): IRectType | undefined;
36
+ }