@netless/appliance-plugin 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/cdn/cdn.js +1 -1
  2. package/cdn/fullWorker-CjGKnN.js +439 -0
  3. package/cdn/subWorker-DUJqv_.js +439 -0
  4. package/dist/appliance-plugin.js +1 -1
  5. package/dist/appliance-plugin.mjs +1 -1
  6. package/dist/core/enum.d.ts +20 -16
  7. package/dist/core/mainEngine.d.ts +1 -0
  8. package/dist/core/mainThread/base.d.ts +6 -0
  9. package/dist/core/mainThread/snapshotThread.d.ts +7 -1
  10. package/dist/core/mainThread/subLocalThread.d.ts +7 -4
  11. package/dist/core/mainThread/subServiceThread.d.ts +1 -0
  12. package/dist/core/mainThread/subTopThread.d.ts +2 -2
  13. package/dist/core/mainThread/workerMainThread.d.ts +1 -1
  14. package/dist/core/msgEvent/baseForMainThread.d.ts +3 -3
  15. package/dist/core/msgEvent/baseForWorker.d.ts +3 -3
  16. package/dist/core/msgEvent/forMainThread.d.ts +2 -4
  17. package/dist/core/msgEvent/forWorker.d.ts +2 -4
  18. package/dist/core/tools/base.d.ts +12 -0
  19. package/dist/core/tools/image.d.ts +6 -3
  20. package/dist/core/tools/pencilEraser.d.ts +0 -2
  21. package/dist/core/tools/pencilEraserBitMap.d.ts +83 -0
  22. package/dist/core/tools/selector.d.ts +2 -5
  23. package/dist/core/tools/utils.d.ts +6 -5
  24. package/dist/core/types.d.ts +3 -2
  25. package/dist/core/utils/image.d.ts +5 -0
  26. package/dist/core/utils/math.d.ts +3 -0
  27. package/dist/core/worker/base.d.ts +11 -2
  28. package/dist/core/worker/fullWorkerLocal.d.ts +4 -2
  29. package/dist/core/worker/subWorkerTopLayer.d.ts +2 -2
  30. package/dist/core/worker/workerManager.d.ts +1 -0
  31. package/dist/fullWorker.js +153 -152
  32. package/dist/index-C29o_HLi.js +1 -0
  33. package/dist/{index-DBzmxM2f.mjs → index-C4KNxHht.mjs} +708 -547
  34. package/dist/{index-CWXxYSm5.mjs → index-CIJP6_Qj.mjs} +5880 -5414
  35. package/dist/index-DmfRoAiB.js +1 -0
  36. package/dist/plugin/baseApplianceManager.d.ts +5 -4
  37. package/dist/plugin/const.d.ts +3 -0
  38. package/dist/plugin/types.d.ts +28 -1
  39. package/dist/subWorker.js +153 -152
  40. package/package.json +2 -2
  41. package/cdn/fullWorker-8AH6yz.js +0 -438
  42. package/cdn/subWorker-B-aVKt.js +0 -438
  43. package/dist/index-B42Mnde_.js +0 -1
  44. package/dist/index-CBeudPfv.js +0 -1
