@netless/appliance-plugin 1.1.42-beta.3 → 1.1.43-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/READMA.zh-CN.md +23 -1
- package/README.md +24 -1
- package/dist/appliance-plugin.js +1 -1
- package/dist/appliance-plugin.mjs +33 -30
- package/dist/{bridge-8P473Gy8.js → bridge-D68E09T9.js} +1 -1
- package/dist/{bridge-DKyR7grt.mjs → bridge-DcVN05tP.mjs} +1 -1
- package/dist/bridge.js +1 -1
- package/dist/bridge.mjs +1 -1
- package/dist/collector/collector.d.ts +50 -2
- package/dist/collector/types.d.ts +6 -0
- package/dist/component/svg/manager.d.ts +1 -0
- package/dist/component/svg/snapshot.d.ts +4 -1
- package/dist/component/textEditor/manager.d.ts +3 -0
- package/dist/core/backGroundThread/index.d.ts +6 -1
- package/dist/core/cameraTask.d.ts +45 -0
- package/dist/core/const.d.ts +4 -0
- package/dist/core/enum.d.ts +5 -1
- package/dist/core/error.d.ts +1 -0
- package/dist/core/fontFace.d.ts +5 -3
- package/dist/core/mainEngine.d.ts +230 -31
- package/dist/core/mainThread/base.d.ts +23 -2
- package/dist/core/mainThread/canvas2DReadback.d.ts +27 -0
- package/dist/core/mainThread/index.d.ts +12 -1
- package/dist/core/mainThread/snapshotThread.d.ts +11 -2
- package/dist/core/mainThread/subLocalThread.d.ts +12 -6
- package/dist/core/mainThread/subServiceThread.d.ts +5 -3
- package/dist/core/msgEvent/base.d.ts +4 -1
- package/dist/core/msgEvent/baseForWorker.d.ts +1 -1
- package/dist/core/msgEvent/copyNode/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/index.d.ts +5 -3
- package/dist/core/msgEvent/rotateNode/forMain.d.ts +1 -0
- package/dist/core/msgEvent/rotateNode/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/scaleNode/forMain.d.ts +1 -0
- package/dist/core/msgEvent/scaleNode/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/setColor/forMain.d.ts +1 -0
- package/dist/core/msgEvent/setColor/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/setFont/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/setLock/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/setPoint/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/setShape/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/setZIndex/forWorker.d.ts +1 -1
- package/dist/core/msgEvent/translateNode/forMain.d.ts +1 -0
- package/dist/core/msgEvent/translateNode/forWorker.d.ts +1 -1
- package/dist/core/renderRuntimeFallback.d.ts +2 -0
- package/dist/core/rendererBusinessTask.d.ts +30 -0
- package/dist/core/serviceRenderScheduler.d.ts +33 -0
- package/dist/core/tools/base.d.ts +1 -1
- package/dist/core/tools/bitmapEraserFastPath.d.ts +8 -0
- package/dist/core/tools/eraserFaces.d.ts +24 -9
- package/dist/core/tools/image.d.ts +1 -0
- package/dist/core/tools/pencilEraserBitMap.d.ts +62 -14
- package/dist/core/tools/text.d.ts +2 -1
- package/dist/core/types.d.ts +64 -1
- package/dist/core/utils/indexDB.d.ts +3 -3
- package/dist/core/vNodeManager.d.ts +7 -0
- package/dist/core/worker/base.d.ts +52 -7
- package/dist/core/worker/fullWorkerLocal.d.ts +8 -2
- package/dist/core/worker/fullWorkerService.d.ts +7 -3
- package/dist/core/worker/renderCapabilityProbe.d.ts +54 -0
- package/dist/core/worker/simpleWorker.d.ts +2 -2
- package/dist/core/worker/snapshotWork.d.ts +1 -0
- package/dist/core/worker/workerManager.d.ts +17 -4
- package/dist/displayer/floatBar/selectorGesture.d.ts +2 -0
- package/dist/fullWorker.js +138 -139
- package/dist/index-BNHPCii1.mjs +4089 -0
- package/dist/index-B_vZ9d3x.mjs +55912 -0
- package/dist/index-C2AHqjj8.js +570 -0
- package/dist/index-CV8YaU3F.mjs +931 -0
- package/dist/index-CWDWQZBs.mjs +4088 -0
- package/dist/index-DChI1--R.js +1 -0
- package/dist/index-DFo0Gmfx.js +570 -0
- package/dist/index-DiLPVPwQ.js +1 -0
- package/dist/index-GBYM7kT5.js +1 -0
- package/dist/index-GZUDLXJC.js +1 -0
- package/dist/{index-C9wx0zmg.mjs → index-K_0NX6pD.mjs} +401 -263
- package/dist/index-NG5kKK1W.mjs +55920 -0
- package/dist/plugin/applianceMultiPlugin.d.ts +18 -3
- package/dist/plugin/applianceSinglePlugin.d.ts +18 -4
- package/dist/plugin/baseApplianceManager.d.ts +138 -12
- package/dist/plugin/baseViewContainerManager.d.ts +40 -3
- package/dist/plugin/bitmapEraserOptions.d.ts +9 -0
- package/dist/plugin/const.d.ts +4 -0
- package/dist/plugin/displayerView.d.ts +7 -7
- package/dist/plugin/initLogAggregator.d.ts +45 -0
- package/dist/plugin/multi/applianceMultiManager.d.ts +1 -0
- package/dist/plugin/multi/containerManager.d.ts +19 -1
- package/dist/plugin/pluginInstanceOwner.d.ts +1 -0
- package/dist/plugin/renderImageBitmapRetirement.d.ts +100 -0
- package/dist/plugin/renderRuntimeCache.d.ts +18 -0
- package/dist/plugin/renderSurface.d.ts +15 -0
- package/dist/plugin/renderingCompatibility.d.ts +21 -5
- package/dist/plugin/roomLifecycle.d.ts +12 -0
- package/dist/plugin/selectorApi.d.ts +8 -0
- package/dist/plugin/single/applianceSingleManager.d.ts +4 -0
- package/dist/plugin/types.d.ts +11 -14
- package/dist/plugin/utils.d.ts +8 -0
- package/dist/subWorker.js +136 -137
- package/dist/undo/index.d.ts +12 -3
- package/dist/undo/timing.d.ts +9 -4
- package/package.json +23 -8
- package/dist/index-BCvU2uMB.js +0 -570
- package/dist/index-BXnpbc6O.mjs +0 -48995
- package/dist/index-BrWufZZe.js +0 -1
- package/dist/index-BubEu09-.js +0 -1
- package/dist/index-C1ph7d6H.mjs +0 -789
- package/dist/index-CAXJpQEp.js +0 -570
- package/dist/index-D0bfakdd.js +0 -1
- package/dist/index-DcS9JJvi.mjs +0 -3266
- package/dist/index-Zu5juuhI.js +0 -1
- package/dist/index-k0AjJn1s.mjs +0 -48987
- package/dist/index-vWLQ-o4q.mjs +0 -3267
|
@@ -22,7 +22,7 @@ export interface SubLocalThread {
|
|
|
22
22
|
workId: string;
|
|
23
23
|
}): void;
|
|
24
24
|
setWorkOptions(workId: string, opt: BaseShapeOptions): void;
|
|
25
|
-
consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): void
|
|
25
|
+
consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): Promise<void>;
|
|
26
26
|
consumeDraw(data: IWorkerMessage, serviceWork: SubServiceThread): Promise<void>;
|
|
27
27
|
colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
|
|
28
28
|
hasSelector(): boolean;
|
|
@@ -35,7 +35,7 @@ export interface SubLocalThread {
|
|
|
35
35
|
consumeFull(data: IWorkerMessage): Promise<void>;
|
|
36
36
|
removeWork(data: IWorkerMessage): void;
|
|
37
37
|
removeSelector(data: IWorkerMessage): Promise<void>;
|
|
38
|
-
updateFullSelectWork(data: IWorkerMessage): void
|
|
38
|
+
updateFullSelectWork(data: IWorkerMessage): Promise<void>;
|
|
39
39
|
cursorHover(msg: IWorkerMessage): void;
|
|
40
40
|
cursorBlur(): void;
|
|
41
41
|
checkTextActive(data: IWorkerMessage): Promise<void>;
|
|
@@ -70,8 +70,12 @@ export declare class SubLocalMainThreadImpl implements SubLocalThread {
|
|
|
70
70
|
private consumeCount;
|
|
71
71
|
private combineDrawActiveId?;
|
|
72
72
|
private readonly eraserBatchScheduler;
|
|
73
|
+
private disposeVNodeRevisionObserver?;
|
|
74
|
+
private bitmapEraserRenderQueue;
|
|
75
|
+
private bitmapEraserRevalidationQueued;
|
|
73
76
|
constructor(opt: ISubThreadInitOption);
|
|
74
|
-
|
|
77
|
+
private scheduleActiveBitmapEraserRevalidation;
|
|
78
|
+
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "requestId">): Promise<HTMLImageElement | ImageBitmap | undefined>;
|
|
75
79
|
createLocalWork(data: IWorkerMessage): void;
|
|
76
80
|
updateSelector(params: IUpdateSelectorPropsType & {
|
|
77
81
|
callback?: ((props: {
|
|
@@ -92,7 +96,7 @@ export declare class SubLocalMainThreadImpl implements SubLocalThread {
|
|
|
92
96
|
checkTextActive(data: IWorkerMessage): Promise<void>;
|
|
93
97
|
cursorHover(msg: IWorkerMessage): void;
|
|
94
98
|
cursorBlur(): void;
|
|
95
|
-
updateFullSelectWork(data: IWorkerMessage): void
|
|
99
|
+
updateFullSelectWork(data: IWorkerMessage): Promise<void>;
|
|
96
100
|
removeSelector(data: IWorkerMessage): Promise<void>;
|
|
97
101
|
removeWork(data: IWorkerMessage): void;
|
|
98
102
|
removeNode(key: string): void;
|
|
@@ -111,8 +115,10 @@ export declare class SubLocalMainThreadImpl implements SubLocalThread {
|
|
|
111
115
|
getWorkShape(workId: string): BaseShapeTool | undefined;
|
|
112
116
|
getWorkShapes(): Map<string, BaseShapeTool>;
|
|
113
117
|
consumeDraw(data: IWorkerMessage, serviceWork: SubServiceThread): Promise<void>;
|
|
114
|
-
private
|
|
115
|
-
|
|
118
|
+
private enqueueBitmapEraserRender;
|
|
119
|
+
private drawPencilEraserCombine;
|
|
120
|
+
private postEraserBatch;
|
|
121
|
+
consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): Promise<void>;
|
|
116
122
|
getToolsOpt(): IActiveToolsDataType | undefined;
|
|
117
123
|
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
118
124
|
setWorkOptions(workId: string, opt: BaseShapeOptions): void;
|
|
@@ -11,6 +11,7 @@ export interface SubServiceThread {
|
|
|
11
11
|
consumeFull(data: IWorkerMessage): void;
|
|
12
12
|
removeWork(data: IWorkerMessage): void;
|
|
13
13
|
runSelectWork(data: IWorkerMessage): void;
|
|
14
|
+
flush(): Promise<void>;
|
|
14
15
|
}
|
|
15
16
|
export declare class SubServiceMainThreadImpl implements SubServiceThread {
|
|
16
17
|
readonly vNodes: VNodeManager;
|
|
@@ -18,11 +19,11 @@ export declare class SubServiceMainThreadImpl implements SubServiceThread {
|
|
|
18
19
|
workShapes: Map<string, IServiceWorkItem>;
|
|
19
20
|
selectorWorkShapes: Map<string, IServiceWorkItem>;
|
|
20
21
|
private willRunEffectSelectorIds;
|
|
21
|
-
private runEffectId?;
|
|
22
|
-
private animationId?;
|
|
23
22
|
private syncUnitTime;
|
|
23
|
+
private readonly animationScheduler;
|
|
24
|
+
private readonly effectScheduler;
|
|
24
25
|
constructor(opt: ISubThreadInitOption);
|
|
25
|
-
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId">): Promise<HTMLImageElement | ImageBitmap | undefined>;
|
|
26
|
+
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "requestId">): Promise<HTMLImageElement | ImageBitmap | undefined>;
|
|
26
27
|
destroy(): void;
|
|
27
28
|
clearAll(): void;
|
|
28
29
|
private runEffect;
|
|
@@ -35,6 +36,7 @@ export declare class SubServiceMainThreadImpl implements SubServiceThread {
|
|
|
35
36
|
private computNextAnimationIndex;
|
|
36
37
|
private animationDraw;
|
|
37
38
|
private runAnimation;
|
|
39
|
+
flush(): Promise<void>;
|
|
38
40
|
private hasDiffData;
|
|
39
41
|
private activeWorkShape;
|
|
40
42
|
private removeNode;
|
|
@@ -21,6 +21,9 @@ export declare abstract class BaseMsgMethod {
|
|
|
21
21
|
collectForLocalWorker(data: [IWorkerMessage, IqueryTask][], isSync?: boolean): void;
|
|
22
22
|
collectForServiceWorker(actions: BaseCollectorReducerAction[]): void;
|
|
23
23
|
abstract collect(data: unknown, isSync?: boolean): void;
|
|
24
|
+
protected onAbort(_undoTickerId?: number): void;
|
|
25
|
+
abort(viewId?: string, workId?: string): boolean;
|
|
24
26
|
pause(viewId?: string, scenePath?: string): Promise<number | undefined>;
|
|
25
|
-
recover(): void;
|
|
27
|
+
recover(viewId?: string, scenePath?: string): void;
|
|
28
|
+
discardRecovery(viewId?: string, scenePath?: string): void;
|
|
26
29
|
}
|
|
@@ -10,5 +10,5 @@ export declare abstract class BaseMsgMethodForWorker {
|
|
|
10
10
|
serviceWork: ServiceWorkForFullWorker | undefined;
|
|
11
11
|
threadEngine: WorkThreadEngineForFullWorker | undefined;
|
|
12
12
|
registerForWorker(threadEngine: WorkThreadEngineForFullWorker): this;
|
|
13
|
-
abstract consume(data: IWorkerMessage): boolean | undefined;
|
|
13
|
+
abstract consume(data: IWorkerMessage): boolean | Promise<boolean | undefined> | undefined;
|
|
14
14
|
}
|
|
@@ -3,6 +3,6 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class CopyNodeMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
}
|
|
@@ -8,5 +8,5 @@ export declare class MethodBuilderWorker {
|
|
|
8
8
|
constructor(emitTypes: EmitEventType[]);
|
|
9
9
|
build(type: EmitEventType): MsgMethodForWorker<BaseMsgMethodForWorker> | undefined;
|
|
10
10
|
registerForWorker(threadEngine: WorkThreadEngineForFullWorker): this;
|
|
11
|
-
consumeForWorker(data: IWorkerMessage): boolean
|
|
11
|
+
consumeForWorker(data: IWorkerMessage): Promise<boolean>;
|
|
12
12
|
}
|
|
@@ -13,8 +13,10 @@ export declare class MethodBuilderMain {
|
|
|
13
13
|
destroy(): void;
|
|
14
14
|
pause(): Promise<this>;
|
|
15
15
|
finishActiveContinuousMethods(viewId: string, scenePath: string): Promise<number[]>;
|
|
16
|
-
|
|
16
|
+
abortActiveContinuousMethods(viewId: string, workId?: string): boolean;
|
|
17
|
+
recover(viewId?: string, scenePath?: string): this;
|
|
18
|
+
discardRecovery(viewId?: string, scenePath?: string): this;
|
|
17
19
|
static emitMethod(emtType: InternalMsgEmitterType, type: EmitEventType, data: unknown): undefined;
|
|
18
|
-
static activeListener(callback: (isActive: boolean) => void): void;
|
|
19
|
-
static unmountActiveListener(callback: (isActive: boolean) => void): void;
|
|
20
|
+
static activeListener(callback: (isActive: boolean, viewId?: string) => void): void;
|
|
21
|
+
static unmountActiveListener(callback: (isActive: boolean, viewId?: string) => void): void;
|
|
20
22
|
}
|
|
@@ -13,5 +13,6 @@ export declare class RotateNodeMethod extends BaseMsgMethod {
|
|
|
13
13
|
protected lastEmtData?: RotateNodeEmtData;
|
|
14
14
|
readonly emitEventType: EmitEventType;
|
|
15
15
|
private cacheOriginRotate;
|
|
16
|
+
protected onAbort(): void;
|
|
16
17
|
collect(data: RotateNodeEmtData, isSync?: boolean): void;
|
|
17
18
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class RotateNodeMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -19,6 +19,7 @@ export declare class ScaleNodeMethod extends BaseMsgMethod {
|
|
|
19
19
|
readonly emitEventType: EmitEventType;
|
|
20
20
|
private targetText;
|
|
21
21
|
private cacheTextInfo;
|
|
22
|
+
protected onAbort(undoTickerId?: number): void;
|
|
22
23
|
private setTextStyle;
|
|
23
24
|
collect(data: ScaleNodeEmtData, isSync?: boolean): Promise<void>;
|
|
24
25
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class ScaleNodeMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -19,6 +19,7 @@ export declare class SetColorNodeMethod extends BaseMsgMethod {
|
|
|
19
19
|
protected lastEmtData?: SetColorNodeEmtData;
|
|
20
20
|
readonly emitEventType: EmitEventType;
|
|
21
21
|
private undoTickerId?;
|
|
22
|
+
protected onAbort(undoTickerId?: number): void;
|
|
22
23
|
private ensureUndoTicker;
|
|
23
24
|
private setTextColor;
|
|
24
25
|
collect(data: SetColorNodeEmtData, isSync?: boolean): void;
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class SetColorNodeMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class SetFontStyleMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class SetLockMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class SetPointMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class SetShapeOptMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class ZIndexNodeMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -16,5 +16,6 @@ export declare class TranslateNodeMethod extends BaseMsgMethod {
|
|
|
16
16
|
protected lastEmtData?: TranslateNodeEmtData;
|
|
17
17
|
readonly emitEventType: EmitEventType;
|
|
18
18
|
private cachePosition;
|
|
19
|
+
protected onAbort(): void;
|
|
19
20
|
collect(data: TranslateNodeEmtData, isSync?: boolean): void;
|
|
20
21
|
}
|
|
@@ -3,7 +3,7 @@ import { BaseMsgMethodForWorker } from "../baseForWorker";
|
|
|
3
3
|
import { IWorkerMessage } from "../../types";
|
|
4
4
|
export declare class TranslateNodeMethodForWorker extends BaseMsgMethodForWorker {
|
|
5
5
|
readonly emitEventType: EmitEventType;
|
|
6
|
-
consume(data: IWorkerMessage): boolean | undefined;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean> | undefined;
|
|
7
7
|
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
8
|
private updateSelectorCallback;
|
|
9
9
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface RendererBusinessTaskOptions {
|
|
2
|
+
business: string;
|
|
3
|
+
stage: string;
|
|
4
|
+
timeoutMs?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class RendererBusinessTimeoutError extends Error {
|
|
7
|
+
readonly code = "RENDERER_BUSINESS_TIMEOUT";
|
|
8
|
+
readonly business: string;
|
|
9
|
+
readonly stage: string;
|
|
10
|
+
readonly elapsedMs: number;
|
|
11
|
+
reported: boolean;
|
|
12
|
+
constructor(options: RendererBusinessTaskOptions);
|
|
13
|
+
}
|
|
14
|
+
export declare class RendererBusinessError extends Error {
|
|
15
|
+
readonly code = "RENDERER_BUSINESS_ERROR";
|
|
16
|
+
readonly business: string;
|
|
17
|
+
readonly stage: string;
|
|
18
|
+
readonly cause: unknown;
|
|
19
|
+
reported: boolean;
|
|
20
|
+
constructor(error: unknown, options: Pick<RendererBusinessTaskOptions, "business" | "stage">);
|
|
21
|
+
}
|
|
22
|
+
export type RendererBusinessTaskError = RendererBusinessTimeoutError | RendererBusinessError;
|
|
23
|
+
export declare function waitForRendererBusiness<T>(task: PromiseLike<T>, options: RendererBusinessTaskOptions): Promise<T>;
|
|
24
|
+
export declare function isRendererBusinessTimeoutError(error: unknown): error is RendererBusinessTimeoutError;
|
|
25
|
+
export declare function isRendererBusinessTaskError(error: unknown): error is RendererBusinessTaskError;
|
|
26
|
+
export declare function toRendererBusinessError(error: unknown, options: Pick<RendererBusinessTaskOptions, "business" | "stage">): RendererBusinessTaskError;
|
|
27
|
+
export declare function formatRendererBusinessError(error: unknown, fallback: Pick<RendererBusinessTaskOptions, "business" | "stage">, context: {
|
|
28
|
+
viewId: string;
|
|
29
|
+
renderer: string;
|
|
30
|
+
}): string;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type ServiceRenderSchedule = (callback: () => void) => number;
|
|
2
|
+
export interface ServiceRenderSchedulerOptions {
|
|
3
|
+
run: () => void | Promise<void>;
|
|
4
|
+
schedule: ServiceRenderSchedule;
|
|
5
|
+
cancel: (handle: number) => void;
|
|
6
|
+
onError?: (error: unknown) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function flushServiceRenderBarrier(serviceWork: {
|
|
9
|
+
flush(): Promise<void>;
|
|
10
|
+
} | undefined, layers: Array<{
|
|
11
|
+
readonly prepareRender: PromiseLike<unknown>;
|
|
12
|
+
}>): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Keeps the normal frame-delayed service render cadence while allowing a
|
|
15
|
+
* protocol barrier to immediately drain every requested frame.
|
|
16
|
+
*/
|
|
17
|
+
export declare class ServiceRenderScheduler {
|
|
18
|
+
private readonly options;
|
|
19
|
+
private scheduledHandle?;
|
|
20
|
+
private activeTask?;
|
|
21
|
+
private flushTask?;
|
|
22
|
+
private pending;
|
|
23
|
+
private destroyed;
|
|
24
|
+
private failure?;
|
|
25
|
+
constructor(options: ServiceRenderSchedulerOptions);
|
|
26
|
+
request(immediate?: boolean): void;
|
|
27
|
+
flush(): Promise<void>;
|
|
28
|
+
destroy(): void;
|
|
29
|
+
private scheduleTask;
|
|
30
|
+
private cancelScheduledTask;
|
|
31
|
+
private startTask;
|
|
32
|
+
private flushPending;
|
|
33
|
+
}
|
|
@@ -100,7 +100,7 @@ export declare abstract class BaseShapeTool {
|
|
|
100
100
|
abstract consumeAll(props: {
|
|
101
101
|
data?: IWorkerMessage;
|
|
102
102
|
workerEngine?: LocalWorkForFullWorker | SubLocalMainThreadImpl;
|
|
103
|
-
}): BaseConsumeResultType
|
|
103
|
+
}): BaseConsumeResultType | Promise<BaseConsumeResultType>;
|
|
104
104
|
/** 消费服务端数据,返回绘制结果 */
|
|
105
105
|
abstract consumeService(props: {
|
|
106
106
|
isFullWork: boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BaseNodeMapItem, IRectType } from "../types";
|
|
2
|
+
export type BitmapEraserFastPathNodeKind = "vector" | "delete-on-done" | "blocked";
|
|
3
|
+
export declare function classifyBitmapEraserFastPathNode(node: BaseNodeMapItem): BitmapEraserFastPathNodeKind;
|
|
4
|
+
export declare function worldPointsToScreen(points: ReadonlyArray<{
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}>, worldPosition: readonly [number, number], worldScaling: readonly [number, number]): Array<[number, number]>;
|
|
8
|
+
export declare function capsuleTrackIntersectsRect(points: ReadonlyArray<readonly [number, number]>, radius: number, rect: IRectType): boolean;
|
|
@@ -18,18 +18,25 @@ export interface EraserRuntimeFields extends EraserPersistenceFields {
|
|
|
18
18
|
doingLines?: SerializerEraserLines;
|
|
19
19
|
}
|
|
20
20
|
type DoingGeometryTransform = (matrix: readonly [number, number, number, number, number, number]) => void;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
type EraserAffineMatrix = [number, number, number, number, number, number];
|
|
22
|
+
type EraserGeometryDeltaValue = {
|
|
23
|
+
matrix: EraserAffineMatrix;
|
|
23
24
|
fromDigest: string;
|
|
24
25
|
toDigest: string;
|
|
25
|
-
}
|
|
26
|
-
export declare function
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
};
|
|
27
|
+
export declare function setOutgoingEraserGeometryDelta(owner: object, workId: string, delta: EraserGeometryDeltaValue, gestureOwner?: object): void;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve a delta only when the caller is about to publish the object update.
|
|
30
|
+
* Selector scale updates are absolute to the gesture baseline, while the
|
|
31
|
+
* receiver already contains the last published frame. Advancing here keeps
|
|
32
|
+
* smooth-sync and Done-only sync on the same protocol.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getOutgoingEraserGeometryDelta(owner: object | undefined, workId: string): EraserGeometryDeltaValue | undefined;
|
|
35
|
+
/** Apply an absolute gesture transform to local Doing geometry exactly once. */
|
|
36
|
+
export declare function applyLocalDoingGeometryTransform(owner: object, workId: string, gestureOwner: object | undefined, matrix: EraserAffineMatrix): boolean;
|
|
31
37
|
export declare function registerDoingGeometryTransform(owner: object, workId: string, transform: DoingGeometryTransform, cancel?: () => void): () => void;
|
|
32
38
|
export declare function applyDoingGeometryTransform(owner: object, workId: string, matrix: readonly [number, number, number, number, number, number]): void;
|
|
39
|
+
export declare function hasDoingGeometryTransform(owner: object, workId: string): boolean;
|
|
33
40
|
export declare function cancelDoingForGeometryMismatch(owner: object, workId: string): void;
|
|
34
41
|
export declare function transformEraserLines(lines: SerializerEraserLines, matrix: readonly [number, number, number, number, number, number]): void;
|
|
35
42
|
export declare const DEFAULT_ERASER_FACE_SCALE = 16;
|
|
@@ -38,12 +45,20 @@ export declare function shouldDropCancelledEraseResult(cancelledTxnIds: Readonly
|
|
|
38
45
|
export declare function normalizeEraserPersistence<T extends EraserPersistenceFields>(previous: T | undefined, incoming: T): T;
|
|
39
46
|
export declare function stripEraserRuntimeFields<T extends EraserRuntimeFields>(value: T): T;
|
|
40
47
|
export declare function restoreEraserPersistence<T extends EraserPersistenceFields>(target: T, snapshot: EraserPersistenceFields): T;
|
|
41
|
-
export declare function commitEraserFaces(persistent: EraserPersistenceFields, doingLines: SerializerEraserLines): EraserPersistenceFields;
|
|
48
|
+
export declare function commitEraserFaces(persistent: EraserPersistenceFields, doingLines: SerializerEraserLines, prepared?: SerializedEraserFaces): EraserPersistenceFields;
|
|
49
|
+
export declare function accumulateEraserFaces(prepared: SerializedEraserFaces | undefined, doingLines: SerializerEraserLines): SerializedEraserFaces;
|
|
42
50
|
export declare function encodeEraserFaces(faces: EraserFace[], scale?: number): SerializedEraserFaces;
|
|
43
51
|
export declare function decodeEraserFaces(value: SerializedEraserFaces): EraserFace[];
|
|
44
52
|
export declare function eraserLinesToFaces(lines: SerializerEraserLines, scale?: number): EraserFace[];
|
|
45
53
|
export declare function unionEraserFaces(committed: EraserFace[], doing: EraserFace[], scale?: number): EraserFace[];
|
|
54
|
+
/**
|
|
55
|
+
* Freeze runtime strokes into faces before applying an object transform.
|
|
56
|
+
* A scalar stroke width cannot represent a non-uniformly scaled circle, while
|
|
57
|
+
* transformed face vertices preserve scale, rotation, translation and mirror.
|
|
58
|
+
*/
|
|
59
|
+
export declare function transformPendingEraserFaces(prepared: EraserFace[] | undefined, doingLines: SerializerEraserLines, matrix: readonly [number, number, number, number, number, number]): EraserFace[];
|
|
46
60
|
export declare function transformEraserFaces(faces: EraserFace[], matrix: readonly [number, number, number, number, number, number]): EraserFace[];
|
|
61
|
+
export declare function transformSerializedEraserFaces(value: SerializedEraserFaces, matrix: readonly [number, number, number, number, number, number]): SerializedEraserFaces;
|
|
47
62
|
export declare function geometryDigest(op: number[], centerPos: number[]): string;
|
|
48
63
|
export declare function isValidEraserGeometryDelta(delta: {
|
|
49
64
|
matrix: readonly number[];
|
|
@@ -53,6 +53,7 @@ export declare class ImageShape extends BaseShapeTool {
|
|
|
53
53
|
isFullWork: boolean;
|
|
54
54
|
worker: WorkThreadEngineForSimpleWorker | LocalWorkForFullWorker | WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker | SubLocalMainThreadImpl | SnapshotThreadImpl | SubServiceMainThreadImpl;
|
|
55
55
|
replaceId?: string;
|
|
56
|
+
requestId?: string;
|
|
56
57
|
}): Promise<IRectType | undefined>;
|
|
57
58
|
clearTmpPoints(): void;
|
|
58
59
|
static getScaleType(opt: ImageOptions): EScaleType.all | EScaleType.proportional;
|
|
@@ -13,14 +13,19 @@ export interface SerializerEraserItem {
|
|
|
13
13
|
export type SerializerEraserLines = Array<SerializerEraserItem>;
|
|
14
14
|
export interface BitMapEraserOptions extends BaseShapeOptions {
|
|
15
15
|
thickness: number;
|
|
16
|
+
/** @deprecated Bitmap Eraser now always uses the FullLayer Doing mask. */
|
|
17
|
+
fullLayerDoingMask?: boolean;
|
|
18
|
+
maxImageWidth?: number;
|
|
19
|
+
maxImageHeight?: number;
|
|
16
20
|
removeOnDone?: boolean;
|
|
17
21
|
}
|
|
22
|
+
type BitmapWorkerEngine = LocalWorkForFullWorker | SubLocalMainThreadImpl;
|
|
18
23
|
export declare class BitMapEraserShape extends BaseShapeTool {
|
|
19
24
|
readonly canRotate: boolean;
|
|
20
25
|
readonly scaleType: EScaleType;
|
|
21
26
|
readonly toolsType: EToolsKey;
|
|
22
27
|
private static readonly eraserSizes;
|
|
23
|
-
protected tmpPoints:
|
|
28
|
+
protected tmpPoints: Point2d[];
|
|
24
29
|
protected workOptions: BitMapEraserOptions;
|
|
25
30
|
worldPosition: [number, number];
|
|
26
31
|
worldScaling: [number, number];
|
|
@@ -28,19 +33,23 @@ export declare class BitMapEraserShape extends BaseShapeTool {
|
|
|
28
33
|
eraserPolyline?: [number, number, number, number];
|
|
29
34
|
oldRect: IRectType | undefined;
|
|
30
35
|
private committedPointIndex;
|
|
36
|
+
private candidateWorkIds;
|
|
37
|
+
private doingPointBatches;
|
|
38
|
+
private doingLines;
|
|
31
39
|
private readonly changedNodes;
|
|
32
|
-
private readonly doingLines;
|
|
33
|
-
private readonly doingTransformDisposers;
|
|
34
40
|
private readonly deletedNodes;
|
|
35
41
|
private changedRect?;
|
|
42
|
+
private lastSceneRevision;
|
|
43
|
+
private readonly pendingDeleteIds;
|
|
44
|
+
private readonly hiddenRenderNodes;
|
|
45
|
+
private fullLayerPreviewGroup?;
|
|
46
|
+
private disposeVNodeObserver?;
|
|
36
47
|
constructor(props: BaseShapeToolProps);
|
|
37
|
-
/**
|
|
38
|
-
combineConsume(
|
|
39
|
-
workerEngine?:
|
|
48
|
+
/** Consume exactly one accepted input batch and publish one FullLayer preview. */
|
|
49
|
+
combineConsume(_props: {
|
|
50
|
+
workerEngine?: BitmapWorkerEngine;
|
|
40
51
|
}): IMainMessage | undefined;
|
|
41
52
|
consumeService(): undefined;
|
|
42
|
-
private updateTempPoints;
|
|
43
|
-
private getChangeNodes;
|
|
44
53
|
consume(props: {
|
|
45
54
|
data: IWorkerMessage;
|
|
46
55
|
isFullWork: boolean;
|
|
@@ -54,16 +63,16 @@ export declare class BitMapEraserShape extends BaseShapeTool {
|
|
|
54
63
|
opt: import("./utils").ShapeOptions;
|
|
55
64
|
type: EPostMessageType;
|
|
56
65
|
};
|
|
57
|
-
private computEraserPointLines;
|
|
58
66
|
consumeAll(props: {
|
|
59
|
-
workerEngine?:
|
|
60
|
-
}): {
|
|
67
|
+
workerEngine?: BitmapWorkerEngine;
|
|
68
|
+
}): Promise<{
|
|
61
69
|
workId: string;
|
|
62
70
|
toolsType: EToolsKey;
|
|
63
71
|
opt: import("./utils").ShapeOptions;
|
|
64
72
|
type: EPostMessageType;
|
|
65
73
|
} | {
|
|
66
74
|
rect: IRectType | undefined;
|
|
75
|
+
eraseTxnCommitStatus: "applied";
|
|
67
76
|
workId: string;
|
|
68
77
|
toolsType: EToolsKey;
|
|
69
78
|
opt: import("./utils").ShapeOptions;
|
|
@@ -75,12 +84,51 @@ export declare class BitMapEraserShape extends BaseShapeTool {
|
|
|
75
84
|
ops: string;
|
|
76
85
|
willUpdateNodes: Map<string, BaseNodeMapItem>;
|
|
77
86
|
willDeleteNodes: Set<string>;
|
|
87
|
+
eraseTxnCommitStatus: "applied";
|
|
78
88
|
workId: string;
|
|
79
89
|
toolsType: EToolsKey;
|
|
80
90
|
opt: import("./utils").ShapeOptions;
|
|
81
|
-
}
|
|
91
|
+
} | {
|
|
92
|
+
rect: IRectType | undefined;
|
|
93
|
+
willUpdateNodes: Map<string, BaseNodeMapItem>;
|
|
94
|
+
willDeleteNodes: Set<string>;
|
|
95
|
+
eraseTxnRecoveryRequired: boolean;
|
|
96
|
+
eraseTxnCommitStatus: "failed";
|
|
97
|
+
workId: string;
|
|
98
|
+
toolsType: EToolsKey;
|
|
99
|
+
opt: import("./utils").ShapeOptions;
|
|
100
|
+
type: EPostMessageType;
|
|
101
|
+
}>;
|
|
82
102
|
clearTmpPoints(): void;
|
|
83
|
-
|
|
84
|
-
private
|
|
103
|
+
shouldRevalidateVNodeRevision(): boolean;
|
|
104
|
+
private syncWorldTransform;
|
|
105
|
+
private getEraserThickness;
|
|
106
|
+
private updateTempPoints;
|
|
85
107
|
private getDeltaPoints;
|
|
108
|
+
private recordFinalPointBatch;
|
|
109
|
+
private recordDoingPointBatch;
|
|
110
|
+
private getDoingPointBatches;
|
|
111
|
+
private getDoingLines;
|
|
112
|
+
private getCandidateWorkIds;
|
|
113
|
+
private appendFullLayerPreview;
|
|
114
|
+
private getFullLayerPreviewGroup;
|
|
115
|
+
private getTrackRect;
|
|
116
|
+
private getScreenTrack;
|
|
117
|
+
private collectVectorCandidateWorkIds;
|
|
118
|
+
private hideDeleteCandidatesForPoints;
|
|
119
|
+
private collectDeleteCandidatesForDone;
|
|
120
|
+
private hideRenderNodesForId;
|
|
121
|
+
private restoreNoLongerClearablePendingDeletes;
|
|
122
|
+
private snapshotDoneCandidates;
|
|
123
|
+
private collectDoneVectorChanges;
|
|
124
|
+
private normalizeClippedLine;
|
|
125
|
+
private commitDoingFaces;
|
|
126
|
+
private renderChangedNodes;
|
|
127
|
+
private commitPendingDeletions;
|
|
128
|
+
private clearFullLayerPreview;
|
|
129
|
+
private startVNodeObservation;
|
|
130
|
+
private stopVNodeObservation;
|
|
131
|
+
private restoreFailedDoneCandidates;
|
|
132
|
+
private computEraserPointLines;
|
|
86
133
|
}
|
|
134
|
+
export {};
|
|
@@ -50,13 +50,14 @@ export declare class TextShape extends BaseShapeTool {
|
|
|
50
50
|
replaceId?: string;
|
|
51
51
|
isDrawLabel?: boolean;
|
|
52
52
|
boxRect?: IRectType;
|
|
53
|
+
isActive?: () => boolean;
|
|
53
54
|
}): Promise<IRectType | undefined>;
|
|
54
55
|
updataOptService(): IRectType | undefined;
|
|
55
56
|
updataOptServiceAsync(updateNodeOpt: IUpdateNodeOpt, isDrawLabel?: boolean, boxRect?: IRectType): Promise<IRectType | undefined>;
|
|
56
57
|
clearTmpPoints(): void;
|
|
57
58
|
static getSafetySnippetRatio(layer: Group): number;
|
|
58
59
|
static getSafetySnippetFontLength(fontSize: number): number;
|
|
59
|
-
static createLabels(textOpt: TextOptions, layer: Group, groupRect: IRectType): Promise<{
|
|
60
|
+
static createLabels(textOpt: TextOptions, layer: Group, groupRect: IRectType, isActive?: () => boolean): Promise<{
|
|
60
61
|
labels: (Group | Polyline | Sprite | Label)[];
|
|
61
62
|
maxWidth: number;
|
|
62
63
|
}>;
|