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

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-W5jqjm.js +473 -0
  3. package/cdn/subWorker-DxS1fk.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---4P-1Dz.js +1 -0
  30. package/dist/index-C2HIPlQy.js +1 -0
  31. package/dist/index-ChaMAgdB.mjs +14745 -0
  32. package/dist/index-tNa1mbnF.mjs +9505 -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
@@ -6,8 +6,10 @@ import { BaseShapeOptions, BaseShapeTool } from "../tools/base";
6
6
  import { ServiceWorkForFullWorker } from "./fullWorkerService";
7
7
  import { LocalWorkForFullWorker } from "./fullWorkerLocal";
8
8
  import { LocalWorkForSubWorker } from "./subWorkerLocal";
9
- import { EWorkThreadType, WorkThreadEngineForFullWorker, WorkThreadEngineForSubWorker } from "./workerManager";
9
+ import { EWorkThreadType, type WorkThreadEngineForFullWorker, type WorkThreadEngineForSubWorker, type WorkThreadEngineForSimpleWorker } from "./workerManager";
10
10
  import { EmitEventType } from "../../plugin/types";
11
+ import { ImageShape } from "../tools/image";
12
+ import { TextShape } from "../tools/text";
11
13
  export interface IWorkerInitOption {
12
14
  dpr: number;
13
15
  offscreenCanvasOpt: IOffscreenCanvasOptionType;
@@ -15,9 +17,17 @@ export interface IWorkerInitOption {
15
17
  combineUnitTime?: number;
16
18
  syncUnitTime?: number;
17
19
  maxCombineEraserTime?: number;
20
+ isUseSimple?: boolean;
21
+ }
22
+ export interface ISimpleWorkerInitOption extends IWorkerInitOption {
23
+ offscreenCanvas?: {
24
+ localCanvas: OffscreenCanvas;
25
+ bgCanvas: OffscreenCanvas;
26
+ serviceCanvas: OffscreenCanvas;
27
+ };
18
28
  }
19
29
  export interface ISubWorkerInitOption {
20
- thread: WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker;
30
+ thread: WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker | WorkThreadEngineForSimpleWorker;
21
31
  viewId: string;
22
32
  vNodes: VNodeManager;
23
33
  fullLayer: Group;
@@ -26,12 +36,12 @@ export interface ISubWorkerInitOption {
26
36
  }
27
37
  export declare abstract class WorkThreadEngineBase {
28
38
  readonly viewId: string;
39
+ readonly type: EWorkThreadType;
29
40
  scene: Scene;
30
41
  fullLayer: Group;
31
42
  readonly vNodes: VNodeManager;
32
43
  dpr: number;
33
44
  readonly contextType?: ECanvasContextType;
34
- abstract readonly type: EWorkThreadType;
35
45
  protected opt: IWorkerInitOption;
36
46
  protected cameraOpt?: ICameraOpt;
37
47
  abstract localWork: LocalWorkForFullWorker | LocalWorkForSubWorker;
@@ -45,7 +55,6 @@ export declare abstract class WorkThreadEngineBase {
45
55
  workName: EmitEventType;
46
56
  workState: EvevtWorkState;
47
57
  };
48
- protected hasPriorityDraw: boolean;
49
58
  protected delayPostDoneResolve?: (bol: boolean) => void;
50
59
  protected cacheImages: Map<string, {
51
60
  imageBitmap: ImageBitmap;
@@ -58,25 +67,23 @@ export declare abstract class WorkThreadEngineBase {
58
67
  protected taskUpdateCameraId?: number;
59
68
  protected debounceUpdateCameraId?: number;
60
69
  constructor(viewId: string, opt: IWorkerInitOption, workerType: EWorkThreadType);
61
- private createRenderLayer;
70
+ protected createRenderLayer(scene: Scene, opt: IWorkerInitOption): void;
62
71
  updateDpr(dpr: number): Promise<void>;
63
72
  getCachedImages(imageSrc: string): ImageBitmap | undefined;
64
73
  getCachedImagesByWorkId(workId: string): ImageBitmap | undefined;
65
74
  deleteCachedImagesByWorkId(workId: string, filter?: string): void;
66
75
  clearCacheImages(): void;
67
76
  clearImageResolveMap(): void;
68
- setHasPriorityDraw(bol: boolean): void;
69
- getPriorityDraw(): boolean;
70
77
  setIsSafari(isSafari: boolean): void;
71
78
  on(msg: IWorkerMessage): Promise<void>;
72
79
  private getIconSize;
73
80
  loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "isSubWorker">): Promise<ImageBitmap | undefined>;
74
81
  protected createLocalWork(data: IWorkerMessage): void;
75
- protected updateScene(offscreenCanvasOpt: IOffscreenCanvasOptionType): void;
76
- protected updateLayer(layerOpt: ILayerOptionType): void;
82
+ protected updateScene(scene: Scene, offscreenCanvasOpt: IOffscreenCanvasOptionType, targetLayer?: Group): void;
83
+ protected updateLayer(layerOpt: ILayerOptionType, targetLayer?: Group): void;
77
84
  private getSupportContextType;
78
- protected createScene(opt: IOffscreenCanvasOptionType): Scene;
79
- protected createLayer(name: string, scene: Scene, opt: ILayerOptionType): Group;
85
+ protected createScene(opt: IWorkerInitOption): Scene;
86
+ protected createLayer(name: string, scene: Scene, opt: ILayerOptionType, offscreenCanvas?: OffscreenCanvas): Group;
80
87
  protected clearAll(): Promise<void>;
81
88
  protected setToolsOpt(opt: IActiveToolsDataType): void;
82
89
  protected setWorkOpt(opt: Partial<IActiveWorkDataType>): void;
@@ -117,10 +124,46 @@ export declare abstract class LocalWork {
117
124
  setWorkOptions(workId: string, opt: BaseShapeOptions): void;
118
125
  createWorkShapeNode(opt: IActiveToolsDataType & {
119
126
  workId: string;
120
- }): 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/text").TextShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools/pencilEraser").PencilEraserShape | import("../tools").BitMapEraserShape | import("../tools").SelectorShape | import("../tools").ImageShape | undefined;
127
+ }): 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 | undefined;
121
128
  setToolsOpt(opt: IActiveToolsDataType): void;
122
129
  getToolsOpt(): IActiveToolsDataType | undefined;
123
130
  clearWorkShapeNodeCache(workId: string): void;
124
131
  clearAllWorkShapesCache(): void;
125
132
  setFullWork(data: Pick<IWorkerMessage, "workId" | "opt" | "toolsType">): BaseShapeTool | undefined;
126
133
  }
134
+ export declare class SnapshotWork {
135
+ protected snapshotFullLayer: Group | undefined;
136
+ protected opt: {
137
+ fullLayer: Group;
138
+ localWork: LocalWorkForFullWorker | LocalWorkForSubWorker;
139
+ viewId: string;
140
+ thread: WorkThreadEngineForSimpleWorker | WorkThreadEngineForSubWorker;
141
+ getDpr: () => number;
142
+ getCameraOpt: () => ICameraOpt | undefined;
143
+ getOffscreen: (drawCanvas: ECanvasShowType, isSnapshot?: boolean) => OffscreenCanvas;
144
+ setCameraOpt: (cameraOpt: ICameraOpt, layer: Group) => void;
145
+ post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void;
146
+ getSceneRect: () => IRectType;
147
+ createLayer: (name: string, scene: Scene, opt: ILayerOptionType, offscreenCanvas?: OffscreenCanvas) => Group;
148
+ };
149
+ constructor(opt: {
150
+ fullLayer: Group;
151
+ localWork: LocalWorkForFullWorker | LocalWorkForSubWorker;
152
+ viewId: string;
153
+ thread: WorkThreadEngineForSimpleWorker | WorkThreadEngineForSubWorker;
154
+ getDpr: () => number;
155
+ getCameraOpt: () => ICameraOpt | undefined;
156
+ getOffscreen: (drawCanvas: ECanvasShowType, isSnapshot?: boolean) => OffscreenCanvas;
157
+ setCameraOpt: (cameraOpt: ICameraOpt, layer: Group) => void;
158
+ post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void;
159
+ getSceneRect: () => IRectType;
160
+ createLayer: (name: string, scene: Scene, opt: ILayerOptionType, offscreenCanvas?: OffscreenCanvas) => Group;
161
+ });
162
+ private getRectImageBitmap;
163
+ createSnapshotFullLayer(scene: Scene, opt: ILayerOptionType): void;
164
+ destroySnapshotFullLayer(): void;
165
+ getSnapshot(data: IWorkerMessage): Promise<void>;
166
+ protected runFullWork(data: IWorkerMessage): Promise<IRectType | undefined>;
167
+ private getSnapshotRender;
168
+ getBoundingRect(data: IWorkerMessage): Promise<void>;
169
+ }
@@ -1,21 +1,29 @@
1
- import { IWorkerMessage, IMainMessage, IRectType, EToolsKey, IBatchMainMessage, IUpdateSelectorPropsType } from "..";
1
+ import { EPostMessageType, IWorkerMessage, IMainMessage, IRectType, EToolsKey, IBatchMainMessage, IUpdateSelectorPropsType, EDataType } from "..";
2
2
  import { BaseShapeOptions, SelectorShape } from "../tools";
3
3
  import { ISubWorkerInitOption, LocalWork } from "./base";
4
4
  import { ServiceWorkForFullWorker } from "./fullWorkerService";
5
+ import { BitMapEraserShape } from "../tools/pencilEraserBitMap";
5
6
  import { WorkThreadEngineForFullWorker } from "./workerManager";
7
+ import { PencilEraserShape } from "../tools/pencilEraser";
6
8
  export declare class LocalWorkForFullWorker extends LocalWork {
7
- private combineTimerId?;
8
- private combineDrawResolve?;
9
- private combineDrawActiveId?;
9
+ protected _type: string;
10
+ protected combineTimerId?: number;
11
+ protected combineDrawResolve?: (value: boolean) => void;
12
+ protected combineDrawActiveId?: string;
10
13
  protected drawWorkActiveId?: string;
11
- private effectSelectNodeData;
14
+ protected effectSelectNodeData: Set<IWorkerMessage>;
12
15
  constructor(opt: ISubWorkerInitOption);
13
16
  loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "isSubWorker">): Promise<ImageBitmap | undefined>;
14
17
  consumeDraw(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
15
18
  consumeDrawAll(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
16
19
  workShapesDone(scenePath: string, serviceWork: ServiceWorkForFullWorker): Promise<void>;
17
20
  consumeFull(data: IWorkerMessage): Promise<void>;
18
- private commandDeleteText;
21
+ protected commandDeleteText(workId: string): {
22
+ type: EPostMessageType;
23
+ toolsType: EToolsKey;
24
+ workId: string;
25
+ dataType: EDataType;
26
+ } | undefined;
19
27
  removeSelector(data: IWorkerMessage, workEngine?: WorkThreadEngineForFullWorker): Promise<void>;
20
28
  removeWork(data: IWorkerMessage): Promise<void>;
21
29
  removeNode(key: string): {
@@ -45,15 +53,15 @@ export declare class LocalWorkForFullWorker extends LocalWork {
45
53
  reRenderSelector(willSyncService?: boolean): Promise<void>;
46
54
  updateFullSelectWork(data: IWorkerMessage): Promise<void>;
47
55
  destroy(): void;
48
- private drawEraserCombine;
49
- private drawPencilCombine;
50
- private drawSelector;
51
- private drawPencilFull;
52
- private drawEraserFull;
53
- private drawEraser;
54
- private drawShape;
55
- private drawPencil;
56
- private runEffectSelectWork;
56
+ protected drawEraserCombine(workId: string, drawCount: number): Promise<void>;
57
+ protected drawPencilCombine(workId: string, drawCount: number): Promise<void>;
58
+ protected drawSelector(res: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
59
+ protected drawPencilFull(res: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
60
+ protected drawEraserFull(workShapeNode: BitMapEraserShape | PencilEraserShape, res: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
61
+ protected drawEraser(result: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
62
+ protected drawShape(res: IMainMessage): Promise<void>;
63
+ protected drawPencil(res: IMainMessage): Promise<void>;
64
+ protected runEffectSelectWork(willSyncService?: boolean): Promise<void>;
57
65
  cursorHover(msg: IWorkerMessage): Promise<void>;
58
66
  cursorBlur(): Promise<void>;
59
67
  }
@@ -1,7 +1,7 @@
1
1
  import { Group } from "spritejs";
2
2
  import { ISubWorkerInitOption } from "./base";
3
3
  import { VNodeManager } from "../vNodeManager";
4
- import { IBatchMainMessage, IServiceWorkItem, IWorkerMessage } from "../types";
4
+ import { IBatchMainMessage, IRectType, IServiceWorkItem, IWorkerMessage } from "../types";
5
5
  import { EToolsKey } from "../enum";
6
6
  import { BaseShapeOptions } from "../tools";
7
7
  import { WorkThreadEngineForFullWorker } from "./workerManager";
@@ -32,10 +32,10 @@ export declare class ServiceWorkForFullWorker implements ServiceWork {
32
32
  selectorWorkShapes: Map<string, IServiceWorkItem>;
33
33
  thread: WorkThreadEngineForFullWorker;
34
34
  protected animationId?: number | undefined;
35
- private willRunEffectSelectorIds;
36
- private runEffectId?;
37
- private noAnimationRect;
38
- private syncUnitTime;
35
+ protected willRunEffectSelectorIds: Set<string>;
36
+ protected runEffectId?: number | undefined;
37
+ protected noAnimationRect: IRectType | undefined;
38
+ protected syncUnitTime: number;
39
39
  post: (msg: IBatchMainMessage) => Promise<void>;
40
40
  constructor(opt: ISubWorkerInitOption);
41
41
  destroy(): void;
@@ -49,10 +49,10 @@ export declare class ServiceWorkForFullWorker implements ServiceWork {
49
49
  private removeNode;
50
50
  private activeWorkShape;
51
51
  private hasDiffData;
52
- private animationDraw;
53
- private runAnimation;
54
- private computNextAnimationIndex;
55
- private runEffect;
52
+ protected animationDraw(): Promise<void>;
53
+ protected runAnimation(): void;
54
+ protected computNextAnimationIndex(workShape: IServiceWorkItem, pointUnit: number): number;
55
+ protected runEffect(): void;
56
56
  private effectRunSelector;
57
57
  private activeSelectorShape;
58
58
  }
@@ -0,0 +1,27 @@
1
+ import { IActiveToolsDataType, IMainMessage, IMainMessageRenderData, IWorkerMessage } from "../index";
2
+ import { ISubWorkerInitOption } from "./base";
3
+ import { LocalWorkForFullWorker } from "./fullWorkerLocal";
4
+ import { ServiceWorkForFullWorker } from "./fullWorkerService";
5
+ import { SelectorShape, BitMapEraserShape, ArrowShape, ImageShape } from "../tools";
6
+ import { PencilEraserShape } from "../tools/pencilEraser";
7
+ import { TextShape } from "../tools/text";
8
+ /** 本地绘制worker 的实现 */
9
+ export declare class LocalWorkForSimpleWorker extends LocalWorkForFullWorker {
10
+ protected _type: string;
11
+ constructor(opt: ISubWorkerInitOption);
12
+ createWorkShapeNode(opt: IActiveToolsDataType & {
13
+ workId: string;
14
+ }): 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 | undefined;
15
+ protected drawPencil(res: IMainMessage, workId?: string): Promise<void>;
16
+ protected drawShape(res: IMainMessage): Promise<void>;
17
+ protected drawSelector(res: IMainMessage, isLockSentEventCursor?: boolean, render?: IMainMessageRenderData[]): Promise<void>;
18
+ protected drawEraserCombine(workId: string): Promise<void>;
19
+ consumeDraw(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
20
+ consumeDrawAll(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
21
+ }
22
+ /** 服务端同步数据绘制worker 的实现 */
23
+ export declare class ServiceWorkForSimpleWorker extends ServiceWorkForFullWorker {
24
+ readonly _type = "simple";
25
+ constructor(opt: ISubWorkerInitOption);
26
+ protected animationDraw(): Promise<void>;
27
+ }
@@ -1,12 +1,10 @@
1
- import { IWorkerMessage, IRectType, EToolsKey } from "..";
1
+ import { IWorkerMessage } from "..";
2
2
  import { LocalWork, ISubWorkerInitOption } from "./base";
3
3
  export declare class LocalWorkForSubWorker extends LocalWork {
4
4
  private drawWorkActiveId?;
5
5
  constructor(opt: ISubWorkerInitOption);
6
- runFullWork(data: IWorkerMessage): Promise<IRectType | undefined>;
7
6
  runSelectWork(data: IWorkerMessage): undefined;
8
7
  workShapesDone(): void;
9
- canUseSubWorker(eToolsKey: EToolsKey): boolean;
10
8
  consumeDraw(data: IWorkerMessage): Promise<void>;
11
9
  consumeDrawAll(data: IWorkerMessage): Promise<void>;
12
10
  removeWork(data: IWorkerMessage): Promise<void>;
@@ -1,11 +1,13 @@
1
- import { Group } from "spritejs";
1
+ import { Group, Scene } from "spritejs";
2
2
  import { ECanvasShowType, EDataType } from "../enum";
3
- import { IBatchMainMessage, ICameraOpt, ILayerOptionType, IWorkerMessage } from "../types";
4
- import { IWorkerInitOption, WorkThreadEngineBase } from "./base";
3
+ import { MethodBuilderWorker } from "../msgEvent/forWorker";
4
+ import { IBatchMainMessage, ICameraOpt, ILayerOptionType, IMainMessageRenderData, IWorkerMessage } from "../types";
5
+ import { ISimpleWorkerInitOption, IWorkerInitOption, SnapshotWork, WorkThreadEngineBase } from "./base";
5
6
  import { LocalWorkForFullWorker } from "./fullWorkerLocal";
6
7
  import { ServiceWorkForFullWorker } from "./fullWorkerService";
7
8
  import { LocalWorkForSubWorker } from "./subWorkerLocal";
8
9
  import { TopLayerWorkForSubWorker } from "./subWorkerTopLayer";
10
+ import { LocalWorkForSimpleWorker, ServiceWorkForSimpleWorker } from "./simpleWorker";
9
11
  export declare enum EWorkThreadType {
10
12
  Full = "full",
11
13
  Sub = "sub"
@@ -14,22 +16,46 @@ export declare class WorkerManager<T extends WorkThreadEngineBase> {
14
16
  readonly _self: Worker;
15
17
  readonly version: string;
16
18
  protected type: EWorkThreadType;
17
- protected hasPriorityDraw: boolean;
18
19
  protected workThreadMap: Map<string, T>;
19
20
  constructor(worker: Worker, type: EWorkThreadType);
20
21
  private init;
21
22
  private setFontFaces;
22
23
  private isFontAvailable;
23
24
  private register;
24
- post(msg: IBatchMainMessage, transfer?: Transferable[]): void;
25
+ post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void;
26
+ }
27
+ /** sub worker */
28
+ export declare class WorkThreadEngineForSubWorker extends WorkThreadEngineBase {
29
+ readonly type: EWorkThreadType;
30
+ protected _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
31
+ topLayer?: Group;
32
+ snapshotFullLayer: Group | undefined;
33
+ serviceWork: undefined;
34
+ localWork: LocalWorkForSubWorker;
35
+ topLayerWork?: TopLayerWorkForSubWorker;
36
+ snapshotWork: SnapshotWork;
37
+ constructor(viewId: string, opt: IWorkerInitOption, _post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void);
38
+ combinePost(): Promise<void>;
39
+ getLayer(drawCanvas: ECanvasShowType, isSnapshot?: boolean): Group;
40
+ on(msg: IWorkerMessage): Promise<void>;
41
+ protected createLocalWork(data: IWorkerMessage): void;
42
+ removeNode(data: IWorkerMessage): Promise<void>;
43
+ getOffscreen(drawCanvas: ECanvasShowType, isSnapshot?: boolean): OffscreenCanvas;
44
+ consumeDraw(dataType: EDataType, data: IWorkerMessage): Promise<void>;
45
+ consumeDrawAll(_type: EDataType, data: IWorkerMessage): Promise<void>;
46
+ clearAll(): Promise<void>;
47
+ private getRectImageBitmap;
48
+ protected updateLayer(layerOpt: ILayerOptionType): void;
49
+ updateDpr(dpr: number): Promise<void>;
50
+ updateCamera(msg: IWorkerMessage): Promise<void>;
51
+ setCameraOpt(cameraOpt: ICameraOpt, layer?: Group): void;
25
52
  }
26
53
  /** full worker */
27
54
  export declare class WorkThreadEngineForFullWorker extends WorkThreadEngineBase {
28
- readonly type: EWorkThreadType;
29
55
  serviceDrawLayer: Group;
30
56
  localDrawLayer: Group;
31
57
  snapshotFullLayer: undefined;
32
- private methodBuilder;
58
+ protected methodBuilder: MethodBuilderWorker;
33
59
  localWork: LocalWorkForFullWorker;
34
60
  serviceWork: ServiceWorkForFullWorker;
35
61
  protected _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
@@ -49,36 +75,24 @@ export declare class WorkThreadEngineForFullWorker extends WorkThreadEngineBase
49
75
  consumeDrawAll(type: EDataType, data: IWorkerMessage): Promise<void>;
50
76
  updateDpr(dpr: number): Promise<void>;
51
77
  updateCamera(msg: IWorkerMessage): Promise<void>;
52
- private getRectImageBitmap;
78
+ protected getRectImageBitmap(renderData: Required<Pick<IMainMessageRenderData, "rect" | "drawCanvas">>): Promise<ImageBitmap>;
53
79
  private cursorHover;
54
80
  private cursorBlur;
55
81
  destroy(): void;
56
82
  }
57
- /** sub worker */
58
- export declare class WorkThreadEngineForSubWorker extends WorkThreadEngineBase {
59
- readonly type: EWorkThreadType;
60
- protected _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
61
- topLayer: Group;
62
- snapshotFullLayer: Group | undefined;
63
- serviceWork: undefined;
64
- localWork: LocalWorkForSubWorker;
65
- topLayerWork: TopLayerWorkForSubWorker;
66
- constructor(viewId: string, opt: IWorkerInitOption, _post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void);
67
- combinePost(): Promise<void>;
68
- getLayer(drawCanvas: ECanvasShowType, isSnapshot?: boolean): Group;
83
+ /** simple worker */
84
+ export declare class WorkThreadEngineForSimpleWorker extends WorkThreadEngineForFullWorker {
85
+ private snapshotWork;
86
+ localDrawScene?: Scene;
87
+ serviceDrawScene?: Scene;
88
+ private offscreenCanvas?;
89
+ localWork: LocalWorkForSimpleWorker;
90
+ serviceWork: ServiceWorkForSimpleWorker;
91
+ protected createRenderLayer(scene: Scene, opt: ISimpleWorkerInitOption, targetOffscreenCanvas?: OffscreenCanvas): void;
92
+ protected createScene(opt: ISimpleWorkerInitOption, targetOffscreenCanvas?: OffscreenCanvas): Scene;
93
+ protected combinePostData(): IBatchMainMessage;
69
94
  on(msg: IWorkerMessage): Promise<void>;
70
- protected createLocalWork(data: IWorkerMessage): void;
71
- removeNode(data: IWorkerMessage): Promise<void>;
72
- getOffscreen(drawCanvas: ECanvasShowType, isSnapshot?: boolean): OffscreenCanvas;
73
- consumeDraw(dataType: EDataType, data: IWorkerMessage): Promise<void>;
74
- consumeDrawAll(_type: EDataType, data: IWorkerMessage): Promise<void>;
75
- clearAll(): Promise<void>;
76
- private getRectImageBitmap;
77
- protected updateLayer(layerOpt: ILayerOptionType): void;
95
+ setCameraOpt(cameraOpt: ICameraOpt): void;
78
96
  updateDpr(dpr: number): Promise<void>;
79
- updateCamera(msg: IWorkerMessage): Promise<void>;
80
- setCameraOpt(cameraOpt: ICameraOpt, layer?: Group): void;
81
- private getSnapshot;
82
- private getSnapshotRender;
83
- private getBoundingRect;
97
+ constructor(viewId: string, opt: ISimpleWorkerInitOption, _post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void);
84
98
  }