@netless/appliance-plugin 1.1.22-beta.1 → 1.1.22-beta.10

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 (50) hide show
  1. package/cdn/cdn.js +1 -1
  2. package/cdn/fullWorker-C1rEr3.js +473 -0
  3. package/cdn/subWorker-h9xdtI.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 +19 -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 +6 -5
  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/utils/indexDB.d.ts +17 -0
  23. package/dist/core/worker/base.d.ts +17 -12
  24. package/dist/core/worker/fullWorkerLocal.d.ts +25 -15
  25. package/dist/core/worker/fullWorkerService.d.ts +9 -9
  26. package/dist/core/worker/simpleWorker.d.ts +27 -0
  27. package/dist/core/worker/snapshotWork.d.ts +27 -0
  28. package/dist/core/worker/subWorkerLocal.d.ts +1 -3
  29. package/dist/core/worker/workerManager.d.ts +48 -34
  30. package/dist/fullWorker.js +186 -153
  31. package/dist/index-CCC5Xtq9.mjs +14769 -0
  32. package/dist/index-CG_tIsul.js +1 -0
  33. package/dist/index-CKcWRyxy.js +1 -0
  34. package/dist/index-DsqYUFoa.mjs +9516 -0
  35. package/dist/plugin/baseApplianceManager.d.ts +10 -7
  36. package/dist/plugin/baseViewContainerManager.d.ts +46 -80
  37. package/dist/plugin/displayerView.d.ts +2 -2
  38. package/dist/plugin/multi/displayer/appViewDisplayerManager.d.ts +2 -2
  39. package/dist/plugin/multi/displayer/mainViewDisplayerManager.d.ts +2 -2
  40. package/dist/plugin/single/displayer/mainViewDisplayerManager.d.ts +2 -3
  41. package/dist/plugin/types.d.ts +13 -8
  42. package/dist/subWorker.js +186 -153
  43. package/package.json +4 -2
  44. package/cdn/fullWorker-BQclbf.js +0 -440
  45. package/cdn/subWorker-Co2GgG.js +0 -440
  46. package/dist/core/mainThread/workerMainThread.d.ts +0 -100
  47. package/dist/index-7Ry75r2W.js +0 -1
  48. package/dist/index-CEBD0CPi.mjs +0 -2779
  49. package/dist/index-Cyb4w2Wb.mjs +0 -21456
  50. package/dist/index-ggI7Ru6d.js +0 -1
