@netless/appliance-plugin 1.1.22-beta.3 → 1.1.22-beta.4

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 (48) hide show
  1. package/cdn/cdn.js +1 -1
  2. package/cdn/fullWorker-tDURUY.js +473 -0
  3. package/cdn/subWorker-9sUO4n.js +473 -0
  4. package/dist/appliance-plugin.js +1 -1
  5. package/dist/appliance-plugin.mjs +13 -13
  6. package/dist/core/enum.d.ts +0 -2
  7. package/dist/core/mainEngine.d.ts +6 -7
  8. package/dist/core/mainThread/index.d.ts +1 -1
  9. package/dist/core/msgEvent/baseForWorker.d.ts +2 -1
  10. package/dist/core/tools/arrow.d.ts +3 -20
  11. package/dist/core/tools/base.d.ts +2 -0
  12. package/dist/core/tools/ellipse.d.ts +3 -20
  13. package/dist/core/tools/image.d.ts +2 -2
  14. package/dist/core/tools/pencil.d.ts +13 -0
  15. package/dist/core/tools/polygon.d.ts +3 -20
  16. package/dist/core/tools/rectangle.d.ts +3 -20
  17. package/dist/core/tools/selector.d.ts +10 -21
  18. package/dist/core/tools/speechBalloon.d.ts +3 -20
  19. package/dist/core/tools/star.d.ts +3 -20
  20. package/dist/core/tools/straight.d.ts +3 -20
  21. package/dist/core/types.d.ts +14 -0
  22. package/dist/core/worker/base.d.ts +55 -12
  23. package/dist/core/worker/fullWorkerLocal.d.ts +23 -15
  24. package/dist/core/worker/fullWorkerService.d.ts +9 -9
  25. package/dist/core/worker/simpleWorker.d.ts +27 -0
  26. package/dist/core/worker/subWorkerLocal.d.ts +1 -3
  27. package/dist/core/worker/workerManager.d.ts +47 -33
  28. package/dist/fullWorker.js +179 -146
  29. package/dist/index-D-DKJlcZ.mjs +9510 -0
  30. package/dist/index-D6QX902I.js +1 -0
  31. package/dist/index-DnWV3d6T.js +1 -0
  32. package/dist/index-rz3Qash_.mjs +14745 -0
  33. package/dist/plugin/baseApplianceManager.d.ts +9 -7
  34. package/dist/plugin/baseViewContainerManager.d.ts +31 -29
  35. package/dist/plugin/displayerView.d.ts +2 -2
  36. package/dist/plugin/multi/displayer/appViewDisplayerManager.d.ts +2 -2
  37. package/dist/plugin/multi/displayer/mainViewDisplayerManager.d.ts +2 -2
  38. package/dist/plugin/single/displayer/mainViewDisplayerManager.d.ts +2 -3
  39. package/dist/plugin/types.d.ts +3 -7
  40. package/dist/subWorker.js +179 -146
  41. package/package.json +4 -2
  42. package/cdn/fullWorker-CtYtKA.js +0 -440
  43. package/cdn/subWorker-pL9rWG.js +0 -440
  44. package/dist/core/mainThread/workerMainThread.d.ts +0 -100
  45. package/dist/index-CZGYaTCW.js +0 -1
  46. package/dist/index-D7QizWai.mjs +0 -21567
  47. package/dist/index-DKEMLABe.mjs +0 -2779
  48. package/dist/index-utKTWCwZ.js +0 -1
@@ -3,7 +3,7 @@ import { MemberState, AppliancePluginLike } from "./types";
3
3
  import { Collector, ViewId } from "../collector";
4
4
  import { RoomMemberManager } from "../members";
5
5
  import { TextEditorManager } from "../component/textEditor";
