@netless/window-manager 0.4.0-canary.3 → 0.4.0-canary.33

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 (89) hide show
  1. package/.idea/inspectionProfiles/Project_Default.xml +7 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/vcs.xml +6 -0
  4. package/.idea/window-manager.iml +12 -0
  5. package/.vscode/settings.json +1 -0
  6. package/CHANGELOG.md +32 -1
  7. package/README.md +3 -0
  8. package/dist/App/MagixEvent/index.d.ts +29 -0
  9. package/dist/App/Storage/StorageEvent.d.ts +8 -0
  10. package/dist/App/Storage/index.d.ts +39 -0
  11. package/dist/App/Storage/typings.d.ts +22 -0
  12. package/dist/App/Storage/utils.d.ts +5 -0
  13. package/dist/AppContext.d.ts +40 -16
  14. package/dist/AppListener.d.ts +2 -1
  15. package/dist/AppManager.d.ts +26 -12
  16. package/dist/AppProxy.d.ts +7 -8
  17. package/dist/AttributesDelegate.d.ts +2 -2
  18. package/dist/BoxManager.d.ts +6 -3
  19. package/dist/BuiltinApps.d.ts +5 -0
  20. package/dist/ContainerResizeObserver.d.ts +10 -0
  21. package/dist/Cursor/Cursor.d.ts +10 -12
  22. package/dist/Cursor/index.d.ts +6 -16
  23. package/dist/Helper.d.ts +7 -0
  24. package/dist/ReconnectRefresher.d.ts +0 -1
  25. package/dist/Register/storage.d.ts +5 -1
  26. package/dist/Utils/AppCreateQueue.d.ts +11 -0
  27. package/dist/Utils/Common.d.ts +7 -2
  28. package/dist/Utils/Reactive.d.ts +1 -1
  29. package/dist/Utils/RoomHacker.d.ts +3 -3
  30. package/dist/{MainView.d.ts → View/MainView.d.ts} +5 -6
  31. package/dist/View/ViewManager.d.ts +13 -0
  32. package/dist/constants.d.ts +5 -7
  33. package/dist/index.d.ts +36 -14
  34. package/dist/index.es.js +41 -1
  35. package/dist/index.es.js.map +1 -1
  36. package/dist/index.umd.js +41 -1
  37. package/dist/index.umd.js.map +1 -1
  38. package/dist/style.css +1 -1
  39. package/dist/typings.d.ts +3 -2
  40. package/docs/advanced.md +39 -0
  41. package/docs/api.md +69 -6
  42. package/docs/concept.md +9 -0
  43. package/docs/replay.md +40 -0
  44. package/package.json +7 -6
  45. package/src/App/MagixEvent/index.ts +68 -0
  46. package/src/App/Storage/StorageEvent.ts +21 -0
  47. package/src/App/Storage/index.ts +289 -0
  48. package/src/App/Storage/typings.ts +23 -0
  49. package/src/App/Storage/utils.ts +17 -0
  50. package/src/AppContext.ts +69 -24
  51. package/src/AppListener.ts +28 -16
  52. package/src/AppManager.ts +261 -83
  53. package/src/AppProxy.ts +53 -64
  54. package/src/AttributesDelegate.ts +2 -2
  55. package/src/BoxManager.ts +40 -24
  56. package/src/BuiltinApps.ts +23 -0
  57. package/src/ContainerResizeObserver.ts +62 -0
  58. package/src/Cursor/Cursor.svelte +25 -21
  59. package/src/Cursor/Cursor.ts +25 -38
  60. package/src/Cursor/icons.ts +2 -0
  61. package/src/Cursor/index.ts +45 -139
  62. package/src/Helper.ts +41 -0
  63. package/src/ReconnectRefresher.ts +0 -5
  64. package/src/Register/index.ts +25 -16
  65. package/src/Register/loader.ts +2 -2
  66. package/src/Register/storage.ts +6 -1
  67. package/src/Utils/AppCreateQueue.ts +54 -0
  68. package/src/Utils/Common.ts +69 -14
  69. package/src/Utils/Reactive.ts +9 -3
  70. package/src/Utils/RoomHacker.ts +44 -14
  71. package/src/{MainView.ts → View/MainView.ts} +25 -36
  72. package/src/View/ViewManager.ts +52 -0
  73. package/src/constants.ts +6 -4
  74. package/src/image/laser-pointer-cursor.svg +17 -0
  75. package/src/index.ts +168 -101
  76. package/src/shim.d.ts +5 -0
  77. package/src/style.css +7 -1
  78. package/src/typings.ts +3 -2
  79. package/vite.config.js +8 -2
  80. package/dist/Base/Context.d.ts +0 -13
  81. package/dist/Base/index.d.ts +0 -7
  82. package/dist/Utils/CameraStore.d.ts +0 -15
  83. package/dist/ViewManager.d.ts +0 -29
  84. package/dist/sdk.d.ts +0 -14
  85. package/src/Base/Context.ts +0 -49
  86. package/src/Base/index.ts +0 -10
  87. package/src/Utils/CameraStore.ts +0 -72
  88. package/src/sdk.ts +0 -39
  89. package/src/viewManager.ts +0 -177
