@netless/appliance-plugin 1.1.43-beta.5 → 1.1.43

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-C8jhD21B.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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-LmgcnMI8.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, H 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 H, ak as K } from "./index-BtLlVwbN.mjs";
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, H 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 H, ak as K } from "./index-C-pO2InQ.mjs";
2
2
  export {
3
3
  s as ActiveContainerType,
4
4
  t as ApplianceMultiPlugin,
@@ -54,7 +54,7 @@ class g {
54
54
  }
55
55
  }
56
56
  async function d(i) {
57
- return c(i), import("./index-CGGk-ErK.mjs").then((t) => t.Z);
57
+ return c(i), import("./index-CrJWLjuD.mjs").then((t) => t.Z);
58
58
  }
59
59
  export {
60
60
  g as P,
@@ -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-D48waKFn.js")).then(e=>e.index)}exports.Plugin=h;exports.PluginManager=g;exports.getWhiteWebSdkBridgeRuntime=u;exports.loadAppliancePluginBridge=a;
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-DLzvL8jo.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-BU5rR3K9.js");exports.Plugin=e.Plugin;exports.loadAppliancePluginBridge=e.loadAppliancePluginBridge;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./bridge-GmRa7-tp.js");exports.Plugin=e.Plugin;exports.loadAppliancePluginBridge=e.loadAppliancePluginBridge;
package/dist/bridge.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { a as i, l as e } from "./bridge-lN5XJgmt.mjs";
1
+ import { a as i, l as e } from "./bridge-D30E9dr6.mjs";
2
2
  export {
3
3
  i as Plugin,
4
4
  e as loadAppliancePluginBridge
@@ -5,11 +5,15 @@ export interface ServiceRenderSchedulerOptions {
5
5
  cancel: (handle: number) => void;
6
6
  onError?: (error: unknown) => void;
7
7
  }
8
+ export interface ServiceRenderBarrierOptions {
9
+ /** Runs after service work flushes and before Layer promises are awaited. */
10
+ afterFlush?: () => void | PromiseLike<void>;
11
+ }
8
12
  export declare function flushServiceRenderBarrier(serviceWork: {
9
13
  flush(): Promise<void>;
10
14
  } | undefined, layers: Array<{
11
15
  readonly prepareRender: PromiseLike<unknown>;
12
- }>): Promise<void>;
16
+ }>, options?: ServiceRenderBarrierOptions): Promise<void>;
13
17
  /**
14
18
  * Keeps the normal frame-delayed service render cadence while allowing a
15
19
  * protocol barrier to immediately drain every requested frame.
@@ -166,6 +166,8 @@ export type IWorkerMessage = Omit<Partial<BaseCollectorReducerAction>, "op"> & {
166
166
  bgCanvas: OffscreenCanvas;
167
167
  serviceCanvas: OffscreenCanvas;
168
168
  };
169
+ /** ImageBitmap transport marker; distinct from OffscreenTransfer canvases. */
170
+ isImageBitmapTransport?: boolean;
169
171
  /** Temporary canvas used only by the SpriteJS initialization probe. */
170
172
  probeCanvas?: OffscreenCanvas;
171
173
  /** Frozen mainView render profile used by every TestScene candidate. */
@@ -15,6 +15,7 @@ import { MaxDelayBatchScheduler, WorkerAckBackpressure } from "../batchScheduler
15
15
  export interface IWorkerInitOption {
16
16
  dpr: number;
17
17
  viewGeneration?: number;
18
+ isImageBitmapTransport?: boolean;
18
19
  offscreenCanvasOpt: IOffscreenCanvasOptionType;
19
20
  layerOpt: ILayerOptionType;
20
21
  combineUnitTime?: number;
@@ -100,6 +101,16 @@ export declare abstract class WorkThreadEngineBase {
100
101
  clearCacheImages(): void;
101
102
  private closeImageBitmap;
102
103
  clearImageResolveMap(): void;
104
+ /**
105
+ * ImageBitmap simple workers render directly into offscreen layers. An
106
+ * empty/clear-only service batch can leave SpriteJS prepareRender pending
107
+ * because there is no drawCanvas item to trigger Layer.render(). Keep this
108
+ * drain scoped to the ImageBitmap simple worker; MainThread and
109
+ * OffscreenTransfer use their existing render scheduling. The transport is
110
+ * identified explicitly because OffscreenTransfer also has offscreenCanvas
111
+ * data in its init options.
112
+ */
113
+ private drainImageBitmapServiceLayers;
103
114
  setIsSafari(isSafari: boolean): void;
104
115
  on(msg: IWorkerMessage): Promise<void>;
105
116
  private getIconSize;