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