@netless/appliance-plugin 1.0.0 → 1.0.2

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 (73) hide show
  1. package/README.md +1 -10
  2. package/cdn/cdn.js +1 -1
  3. package/cdn/fullWorker-6Cu08P.js +438 -0
  4. package/cdn/subWorker-B3CHpe.js +438 -0
  5. package/dist/appliance-plugin.js +1 -1
  6. package/dist/appliance-plugin.mjs +12 -11
  7. package/dist/collector/base.d.ts +3 -1
  8. package/dist/collector/collector.d.ts +5 -4
  9. package/dist/collector/eventCollector.d.ts +2 -1
  10. package/dist/collector/magixEventCollector.d.ts +30 -0
  11. package/dist/collector/types.d.ts +27 -7
  12. package/dist/component/textEditor/manager.d.ts +2 -2
  13. package/dist/component/textEditor/types.d.ts +0 -1
  14. package/dist/component/textEditor/view.d.ts +4 -1
  15. package/dist/core/const.d.ts +2 -0
  16. package/dist/core/enum.d.ts +12 -5
  17. package/dist/core/mainEngine.d.ts +31 -10
  18. package/dist/core/mainThread/base.d.ts +6 -2
  19. package/dist/core/mainThread/snapshotThread.d.ts +3 -3
  20. package/dist/core/mainThread/subLocalThread.d.ts +18 -10
  21. package/dist/core/mainThread/subServiceThread.d.ts +2 -1
  22. package/dist/core/mainThread/subTopThread.d.ts +15 -8
  23. package/dist/core/msgEvent/deleteNode/forMainThread.d.ts +1 -5
  24. package/dist/core/msgEvent/deleteNode/forWorker.d.ts +1 -5
  25. package/dist/core/msgEvent/scaleNode/forMain.d.ts +1 -0
  26. package/dist/core/msgEvent/setFont/forMain.d.ts +2 -1
  27. package/dist/core/tools/arrow.d.ts +36 -7
  28. package/dist/core/tools/base.d.ts +22 -8
  29. package/dist/core/tools/ellipse.d.ts +36 -7
  30. package/dist/core/tools/eraser.d.ts +40 -4
  31. package/dist/core/tools/image.d.ts +9 -5
  32. package/dist/core/tools/laserPen.d.ts +34 -4
  33. package/dist/core/tools/pencil.d.ts +37 -4
  34. package/dist/core/tools/polygon.d.ts +36 -7
  35. package/dist/core/tools/rectangle.d.ts +36 -7
  36. package/dist/core/tools/selector.d.ts +52 -4
  37. package/dist/core/tools/speechBalloon.d.ts +36 -8
  38. package/dist/core/tools/star.d.ts +36 -7
  39. package/dist/core/tools/straight.d.ts +36 -7
  40. package/dist/core/tools/text.d.ts +20 -10
  41. package/dist/core/tools/utils.d.ts +6 -5
  42. package/dist/core/types.d.ts +1 -1
  43. package/dist/core/utils/index.d.ts +10 -0
  44. package/dist/core/utils/math.d.ts +1 -0
  45. package/dist/core/{mainThread/vNodeManager.d.ts → vNodeManager.d.ts} +9 -3
  46. package/dist/core/worker/base.d.ts +18 -16
  47. package/dist/core/worker/fullWorkerLocal.d.ts +18 -9
  48. package/dist/core/worker/fullWorkerService.d.ts +10 -9
  49. package/dist/core/worker/subWorkerLocal.d.ts +5 -8
  50. package/dist/core/worker/subWorkerTopLayer.d.ts +13 -9
  51. package/dist/core/worker/workerManager.d.ts +18 -10
  52. package/dist/cursors/index.d.ts +44 -18
  53. package/dist/fullWorker.js +131 -146
  54. package/dist/index-CeTiLZdq.mjs +5619 -0
  55. package/dist/index-DHkeFixk.js +1 -0
  56. package/dist/index-DmkMw23K.mjs +9486 -0
  57. package/dist/index-Dmq7rqSP.js +1 -0
  58. package/dist/plugin/applianceSinglePlugin.d.ts +1 -0
  59. package/dist/plugin/baseApplianceManager.d.ts +7 -1
  60. package/dist/plugin/baseViewContainerManager.d.ts +0 -3
  61. package/dist/plugin/const.d.ts +11 -1
  62. package/dist/plugin/displayerView.d.ts +1 -3
  63. package/dist/plugin/multi/containerManager.d.ts +2 -1
  64. package/dist/style.css +1 -1
  65. package/dist/subWorker.js +131 -146
  66. package/package.json +3 -4
  67. package/cdn/fullWorker-CIvt1j.js +0 -453
  68. package/cdn/subWorker-BE-0dg.js +0 -453
  69. package/dist/core/worker/vNodeManager.d.ts +0 -34
  70. package/dist/index-BcIJbozZ.js +0 -1
  71. package/dist/index-C1YKkWHE.mjs +0 -9090
  72. package/dist/index-ClJPZxV-.mjs +0 -5462
  73. package/dist/index-SsMz_ohn.js +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-SsMz_ohn.js");exports.ActiveContainerType=e.ActiveContainerType;exports.ApplianceMultiPlugin=e.ApplianceMultiPlugin;exports.ApplianceNames=e.ApplianceNames;exports.ApplianceSigleWrapper=e.ApplianceSigleWrapper;exports.ApplianceSinglePlugin=e.ApplianceSinglePlugin;exports.ECanvasContextType=e.ECanvasContextType;exports.ECanvasShowType=e.ECanvasShowType;exports.EDataType=e.EDataType;exports.EPostMessageType=e.EPostMessageType;exports.EScaleType=e.EScaleType;exports.EStrokeType=e.EStrokeType;exports.EToolsKey=e.EToolsKey;exports.ElayerType=e.ElayerType;exports.EmitEventType=e.EmitEventType;exports.EventMessageType=e.EventMessageType;exports.EvevtWorkState=e.EvevtWorkState;exports.EvevtWorkType=e.EvevtWorkType;exports.InternalMsgEmitterType=e.InternalMsgEmitterType;exports.ShapeType=e.ShapeType;exports.fullWorkerUrl=e.fullWorker;exports.subWorkerUrl=e.subWorker;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-Dmq7rqSP.js");exports.ActiveContainerType=e.ActiveContainerType;exports.ApplianceMultiPlugin=e.ApplianceMultiPlugin;exports.ApplianceNames=e.ApplianceNames;exports.ApplianceSigleWrapper=e.ApplianceSigleWrapper;exports.ApplianceSinglePlugin=e.ApplianceSinglePlugin;exports.ECanvasContextType=e.ECanvasContextType;exports.ECanvasShowType=e.ECanvasShowType;exports.EDataType=e.EDataType;exports.EMatrixrRelationType=e.EMatrixrRelationType;exports.EPostMessageType=e.EPostMessageType;exports.EScaleType=e.EScaleType;exports.EStrokeType=e.EStrokeType;exports.EToolsKey=e.EToolsKey;exports.ElayerType=e.ElayerType;exports.EmitEventType=e.EmitEventType;exports.EventMessageType=e.EventMessageType;exports.EvevtWorkState=e.EvevtWorkState;exports.EvevtWorkType=e.EvevtWorkType;exports.InternalMsgEmitterType=e.InternalMsgEmitterType;exports.ShapeType=e.ShapeType;exports.fullWorkerUrl=e.fullWorker;exports.subWorkerUrl=e.subWorker;