@@ -21,8 +21,8 @@ export declare abstract class BaseApplianceManager {
21
21
  static InternalMsgEmitter: EventEmitter2;
22
22
  readonly version: string;
23
23
  plugin?: AppliancePluginLike;
24
- room?: Room;
25
- play?: Player;
24
+ readonly room?: Room;
25
+ readonly play?: Player;
26
26
  collector?: Collector;
27
27
  hasSwitchToSelectorEffect?: boolean;
28
28
  snapshootStateMap?: Map<string, unknown>;
@@ -58,13 +58,13 @@ export declare abstract class BaseApplianceManager {
58
58
  /** 监听房间教具变更 */
59
59
  onMemberChange: import("lodash").DebouncedFunc<(memberState: MemberState) => void>;
60
60
  /** 获取当前工具key */
61
- protected getToolsKey(memberState: MemberState): EToolsKey.Pencil | EToolsKey.Eraser | EToolsKey.PencilEraser | EToolsKey.Selector | EToolsKey.Clicker | EToolsKey.Arrow | EToolsKey.LaserPen | EToolsKey.Text | EToolsKey.Straight | EToolsKey.Rectangle | EToolsKey.Ellipse | EToolsKey.Star | EToolsKey.Polygon | EToolsKey.SpeechBalloon;
61
+ protected getToolsKey(memberState: MemberState): EToolsKey.Pencil | EToolsKey.Eraser | EToolsKey.PencilEraser | EToolsKey.BitMapEraser | EToolsKey.Selector | EToolsKey.Clicker | EToolsKey.Arrow | EToolsKey.LaserPen | EToolsKey.Text | EToolsKey.Straight | EToolsKey.Rectangle | EToolsKey.Ellipse | EToolsKey.Star | EToolsKey.Polygon | EToolsKey.SpeechBalloon;
62
62
  /** 获取当前工具默认配置 */
63
63
  protected getToolsOpt(toolsKey: EToolsKey, memberState: MemberState): {
64
64
  toolsType: EToolsKey.Clicker;
65
65
  toolsOpt: {};
66
66
  } | {
67
- toolsType: EToolsKey.Pencil | EToolsKey.Eraser | EToolsKey.PencilEraser | EToolsKey.Selector | EToolsKey.Arrow | EToolsKey.Hand | EToolsKey.LaserPen | EToolsKey.Text | EToolsKey.Straight | EToolsKey.Rectangle | EToolsKey.Ellipse | EToolsKey.Star | EToolsKey.Triangle | EToolsKey.Rhombus | EToolsKey.Polygon | EToolsKey.SpeechBalloon | EToolsKey.Image;
67
+ toolsType: EToolsKey.Pencil | EToolsKey.Eraser | EToolsKey.PencilEraser | EToolsKey.BitMapEraser | EToolsKey.Selector | EToolsKey.Arrow | EToolsKey.Hand | EToolsKey.LaserPen | EToolsKey.Text | EToolsKey.Straight | EToolsKey.Rectangle | EToolsKey.Ellipse | EToolsKey.Star | EToolsKey.Triangle | EToolsKey.Rhombus | EToolsKey.Polygon | EToolsKey.SpeechBalloon | EToolsKey.Image;
68
68
  toolsOpt: BaseShapeOptions;
69
69
  };
70
70
  /** 激活当前view容器*/
@@ -85,5 +85,6 @@ export declare abstract class BaseApplianceManager {
85
85
  setSnapshootData(): void;
86
86
  getSnapshootData(key: string): unknown;
87
87
  clearSnapshootData(): void;
88
+ useBitMapEraser(bol: boolean): void;
88
89
  consoleWorkerInfo(): void;
89
90
  }
@@ -23,4 +23,7 @@ export declare const DefaultAppliancePluginOptions: {
23
23
  bezier: {
24
24
  combineUnitTime: number;
25
25
  };
26
+ pencilEraser: {
27
+ useBitMap: boolean;
28
+ };
26
29
  };
@@ -210,6 +210,14 @@ export type AppliancePluginOptions = {
210
210
  syncOpt?: SyncOpt;
211
211
  /** 画布配置项 */
212
212
  canvasOpt?: CanvasOpt;
213
+ /** 指针配置项 */
214
+ cursor?: CursorOpt;
215
+ /** 画布缓存配置项 */
216
+ bufferSize?: BufferSizeOpt;
217
+ /** 贝塞尔优化配置项 */
218
+ bezier?: BezierOpt;
219
+ /** 局部橡皮擦配置项 */
220
+ pencilEraser?: PencilEraserOpt;
213
221
  };
214
222
  export interface AppliancePluginAttributes {
215
223
  [key: string]: ISerializableStorageViewData | ISerializableEventData;
@@ -260,10 +268,29 @@ export type CanvasOpt = {
260
268
  contextType: ECanvasContextType;
261
269
  };
262
270
  export type CdnOpt = {
263
- /** worker url 地址 */
271
+ /** full worker url 地址, 绘制完整数据的线程 */
264
272
  fullWorkerUrl: string;
273
+ /** sub worker url 地址, 绘制一帧数据的线程 */
265
274
  subWorkerUrl: string;
266
275
  };
276
+ export type CursorOpt = {
277
+ /** 指针消失过期时间 */
278
+ expirationTime: number;
279
+ };
280
+ export type BufferSizeOpt = {
281
+ /** 分配给绘制完整数据cancanvas 缓存大小 */
282
+ full: number;
283
+ /** 分配给绘制一帧数据canvas 缓存大小 */
284
+ sub: number;
285
+ };
286
+ export type BezierOpt = {
287
+ /** 合并处理贝塞尔曲线的单位时间,单位:毫秒 */
288
+ combineUnitTime: number;
289
+ };
290
+ export type PencilEraserOpt = {
291
+ /** 是否使用位图方式局部橡皮擦 */
292
+ useBitMap: boolean;
293
+ };
267
294
  export declare enum EmitEventType {
268
295
  /** 无 */
269
296
  None = "None",