@netless/appliance-plugin 1.1.43 → 1.1.44
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/dist/appliance-plugin.js +1 -1
- package/dist/appliance-plugin.mjs +3 -3
- package/dist/{bridge-GmRa7-tp.js → bridge-B7BW1lpB.js} +1 -1
- package/dist/{bridge-D30E9dr6.mjs → bridge-DQud78k4.mjs} +1 -1
- package/dist/bridge.js +1 -1
- package/dist/bridge.mjs +1 -1
- package/dist/core/mainEngine.d.ts +10 -2
- package/dist/core/mainThread/base.d.ts +5 -1
- package/dist/core/mainThread/subServiceThread.d.ts +2 -0
- package/dist/core/tools/image.d.ts +1 -0
- package/dist/core/utils/serviceImageRecovery.d.ts +9 -0
- package/dist/core/worker/base.d.ts +5 -1
- package/dist/core/worker/fullWorkerService.d.ts +3 -0
- package/dist/core/worker/simpleWorker.d.ts +2 -2
- package/dist/fullWorker.js +98 -98
- package/dist/{index-CatWUcZt.mjs → index-4ZI3GxVI.mjs} +1 -1
- package/dist/{index-DGdruTPt.js → index-AJCkfnUu.js} +1 -1
- package/dist/{index-rDe1jjPM.mjs → index-B8Ls8sf_.mjs} +1 -1
- package/dist/{index-CQuJ6lL1.mjs → index-BBtV40zU.mjs} +597 -493
- package/dist/{index-Ct5ShjRI.js → index-BOzOWS7h.js} +1 -1
- package/dist/index-BQiBrpib.js +1 -0
- package/dist/index-BYriQtGa.js +1 -0
- package/dist/{index-CrJWLjuD.mjs → index-C2tUvh2a.mjs} +12105 -12033
- package/dist/{index-C-pO2InQ.mjs → index-DSFxl2wM.mjs} +8068 -7982
- package/dist/index-DnJkIouU.js +570 -0
- package/dist/index-DptnZ-h8.js +570 -0
- package/dist/{index-DYDy0dd5.mjs → index-ZUpKkvbD.mjs} +597 -493
- package/dist/plugin/baseApplianceManager.d.ts +2 -2
- package/dist/subWorker.js +74 -74
- package/package.json +57 -56
- package/dist/index-B44Av4kp.js +0 -1
- package/dist/index-CKtpWZ9L.js +0 -1
- package/dist/index-DLzvL8jo.js +0 -570
- package/dist/index-LmgcnMI8.js +0 -570
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-DnJkIouU.js");exports.ActiveContainerType=e.ActiveContainerType;exports.ApplianceMultiPlugin=e.ApplianceMultiPlugin;exports.ApplianceNames=e.ApplianceNames;exports.AppliancePluginCursorNames=e.AppliancePluginCursorNames;exports.ApplianceSigleWrapper=e.ApplianceSigleWrapper;exports.ApplianceSinglePlugin=e.ApplianceSinglePlugin;exports.Camera_Ack_Slow_Timeout=e.Camera_Ack_Slow_Timeout;exports.Camera_Transport_Fallback_Timeout=e.Camera_Transport_Fallback_Timeout;exports.Camera_Update_Business_Timeout=e.Camera_Update_Business_Timeout;exports.Cursor_Hover_Id=e.Cursor_Hover_Id;exports.ECanvasShowType=e.ECanvasShowType;exports.EDataType=e.EDataType;exports.EForceStopReason=e.EForceStopReason;exports.EImageType=e.EImageType;exports.EMatrixrRelationType=e.EMatrixrRelationType;exports.EOperationType=e.EOperationType;exports.EPostMessageType=e.EPostMessageType;exports.ERenderFilterType=e.ERenderFilterType;exports.ESVGType=e.ESVGType;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.EventWorkState=e.EventWorkState;exports.EvevtWorkState=e.EventWorkState;exports.FontFaceFallbackBlacklistLevel=e.FontFaceFallbackBlacklistLevel;exports.InternalMsgEmitterType=e.InternalMsgEmitterType;exports.Main_View_Id=e.Main_View_Id;exports.Plugin=e.Plugin;exports.Renderer_Business_Default_Timeout=e.Renderer_Business_Default_Timeout;exports.ShapeType=e.ShapeType;exports.Task_Time_Interval=e.Task_Time_Interval;exports.WorkerCanvasContextBlacklistLevel=e.WorkerCanvasContextBlacklistLevel;exports.WorkerMaskTextureFormatBlacklistLevel=e.WorkerMaskTextureFormatBlacklistLevel;exports.WorkerMaskTextureUploadBlacklistLevel=e.WorkerMaskTextureUploadBlacklistLevel;exports.WorkerRenderModeBlacklistLevel=e.WorkerRenderModeBlacklistLevel;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Y as s, Z as t, _ as r, $ as l, a0 as i, a1 as p, a2 as o, a3 as n, a4 as T, C as E, s as c, b as k, a5 as y,
|
|
1
|
+
import { Y as s, Z as t, _ as r, $ as l, a0 as i, a1 as p, a2 as o, a3 as n, a4 as T, C as E, s as c, b as k, a5 as y, A as _, K as u, a6 as m, a as v, a7 as g, d as S, a8 as d, a9 as C, c as M, aa as A, E as B, ab as F, e as W, e as x, ac as I, ad as L, y as P, ae as R, af as b, ag as f, T as h, ah as w, ai as D, aj as K, ak as N } from "./index-DSFxl2wM.mjs";
|
|
2
2
|
export {
|
|
3
3
|
s as ActiveContainerType,
|
|
4
4
|
t as ApplianceMultiPlugin,
|
|
@@ -36,6 +36,6 @@ export {
|
|
|
36
36
|
h as Task_Time_Interval,
|
|
37
37
|
w as WorkerCanvasContextBlacklistLevel,
|
|
38
38
|
D as WorkerMaskTextureFormatBlacklistLevel,
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
K as WorkerMaskTextureUploadBlacklistLevel,
|
|
40
|
+
N as WorkerRenderModeBlacklistLevel
|
|
41
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty;var o=(i,e,t)=>e in i?l(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var n=(i,e,t)=>o(i,typeof e!="symbol"?e+"":e,t);let r;function c(i){r=i}function u(){if(!r)throw new Error("[@netless/appliance-plugin/bridge] white-web-sdk runtime has not been bound yet.");return r}class h{constructor(){n(this,"control");n(this,"_listeners",{})}_inject(e){this.control=e}_onEvent(e,t){this._listeners[e]&&this._listeners[e](...t)}callbacks(e,t){this._listeners[e]=t}removeCallback(e){delete this._listeners[e]}}class g{constructor(e){n(this,"control");n(this,"worker");n(this,"publicMsgEmitter");n(this,"plugins",new Map);const{control:t,publicMsgEmitter:s}=e;this.control=t,this.publicMsgEmitter=s,this.worker=t.worker}use(e){this.plugins.set(e.kind,e),e._inject(this.control),e.onCreate()}destroy(){this.plugins.forEach(e=>{this.plugins.delete(e.kind),e.onDestroy()})}dispatchPluginEvent(e,...t){this.plugins.forEach(s=>{s._onEvent(e,t)})}}async function a(i){return c(i),Promise.resolve().then(()=>require("./index-
|
|
1
|
+
"use strict";var l=Object.defineProperty;var o=(i,e,t)=>e in i?l(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var n=(i,e,t)=>o(i,typeof e!="symbol"?e+"":e,t);let r;function c(i){r=i}function u(){if(!r)throw new Error("[@netless/appliance-plugin/bridge] white-web-sdk runtime has not been bound yet.");return r}class h{constructor(){n(this,"control");n(this,"_listeners",{})}_inject(e){this.control=e}_onEvent(e,t){this._listeners[e]&&this._listeners[e](...t)}callbacks(e,t){this._listeners[e]=t}removeCallback(e){delete this._listeners[e]}}class g{constructor(e){n(this,"control");n(this,"worker");n(this,"publicMsgEmitter");n(this,"plugins",new Map);const{control:t,publicMsgEmitter:s}=e;this.control=t,this.publicMsgEmitter=s,this.worker=t.worker}use(e){this.plugins.set(e.kind,e),e._inject(this.control),e.onCreate()}destroy(){this.plugins.forEach(e=>{this.plugins.delete(e.kind),e.onDestroy()})}dispatchPluginEvent(e,...t){this.plugins.forEach(s=>{s._onEvent(e,t)})}}async function a(i){return c(i),Promise.resolve().then(()=>require("./index-DptnZ-h8.js")).then(e=>e.index)}exports.Plugin=h;exports.PluginManager=g;exports.getWhiteWebSdkBridgeRuntime=u;exports.loadAppliancePluginBridge=a;
|
package/dist/bridge.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./bridge-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./bridge-B7BW1lpB.js");exports.Plugin=e.Plugin;exports.loadAppliancePluginBridge=e.loadAppliancePluginBridge;
|
package/dist/bridge.mjs
CHANGED
|
@@ -19,6 +19,14 @@ export type UndoTickerForceEndRoute = {
|
|
|
19
19
|
};
|
|
20
20
|
export declare function getUndoTickerForceEndRoute(source: UndoTickerSource): UndoTickerForceEndRoute;
|
|
21
21
|
export type ForceDoneReason = "camera-update" | "dpr-update" | "scene-change" | "clean-scene" | "set-readonly" | "disconnect" | "destroy" | "view-destroy" | "render-runtime-fallback";
|
|
22
|
+
export type ForceDoneOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* When false, drain only View-local render state. No Collector/storage or
|
|
25
|
+
* Undo persistence is allowed. This is used while rebinding a read-only
|
|
26
|
+
* View, where the runtime still needs local cleanup but cannot sync data.
|
|
27
|
+
*/
|
|
28
|
+
syncStorage?: boolean;
|
|
29
|
+
};
|
|
22
30
|
type ViewForceDoneAckBase = {
|
|
23
31
|
viewId: string;
|
|
24
32
|
scenePath: string;
|
|
@@ -109,7 +117,7 @@ export declare abstract class MasterController {
|
|
|
109
117
|
abstract waitForLocalEventQueue(viewId?: string): Promise<void>;
|
|
110
118
|
abstract finishActiveContinuousMethods(viewId: string, scenePath: string): Promise<void>;
|
|
111
119
|
abstract abortActiveContinuousMethods(viewId: string, workId?: string): boolean;
|
|
112
|
-
abstract forceDoneLocalWorks(viewId: string, scenePath: string, reason: ForceDoneReason): Promise<ViewForceDoneAck>;
|
|
120
|
+
abstract forceDoneLocalWorks(viewId: string, scenePath: string, reason: ForceDoneReason, options?: ForceDoneOptions): Promise<ViewForceDoneAck>;
|
|
113
121
|
abstract invalidateTransactionBarrier(viewId: string): void;
|
|
114
122
|
/** 更新指定view场景路径下的相机参数 */
|
|
115
123
|
abstract updateCamera(viewId: string, cameraOpt: ICameraOpt): void;
|
|
@@ -515,7 +523,7 @@ export declare class MasterControlForWorker extends MasterController {
|
|
|
515
523
|
originalEventLintener(workState: EventWorkState, point: [number, number], viewId: string): Promise<void>;
|
|
516
524
|
waitForLocalEventQueue(viewId?: string): Promise<void>;
|
|
517
525
|
finishActiveContinuousMethods(viewId: string, scenePath: string): Promise<void>;
|
|
518
|
-
forceDoneLocalWorks(viewId: string, scenePath: string, reason: ForceDoneReason): Promise<ViewForceDoneAck>;
|
|
526
|
+
forceDoneLocalWorks(viewId: string, scenePath: string, reason: ForceDoneReason, options?: ForceDoneOptions): Promise<ViewForceDoneAck>;
|
|
519
527
|
invalidateTransactionBarrier(viewId: string): void;
|
|
520
528
|
private waitForCurrentTransactionBarrier;
|
|
521
529
|
private executeTransactionBarrier;
|
|
@@ -7,6 +7,7 @@ import { EDataType } from "../enum";
|
|
|
7
7
|
import { SubTopThread } from "./subTopThread";
|
|
8
8
|
import { SubLocalThread } from "./subLocalThread";
|
|
9
9
|
import { SubServiceThread } from "./subServiceThread";
|
|
10
|
+
import { ImageOptions } from "../tools/image";
|
|
10
11
|
import type { MainThreadRenderMode } from "../../plugin/renderingCompatibility";
|
|
11
12
|
export type ICanvasOptionType = IOffscreenCanvasOptionType;
|
|
12
13
|
export interface IMainThreadInitOption {
|
|
@@ -80,6 +81,7 @@ export declare class MainThreadEngineImpl implements MainThreadEngine {
|
|
|
80
81
|
private imageResolveMap;
|
|
81
82
|
constructor(viewId: string, opt: IMainThreadInitOption);
|
|
82
83
|
getCachedImages(imageSrc: string): HTMLImageElement | ImageBitmap | undefined;
|
|
84
|
+
getImageSourceKey(opt: ImageOptions): string | undefined;
|
|
83
85
|
getCachedImagesByWorkId(workId: string): HTMLImageElement | ImageBitmap | undefined;
|
|
84
86
|
deleteCachedImagesByWorkId(workId: string): void;
|
|
85
87
|
clearCacheImages(): void;
|
|
@@ -93,7 +95,9 @@ export declare class MainThreadEngineImpl implements MainThreadEngine {
|
|
|
93
95
|
updateDpr(dpr: number): void;
|
|
94
96
|
on(msg: IWorkerMessage): Promise<void>;
|
|
95
97
|
private getIconSize;
|
|
96
|
-
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "requestId">
|
|
98
|
+
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "requestId"> & {
|
|
99
|
+
timeoutMs?: number;
|
|
100
|
+
}): Promise<HTMLImageElement | ImageBitmap | undefined>;
|
|
97
101
|
private removeNode;
|
|
98
102
|
consumeFull(type: EDataType, data: IWorkerMessage): Promise<void>;
|
|
99
103
|
setCameraOpt(cameraOpt: ICameraOpt): void;
|
|
@@ -22,6 +22,8 @@ export declare class SubServiceMainThreadImpl implements SubServiceThread {
|
|
|
22
22
|
private syncUnitTime;
|
|
23
23
|
private readonly animationScheduler;
|
|
24
24
|
private readonly effectScheduler;
|
|
25
|
+
private readonly imageRecovery;
|
|
26
|
+
private readonly readyImages;
|
|
25
27
|
constructor(opt: ISubThreadInitOption);
|
|
26
28
|
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "requestId">): Promise<HTMLImageElement | ImageBitmap | undefined>;
|
|
27
29
|
destroy(): void;
|
|
@@ -54,6 +54,7 @@ export declare class ImageShape extends BaseShapeTool {
|
|
|
54
54
|
worker: WorkThreadEngineForSimpleWorker | LocalWorkForFullWorker | WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker | SubLocalMainThreadImpl | SnapshotThreadImpl | SubServiceMainThreadImpl;
|
|
55
55
|
replaceId?: string;
|
|
56
56
|
requestId?: string;
|
|
57
|
+
imageSourceOverride?: ImageBitmap | HTMLImageElement | null;
|
|
57
58
|
}): Promise<IRectType | undefined>;
|
|
58
59
|
clearTmpPoints(): void;
|
|
59
60
|
static getScaleType(opt: ImageOptions): EScaleType.all | EScaleType.proportional;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type ImageSource = ImageBitmap | HTMLImageElement;
|
|
2
|
+
/** Runs one remote image load outside the service render/commit barrier. */
|
|
3
|
+
export declare class ServiceImageRecovery {
|
|
4
|
+
private readonly jobs;
|
|
5
|
+
request(workId: string, src: string, load: () => Promise<ImageSource | undefined>, isCurrent: () => boolean, onReady: (image: ImageSource) => void): void;
|
|
6
|
+
cancel(workId: string): void;
|
|
7
|
+
clear(): void;
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
@@ -10,6 +10,7 @@ import { EWorkThreadType, type WorkThreadEngineForFullWorker, type WorkThreadEng
|
|
|
10
10
|
import { EmitEventType } from "../../plugin/types";
|
|
11
11
|
import { CameraUpdateTaskContext } from "../cameraTask";
|
|
12
12
|
import { type RendererBusinessTaskOptions } from "../rendererBusinessTask";
|
|
13
|
+
import { ImageOptions } from "../tools/image";
|
|
13
14
|
import type { IBitmapEraserMaskOptions } from "../types";
|
|
14
15
|
import { MaxDelayBatchScheduler, WorkerAckBackpressure } from "../batchScheduler";
|
|
15
16
|
export interface IWorkerInitOption {
|
|
@@ -96,6 +97,7 @@ export declare abstract class WorkThreadEngineBase {
|
|
|
96
97
|
protected createRenderLayer(scene: Scene, opt: IWorkerInitOption): void;
|
|
97
98
|
updateDpr(dpr: number): Promise<void>;
|
|
98
99
|
getCachedImages(imageSrc: string): ImageBitmap | undefined;
|
|
100
|
+
getImageSourceKey(opt: ImageOptions): string | undefined;
|
|
99
101
|
getCachedImagesByWorkId(workId: string): ImageBitmap | undefined;
|
|
100
102
|
deleteCachedImagesByWorkId(workId: string, filter?: string): void;
|
|
101
103
|
clearCacheImages(): void;
|
|
@@ -114,7 +116,9 @@ export declare abstract class WorkThreadEngineBase {
|
|
|
114
116
|
setIsSafari(isSafari: boolean): void;
|
|
115
117
|
on(msg: IWorkerMessage): Promise<void>;
|
|
116
118
|
private getIconSize;
|
|
117
|
-
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "isSubWorker" | "requestId">
|
|
119
|
+
loadImageBitMap(msg: Pick<IWorkerMessage, "toolsType" | "opt" | "workId" | "isSubWorker" | "requestId"> & {
|
|
120
|
+
timeoutMs?: number;
|
|
121
|
+
}): Promise<ImageBitmap | undefined>;
|
|
118
122
|
protected createLocalWork(data: IWorkerMessage): void;
|
|
119
123
|
protected updateScene(scene: Scene, offscreenCanvasOpt: IOffscreenCanvasOptionType, targetLayer?: Group): void;
|
|
120
124
|
protected updateLayer(layerOpt: ILayerOptionType, targetLayer?: Group): void;
|
|
@@ -39,6 +39,8 @@ export declare class ServiceWorkForFullWorker implements ServiceWork {
|
|
|
39
39
|
post: (msg: IBatchMainMessage) => Promise<void>;
|
|
40
40
|
private readonly animationScheduler;
|
|
41
41
|
private readonly effectScheduler;
|
|
42
|
+
private readonly imageRecovery;
|
|
43
|
+
private readonly readyImages;
|
|
42
44
|
constructor(opt: ISubWorkerInitOption);
|
|
43
45
|
destroy(): void;
|
|
44
46
|
clearAll(): void;
|
|
@@ -52,6 +54,7 @@ export declare class ServiceWorkForFullWorker implements ServiceWork {
|
|
|
52
54
|
private removeNode;
|
|
53
55
|
private activeWorkShape;
|
|
54
56
|
private hasDiffData;
|
|
57
|
+
protected renderServiceImage(key: string, workShape: IServiceWorkItem): Promise<IRectType | undefined>;
|
|
55
58
|
protected animationDraw(): Promise<void>;
|
|
56
59
|
protected runAnimation(immediate?: boolean): void;
|
|
57
60
|
protected computNextAnimationIndex(workShape: IServiceWorkItem, pointUnit: number): number;
|
|
@@ -2,7 +2,7 @@ import { EventWorkState, IActiveToolsDataType, IBatchMainMessage, IMainMessage,
|
|
|
2
2
|
import { ISubWorkerInitOption } from "./base";
|
|
3
3
|
import { LocalWorkForFullWorker } from "./fullWorkerLocal";
|
|
4
4
|
import { ServiceWorkForFullWorker } from "./fullWorkerService";
|
|
5
|
-
import { SelectorShape, BitMapEraserShape, ArrowShape
|
|
5
|
+
import { SelectorShape, BitMapEraserShape, ArrowShape } from "../tools";
|
|
6
6
|
import { PencilEraserShape } from "../tools/pencilEraser";
|
|
7
7
|
import { TextShape } from "../tools/text";
|
|
8
8
|
import { ISvgShadowShape } from "../tools/shadowSvg";
|
|
@@ -12,7 +12,7 @@ export declare class LocalWorkForSimpleWorker extends LocalWorkForFullWorker {
|
|
|
12
12
|
constructor(opt: ISubWorkerInitOption);
|
|
13
13
|
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
14
14
|
workId: string;
|
|
15
|
-
}): TextShape | ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools").LaserPenShape | import("../tools").EraserShape | BitMapEraserShape | PencilEraserShape | SelectorShape | ImageShape | ISvgShadowShape | undefined;
|
|
15
|
+
}): TextShape | ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools").LaserPenShape | import("../tools").EraserShape | BitMapEraserShape | PencilEraserShape | SelectorShape | import("../tools").ImageShape | ISvgShadowShape | undefined;
|
|
16
16
|
protected drawPencil(res: IMainMessage, workId?: string): Promise<void>;
|
|
17
17
|
protected drawShape(res: IMainMessage): Promise<void>;
|
|
18
18
|
protected drawSelector(res: IMainMessage, workState: EventWorkState, isLockSentEventCursor?: boolean, render?: IMainMessageRenderData[]): Promise<void>;
|