@netless/appliance-plugin 1.1.1 → 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 -15
  13. package/dist/collector/index.d.ts +4 -4
  14. package/dist/collector/types.d.ts +49 -16
  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 +15 -28
  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 -14
  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-BOTjIN.js +0 -439
  145. package/cdn/subWorker-CiM9eF.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-AeMVHd25.mjs +0 -2497
  152. package/dist/index-BJ92LABo.mjs +0 -14958
  153. package/dist/index-CjuLwRGu.js +0 -1
  154. package/dist/index-DqtwzzbR.js +0 -1
@@ -36,7 +36,9 @@ export declare enum EToolsKey {
36
36
  /** 聊天泡泡框 */
37
37
  SpeechBalloon = 18,
38
38
  /** 图片 */
39
- Image = 19
39
+ Image = 19,
40
+ /** background svg工具 */
41
+ BackgroundSVG = 20
40
42
  }
41
43
  export declare enum EDataType {
42
44
  /** 本地数据 */
@@ -46,14 +48,19 @@ export declare enum EDataType {
46
48
  /** 来源于worker */
47
49
  Worker = 3
48
50
  }
49
- export declare enum EvevtWorkState {
51
+ export declare enum EventWorkState {
52
+ /** 等待 */
50
53
  Pending = 0,
54
+ /** 开始 */
51
55
  Start = 1,
56
+ /** 进行中 */
52
57
  Doing = 2,
58
+ /** 完成 */
53
59
  Done = 3,
54
60
  /** 只读状态 */
55
61
  Unwritable = 4
56
62
  }
63
+ export { EventWorkState as EvevtWorkState };
57
64
  /**
58
65
  * 事件消息类型
59
66
  */
@@ -101,9 +108,7 @@ export declare enum EPostMessageType {
101
108
  /** 前端日志 */
102
109
  Console = 20,
103
110
  /** 优先激活worker */
104
- PriorityWorker = 21,
105
111
  /** 优先激活worker */
106
- PriorityMainThreadWorker = 22,
107
112
  /** 获取图片位图 */
108
113
  GetImageBitMap = 23,
109
114
  /** 授权可写权限 */
@@ -113,7 +118,21 @@ export declare enum EPostMessageType {
113
118
  /** 授权可以删除笔记权限 */
114
119
  AuthClear = 26,
115
120
  /** 授权可以操作page权限 */
116
- AuthPage = 27
121
+ AuthPage = 27,
122
+ /** 获取vNode信息 */
123
+ GetVNodeInfo = 28,
124
+ /** 变更dpr */
125
+ UpdateDpr = 29,
126
+ /** 设置字体库 */
127
+ SetFontFace = 30,
128
+ /** 上报错误 */
129
+ ReportError = 31,
130
+ /** 上报日志 */
131
+ ReportLog = 32,
132
+ /** 更新 background svg */
133
+ BackgroundSVGUpdate = 33,
134
+ /** delete background svg */
135
+ BackgroundSVGDelete = 34
117
136
  }
118
137
  export type ECanvasContextType = "webgl2" | "webgl" | "2d";
119
138
  export declare enum ECanvasShowType {
@@ -147,16 +166,58 @@ export declare enum EScaleType {
147
166
  /** 等比例 */
148
167
  proportional = 4
149
168
  }
150
- export declare enum EvevtWorkType {
151
- Pending = 0,
152
- Start = 1,
153
- Doing = 2,
154
- Done = 3,
155
- /** 只读状态 */
156
- Unwritable = 4
157
- }
158
169
  export declare enum EMatrixrRelationType {
170
+ /** 在内部, 无边界碰撞 */
159
171
  inside = 0,
172
+ /** 在外部 */
160
173
  outside = 1,
174
+ /** 有边界碰撞 */
161
175
  intersect = 2
162
176
  }
177
+ /**
178
+ * 分屏 操作类型
179
+ * view => scenes => pages => elements
180
+ */
181
+ export declare enum EOperationType {
182
+ /** 设置同步视口页面 */
183
+ renderPage = "renderPage",
184
+ /** 新增页面 */
185
+ addPage = "addPage",
186
+ /** 删除页面 */
187
+ deletePage = "deletePage",
188
+ /** 新增笔记 */
189
+ addElement = "addElement",
190
+ /** 删除笔记 */
191
+ deleteElement = "deleteElement",
192
+ /** 清空页面中的所有笔记 */
193
+ clearPage = "clearPage",
194
+ /** 清空场景下的所有页面*/
195
+ clearViewScenePath = "clearViewScenePath",
196
+ /** 清空view */
197
+ clearView = "clearView",
198
+ /** 同步UndoStack */
199
+ syncUndoStack = "syncUndoStack",
200
+ /** 同步RodoStack */
201
+ syncRedoStack = "syncRedoStack"
202
+ }
203
+ /**
204
+ * 笔记过滤 操作类型
205
+ */
206
+ export declare enum ERenderFilterType {
207
+ /** 设置全量权限 */
208
+ setAuth = "setAuth",
209
+ /** 设置可显权限 */
210
+ setShow = "addShow",
211
+ /** 设置可隐藏权限 */
212
+ setHide = "setHide",
213
+ /** 设置可删除权限 */
214
+ setClear = "setClear"
215
+ }
216
+ export declare enum EImageType {
217
+ Image = "image",
218
+ Iconify = "iconify"
219
+ }
220
+ export declare enum ESVGType {
221
+ url = "url",
222
+ markmap = "markmap"
223
+ }
@@ -1,3 +1,3 @@
1
- export * from './enum';
2
- export * from './types';
3
- export * from './const';
1
+ export * from "./enum";
2
+ export * from "./types";
3
+ export * from "./const";
@@ -1,23 +1,32 @@
1
- import EventEmitter2 from "eventemitter2";
2
- import { BaseCollectorReducerAction, DiffOneData, Uid } from "../collector";
1
+ import type EventEmitter2 from "eventemitter2";
2
+ import { BaseCollectorReducerAction, DiffOneData } from "../collector";
3
3
  import { BaseApplianceManager } from "../plugin/baseApplianceManager";
4
- import { IActiveToolsDataType, IActiveWorkDataType, ICameraOpt, IMainMessage, IRectType, IUpdateNodeOpt, IWorkerMessage, IqueryTask, IworkId, ViewWorkerOptions } from "./types";
4
+ import { BaseNodeMapItem, IActiveToolsDataType, IActiveWorkDataType, ICameraOpt, IMainMessage, IRectType, IUpdateNodeOpt, IWorkerMessage, IqueryTask, IworkId, ViewWorkerOptions } from "./types";
5
5
  import { BaseSubWorkModuleProps } from "../plugin/types";
6
- import type { ImageInformation, PriorityType, _SetTrue } from "../plugin/types";
6
+ import type { ISVGMarkmapInformation, ISVGUrlInformation, IconifyInformation, ImageInformation, MarkmapId, _SetTrue } from "../plugin/types";
7
7
  import { MethodBuilderMain } from "./msgEvent";
8
- import { EvevtWorkState } from "./enum";
8
+ import { EventWorkState } from "./enum";
9
9
  import { BaseShapeOptions } from "./tools";
10
+ import { AppViewDisplayerManager, MainViewDisplayerManager } from "../plugin/baseViewContainerManager";
10
11
  export declare abstract class MasterController {
11
12
  /** 异步同步时间间隔 */
12
- maxLastSyncTime: number;
13
+ abstract readonly maxLastSyncTime: number;
14
+ /** 合并绘制时间间隔 */
15
+ abstract readonly combineUnitTime: number;
16
+ /** 最大合并橡皮擦处理时间 */
17
+ abstract readonly maxCombineEraserTime: number;
18
+ /** 平滑同步 */
19
+ abstract readonly smoothSync: boolean;
13
20
  /** 插件管理器 */
14
- readonly abstract control: BaseApplianceManager;
15
- readonly abstract internalMsgEmitter: EventEmitter2;
21
+ abstract readonly control: BaseApplianceManager;
22
+ abstract readonly internalMsgEmitter: EventEmitter2;
23
+ abstract readonly publicMsgEmitter: EventEmitter2;
16
24
  /** worker线程管理器 */
17
25
  /** 本地原始点数据批任务数据池 */
18
26
  protected abstract localPointsBatchData: Map<IworkId, {
19
- state: EvevtWorkState;
27
+ state: EventWorkState;
20
28
  points: number[];
29
+ rawPoints: number[];
21
30
  isFullWork: boolean;
22
31
  viewId: string;
23
32
  }>;
@@ -26,11 +35,13 @@ export declare abstract class MasterController {
26
35
  /** 主线程和工作线程通信机 */
27
36
  protected abstract fullWorker: Worker;
28
37
  /** 子线程和工作线程通信机 */
29
- protected abstract subWorker: Worker;
38
+ protected abstract subWorker?: Worker;
30
39
  /** 当前选中的工具配置数据 */
31
40
  abstract currentToolsData?: IActiveToolsDataType;
32
41
  /** 当前工作任务数据 */
33
42
  protected abstract currentLocalWorkData: IActiveWorkDataType;
43
+ get now(): number;
44
+ get newWorkId(): string;
34
45
  /** 设置当前选中的工具配置数据 */
35
46
  setCurrentToolsData(currentToolsData: IActiveToolsDataType): void;
36
47
  getCurrentToolsData(): IActiveToolsDataType | undefined;
@@ -39,7 +50,7 @@ export declare abstract class MasterController {
39
50
  /** 获取当前激活的工作任务id */
40
51
  protected getWorkId(): IworkId | undefined;
41
52
  /** 获取当前work的工作状态 */
42
- getWorkState(): EvevtWorkState;
53
+ get workState(): EventWorkState;
43
54
  /** 用于接收服务端同步的数据 */
44
55
  abstract onServiceDerive(key: string, data: DiffOneData<BaseCollectorReducerAction | undefined>): void;
45
56
  /** 消费批处理池数据 */
@@ -70,15 +81,18 @@ export declare abstract class MasterController {
70
81
  /** 更新指定view场景路径下的相机参数 */
71
82
  abstract updateCamera(viewId: string, cameraOpt: ICameraOpt): void;
72
83
  /** 创建一个新的viewWorker */
73
- abstract createViewWorker(viewId: string, options: ViewWorkerOptions): void;
84
+ abstract createViewWorker(viewId: string, options: ViewWorkerOptions, displayer: MainViewDisplayerManager | AppViewDisplayerManager): void;
74
85
  /** 本地发送cursor事件 */
75
86
  abstract sendCursorEvent(point: [number | undefined, number | undefined], viewId: string): void;
76
87
  /** 获取某个场景路径下的包围盒 */
77
88
  abstract getBoundingRect(scenePath: string): Promise<IRectType> | undefined;
78
- abstract getSnapshot(scenePath: string, width?: number, height?: number, camera?: Pick<ICameraOpt, "centerX" | "centerY" | "scale">): Promise<ImageBitmap> | undefined;
89
+ abstract getSnapshot(scenePath: string, width?: number, height?: number, camera?: Pick<ICameraOpt, "centerX" | "centerY" | "scale">): Promise<Array<ImageBitmap | HTMLImageElement | null>> | undefined;
79
90
  /** 根据查询条件查询事件任务处理批量池中任务 */
80
91
  abstract queryTaskBatchData(query: IqueryTask): IWorkerMessage[];
81
92
  abstract insertImage(viewId: string, imageInfo: ImageInformation): void;
93
+ abstract insertIconify(viewId: string, iconifyInfo: IconifyInformation & {
94
+ strokeColor?: string;
95
+ }): void;
82
96
  abstract lockImage(viewId: string, uuid: string, locked: boolean): void;
83
97
  abstract completeImageUpload(viewId: string, uuid: string, src: string): void;
84
98
  abstract getImagesInformation(scenePath: string): ImageInformation[];
@@ -88,27 +102,39 @@ export declare abstract class MasterController {
88
102
  abstract checkDrawingWork(viewId: string): void;
89
103
  }
90
104
  export declare class MasterControlForWorker extends MasterController {
105
+ /** 异步同步时间间隔 */
106
+ readonly maxLastSyncTime: number;
107
+ /** 合并绘制时间间隔 */
108
+ readonly combineUnitTime: number;
109
+ /** 最大合并橡皮擦处理时间 */
110
+ readonly maxCombineEraserTime: number;
111
+ /** 平滑同步 */
112
+ readonly smoothSync: boolean;
91
113
  isActive: boolean;
92
114
  currentToolsData?: IActiveToolsDataType;
93
115
  protected currentLocalWorkData: IActiveWorkDataType;
94
116
  control: BaseApplianceManager;
95
117
  internalMsgEmitter: EventEmitter2;
118
+ publicMsgEmitter: EventEmitter2;
96
119
  taskBatchData: Set<IWorkerMessage>;
97
120
  protected fullWorker: Worker;
98
- protected subWorker: Worker;
121
+ protected subWorker?: Worker;
99
122
  private fullWorkerUrl;
100
123
  private subWorkerUrl;
101
124
  methodBuilder?: MethodBuilderMain;
102
125
  private zIndexNodeMethod?;
103
126
  /** master\fullwoker\subworker 三者高频绘制时队列化参数 */
104
127
  private subWorkerDrawCount;
105
- private wokerDrawCount;
128
+ private fullWorkerDrawCount;
106
129
  private maxDrawCount;
130
+ private _consumeCount;
131
+ private _postCount;
107
132
  private reRenders;
108
133
  private localWorkViewId?;
109
134
  protected localPointsBatchData: Map<IworkId, {
110
- state: EvevtWorkState;
135
+ state: EventWorkState;
111
136
  points: number[];
137
+ rawPoints: number[];
112
138
  /** 完整的绘制 */
113
139
  isFullWork: boolean;
114
140
  viewId: string;
@@ -129,11 +155,22 @@ export declare class MasterControlForWorker extends MasterController {
129
155
  private animationId;
130
156
  private tmpImageConfigMap;
131
157
  private mainThread?;
158
+ private backgroundThreadManager?;
132
159
  private willSelectorWorkId?;
133
160
  private isLockSentEventCursor;
134
- private subMainThreadWorker?;
161
+ private getVNodeInfoResolveMap;
162
+ private setFontFacesResolve;
163
+ private isLocalWorkActive;
164
+ /** IndexedDB工具类实例 */
165
+ private readonly indexDBUtils;
166
+ private markmapIdResolveMap;
135
167
  constructor(props: BaseSubWorkModuleProps);
168
+ get isBezier(): boolean;
136
169
  destroy(): void;
170
+ private get consumeCount();
171
+ private set consumeCount(value);
172
+ private get postCount();
173
+ private set postCount(value);
137
174
  private get viewContainerManager();
138
175
  private get collector();
139
176
  private get isRunSubWork();
@@ -141,23 +178,40 @@ export declare class MasterControlForWorker extends MasterController {
141
178
  private get isUseZIndex();
142
179
  private get isCanRecordUndoRedo();
143
180
  private get isCanSentCursor();
181
+ private get isPostCountType();
182
+ private get isCanPostDraw();
144
183
  private get isCanStartEventConsum();
145
184
  init(): Promise<void>;
185
+ private useBackgroundThread;
146
186
  private useMainThread;
147
187
  on(): Promise<void>;
188
+ /**
189
+ * 清理字体缓存数据库
190
+ */
191
+ clearFontCache(): Promise<boolean>;
192
+ /**
193
+ * 获取字体缓存状态
194
+ */
195
+ getFontCacheStatus(): Promise<{
196
+ count: number;
197
+ totalSize: number;
198
+ }>;
199
+ loadFontInMainThread(url: string): Promise<ArrayBuffer | undefined>;
200
+ private validateFontData;
148
201
  clearReRenders(num?: number): void;
149
202
  get isBusy(): boolean;
150
203
  getLockSentEventCursor(): boolean;
151
204
  setLockSentEventCursor(bol: boolean): void;
152
- getTasksqueueState(): EvevtWorkState.Doing | EvevtWorkState.Done;
205
+ getTasksqueueState(): EventWorkState.Doing | EventWorkState.Done;
153
206
  setMaxDrawCount(num: number): void;
154
- getWorkDrawCount(): number;
155
- getSubWorkerDrawCount(): number;
207
+ getFullWorkDrawCount(): number;
156
208
  getMaxDrawCount(): number;
157
- setWorkDrawCount(num: number): void;
158
209
  setSubWorkerDrawCount(num: number): void;
210
+ setConsumeCount(num: number): void;
211
+ getConsumeCount(): number;
159
212
  setWorkerTasksqueueCount(num: number): void;
160
213
  collectorSyncData(sp: IMainMessage[]): void;
214
+ foceUndoTickerEnd(id: number, viewId: string): void;
161
215
  private collectorAsyncData;
162
216
  private onLocalEventEnd;
163
217
  private onLocalEventDoing;
@@ -167,20 +221,27 @@ export declare class MasterControlForWorker extends MasterController {
167
221
  private deleteLocalPoint;
168
222
  private getLocalPointInfo;
169
223
  getLocalPointsInfo(): Map<IworkId, {
170
- state: EvevtWorkState;
224
+ state: EventWorkState;
171
225
  points: number[];
226
+ rawPoints: number[];
172
227
  /** 完整的绘制 */
173
228
  isFullWork: boolean;
174
229
  viewId: string;
175
230
  opt?: BaseShapeOptions;
176
231
  }>;
232
+ private shouldUseAutoShape;
233
+ private toAutoShapePoints;
234
+ private logAutoShapeResult;
235
+ private emitAutoShapeResult;
236
+ private createAutoShapeTask;
237
+ private mapAutoShapeFallback;
177
238
  private correctStorage;
178
- originalEventLintener(workState: EvevtWorkState, point: [number, number], viewId: string): Promise<void>;
239
+ originalEventLintener(workState: EventWorkState, point: [number, number], viewId: string): Promise<void>;
179
240
  getLocalWorkViewId(): string | undefined;
180
241
  setLocalWorkViewId(viewId?: string): void;
181
242
  setCurrentToolsData(currentToolsData: IActiveToolsDataType): void;
182
243
  private prepareOnceWork;
183
- createViewWorker(viewId: string, options: ViewWorkerOptions): void;
244
+ createViewWorker(viewId: string, options: ViewWorkerOptions, displayer: MainViewDisplayerManager | AppViewDisplayerManager): void;
184
245
  destroyViewWorker(viewId: string, isLocal?: boolean): void;
185
246
  onServiceDerive(key: string, data: DiffOneData<BaseCollectorReducerAction | undefined>): void;
186
247
  pullServiceData(viewId: string, scenePath: string, options?: {
@@ -192,9 +253,12 @@ export declare class MasterControlForWorker extends MasterController {
192
253
  unWritable(): void;
193
254
  abled(): void;
194
255
  isAbled(): boolean;
256
+ postMainThread(msg: Set<IWorkerMessage>): void;
257
+ postWebWorker(msg: Set<IWorkerMessage>): void;
195
258
  post(msg: Set<IWorkerMessage>): void;
196
259
  updateNode(workId: IworkId, updateNodeOpt: IUpdateNodeOpt, viewId: string, scenePath: string): void;
197
260
  destroyTaskQueue(): void;
261
+ updateDpr(viewId: string, dpr: number): void;
198
262
  updateCamera(viewId: string, cameraOpt: ICameraOpt): void;
199
263
  private updateCameraDone;
200
264
  private consumeQueue;
@@ -203,12 +267,19 @@ export declare class MasterControlForWorker extends MasterController {
203
267
  private setZIndex;
204
268
  checkDrawingWork(vId: string): void;
205
269
  removeDrawingWork(vId: string): void;
270
+ removeNodes(viewId: string, removeIds: string[]): void;
206
271
  hoverCursor(point: [number, number], viewId: string): void;
207
272
  blurCursor(viewId: string): void;
208
273
  sendCursorEvent(p: [number | undefined, number | undefined], viewId: string): void;
209
274
  getBoundingRect(scenePath: string): Promise<IRectType> | undefined;
210
- getSnapshot(scenePath: string, width?: number, height?: number, camera?: Pick<ICameraOpt, "centerX" | "centerY" | "scale">): Promise<ImageBitmap> | undefined;
275
+ getSnapshot(scenePath: string, width?: number, height?: number, camera?: Pick<ICameraOpt, "centerX" | "centerY" | "scale">): Promise<(ImageBitmap | HTMLImageElement | null)[]> | undefined;
211
276
  queryTaskBatchData(query: IqueryTask): IWorkerMessage[];
277
+ insertIconify(viewId: string, iconifyInfo: IconifyInformation & {
278
+ strokeColor?: string;
279
+ }): void;
280
+ insertBackgroundSVG(viewId: string, svgInfo: ISVGUrlInformation): void;
281
+ insertBackgroundMarkMap(viewId: string, svgInfo: ISVGMarkmapInformation): Promise<MarkmapId | undefined>;
282
+ updateBackgroundMarkMap(viewId: string, markmapId: string, svgInfo: ISVGMarkmapInformation): Promise<void>;
212
283
  insertImage(viewId: string, imageInfo: ImageInformation): void;
213
284
  lockImage(viewId: string, uuid: string, locked: boolean): void;
214
285
  completeImageUpload(viewId: string, uuid: string, src: string): void;
@@ -216,6 +287,9 @@ export declare class MasterControlForWorker extends MasterController {
216
287
  setShapeSelectorByWorkId(workId: string, viewId: string): void;
217
288
  blurSelector(viewId: string, scenePath: string, workId?: string): void;
218
289
  consoleWorkerInfo(): void;
219
- setPriority(priority: PriorityType): void;
220
- sendClearUids(viewId: string, clearUids?: _SetTrue<Uid>): void;
290
+ sendClearUids(viewId: string, clearUids?: _SetTrue): void;
291
+ getVNodeInfo(uuid: string, viewId: string, workIds: string[]): Promise<{
292
+ uuid: string;
293
+ vInfo?: BaseNodeMapItem[];
294
+ } | undefined>;
221
295
  }
@@ -1,7 +1,7 @@
1
1
  import { Group } from "spritejs";
2
- import { IBatchMainMessage, ICameraOpt, ILayerOptionType, IMainMessage, IOffscreenCanvasOptionType, IWorkerMessage } from "../types";
2
+ import { IBatchMainMessage, ICameraOpt, ILayerOptionType, IMainMessage, IOffscreenCanvasOptionType, IRectType, IWorkerMessage } from "../types";
3
3
  import { VNodeManager } from "../vNodeManager";
4
- import type { MasterControlForWorker } from '../mainEngine';
4
+ import type { MasterControlForWorker } from "../mainEngine";
5
5
  import type { AppViewDisplayerManager, MainViewDisplayerManager } from "../../plugin/baseViewContainerManager";
6
6
  import { EDataType } from "../enum";
7
7
  import { SubTopThread } from "./subTopThread";
@@ -14,7 +14,7 @@ export interface IMainThreadInitOption {
14
14
  layerOpt: ILayerOptionType;
15
15
  master: MasterControlForWorker;
16
16
  displayer: MainViewDisplayerManager | AppViewDisplayerManager;
17
- post(sp: Omit<IBatchMainMessage, 'render'>): void;
17
+ post(sp: Omit<IBatchMainMessage, "render">): void;
18
18
  }
19
19
  export interface ISubThreadInitOption {
20
20
  thread: MainThreadEngineImpl;
@@ -67,11 +67,15 @@ export declare class MainThreadEngineImpl implements MainThreadEngine {
67
67
  private imageResolveMap;
68
68
  constructor(viewId: string, opt: IMainThreadInitOption);
69
69
  getCachedImages(imageSrc: string): ImageBitmap | undefined;
70
+ getCachedImagesByWorkId(workId: string): ImageBitmap | undefined;
71
+ deleteCachedImagesByWorkId(workId: string): void;
70
72
  clearCacheImages(): void;
71
73
  clearImageResolveMap(): void;
72
- post(msg: Omit<IBatchMainMessage, 'render'>): void;
74
+ post(msg: Omit<IBatchMainMessage, "render">): void;
75
+ updateDpr(dpr: number): void;
73
76
  on(msg: IWorkerMessage): Promise<void>;
74
- loadImageBitMap(msg: Pick<IWorkerMessage, 'toolsType' | 'opt' | 'workId'>): Promise<ImageBitmap | undefined>;
77
+ private getIconSize;
78
+ loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId">): Promise<ImageBitmap | undefined>;
75
79
  private removeNode;
76
80
  consumeFull(type: EDataType, data: IWorkerMessage): Promise<void>;
77
81
  setCameraOpt(cameraOpt: ICameraOpt): void;
@@ -82,7 +86,7 @@ export declare class MainThreadEngineImpl implements MainThreadEngine {
82
86
  private consumeDrawAll;
83
87
  private consumeDraw;
84
88
  private updateCamera;
85
- private getSceneRect;
89
+ getSceneRect(): IRectType;
86
90
  private createScene;
87
91
  private createLayer;
88
92
  private updateScene;
@@ -7,7 +7,7 @@ export interface MainThreadManager {
7
7
  mainThreadMap: Map<string, MainThreadEngineImpl>;
8
8
  createMainThread(viewId: string, opt: IMainThreadInitOption): MainThreadEngineImpl;
9
9
  consume(msg: Set<IWorkerMessage>): Promise<void>;
10
- post(sp: Omit<IBatchMainMessage, 'render'>): void;
10
+ post(sp: Omit<IBatchMainMessage, "render">): void;
11
11
  destroy(): void;
12
12
  }
13
13
  export declare class MainThreadManagerImpl implements MainThreadManager {
@@ -15,7 +15,7 @@ export declare class MainThreadManagerImpl implements MainThreadManager {
15
15
  private snapshotThread?;
16
16
  master: MasterControlForWorker;
17
17
  constructor(master: MasterControlForWorker);
18
- post(msg: Omit<IBatchMainMessage, 'render'>): void;
18
+ post: (msg: Omit<IBatchMainMessage, "render">) => void;
19
19
  destroy(): void;
20
20
  createMainThread(viewId: string, opt: IMainThreadInitOption): MainThreadEngineImpl;
21
21
  createSnapshotThread(viewId: string, opt: IMainThreadInitOption): SnapshotThreadImpl;
@@ -5,6 +5,7 @@ import { IActiveToolsDataType, IBatchMainMessage, ICameraOpt, IRectType, IWorker
5
5
  import type { BaseShapeTool } from "../tools/base";
6
6
  import type { ImageShape } from "../tools/image";
7
7
  import { TextShape } from "../tools/text";
8
+ import { ISvgShadowShape } from "../tools/shadowSvg";
8
9
  export declare class SnapshotThreadImpl {
9
10
  viewId: string;
10
11
  fullLayer: Group;
@@ -18,15 +19,18 @@ export declare class SnapshotThreadImpl {
18
19
  private imageResolveMap;
19
20
  constructor(viewId: string, opt: IMainThreadInitOption);
20
21
  getCachedImages(imageSrc: string): ImageBitmap | undefined;
22
+ getCachedImagesByWorkId(workId: string): ImageBitmap | undefined;
23
+ deleteCachedImagesByWorkId(workId: string): void;
21
24
  clearCacheImages(): void;
22
25
  clearImageResolveMap(): void;
23
- post(msg: Omit<IBatchMainMessage, 'render'>): void;
26
+ post(msg: Omit<IBatchMainMessage, "render">): void;
24
27
  on(msg: IWorkerMessage): Promise<void>;
25
- loadImageBitMap(msg: Pick<IWorkerMessage, 'toolsType' | 'opt' | 'workId'>): Promise<ImageBitmap | undefined>;
28
+ private getIconSize;
29
+ loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId">): Promise<ImageBitmap | undefined>;
26
30
  createWorkShapeNode(opt: IActiveToolsDataType & {
27
31
  workId: string;
28
- }): import("../tools").PencilShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools").StarShape | TextShape | import("../tools").SelectorShape | ImageShape | import("../tools").ArrowShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools/pencilEraserBitMap").BitMapEraserShape | import("../tools/pencilEraser").PencilEraserShape | undefined;
29
- setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | undefined;
32
+ }): import("../tools").ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | TextShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools/pencilEraser").PencilEraserShape | import("../tools").BitMapEraserShape | import("../tools").SelectorShape | ImageShape | ISvgShadowShape | undefined;
33
+ setFullWork(data: Pick<IWorkerMessage, "workId" | "opt" | "toolsType">): BaseShapeTool | undefined;
30
34
  runFullWork(data: IWorkerMessage): Promise<IRectType | undefined>;
31
35
  private getSnapshot;
32
36
  private getSceneRect;
@@ -1,11 +1,13 @@
1
1
  import { IActiveToolsDataType, IWorkerMessage, IMainMessage, IUpdateSelectorPropsType, IBatchMainMessage } from "../types";
2
- import type { BaseShapeTool, BaseShapeOptions, SelectorShape, ImageShape, ShapeToolsClass, PencilShape } from "../tools";
2
+ import type { BaseShapeTool, BaseShapeOptions, SelectorShape, ImageShape, ShapeToolsClass } from "../tools";
3
3
  import { MainThreadEngineImpl, ISubThreadInitOption } from "./base";
4
4
  import { VNodeManager } from "../vNodeManager";
5
5
  import { EToolsKey } from "../enum";
6
6
  import { SubServiceThread } from "./subServiceThread";
7
7
  import { TextShape } from "../tools/text";
8
- import { BitMapEraserShape } from "../tools/pencilEraserBitMap";
8
+ import type { BitMapEraserShape } from "../tools/pencilEraserBitMap";
9
+ import type { PencilEraserShape } from "../tools/pencilEraser";
10
+ import { ISvgShadowShape } from "../tools/shadowSvg";
9
11
  export interface SubLocalThread {
10
12
  readonly vNodes: VNodeManager;
11
13
  readonly thread: MainThreadEngineImpl;
@@ -29,31 +31,32 @@ export interface SubLocalThread {
29
31
  blurSelector(data?: IWorkerMessage): Promise<void>;
30
32
  getWorkShape(workId: string): BaseShapeTool | undefined;
31
33
  getWorkShapes(): Map<string, BaseShapeTool>;
32
- setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): ShapeToolsClass | undefined;
34
+ setFullWork(data: Pick<IWorkerMessage, "workId" | "opt" | "toolsType">): ShapeToolsClass | undefined;
33
35
  consumeFull(data: IWorkerMessage): Promise<void>;
34
36
  removeWork(data: IWorkerMessage): void;
35
37
  removeSelector(data: IWorkerMessage): Promise<void>;
36
38
  updateFullSelectWork(data: IWorkerMessage): void;
37
39
  cursorHover(msg: IWorkerMessage): void;
40
+ cursorBlur(): void;
38
41
  checkTextActive(data: IWorkerMessage): Promise<void>;
39
42
  removeNode(key: string): void;
40
43
  updateSelector(params: IUpdateSelectorPropsType & {
41
44
  callback?: (props: {
42
45
  res?: IMainMessage;
43
46
  param: IUpdateSelectorPropsType;
44
- postData: Pick<IBatchMainMessage, 'sp' | 'render'>;
47
+ postData: Pick<IBatchMainMessage, "sp" | "render">;
45
48
  workShapeNode: SelectorShape;
46
49
  newServiceStore: Map<string, {
47
50
  opt: BaseShapeOptions;
48
51
  toolsType: EToolsKey;
49
52
  ops?: string;
50
53
  }>;
54
+ smoothSync?: boolean;
51
55
  }) => void;
52
56
  }): Promise<IMainMessage | undefined>;
53
- workShapesDone(scenePath: string, serviceWork: SubServiceThread): void;
54
57
  createLocalWork(data: IWorkerMessage): void;
55
58
  }
56
- export declare class SubLocalThreadImpl implements SubLocalThread {
59
+ export declare class SubLocalMainThreadImpl implements SubLocalThread {
57
60
  readonly vNodes: VNodeManager;
58
61
  readonly thread: MainThreadEngineImpl;
59
62
  workShapes: Map<string, BaseShapeTool>;
@@ -62,12 +65,15 @@ export declare class SubLocalThreadImpl implements SubLocalThread {
62
65
  private batchEraserWorks;
63
66
  private tmpOpt?;
64
67
  private syncUnitTime;
65
- private drawCount;
68
+ private fullWorkerDrawCount;
66
69
  private drawWorkActiveId?;
70
+ private consumeCount;
71
+ private combineTimerId?;
72
+ private combineDrawResolve?;
73
+ private combineDrawActiveId?;
67
74
  constructor(opt: ISubThreadInitOption);
68
- loadImageBitMap(msg: Pick<IWorkerMessage, 'toolsType' | 'opt' | 'workId'>): Promise<ImageBitmap | undefined>;
75
+ loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId">): Promise<ImageBitmap | undefined>;
69
76
  createLocalWork(data: IWorkerMessage): void;
70
- workShapesDone(scenePath: string, serviceWork: SubServiceThread): void;
71
77
  updateSelector(params: IUpdateSelectorPropsType & {
72
78
  callback?: ((props: {
73
79
  res?: IMainMessage | undefined;
@@ -79,18 +85,19 @@ export declare class SubLocalThreadImpl implements SubLocalThread {
79
85
  toolsType: EToolsKey;
80
86
  ops?: string | undefined;
81
87
  }>;
88
+ smoothSync?: boolean;
82
89
  }) => void) | undefined;
83
90
  }): Promise<IMainMessage | undefined>;
84
91
  destroy(): void;
85
92
  clearAll(): void;
86
93
  checkTextActive(data: IWorkerMessage): Promise<void>;
87
94
  cursorHover(msg: IWorkerMessage): void;
95
+ cursorBlur(): void;
88
96
  updateFullSelectWork(data: IWorkerMessage): void;
89
- private commandDeleteText;
90
97
  removeSelector(data: IWorkerMessage): Promise<void>;
91
98
  removeWork(data: IWorkerMessage): void;
92
99
  removeNode(key: string): void;
93
- setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | undefined;
100
+ setFullWork(data: Pick<IWorkerMessage, "workId" | "opt" | "toolsType">): BaseShapeTool | undefined;
94
101
  consumeFull(data: IWorkerMessage): Promise<void>;
95
102
  colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
96
103
  private runEffectSelectWork;
@@ -99,20 +106,18 @@ export declare class SubLocalThreadImpl implements SubLocalThread {
99
106
  reRenderSelector(willSyncService?: boolean): Promise<void> | undefined;
100
107
  blurSelector(data?: IWorkerMessage): Promise<void>;
101
108
  clearWorkShapeNodeCache(workId: string): void;
102
- private drawBitMapEraser;
103
109
  private drawBitMapEraserFull;
104
- private drawPencilEraser;
110
+ private drawPencilEraserFull;
105
111
  private drawEraser;
106
- private updateBatchEraserCombineNode;
107
- private batchEraserCombine;
108
112
  getWorkShape(workId: string): BaseShapeTool | undefined;
109
113
  getWorkShapes(): Map<string, BaseShapeTool>;
110
114
  consumeDraw(data: IWorkerMessage, serviceWork: SubServiceThread): void;
115
+ private drawEraserCombine;
111
116
  consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): void;
112
117
  getToolsOpt(): IActiveToolsDataType | undefined;
113
118
  setToolsOpt(opt: IActiveToolsDataType): void;
114
119
  setWorkOptions(workId: string, opt: BaseShapeOptions): void;
115
120
  createWorkShapeNode(opt: IActiveToolsDataType & {
116
121
  workId: string;
117
- }): PencilShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools").StarShape | TextShape | SelectorShape | ImageShape | import("../tools").ArrowShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | BitMapEraserShape | import("../tools/pencilEraser").PencilEraserShape | undefined;
122
+ }): import("../tools").ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | TextShape | import("../tools").LaserPenShape | import("../tools").EraserShape | PencilEraserShape | BitMapEraserShape | SelectorShape | ImageShape | ISvgShadowShape | undefined;
118
123
  }
@@ -12,7 +12,7 @@ export interface SubServiceThread {
12
12
  removeWork(data: IWorkerMessage): void;
13
13
  runSelectWork(data: IWorkerMessage): void;
14
14
  }
15
- export declare class SubServiceThreadImpl implements SubServiceThread {
15
+ export declare class SubServiceMainThreadImpl implements SubServiceThread {
16
16
  readonly vNodes: VNodeManager;
17
17
  readonly thread: MainThreadEngineImpl;
18
18
  workShapes: Map<string, IServiceWorkItem>;
@@ -22,7 +22,7 @@ export declare class SubServiceThreadImpl implements SubServiceThread {
22
22
  private animationId?;
23
23
  private syncUnitTime;
24
24
  constructor(opt: ISubThreadInitOption);
25
- loadImageBitMap(msg: Pick<IWorkerMessage, 'toolsType' | 'opt' | 'workId'>): Promise<ImageBitmap | undefined>;
25
+ loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId">): Promise<ImageBitmap | undefined>;
26
26
  destroy(): void;
27
27
  clearAll(): void;
28
28
  private runEffect;