@@ -2,14 +2,19 @@ import type { PublicEvent } from "../index";
2
2
  import type { Displayer, ViewVisionMode, Room, View } from "white-web-sdk";
3
3
  import type Emittery from "emittery";
4
4
  export declare const genAppId: (kind: string) => Promise<string>;
5
- export declare const setViewFocusScenePath: (view: View, focusScenePath: string) => void;
5
+ export declare const setViewFocusScenePath: (view: View, focusScenePath: string) => View | undefined;
6
+ export declare const setViewSceneIndex: (view: View, index: number) => View | undefined;
6
7
  export declare const setScenePath: (room: Room | undefined, scenePath: string) => void;
8
+ export declare const getScenePath: (room: Room | undefined, dir: string | undefined, index: number) => string | undefined;
9
+ export declare const removeScenes: (room: Room | undefined, scenePath: string) => void;
7
10
  export declare const setViewMode: (view: View, mode: ViewVisionMode) => void;
8
11
  export declare const emitError: (error: Error) => void;
9
12
  export declare const addEmitterOnceListener: (event: any, listener: any) => void;
10
13
  export declare const notifyMainViewModeChange: import("lodash").DebouncedFunc<(callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => void>;
11
- export declare const makeValidScenePath: (displayer: Displayer, scenePath: string) => string;
14
+ export declare const makeValidScenePath: (displayer: Displayer, scenePath: string, index?: number) => string | undefined;
15
+ export declare const entireScenes: (displayer: Displayer) => import("white-web-sdk").SceneMap;
12
16
  export declare const isValidScenePath: (scenePath: string) => boolean;
17
+ export declare const parseSceneDir: (scenePath: string) => string;
13
18
  export declare const ensureValidScenePath: (scenePath: string) => string;
14
19
  export declare const getVersionNumber: (version: string) => number;
15
20
  export declare const wait: (time: number) => Promise<unknown>;
@@ -1,6 +1,6 @@
1
1
  import { UpdateEventKind } from "white-web-sdk";
2
2
  import type { AkkoObjectUpdatedListener } from "white-web-sdk";
3
3
  export declare const onObjectByEvent: (event: UpdateEventKind) => (object: any, func: () => void) => (() => void) | undefined;
4
- export declare const safeListenPropsUpdated: <T>(getProps: () => T, callback: AkkoObjectUpdatedListener<T>) => () => void;
4
+ export declare const safeListenPropsUpdated: <T>(getProps: () => T, callback: AkkoObjectUpdatedListener<T>, onDestroyed?: ((props: unknown) => void) | undefined) => () => void;
5
5
  export declare const onObjectRemoved: (object: any, func: () => void) => (() => void) | undefined;
6
6
  export declare const onObjectInserted: (object: any, func: () => void) => (() => void) | undefined;
@@ -1,3 +1,3 @@
1
- import type { WindowManager } from '../index';
2
- import type { Room } from "white-web-sdk";
3
- export declare const replaceRoomFunction: (room: Room, manager: WindowManager) => void;
1
+ import type { WindowManager } from "../index";
2
+ import type { Room, Player } from "white-web-sdk";
3
+ export declare const replaceRoomFunction: (room: Room | Player, manager: WindowManager) => void;
@@ -1,13 +1,12 @@
1
- import { Base } from "./Base";
2
1
  import type { Camera, Size, View } from "white-web-sdk";
3
- import type { AppManager } from "./AppManager";
4
- export declare class MainViewProxy extends Base {
2
+ import type { AppManager } from "../AppManager";
3
+ export declare class MainViewProxy {
4
+ private manager;
5
5
  private scale?;
6
- private cameraStore;
7
6
  private started;
8
7
  private mainViewIsAddListener;
9
8
  private mainView;
10
- private viewId;
9
+ private store;
11
10
  private sideEffectManager;
12
11
  constructor(manager: AppManager);
13
12
  private get mainViewCamera();
@@ -26,6 +25,7 @@ export declare class MainViewProxy extends Base {
26
25
  scale: number;
27
26
  };
28
27
  createMainView(): View;
28
+ onReconnect(): void;
29
29
  private onCameraUpdatedByDevice;
30
30
  addMainViewListener(): void;
31
31
  removeMainViewListener(): void;
@@ -35,7 +35,6 @@ export declare class MainViewProxy extends Base {
35
35
  private addCameraListener;
36
36
  private removeCameraListener;
37
37
  private onCameraOrSizeUpdated;
38
- switchViewModeToWriter(): void;
39
38
  moveCameraToContian(size: Size): void;
40
39
  moveCamera(camera: Camera): void;
41
40
  stop(): void;
@@ -0,0 +1,13 @@
1
+ import type { View, Displayer } from "white-web-sdk";
2
+ export declare class ViewManager {
3
+ private displayer;
4
+ views: Map<string, View>;
5
+ constructor(displayer: Displayer);
6
+ createView(id: string): View;
7
+ getView(id: string): View | undefined;
8
+ destroyView(id: string): void;
9
+ setViewScenePath(id: string, scenePath: string): void;
10
+ destroy(): void;
11
+ }
12
+ export declare const createView: (displayer: Displayer) => View;
13
+ export declare const setDefaultCameraBound: (view: View) => void;
@@ -10,7 +10,9 @@ export declare enum Events {
10
10
  SetMainViewScenePath = "SetMainViewScenePath",
11
11
  SetMainViewSceneIndex = "SetMainViewSceneIndex",
12
12
  SwitchViewsToFreedom = "SwitchViewsToFreedom",
13
- MoveCameraToContain = "MoveCameraToContain"
13
+ MoveCamera = "MoveCamera",
14
+ MoveCameraToContain = "MoveCameraToContain",
15
+ CursorMove = "CursorMove"
14
16
  }
15
17
  export declare const MagixEventName = "__WindowManger";
16
18
  export declare enum AppAttributes {
@@ -31,13 +33,9 @@ export declare enum CursorState {
31
33
  Leave = "leave",
32
34
  Normal = "normal"
33
35
  }
34
- export declare const REQUIRE_VERSION = "2.13.16";
36
+ export declare const REQUIRE_VERSION = "2.16.1";
35
37
  export declare const MIN_WIDTH: number;
36
38
  export declare const MIN_HEIGHT: number;
37
39
  export declare const SET_SCENEPATH_DELAY = 100;
38
- export declare const DEFAULT_COLLECTOR_STYLE: {
39
- right: string;
40
- bottom: string;
41
- position: string;
42
- };
43
40
  export declare const DEFAULT_CONTAINER_RATIO: number;
41
+ export declare const ROOT_DIR = "/";
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import Emittery from "emittery";
2
2
  import { AppManager } from "./AppManager";
3
3
  import { CursorManager } from "./Cursor";
4
+ import { InvisiblePlugin, ViewMode } from "white-web-sdk";
5
+ import { ReconnectRefresher } from "./ReconnectRefresher";
4
6
  import "./style.css";
5
7
  import "@netless/telebox-insider/dist/style.css";
6
8
  import type { TELE_BOX_STATE } from "./BoxManager";
7
- import type { Apps } from "./AttributesDelegate";
8
- import { InvisiblePlugin, ViewMode } from "white-web-sdk";
9
- import type { Displayer, SceneDefinition, View, Room, InvisiblePluginContext, Camera, AnimationMode, CameraBound, Point, Rectangle, ViewVisionMode, CameraState } from "white-web-sdk";
9
+ import type { Apps, Position } from "./AttributesDelegate";
10
+ import type { Displayer, SceneDefinition, View, Room, InvisiblePluginContext, Camera, AnimationMode, CameraBound, Point, Rectangle, ViewVisionMode, CameraState, Player } from "white-web-sdk";
10
11
  import type { AppListeners } from "./AppListener";
11
12
  import type { NetlessApp, RegisterParams } from "./typings";
12
13
  import type { TeleBoxColorScheme, TeleBoxState } from "@netless/telebox-insider";
@@ -64,6 +65,11 @@ export declare type AppInitState = {
64
65
  boxState?: TeleBoxState;
65
66
  zIndex?: number;
66
67
  };
68
+ export declare type CursorMovePayload = {
69
+ uid: string;
70
+ state?: "leave";
71
+ position: Position;
72
+ };
67
73
  export declare type EmitterEvent = {
68
74
  onCreated: undefined;
69
75
  InitReplay: AppInitState;
@@ -92,6 +98,8 @@ export declare type EmitterEvent = {
92
98
  boxStateChange: string;
93
99
  playgroundSizeChange: DOMRect;
94
100
  onReconnected: void;
101
+ removeScenes: string;
102
+ cursorMove: CursorMovePayload;
95
103
  };
96
104
  export declare type EmitterType = Emittery<EmitterEvent>;
97
105
  export declare const emitter: EmitterType;
@@ -101,9 +109,15 @@ export declare type PublicEvent = {
101
109
  darkModeChange: boolean;
102
110
  prefersColorSchemeChange: TeleBoxColorScheme;
103
111
  cameraStateChange: CameraState;
112
+ mainViewScenePathChange: string;
113
+ mainViewSceneIndexChange: number;
114
+ focusedChange: string | undefined;
115
+ mainViewScenesLengthChange: number;
116
+ canRedoStepsChange: number;
117
+ canUndoStepsChange: number;
104
118
  };
105
119
  export declare type MountParams = {
106
- room: Room;
120
+ room: Room | Player;
107
121
  container?: HTMLElement;
108
122
  /** 白板高宽比例, 默认为 9 / 16 */
109
123
  containerSizeRatio?: number;
@@ -119,6 +133,7 @@ export declare type MountParams = {
119
133
  };
120
134
  export declare type CallbacksType = Emittery<PublicEvent>;
121
135
  export declare const callbacks: CallbacksType;
136
+ export declare const reconnectRefresher: ReconnectRefresher;
122
137
  export declare class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {
123
138
  static kind: string;
124
139
  static displayer: Displayer;
@@ -129,6 +144,7 @@ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttribute
129
144
  static containerSizeRatio: number;
130
145
  private static isCreated;
131
146
  version: string;
147
+ dependencies: Record<string, string>;
132
148
  appListeners?: AppListeners;
133
149
  readonly?: boolean;
134
150
  emitter: Emittery<PublicEvent>;
@@ -138,6 +154,7 @@ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttribute
138
154
  isReplay: boolean;
139
155
  private boxManager?;
140
156
  private static params?;
157
+ private containerResizeObserver?;
141
158
  constructor(context: InvisiblePluginContext);
142
159
  static mount(params: MountParams): Promise<WindowManager>;
143
160
  private static initManager;
@@ -164,7 +181,7 @@ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttribute
164
181
  /**
165
182
  * 返回 mainView 的 ScenePath
166
183
  */
167
- getMainViewScenePath(): string;
184
+ getMainViewScenePath(): string | undefined;
168
185
  /**
169
186
  * 返回 mainView 的 SceneIndex
170
187
  */
@@ -185,6 +202,9 @@ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttribute
185
202
  * 设置 ViewMode
186
203
  */
187
204
  setViewMode(mode: ViewMode): void;
205
+ setBoxState(boxState: TeleBoxState): void;
206
+ setMaximized(maximized: boolean): void;
207
+ setMinimized(minimized: boolean): void;
188
208
  get mainView(): View;
189
209
  get camera(): Camera;
190
210
  get cameraState(): CameraState;
@@ -192,6 +212,13 @@ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttribute
192
212
  get boxState(): TeleBoxState | undefined;
193
213
  get darkMode(): boolean;
194
214
  get prefersColorScheme(): TeleBoxColorScheme | undefined;
215
+ get focused(): string | undefined;
216
+ get mainViewSceneIndex(): number;
217
+ get mainViewSceneDir(): string;
218
+ get topApp(): string | undefined;
219
+ get mainViewScenesLength(): number;
220
+ get canRedoSteps(): number;
221
+ get canUndoSteps(): number;
195
222
  /**
196
223
  * 查询所有的 App
197
224
  */
@@ -221,16 +248,11 @@ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttribute
221
248
  safeSetAttributes(attributes: any): void;
222
249
  safeUpdateAttributes(keys: string[], value: any): void;
223
250
  setPrefersColorScheme(scheme: TeleBoxColorScheme): void;
251
+ cleanCurrentScene(): void;
252
+ redo(): number;
253
+ undo(): number;
224
254
  private isDynamicPPT;
225
- private static checkVersion;
226
255
  private ensureAttributes;
227
- private containerResizeObserver?;
228
- private observePlaygroundSize;
229
- private updateSizer;
230
256
  }
231
- export declare const BuiltinApps: {
232
- DocsViewer: string;
233
- MediaPlayer: string;
234
- };
235
257
  export * from "./typings";
236
- export { WhiteWindowSDK } from "./sdk";
258
+ export { BuiltinApps } from "./BuiltinApps";