@@ -1,4 +1,4 @@
1
- import { O as s, I as p, L as t, K as l, J as r, Q as n, R as y, j as E, h as T, E as i, l as o, f as v, U as g, C as S, T as c, k, W, N as u, M as A, G as C, H as M } from "./index-C1YKkWHE.mjs";
1
+ import { $ as s, R as p, X as t, W as l, U as r, a0 as n, a1 as y, l as E, K as i, k as T, E as o, n as v, j as g, a3 as S, I as c, a2 as k, m as W, a4 as m, Z as u, Y as A, O as M, Q as C } from "./index-DmkMw23K.mjs";
2
2
  export {
3
3
  s as ActiveContainerType,
4
4
  p as ApplianceMultiPlugin,
@@ -8,17 +8,18 @@ export {
8
8
  n as ECanvasContextType,
9
9
  y as ECanvasShowType,
10
10
  E as EDataType,
11
+ i as EMatrixrRelationType,
11
12
  T as EPostMessageType,
12
- i as EScaleType,
13
- o as EStrokeType,
14
- v as EToolsKey,
15
- g as ElayerType,
16
- S as EmitEventType,
17
- c as EventMessageType,
18
- k as EvevtWorkState,
19
- W as EvevtWorkType,
13
+ o as EScaleType,
14
+ v as EStrokeType,
15
+ g as EToolsKey,
16
+ S as ElayerType,
17
+ c as EmitEventType,
18
+ k as EventMessageType,
19
+ W as EvevtWorkState,
20
+ m as EvevtWorkType,
20
21
  u as InternalMsgEmitterType,
21
22
  A as ShapeType,
22
- C as fullWorkerUrl,
23
- M as subWorkerUrl
23
+ M as fullWorkerUrl,
24
+ C as subWorkerUrl
24
25
  };
@@ -1,12 +1,14 @@
1
1
  import type { AppliancePluginLike } from "../plugin/types";
2
2
  import { IworkId } from "../core";
3
+ import { BaseApplianceManager } from "../plugin/baseApplianceManager";
3
4
  export declare abstract class BaseCollector<T> {
4
5
  plugin: AppliancePluginLike;
5
6
  uid: string;
6
7
  abstract serviceStorage: T;
7
8
  abstract storage: T;
8
9
  protected abstract namespace: string;
9
- constructor(plugin: AppliancePluginLike);
10
+ readonly control: BaseApplianceManager;
11
+ constructor(control: BaseApplianceManager, plugin: AppliancePluginLike);
10
12
  getNamespaceData(): T;
11
13
  getUidFromKey(key: string): string;
12
14
  isLocalId(key: string): boolean;
@@ -1,6 +1,7 @@
1
1
  import { BaseCollectorReducerAction, Diff, ISerializableStorageData, ISerializableStorageViewData } from "./types";
2
2
  import { BaseCollector } from "./base";
3
3
  import type { AppliancePluginLike } from "../plugin/types";
4
+ import { BaseApplianceManager } from "../plugin/baseApplianceManager";
4
5
  /**
5
6
  * 服务端事件/状态同步收集器
6
7
  */
@@ -12,15 +13,15 @@ export declare class Collector extends BaseCollector<ISerializableStorageViewDat
12
13
  storage: ISerializableStorageViewData;
13
14
  private stateDisposer;
14
15
  private asyncClockState;
15
- constructor(plugin: AppliancePluginLike, syncInterval?: number);
16
+ constructor(control: BaseApplianceManager, plugin: AppliancePluginLike, syncInterval?: number);
16
17
  getViewIdBySecenPath(scenePath: string): string | undefined;
17
18
  getScenePathData(scenePath: string): ISerializableStorageData | undefined;
18
19
  getStorageData(viewId: string, scenePath: string): ISerializableStorageData | undefined;
19
20
  hasSelector(viewId: string, scenePath: string): boolean;
20
- addStorageStateListener(callBack: (diff: Diff<ISerializableStorageData>) => void): void;
21
+ addStorageStateListener(callBack: (diff: Diff) => void): void;
21
22
  removeStorageStateListener(): void;
22
- private diffFun;
23
- private diffFunByscenePath;
23
+ private diffFunByView;
24
+ private diffFunByScenePath;
24
25
  private diffFunByKeys;
25
26
  transformKey(workId: number | string): string;
26
27
  isOwn(key: string): boolean;
@@ -1,6 +1,7 @@
1
1
  import { BaseEventCollectorReducerAction, ISerializableEventData } from "./types";
2
2
  import { BaseCollector } from "./base";
3
3
  import type { AppliancePluginLike } from "../plugin/types";
4
+ import { BaseApplianceManager } from "../plugin/baseApplianceManager";
4
5
  /**
5
6
  * 服务端事件/状态同步收集器
6
7
  */
@@ -12,7 +13,7 @@ export declare class EventCollector extends BaseCollector<ISerializableEventData
12
13
  private stateDisposer;
13
14
  private asyncClockTimer?;
14
15
  protected namespace: string;
15
- constructor(plugin: AppliancePluginLike, syncInterval?: number);
16
+ constructor(control: BaseApplianceManager, plugin: AppliancePluginLike, syncInterval?: number);
16
17
  addStorageStateListener(callBack: (event: Map<string, Array<BaseEventCollectorReducerAction | undefined>>) => void): void;
17
18
  private getDiffMap;
18
19
  removeStorageStateListener(): void;
@@ -0,0 +1,30 @@
1
+ import { BaseEventCollectorReducerAction, ISerializableEventData } from "./types";
2
+ import { BaseCollector } from "./base";
3
+ import type { AppliancePluginLike } from "../plugin/types";
4
+ import { BaseApplianceManager } from "../plugin/baseApplianceManager";
5
+ /**
6
+ * 服务端事件/状态同步收集器
7
+ */
8
+ export declare class magixEventCollector extends BaseCollector<ISerializableEventData> {
9
+ static syncInterval: number;
10
+ static namespace: string;
11
+ serviceStorage: ISerializableEventData;
12
+ storage: ISerializableEventData;
13
+ private stateDisposer;
14
+ private asyncClockTimer?;
15
+ protected namespace: string;
16
+ constructor(control: BaseApplianceManager, plugin: AppliancePluginLike, syncInterval?: number);
17
+ addStorageStateListener(callBack: (event: Map<string, Array<BaseEventCollectorReducerAction | undefined>>) => void): void;
18
+ private getDiffMap;
19
+ removeStorageStateListener(): void;
20
+ transformKey(workId: number | string): string;
21
+ isOwn(key: string): boolean;
22
+ dispatch(action: BaseEventCollectorReducerAction): void;
23
+ pushValue(uid: string, value: BaseEventCollectorReducerAction | undefined, options?: {
24
+ isSync?: boolean;
25
+ }): void;
26
+ clearValue(uid: string): void;
27
+ private runSyncService;
28
+ private syncSerivice;
29
+ destroy(): void;
30
+ }
@@ -3,14 +3,34 @@ import { ShapeOptions } from "../core/tools";
3
3
  import { IUpdateNodeOpt, IworkId } from "../core/types";
4
4
  import { EmitEventType } from "../plugin/types";
5
5
  import { EEventDataKey } from "./enum";
6
- export declare type DiffOne<T> = {
7
- oldValue: T;
8
- newValue: T;
6
+ export declare type DiffOneView<ISerializableStorageViewData> = {
7
+ oldValue?: ISerializableStorageViewData;
8
+ newValue?: ISerializableStorageViewData;
9
+ };
10
+ export declare type DiffOneScenePath<ISerializableStorageScenePathData> = {
11
+ oldValue?: ISerializableStorageScenePathData;
12
+ newValue?: ISerializableStorageScenePathData;
13
+ viewId: string;
14
+ };
15
+ export declare type DiffOneData<ISerializableStorageData> = {
16
+ oldValue: ISerializableStorageData;
17
+ newValue: ISerializableStorageData;
9
18
  viewId: string;
10
19
  scenePath: string;
11
20
  };
12
- export declare type Diff<T> = {
13
- [K in keyof T]?: DiffOne<T[K]>;
21
+ export declare type DiffView<ISerializableStorageViewData> = {
22
+ [K in keyof ISerializableStorageViewData]?: DiffOneView<ISerializableStorageViewData[K]>;
23
+ };
24
+ export declare type DiffScenePath<ISerializableStorageScenePathData> = {
25
+ [K in keyof ISerializableStorageScenePathData]?: DiffOneScenePath<ISerializableStorageScenePathData[K]>;
26
+ };
27
+ export declare type DiffData<ISerializableStorageData> = {
28
+ [K in keyof ISerializableStorageData]?: DiffOneData<ISerializableStorageData[K]>;
29
+ };
30
+ export declare type Diff = {
31
+ diffData?: DiffData<ISerializableStorageData>;
32
+ diffScenePath?: DiffScenePath<ISerializableStorageScenePathData>;
33
+ diffView?: DiffView<ISerializableStorageViewData>;
14
34
  };
15
35
  export type SyncEventData = {
16
36
  [key in EEventDataKey]: {
@@ -62,8 +82,8 @@ export interface ISerializableEventData {
62
82
  [key: string]: Array<BaseEventCollectorReducerAction | undefined> | undefined;
63
83
  }
64
84
  export interface ISerializableStorageViewData {
65
- [key: string]: ISerializableStoragescenePathData;
85
+ [key: string]: ISerializableStorageScenePathData;
66
86
  }
67
- export interface ISerializableStoragescenePathData {
87
+ export interface ISerializableStorageScenePathData {
68
88
  [key: string]: ISerializableStorageData;
69
89
  }
@@ -41,7 +41,7 @@ export interface TextEditorManager {
41
41
  viewId: string;
42
42
  canWorker: boolean;
43
43
  canSync: boolean;
44
- }, undoTickerId?: number): Promise<TextEditorInfo | undefined>;
44
+ }, undoTickerId?: number): Promise<TextEditorInfo>;
45
45
  /** 修改文本来源于worker */
46
46
  updateTextForWorker(params: Partial<TextEditorInfo> & {
47
47
  workId: string;
@@ -102,7 +102,7 @@ export declare class TextEditorManagerImpl implements TextEditorManager {
102
102
  viewId: string;
103
103
  canWorker: boolean;
104
104
  canSync: boolean;
105
- }, undoTickerId?: number): Promise<TextEditorInfo | undefined>;
105
+ }, undoTickerId?: number): Promise<TextEditorInfo>;
106
106
  updateTextForWorker(params: TextEditorInfo & {
107
107
  workId: string;
108
108
  viewId: string;
@@ -47,5 +47,4 @@ export type TextEditorInfo = {
47
47
  dataType?: EDataType;
48
48
  translate?: [number, number];
49
49
  justLocal?: boolean;
50
- waitWorker?: boolean;
51
50
  };
@@ -1,6 +1,7 @@
1
1
  import React, { FocusEventHandler, KeyboardEventHandler } from "react";
2
2
  import { TextEditorInfo, TextOptions } from "./types";
3
3
  import { ApplianceViewManagerLike, EmitEventType } from "../../plugin/types";
4
+ export declare const Max_Font_Size = 80;
4
5
  export interface TextSelectorManagerProps {
5
6
  selectIds: string[];
6
7
  className?: string;
@@ -37,7 +38,7 @@ export interface TextEditorProps extends TextViewProps {
37
38
  showFloatBtns: boolean;
38
39
  handleKeyUp: KeyboardEventHandler<HTMLDivElement>;
39
40
  handleFocus: FocusEventHandler<HTMLDivElement>;
40
- handleKeyDown: KeyboardEventHandler<HTMLDivElement>;
41
+ runAnimation: () => void;
41
42
  updateOptInfo: (param: {
42
43
  activeTextId: string;
43
44
  update: Partial<TextOptions>;
@@ -62,7 +63,9 @@ export declare class TextViewInSelector extends React.Component<TextSelectorMana
62
63
  }
63
64
  export declare class TextEditorContainer extends TextViewInSelector {
64
65
  ref: React.RefObject<HTMLDivElement> | undefined;
66
+ isRunAnimation?: number;
65
67
  constructor(props: TextSelectorManagerProps);
68
+ runAnimation(): void;
66
69
  handleKeyUp(e: any): void;
67
70
  handleFocus(e: any): void;
68
71
  get editorUI(): JSX.Element[] | null;
@@ -1 +1,3 @@
1
1
  export declare const Cursor_Hover_Id = "cursorhover";
2
+ export declare const Task_Time_Interval = 20;
3
+ export declare const Main_View_Id = "mainView";
@@ -51,9 +51,7 @@ export declare enum EvevtWorkState {
51
51
  Unwritable = 4
52
52
  }
53
53
  /**
54
- * 消息变化顺序: init => Scene事件 => work事件 => node事件
55
- * 本地数据: Init、Transform、UpdateTools
56
- * 服务端数据:
54
+ * 事件消息类型
57
55
  */
58
56
  export declare enum EPostMessageType {
59
57
  /** 什么也不需要做 */
@@ -88,12 +86,16 @@ export declare enum EPostMessageType {
88
86
  Cursor = 14,
89
87
  /** 更新文本 */
90
88
  TextUpdate = 15,
91
- /** 获取获奖的文本信息 */
89
+ /** 获取获焦的文本信息 */
92
90
  GetTextActive = 16,
93
91
  /** 批量队列化处理 */
94
92
  TasksQueue = 17,
95
93
  /** 指针hover元素事件 */
96
- CursorHover = 18
94
+ CursorHover = 18,
95
+ /** 丢失焦点事件 */
96
+ CursorBlur = 19,
97
+ /** 前端日志 */
98
+ Console = 20
97
99
  }
98
100
  export declare enum ECanvasContextType {
99
101
  Webgl2 = "webgl2",
@@ -139,3 +141,8 @@ export declare enum EvevtWorkType {
139
141
  /** 只读状态 */
140
142
  Unwritable = 4
141
143
  }
144
+ export declare enum EMatrixrRelationType {
145
+ inside = 0,
146
+ outside = 1,
147
+ intersect = 2
148
+ }
@@ -1,11 +1,12 @@
1
1
  import EventEmitter2 from "eventemitter2";
2
- import { BaseCollectorReducerAction, DiffOne } from "../collector";
2
+ import { BaseCollectorReducerAction, DiffOneData } from "../collector";
3
3
  import { BaseApplianceManager } from "../plugin/baseApplianceManager";
4
4
  import { IActiveToolsDataType, IActiveWorkDataType, ICameraOpt, IMainMessage, IRectType, IUpdateNodeOpt, IWorkerMessage, IqueryTask, IworkId, ViewWorkerOptions } from "./types";
5
5
  import { BaseSubWorkModuleProps } from "../plugin/types";
6
6
  import type { ImageInformation } from "../plugin/types";
7
7
  import { MethodBuilderMain } from "./msgEvent";
8
- import { EToolsKey, EvevtWorkState } from "./enum";
8
+ import { EvevtWorkState } from "./enum";
9
+ import { BaseShapeOptions } from "./tools";
9
10
  export declare abstract class MasterController {
10
11
  /** 异步同步时间间隔 */
11
12
  maxLastSyncTime: number;
@@ -40,7 +41,7 @@ export declare abstract class MasterController {
40
41
  /** 获取当前work的工作状态 */
41
42
  getWorkState(): EvevtWorkState;
42
43
  /** 用于接收服务端同步的数据 */
43
- abstract onServiceDerive(key: string, data: DiffOne<BaseCollectorReducerAction | undefined>): void;
44
+ abstract onServiceDerive(key: string, data: DiffOneData<BaseCollectorReducerAction | undefined>): void;
44
45
  /** 消费批处理池数据 */
45
46
  abstract consume(): void;
46
47
  /** 运行异步动画逻辑 */
@@ -54,7 +55,10 @@ export declare abstract class MasterController {
54
55
  /** 销毁 */
55
56
  abstract destroy(): void;
56
57
  /** 服务端拉取数据初始化 */
57
- abstract pullServiceData(viewId: string, scenePath: string): void;
58
+ abstract pullServiceData(viewId: string, scenePath: string, options: {
59
+ isAsync?: boolean;
60
+ useAnimation?: boolean;
61
+ }): void;
58
62
  /** 主线程和工作线程通信,推送 */
59
63
  abstract post(msg: Set<IWorkerMessage>): void;
60
64
  /** 主线程和工作线程通信,接收 */
@@ -80,6 +84,8 @@ export declare abstract class MasterController {
80
84
  abstract getImagesInformation(scenePath: string): ImageInformation[];
81
85
  /** 移除正在绘制的流程 */
82
86
  abstract removeDrawingWork(viewId: string): void;
87
+ /** 修正绘制异常任务 */
88
+ abstract checkDrawingWork(viewId: string): void;
83
89
  }
84
90
  export declare class MasterControlForWorker extends MasterController {
85
91
  isActive: boolean;
@@ -103,8 +109,10 @@ export declare class MasterControlForWorker extends MasterController {
103
109
  protected localPointsBatchData: Map<IworkId, {
104
110
  state: EvevtWorkState;
105
111
  points: number[];
112
+ /** 完整的绘制 */
106
113
  isFullWork: boolean;
107
114
  viewId: string;
115
+ opt?: BaseShapeOptions;
108
116
  }>;
109
117
  /** end */
110
118
  /** 是否任务队列化参数 */
@@ -116,12 +124,15 @@ export declare class MasterControlForWorker extends MasterController {
116
124
  /** end */
117
125
  private snapshotMap;
118
126
  private boundingRectMap;
119
- private clearAllResolve?;
127
+ private clearAllResolveMap;
120
128
  private delayWorkStateToDoneResolve?;
121
129
  private animationId;
122
130
  private tmpImageConfigMap;
123
131
  private mainThread?;
132
+ private willSelectorWorkId?;
133
+ private isLockSentEventCursor;
124
134
  constructor(props: BaseSubWorkModuleProps);
135
+ destroy(): void;
125
136
  private get viewContainerManager();
126
137
  private get collector();
127
138
  private get isRunSubWork();
@@ -129,10 +140,13 @@ export declare class MasterControlForWorker extends MasterController {
129
140
  private get isUseZIndex();
130
141
  private get isCanRecordUndoRedo();
131
142
  private get isCanSentCursor();
143
+ private get isCanStartEventConsum();
132
144
  init(): Promise<void>;
133
145
  on(): Promise<void>;
134
146
  private clearReRenders;
135
147
  get isBusy(): boolean;
148
+ getLockSentEventCursor(): boolean;
149
+ setLockSentEventCursor(bol: boolean): void;
136
150
  getTasksqueueState(): EvevtWorkState.Doing | EvevtWorkState.Done;
137
151
  setMaxDrawCount(num: number): void;
138
152
  setWorkerTasksqueueCount(num: number): void;
@@ -148,36 +162,42 @@ export declare class MasterControlForWorker extends MasterController {
148
162
  getLocalPointsInfo(): Map<IworkId, {
149
163
  state: EvevtWorkState;
150
164
  points: number[];
165
+ /** 完整的绘制 */
151
166
  isFullWork: boolean;
152
167
  viewId: string;
168
+ opt?: BaseShapeOptions | undefined;
153
169
  }>;
154
170
  private correctStorage;
155
171
  originalEventLintener(workState: EvevtWorkState, point: [number, number], viewId: string): Promise<void>;
156
172
  getLocalWorkViewId(): string | undefined;
157
173
  setLocalWorkViewId(viewId?: string): void;
158
174
  setCurrentToolsData(currentToolsData: IActiveToolsDataType): void;
159
- prepareOnceWork(currentLocalWorkData: Required<Pick<IActiveWorkDataType, 'toolsOpt' | 'viewId' | 'workId'>>, toolsType: EToolsKey): void;
175
+ private prepareOnceWork;
160
176
  createViewWorker(viewId: string, options: ViewWorkerOptions): void;
161
177
  destroyViewWorker(viewId: string, isLocal?: boolean): void;
162
- onServiceDerive(key: string, data: DiffOne<BaseCollectorReducerAction | undefined>): void;
163
- pullServiceData(viewId: string, scenePath: string): void;
178
+ onServiceDerive(key: string, data: DiffOneData<BaseCollectorReducerAction | undefined>): void;
179
+ pullServiceData(viewId: string, scenePath: string, options?: {
180
+ isAsync?: boolean;
181
+ useAnimation?: boolean;
182
+ }): void;
164
183
  runAnimation(): void;
165
184
  consume(): void;
166
185
  unWritable(): void;
167
186
  abled(): void;
168
187
  isAbled(): boolean;
169
188
  post(msg: Set<IWorkerMessage>): void;
170
- destroy(): void;
171
189
  updateNode(workId: IworkId, updateNodeOpt: IUpdateNodeOpt, viewId: string, scenePath: string): void;
190
+ destroyTaskQueue(): void;
172
191
  updateCamera(viewId: string, cameraOpt: ICameraOpt): void;
173
192
  private updateCameraDone;
174
193
  private consumeQueue;
175
194
  clearViewScenePath(viewId: string, justLocal?: boolean | undefined): Promise<void>;
176
195
  private internalMsgEmitterListener;
177
196
  private setZIndex;
197
+ checkDrawingWork(vId: string): void;
178
198
  removeDrawingWork(vId: string): void;
179
- closeDrawingWork(vId: string): void;
180
199
  hoverCursor(point: [number, number], viewId: string): void;
200
+ blurCursor(viewId: string): void;
181
201
  sendCursorEvent(p: [number | undefined, number | undefined], viewId: string): void;
182
202
  getBoundingRect(scenePath: string): Promise<IRectType> | undefined;
183
203
  getSnapshot(scenePath: string, width?: number, height?: number, camera?: Pick<ICameraOpt, "centerX" | "centerY" | "scale">): Promise<ImageBitmap> | undefined;
@@ -188,4 +208,5 @@ export declare class MasterControlForWorker extends MasterController {
188
208
  getImagesInformation(scenePath: string): ImageInformation[];
189
209
  setShapeSelectorByWorkId(workId: string, viewId: string): void;
190
210
  blurSelector(viewId: string, scenePath: string): void;
211
+ consoleWorkerInfo(): void;
191
212
  }
@@ -1,6 +1,6 @@
1
1
  import { Group } from "spritejs";
2
2
  import { IBatchMainMessage, ICameraOpt, ILayerOptionType, IMainMessage, IOffscreenCanvasOptionType, IWorkerMessage } from "../types";
3
- import { VNodeManager } from "./vNodeManager";
3
+ import { VNodeManager } from "../vNodeManager";
4
4
  import type { MasterControlForWorker } from '../mainEngine';
5
5
  import type { AppViewDisplayerManager, MainViewDisplayerManager } from "../../plugin/baseViewContainerManager";
6
6
  import { EDataType } from "../enum";
@@ -51,12 +51,15 @@ export declare class MainThreadEngineImpl implements MainThreadEngine {
51
51
  snapshotFullLayer?: Group;
52
52
  vNodes: VNodeManager;
53
53
  master: MasterControlForWorker;
54
- private opt;
54
+ opt: IMainThreadInitOption;
55
55
  private cameraOpt?;
56
56
  private scene;
57
57
  localWork: SubLocalThread;
58
58
  serviceWork: SubServiceThread;
59
59
  topWork: SubTopThread;
60
+ private taskUpdateCameraId?;
61
+ private debounceUpdateCameraId?;
62
+ private debounceUpdateCache;
60
63
  private mainThreadPostId?;
61
64
  private combinePostMsg;
62
65
  private methodBuilder;
@@ -73,6 +76,7 @@ export declare class MainThreadEngineImpl implements MainThreadEngine {
73
76
  private consumeDrawAll;
74
77
  private consumeDraw;
75
78
  private updateCamera;
79
+ private getSceneRect;
76
80
  private createScene;
77
81
  private createLayer;
78
82
  private updateScene;
@@ -18,9 +18,9 @@ export declare class SnapshotThreadImpl {
18
18
  post(msg: Omit<IBatchMainMessage, 'render'>): void;
19
19
  on(msg: IWorkerMessage): Promise<void>;
20
20
  createWorkShapeNode(opt: IActiveToolsDataType & {
21
- workId?: string;
22
- }): TextShape | 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 | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools").SelectorShape | ImageShape | undefined;
23
- setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | import("../tools/straight").StraightShape | import("../tools").PolygonShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools").LaserPenShape | undefined;
21
+ workId: string;
22
+ }): 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 | undefined;
23
+ setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | undefined;
24
24
  runFullWork(data: IWorkerMessage): Promise<IRectType | undefined>;
25
25
  private getSnapshot;
26
26
  private getSceneRect;
@@ -1,7 +1,7 @@
1
1
  import { IActiveToolsDataType, IWorkerMessage, IMainMessage, IUpdateSelectorPropsType, IBatchMainMessage } from "../types";
2
2
  import type { BaseShapeTool, BaseShapeOptions, SelectorShape, ImageShape, ShapeToolsClass, PencilShape } from "../tools";
3
3
  import { MainThreadEngineImpl, ISubThreadInitOption } from "./base";
4
- import { VNodeManager } from "./vNodeManager";
4
+ import { VNodeManager } from "../vNodeManager";
5
5
  import { EToolsKey } from "../enum";
6
6
  import { Scene } from "spritejs";
7
7
  import { SubServiceThread } from "./subServiceThread";
@@ -15,14 +15,16 @@ export interface SubLocalThread {
15
15
  clearAll(): void;
16
16
  clearWorkShapeNodeCache(workId: string): void;
17
17
  setToolsOpt(opt: IActiveToolsDataType): void;
18
+ getToolsOpt(): IActiveToolsDataType | undefined;
18
19
  createWorkShapeNode(opt: IActiveToolsDataType & {
19
- workId?: string;
20
+ workId: string;
20
21
  }): void;
21
- getTmpWorkShapeNode(): BaseShapeTool | undefined;
22
22
  setWorkOptions(workId: string, opt: BaseShapeOptions): void;
23
23
  consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): void;
24
24
  consumeDraw(data: IWorkerMessage, serviceWork: SubServiceThread): void;
25
25
  colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
26
+ hasSelector(): boolean;
27
+ getSelector(): SelectorShape | undefined;
26
28
  reRenderSelector(willSyncService?: boolean): void;
27
29
  blurSelector(data?: IWorkerMessage): Promise<void>;
28
30
  getWorkShape(workId: string): BaseShapeTool | undefined;
@@ -30,6 +32,7 @@ export interface SubLocalThread {
30
32
  setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): ShapeToolsClass | undefined;
31
33
  consumeFull(data: IWorkerMessage, scene?: Scene): Promise<void>;
32
34
  removeWork(data: IWorkerMessage): void;
35
+ removeSelector(data: IWorkerMessage): Promise<void>;
33
36
  updateFullSelectWork(data: IWorkerMessage): void;
34
37
  cursorHover(msg: IWorkerMessage): void;
35
38
  checkTextActive(data: IWorkerMessage): Promise<void>;
@@ -48,6 +51,7 @@ export interface SubLocalThread {
48
51
  }) => void;
49
52
  }): Promise<IMainMessage | undefined>;
50
53
  workShapesDone(scenePath: string, serviceWork: SubServiceThread): void;
54
+ createLocalWork(data: IWorkerMessage): void;
51
55
  }
52
56
  export declare class SubLocalThreadImpl implements SubLocalThread {
53
57
  readonly vNodes: VNodeManager;
@@ -57,9 +61,11 @@ export declare class SubLocalThreadImpl implements SubLocalThread {
57
61
  private batchEraserRemoveNodes;
58
62
  private batchEraserWorks;
59
63
  private tmpOpt?;
60
- private tmpWorkShapeNode?;
64
+ private syncUnitTime;
61
65
  private drawCount;
66
+ private drawWorkActiveId?;
62
67
  constructor(opt: ISubThreadInitOption);
68
+ createLocalWork(data: IWorkerMessage): void;
63
69
  workShapesDone(scenePath: string, serviceWork: SubServiceThread): void;
64
70
  updateSelector(params: IUpdateSelectorPropsType & {
65
71
  callback?: ((props: {
@@ -75,17 +81,20 @@ export declare class SubLocalThreadImpl implements SubLocalThread {
75
81
  }) => void) | undefined;
76
82
  }): Promise<IMainMessage | undefined>;
77
83
  destroy(): void;
78
- private clearAllWorkShapesCache;
79
84
  clearAll(): void;
80
85
  checkTextActive(data: IWorkerMessage): Promise<void>;
81
86
  cursorHover(msg: IWorkerMessage): void;
82
87
  updateFullSelectWork(data: IWorkerMessage): void;
88
+ private commandDeleteText;
89
+ removeSelector(data: IWorkerMessage): Promise<void>;
83
90
  removeWork(data: IWorkerMessage): void;
84
91
  removeNode(key: string): void;
85
- setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | import("../tools/straight").StraightShape | import("../tools").PolygonShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools").LaserPenShape | undefined;
92
+ setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | undefined;
86
93
  consumeFull(data: IWorkerMessage, scene?: Scene): Promise<void>;
87
94
  colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
88
95
  private runEffectSelectWork;
96
+ hasSelector(): boolean;
97
+ getSelector(): SelectorShape;
89
98
  reRenderSelector(willSyncService?: boolean): Promise<void> | undefined;
90
99
  blurSelector(data?: IWorkerMessage): Promise<void>;
91
100
  clearWorkShapeNodeCache(workId: string): void;
@@ -96,11 +105,10 @@ export declare class SubLocalThreadImpl implements SubLocalThread {
96
105
  getWorkShapes(): Map<string, BaseShapeTool>;
97
106
  consumeDraw(data: IWorkerMessage, serviceWork: SubServiceThread): void;
98
107
  consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): void;
99
- getTmpWorkShapeNode(): BaseShapeTool | undefined;
108
+ getToolsOpt(): IActiveToolsDataType | undefined;
100
109
  setToolsOpt(opt: IActiveToolsDataType): void;
101
- setTmpWorkId(workId: string | undefined): void;
102
110
  setWorkOptions(workId: string, opt: BaseShapeOptions): void;
103
111
  createWorkShapeNode(opt: IActiveToolsDataType & {
104
- workId?: string;
105
- }): TextShape | import("../tools").ArrowShape | PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools").LaserPenShape | import("../tools").EraserShape | SelectorShape | ImageShape | undefined;
112
+ workId: string;
113
+ }): 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 | undefined;
106
114
  }
@@ -1,6 +1,6 @@
1
1
  import { IServiceWorkItem, IWorkerMessage } from "../types";
2
2
  import { MainThreadEngineImpl, ISubThreadInitOption } from "./base";
3
- import { VNodeManager } from "./vNodeManager";
3
+ import { VNodeManager } from "../vNodeManager";
4
4
  export interface SubServiceThread {
5
5
  workShapes: Map<string, IServiceWorkItem>;
6
6
  selectorWorkShapes: Map<string, IServiceWorkItem>;
@@ -20,6 +20,7 @@ export declare class SubServiceThreadImpl implements SubServiceThread {
20
20
  private willRunEffectSelectorIds;
21
21
  private runEffectId?;
22
22
  private animationId?;
23
+ private syncUnitTime;
23
24
  constructor(opt: ISubThreadInitOption);
24
25
  destroy(): void;
25
26
  clearAll(): void;
@@ -1,22 +1,26 @@
1
1
  import { IServiceWorkItem, ILocalWorkItem, IActiveToolsDataType, IWorkerMessage } from "../types";
2
+ import { EToolsKey } from "../enum";
2
3
  import { BaseShapeTool, BaseShapeOptions } from "../tools";
3
4
  import { MainThreadEngineImpl, ISubThreadInitOption } from "./base";
4
- import { VNodeManager } from "./vNodeManager";
5
+ import { VNodeManager } from "../vNodeManager";
5
6
  export interface SubTopThread {
6
7
  readonly vNodes: VNodeManager;
7
8
  readonly thread: MainThreadEngineImpl;
8
9
  serviceWorkShapes: Map<string, IServiceWorkItem>;
9
10
  localWorkShapes: Map<string, ILocalWorkItem>;
11
+ canUseTopLayer(toolsType: EToolsKey): boolean;
10
12
  destroy(): void;
11
13
  clearAll(): void;
12
14
  setToolsOpt(opt: IActiveToolsDataType): void;
15
+ getToolsOpt(): IActiveToolsDataType | undefined;
13
16
  createWorkShapeNode(opt: IActiveToolsDataType & {
14
- workId?: string;
17
+ workId: string;
15
18
  }): BaseShapeTool | undefined;
16
- getTmpWorkShapeNode(): BaseShapeTool | undefined;
17
19
  setWorkOptions(workId: string, opt: BaseShapeOptions): void;
18
20
  consumeDrawAll(data: IWorkerMessage): void;
19
21
  consumeDraw(data: IWorkerMessage): void;
22
+ getLocalWorkShape(workId: string): ILocalWorkItem | undefined;
23
+ createLocalWork(data: IWorkerMessage): void;
20
24
  }
21
25
  export declare class SubTopThreadImpl implements SubTopThread {
22
26
  readonly vNodes: VNodeManager;
@@ -24,18 +28,21 @@ export declare class SubTopThreadImpl implements SubTopThread {
24
28
  serviceWorkShapes: Map<string, IServiceWorkItem>;
25
29
  localWorkShapes: Map<string, ILocalWorkItem>;
26
30
  private tmpOpt?;
27
- private tmpWorkShapeNode?;
28
31
  private animationId?;
32
+ private syncUnitTime;
29
33
  constructor(opt: ISubThreadInitOption);
34
+ createLocalWork(data: IWorkerMessage): void;
35
+ getLocalWorkShape(workId: string): ILocalWorkItem | undefined;
36
+ createLocalWorkShape(workId: string, opt?: BaseShapeOptions): import("../tools").PencilShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools").StarShape | import("../tools/text").TextShape | import("../tools").SelectorShape | import("../tools").ImageShape | import("../tools").ArrowShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | undefined;
37
+ canUseTopLayer(toolsType: EToolsKey): boolean;
30
38
  destroy(): void;
31
39
  clearAll(): void;
32
40
  consumeDraw(data: IWorkerMessage): void;
33
41
  setToolsOpt(opt: IActiveToolsDataType): void;
42
+ getToolsOpt(): IActiveToolsDataType | undefined;
34
43
  createWorkShapeNode(opt: IActiveToolsDataType & {
35
- workId?: string | undefined;
36
- }): BaseShapeTool | undefined;
37
- getTmpWorkShapeNode(): BaseShapeTool | undefined;
38
- private setTmpWorkId;
44
+ workId: string;
45
+ }): import("../tools").PencilShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools").StarShape | import("../tools/text").TextShape | import("../tools").SelectorShape | import("../tools").ImageShape | import("../tools").ArrowShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | undefined;
39
46
  private setNodeKey;
40
47
  private activeServiceWorkShape;
41
48
  private computNextAnimationIndex;