6
- import type { Camera, Displayer, DisplayerCallbacks, IconifyInformation, Player, PriorityType, Rectangle, RequiredAppliancePluginOptions, Room, RoomMember, _ArrayTrue } from "./types";
6
+ import type { Camera, Displayer, DisplayerCallbacks, IconifyInformation, Player, Rectangle, RequiredAppliancePluginOptions, Room, RoomMember, _ArrayTrue } from "./types";
7
7
  import { CursorManager } from "../cursors";
8
8
  import { ViewContainerManager } from "./baseViewContainerManager";
9
9
  import { MasterControlForWorker } from "../core/mainEngine";
@@ -35,7 +35,6 @@ export declare abstract class BaseApplianceManager {
35
35
  private _disableEraseText?;
36
36
  private _disableCameraTransform?;
37
37
  private _disableUseWorker?;
38
- priority: PriorityType;
39
38
  effectResolve?: (value: boolean) => void;
40
39
  readonly hotkeyManager: HotkeyManager;
41
40
  readonly pluginOptions: RequiredAppliancePluginOptions;
@@ -45,8 +44,8 @@ export declare abstract class BaseApplianceManager {
45
44
  readonly worker: MasterControlForWorker;
46
45
  abstract readonly viewContainerManager: ViewContainerManager;
47
46
  readonly renderControl: RenderCotrolImple;
48
- readonly miniMapManager: MiniMapManagerImpl;
49
- readonly pluginManager: PluginManager;
47
+ readonly miniMapManager?: MiniMapManagerImpl;
48
+ readonly pluginManager?: PluginManager;
50
49
  private _isPolyfill;
51
50
  constructor(params: BaseApplianceManagerProps);
52
51
  hasPolyfillMethod(methodName: "requestIdleCallback" | "cancelIdleCallback"): boolean;
@@ -67,8 +66,11 @@ export declare abstract class BaseApplianceManager {
67
66
  set disableCameraTransform(bol: boolean);
68
67
  get disableUseWorker(): boolean;
69
68
  set disableUseWorker(bol: boolean);
70
- setPriority(priority: PriorityType): void;
71
- hasOffscreenCanvas(): boolean;
69
+ get hasOffscreenCanvas(): boolean;
70
+ get canUseTransferControlToOffscreen(): boolean;
71
+ get isUseOffscreenTransfer(): boolean;
72
+ /** 是否使用简单模式, 简单模式则无需开启 miniMap 和 plugin */
73
+ get isUseSimple(): boolean;
72
74
  bindPlugin(plugin: AppliancePluginLike): void;
73
75
  /** 激活 plugin */
74
76
  abstract activePlugin(): void;
@@ -128,5 +130,5 @@ export declare abstract class BaseApplianceManager {
128
130
  createMiniMap(viewId: string, div: HTMLElement): Promise<void>;
129
131
  destroyMiniMap(viewId: string): Promise<void>;
130
132
  insertIconify(viewId: string, iconifyInfo: IconifyInformation): void;
131
- usePlugin(plugin: Plugin): void;
133
+ usePlugin(plugin: Plugin): void | undefined;
132
134
  }
@@ -69,18 +69,17 @@ export declare abstract class ViewContainerManager {
69
69
  setActiveMiniMap(viewId: string, show?: boolean): void;
70
70
  }
71
71
  export declare abstract class BaseViewDisplayerManager {
72
- abstract viewId: string;
73
72
  abstract dpr: number;
74
73
  abstract width: number;
75
74
  abstract height: number;
76
75
  readonly control: ApplianceManagerLike;
77
76
  readonly internalMsgEmitter: EventEmitter2;
78
- commiter: UndoRedoMethod;
77
+ readonly commiter: UndoRedoMethod;
79
78
  abstract vDom?: BaseViewDisplayer;
80
79
  abstract eventTragetElement?: HTMLDivElement;
81
80
  abstract canvasContainerRef: React.RefObject<HTMLDivElement>;
82
- abstract subLocalCanvasContainerRef: React.RefObject<HTMLDivElement>;
83
- abstract canvasTopRef: React.RefObject<HTMLCanvasElement>;
81
+ abstract subLocalCanvasContainerRef?: React.RefObject<HTMLDivElement>;
82
+ abstract canvasTopRef?: React.RefObject<HTMLCanvasElement>;
84
83
  abstract canvasServiceFloatRef: React.RefObject<HTMLCanvasElement>;
85
84
  abstract canvasFloatRef: React.RefObject<HTMLCanvasElement>;
86
85
  abstract canvasBgRef: React.RefObject<HTMLCanvasElement>;
@@ -97,23 +96,34 @@ export declare abstract class BaseViewDisplayerManager {
97
96
  protected cursorMouseMoveDebounced: DebouncedFunc<(e: MouseEvent) => void>;
98
97
  protected cursorMouseMoveThrottled: DebouncedFuncLeading<(e: MouseEvent) => void>;
99
98
  protected cursorMouseMoveFun: (e: MouseEvent) => void;
100
- constructor(control: ApplianceManagerLike, internalMsgEmitter: EventEmitter2);
101
- get worker(): import("../core/mainEngine").MasterControlForWorker;
99
+ private _transferControlToOffscreenCanvas?;
100
+ get moveDelayTime(): number;
101
+ constructor(control: ApplianceManagerLike, internalMsgEmitter: EventEmitter2, viewId: string);
102
+ protected cursorMouseLeave: () => void;
102
103
  abstract setCanvassStyle(): void;
103
- protected initializeCommiter(): void;
104
- focusElement(): void;
104
+ setTransferControlToOffscreenCanvas(canvas: {
105
+ bgCanvas: HTMLCanvasElement;
106
+ serviceCanvas: HTMLCanvasElement;
107
+ localCanvas: HTMLCanvasElement;
108
+ }): void;
109
+ get transferControlToOffscreenCanvas(): {
110
+ bgCanvas: OffscreenCanvas;
111
+ serviceCanvas: OffscreenCanvas;
112
+ localCanvas: OffscreenCanvas;
113
+ } | undefined;
114
+ get worker(): import("../core/mainEngine").MasterControlForWorker;
105
115
  bindToolsClass(): void;
106
116
  mountView(): void;
107
- reflashContainerOffset(): void;
108
117
  updateSize(): void;
109
- setViewId(viewId: string): void;
118
+ reflashContainerOffset(): void;
110
119
  get parentElement(): HTMLElement | null | undefined;
111
120
  destroy(): void;
112
121
  getPoint(e: any): [number, number] | undefined;
113
122
  getActive(): boolean;
114
123
  setActive(bol: boolean): void;
124
+ focusElement(): void;
115
125
  stopEventHandler(): Promise<void>;
116
- private getTranslate;
126
+ protected getTranslate(element: any): any[];
117
127
  protected getContainerOffset(eventTraget: HTMLDivElement, offset: {
118
128
  x: number;
119
129
  y: number;
@@ -121,41 +131,33 @@ export declare abstract class BaseViewDisplayerManager {
121
131
  x: any;
122
132
  y: any;
123
133
  };
124
- get isBezier(): boolean;
125
- get moveDelayTime(): number;
126
- get maxDrawCount(): number;
127
- protected checkConsumeCount(): boolean;
134
+ abstract get viewId(): string;
128
135
  protected mousedown: (e: MouseEvent) => void;
129
136
  protected mousemove: (e: MouseEvent) => void;
130
137
  protected mouseup: (e: MouseEvent) => void;
131
138
  protected touchstart: (e: TouchEvent) => void;
132
139
  protected touchmove: (e: TouchEvent) => void;
133
140
  protected touchend: (e: TouchEvent) => void;
134
- protected cursorMouseLeave: () => void;
135
141
  protected keydown: (e: KeyboardEvent) => void;
136
142
  protected bindDisplayerEvent(div: HTMLDivElement): void;
137
143
  protected removeDisplayerEvent(div: HTMLDivElement): void;
144
+ get isBezier(): boolean;
145
+ get maxDrawCount(): number;
146
+ /** 检查是否超过最大绘制数量 */
147
+ checkConsumeCount(): boolean;
138
148
  }
139
149
  /** appView容器管理器抽象 */
140
150
  export declare abstract class AppViewDisplayerManager extends BaseViewDisplayerManager {
141
- viewId: string;
151
+ private _viewId;
142
152
  constructor(viewId: string, control: ApplianceManagerLike, internalMsgEmitter: EventEmitter2);
143
- abstract setCanvassStyle(): void;
153
+ get viewId(): string;
154
+ setViewId(viewId: string): void;
144
155
  }
145
156
  /** 主容器管理器抽象 */
146
157
  export declare abstract class MainViewDisplayerManager extends BaseViewDisplayerManager {
147
- readonly viewId: string;
148
158
  abstract snapshotContainerRef?: React.RefObject<HTMLDivElement>;
149
159
  constructor(control: ApplianceManagerLike, internalMsgEmitter: EventEmitter2);
150
- abstract setCanvassStyle(): void;
151
- destroy(): void;
160
+ get viewId(): string;
152
161
  updateSize(): void;
153
- protected mousedown: (e: MouseEvent) => void;
154
- protected mousemove: (e: MouseEvent) => void;
155
- protected mouseup: (e: MouseEvent) => void;
156
- protected touchstart: (e: TouchEvent) => void;
157
- protected touchmove: (e: TouchEvent) => void;
158
- protected touchend: (e: TouchEvent) => void;
159
- protected cursorMouseLeave: () => void;
160
- protected removeDisplayerEvent(div: HTMLDivElement): void;
162
+ destroy(): void;
161
163
  }
@@ -8,11 +8,11 @@ export interface BaseDisplayerProps {
8
8
  refs: {
9
9
  snapshotContainerRef?: React.RefObject<HTMLDivElement>;
10
10
  canvasContainerRef: React.RefObject<HTMLDivElement>;
11
- subLocalCanvasContainerRef: React.RefObject<HTMLDivElement>;
11
+ subLocalCanvasContainerRef?: React.RefObject<HTMLDivElement>;
12
12
  canvasServiceFloatRef: React.RefObject<HTMLCanvasElement>;
13
13
  canvasFloatRef: React.RefObject<HTMLCanvasElement>;
14
14
  canvasBgRef: React.RefObject<HTMLCanvasElement>;
15
- canvasTopRef: React.RefObject<HTMLCanvasElement>;
15
+ canvasTopRef?: React.RefObject<HTMLCanvasElement>;
16
16
  floatBarRef: React.RefObject<HTMLDivElement>;
17
17
  };
18
18
  }
@@ -10,8 +10,8 @@ export declare class AppViewDisplayerManagerImpl extends AppViewDisplayerManager
10
10
  vDom?: BaseViewDisplayer;
11
11
  eventTragetElement?: HTMLDivElement;
12
12
  canvasContainerRef: React.RefObject<HTMLDivElement>;
13
- subLocalCanvasContainerRef: React.RefObject<HTMLDivElement>;
14
- canvasTopRef: React.RefObject<HTMLCanvasElement>;
13
+ subLocalCanvasContainerRef?: React.RefObject<HTMLDivElement>;
14
+ canvasTopRef?: React.RefObject<HTMLCanvasElement>;
15
15
  canvasServiceFloatRef: React.RefObject<HTMLCanvasElement>;
16
16
  canvasFloatRef: React.RefObject<HTMLCanvasElement>;
17
17
  canvasBgRef: React.RefObject<HTMLCanvasElement>;
@@ -11,8 +11,8 @@ export declare class MainViewMultiDisplayerManager extends MainViewDisplayerMana
11
11
  eventTragetElement?: HTMLDivElement;
12
12
  snapshotContainerRef?: React.RefObject<HTMLDivElement>;
13
13
  canvasContainerRef: React.RefObject<HTMLDivElement>;
14
- subLocalCanvasContainerRef: React.RefObject<HTMLDivElement>;
15
- canvasTopRef: React.RefObject<HTMLCanvasElement>;
14
+ subLocalCanvasContainerRef?: React.RefObject<HTMLDivElement>;
15
+ canvasTopRef?: React.RefObject<HTMLCanvasElement>;
16
16
  canvasServiceFloatRef: React.RefObject<HTMLCanvasElement>;
17
17
  canvasFloatRef: React.RefObject<HTMLCanvasElement>;
18
18
  canvasBgRef: React.RefObject<HTMLCanvasElement>;
@@ -8,12 +8,11 @@ export declare class MainViewSingleDisplayerManager extends MainViewDisplayerMan
8
8
  height: number;
9
9
  dpr: number;
10
10
  vDom?: BaseViewDisplayer;
11
- viewId: string;
12
11
  eventTragetElement?: HTMLDivElement;
13
12
  snapshotContainerRef?: React.RefObject<HTMLDivElement>;
14
13
  canvasContainerRef: React.RefObject<HTMLDivElement>;
15
- subLocalCanvasContainerRef: React.RefObject<HTMLDivElement>;
16
- canvasTopRef: React.RefObject<HTMLCanvasElement>;
14
+ subLocalCanvasContainerRef?: React.RefObject<HTMLDivElement>;
15
+ canvasTopRef?: React.RefObject<HTMLCanvasElement>;
17
16
  canvasServiceFloatRef: React.RefObject<HTMLCanvasElement>;
18
17
  canvasFloatRef: React.RefObject<HTMLCanvasElement>;
19
18
  canvasBgRef: React.RefObject<HTMLCanvasElement>;
@@ -208,12 +208,6 @@ export interface AppliancePluginInstance {
208
208
  setWritable(writable: boolean): Promise<void>;
209
209
  /** setMemberState */
210
210
  setMemberState(modifyState: Partial<MemberState>): void;
211
- /** 设置性能优先项
212
- * @param priority 优先项, 可以是 ``ui`` 或 ``cpu``
213
- * ui: 优先绘制UI,适用于需要绘制高跟手度
214
- * cpu: 优先降低主进程CPU消耗,适用于底端设备
215
- */
216
- setPerformancePriority(priority: PriorityType): void;
217
211
  /** 获取undo */
218
212
  canUndoSteps(): number;
219
213
  /** 获取redo */
@@ -303,6 +297,8 @@ export type ExtrasOptions = {
303
297
  * mainThread: 使用主线程
304
298
  */
305
299
  useWorker?: UseWorkerType;
300
+ /** 是否使用简单模式, 默认值为 ``false`` */
301
+ useSimple?: boolean;
306
302
  /** 同步数据配置项 */
307
303
  syncOpt?: SyncOpt;
308
304
  /** 画布配置项 */
@@ -328,6 +324,7 @@ export type AppliancePluginOptions = {
328
324
  };
329
325
  export type RequiredExtrasOptions = {
330
326
  useWorker: Required<UseWorkerType>;
327
+ useSimple: Required<boolean>;
331
328
  syncOpt: Required<SyncOpt>;
332
329
  canvasOpt: Required<CanvasOpt>;
333
330
  cursor: Required<CursorOpt>;
@@ -516,7 +513,6 @@ export declare enum ActiveContainerType {
516
513
  }
517
514
  export type SpeechBalloonPlacement = "top" | "left" | "right" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom";
518
515
  export type TeleBoxState = "normal" | "minimized" | "maximized";
519
- export type PriorityType = "ui" | "cpu";
520
516
  export type FilterRenderType = "show" | "hide";
521
517
  export type FilterPublishAutType = "write" | "readOnly";
522
518
  export type FilterRenderDataType = "page" | "uid";