@@ -6,7 +6,7 @@ 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
11
  export interface IWorkerInitOption {
12
12
  dpr: number;
@@ -15,9 +15,17 @@ export interface IWorkerInitOption {
15
15
  combineUnitTime?: number;
16
16
  syncUnitTime?: number;
17
17
  maxCombineEraserTime?: number;
18
+ isUseSimple?: boolean;
19
+ }
20
+ export interface ISimpleWorkerInitOption extends IWorkerInitOption {
21
+ offscreenCanvas?: {
22
+ localCanvas: OffscreenCanvas;
23
+ bgCanvas: OffscreenCanvas;
24
+ serviceCanvas: OffscreenCanvas;
25
+ };
18
26
  }
19
27
  export interface ISubWorkerInitOption {
20
- thread: WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker;
28
+ thread: WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker | WorkThreadEngineForSimpleWorker;
21
29
  viewId: string;
22
30
  vNodes: VNodeManager;
23
31
  fullLayer: Group;
@@ -26,12 +34,12 @@ export interface ISubWorkerInitOption {
26
34
  }
27
35
  export declare abstract class WorkThreadEngineBase {
28
36
  readonly viewId: string;
37
+ readonly type: EWorkThreadType;
29
38
  scene: Scene;
30
39
  fullLayer: Group;
31
40
  readonly vNodes: VNodeManager;
32
41
  dpr: number;
33
42
  readonly contextType?: ECanvasContextType;
34
- abstract readonly type: EWorkThreadType;
35
43
  protected opt: IWorkerInitOption;
36
44
  protected cameraOpt?: ICameraOpt;
37
45
  abstract localWork: LocalWorkForFullWorker | LocalWorkForSubWorker;
@@ -45,7 +53,6 @@ export declare abstract class WorkThreadEngineBase {
45
53
  workName: EmitEventType;
46
54
  workState: EvevtWorkState;
47
55
  };
48
- protected hasPriorityDraw: boolean;
49
56
  protected delayPostDoneResolve?: (bol: boolean) => void;
50
57
  protected cacheImages: Map<string, {
51
58
  imageBitmap: ImageBitmap;
@@ -58,25 +65,23 @@ export declare abstract class WorkThreadEngineBase {
58
65
  protected taskUpdateCameraId?: number;
59
66
  protected debounceUpdateCameraId?: number;
60
67
  constructor(viewId: string, opt: IWorkerInitOption, workerType: EWorkThreadType);
61
- private createRenderLayer;
68
+ protected createRenderLayer(scene: Scene, opt: IWorkerInitOption): void;
62
69
  updateDpr(dpr: number): Promise<void>;
63
70
  getCachedImages(imageSrc: string): ImageBitmap | undefined;
64
71
  getCachedImagesByWorkId(workId: string): ImageBitmap | undefined;
65
72
  deleteCachedImagesByWorkId(workId: string, filter?: string): void;
66
73
  clearCacheImages(): void;
67
74
  clearImageResolveMap(): void;
68
- setHasPriorityDraw(bol: boolean): void;
69
- getPriorityDraw(): boolean;
70
75
  setIsSafari(isSafari: boolean): void;
71
76
  on(msg: IWorkerMessage): Promise<void>;
72
77
  private getIconSize;
73
78
  loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "isSubWorker">): Promise<ImageBitmap | undefined>;
74
79
  protected createLocalWork(data: IWorkerMessage): void;
75
- protected updateScene(offscreenCanvasOpt: IOffscreenCanvasOptionType): void;
76
- protected updateLayer(layerOpt: ILayerOptionType): void;
80
+ protected updateScene(scene: Scene, offscreenCanvasOpt: IOffscreenCanvasOptionType, targetLayer?: Group): void;
81
+ protected updateLayer(layerOpt: ILayerOptionType, targetLayer?: Group): void;
77
82
  private getSupportContextType;
78
- protected createScene(opt: IOffscreenCanvasOptionType): Scene;
79
- protected createLayer(name: string, scene: Scene, opt: ILayerOptionType): Group;
83
+ protected createScene(opt: IWorkerInitOption): Scene;
84
+ protected createLayer(name: string, scene: Scene, opt: ILayerOptionType, offscreenCanvas?: OffscreenCanvas): Group;
80
85
  protected clearAll(): Promise<void>;
81
86
  protected setToolsOpt(opt: IActiveToolsDataType): void;
82
87
  protected setWorkOpt(opt: Partial<IActiveWorkDataType>): void;
@@ -94,7 +99,7 @@ export declare abstract class WorkThreadEngineBase {
94
99
  }
95
100
  export declare abstract class LocalWork {
96
101
  readonly viewId: string;
97
- readonly vNodes: VNodeManager;
102
+ readonly vNodes?: VNodeManager;
98
103
  readonly thread: WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker;
99
104
  fullLayer: Group;
100
105
  drawLayer?: Group;
@@ -1,21 +1,31 @@
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";
8
+ import { VNodeManager } from "../vNodeManager";
6
9
  export declare class LocalWorkForFullWorker extends LocalWork {
7
- private combineTimerId?;
8
- private combineDrawResolve?;
9
- private combineDrawActiveId?;
10
+ readonly vNodes: VNodeManager;
11
+ protected _type: string;
12
+ protected combineTimerId?: number;
13
+ protected combineDrawResolve?: (value: boolean) => void;
14
+ protected combineDrawActiveId?: string;
10
15
  protected drawWorkActiveId?: string;
11
- private effectSelectNodeData;
16
+ protected effectSelectNodeData: Set<IWorkerMessage>;
12
17
  constructor(opt: ISubWorkerInitOption);
13
18
  loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "isSubWorker">): Promise<ImageBitmap | undefined>;
14
19
  consumeDraw(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
15
20
  consumeDrawAll(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): Promise<void>;
16
21
  workShapesDone(scenePath: string, serviceWork: ServiceWorkForFullWorker): Promise<void>;
17
22
  consumeFull(data: IWorkerMessage): Promise<void>;
18
- private commandDeleteText;
23
+ protected commandDeleteText(workId: string): {
24
+ type: EPostMessageType;
25
+ toolsType: EToolsKey;
26
+ workId: string;
27
+ dataType: EDataType;
28
+ } | undefined;
19
29
  removeSelector(data: IWorkerMessage, workEngine?: WorkThreadEngineForFullWorker): Promise<void>;
20
30
  removeWork(data: IWorkerMessage): Promise<void>;
21
31
  removeNode(key: string): {
@@ -45,15 +55,15 @@ export declare class LocalWorkForFullWorker extends LocalWork {
45
55
  reRenderSelector(willSyncService?: boolean): Promise<void>;
46
56
  updateFullSelectWork(data: IWorkerMessage): Promise<void>;
47
57
  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;
58
+ protected drawEraserCombine(workId: string, drawCount: number): Promise<void>;
59
+ protected drawPencilCombine(workId: string, drawCount: number): Promise<void>;
60
+ protected drawSelector(res: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
61
+ protected drawPencilFull(res: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
62
+ protected drawEraserFull(workShapeNode: BitMapEraserShape | PencilEraserShape, res: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
63
+ protected drawEraser(result: IMainMessage, isLockSentEventCursor?: boolean): Promise<void>;
64
+ protected drawShape(res: IMainMessage): Promise<void>;
65
+ protected drawPencil(res: IMainMessage): Promise<void>;
66
+ protected runEffectSelectWork(willSyncService?: boolean): Promise<void>;
57
67
  cursorHover(msg: IWorkerMessage): Promise<void>;
58
68
  cursorBlur(): Promise<void>;
59
69
  }
@@ -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
+ }
@@ -0,0 +1,27 @@
1
+ import { Group, Scene } from "spritejs";
2
+ import { ICameraOpt, ILayerOptionType, IWorkerMessage, IRectType } from "..";
3
+ import { LocalWork, ISubWorkerInitOption, IWorkerInitOption } from "./base";
4
+ import { VNodeManager } from "../vNodeManager";
5
+ export interface ISnapshotWorkInitOption extends ISubWorkerInitOption {
6
+ createScene(opt: IWorkerInitOption): Scene;
7
+ createLayer(name: string, scene: Scene, opt: ILayerOptionType, offscreenCanvas?: OffscreenCanvas): Group;
8
+ }
9
+ export declare class SnapshotWork extends LocalWork {
10
+ protected opt: ISnapshotWorkInitOption;
11
+ protected scene?: Scene | undefined;
12
+ protected cameraOpt: ICameraOpt | undefined;
13
+ vNodes?: VNodeManager;
14
+ constructor(opt: ISnapshotWorkInitOption);
15
+ createSnapshotFullLayer(sceneOpt: IWorkerInitOption, opt: ILayerOptionType): void;
16
+ destroySnapshotFullLayer(): void;
17
+ private updateScene;
18
+ private updateLayer;
19
+ setCameraOpt(cameraOpt: ICameraOpt): void;
20
+ private getOffscreen;
21
+ private getRectImageBitmap;
22
+ getSnapshot(data: IWorkerMessage): Promise<void>;
23
+ protected runFullWork(data: IWorkerMessage): Promise<IRectType | undefined>;
24
+ getSceneRect(): IRectType;
25
+ private getSnapshotRender;
26
+ getBoundingRect(data: IWorkerMessage): 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,14 @@
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, 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";
11
+ import { SnapshotWork } from "./snapshotWork";
9
12
  export declare enum EWorkThreadType {
10
13
  Full = "full",
11
14
  Sub = "sub"
@@ -14,25 +17,48 @@ export declare class WorkerManager<T extends WorkThreadEngineBase> {
14
17
  readonly _self: Worker;
15
18
  readonly version: string;
16
19
  protected type: EWorkThreadType;
17
- protected hasPriorityDraw: boolean;
18
20
  protected workThreadMap: Map<string, T>;
19
21
  constructor(worker: Worker, type: EWorkThreadType);
20
22
  private init;
21
23
  private setFontFaces;
22
24
  private isFontAvailable;
23
25
  private register;
24
- post(msg: IBatchMainMessage, transfer?: Transferable[]): void;
26
+ post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void;
27
+ }
28
+ /** sub worker */
29
+ export declare class WorkThreadEngineForSubWorker extends WorkThreadEngineBase {
30
+ readonly type: EWorkThreadType;
31
+ _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
32
+ topLayer?: Group;
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
+ on(msg: IWorkerMessage): Promise<void>;
40
+ protected createLocalWork(data: IWorkerMessage): void;
41
+ removeNode(data: IWorkerMessage): Promise<void>;
42
+ getLayer(drawCanvas: ECanvasShowType): Group;
43
+ getOffscreen(drawCanvas: ECanvasShowType): 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
- protected _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
61
+ _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
36
62
  private debounceUpdateCache;
37
63
  constructor(viewId: string, opt: IWorkerInitOption, _post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void);
38
64
  combinePost(): Promise<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
  }