@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.
- package/.idea/inspectionProfiles/Project_Default.xml +7 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/window-manager.iml +12 -0
- package/.vscode/settings.json +1 -0
- package/CHANGELOG.md +32 -1
- package/README.md +3 -0
- package/dist/App/MagixEvent/index.d.ts +29 -0
- package/dist/App/Storage/StorageEvent.d.ts +8 -0
- package/dist/App/Storage/index.d.ts +39 -0
- package/dist/App/Storage/typings.d.ts +22 -0
- package/dist/App/Storage/utils.d.ts +5 -0
- package/dist/AppContext.d.ts +40 -16
- package/dist/AppListener.d.ts +2 -1
- package/dist/AppManager.d.ts +26 -12
- package/dist/AppProxy.d.ts +7 -8
- package/dist/AttributesDelegate.d.ts +2 -2
- package/dist/BoxManager.d.ts +6 -3
- package/dist/BuiltinApps.d.ts +5 -0
- package/dist/ContainerResizeObserver.d.ts +10 -0
- package/dist/Cursor/Cursor.d.ts +10 -12
- package/dist/Cursor/index.d.ts +6 -16
- package/dist/Helper.d.ts +7 -0
- package/dist/ReconnectRefresher.d.ts +0 -1
- package/dist/Register/storage.d.ts +5 -1
- package/dist/Utils/AppCreateQueue.d.ts +11 -0
- package/dist/Utils/Common.d.ts +7 -2
- package/dist/Utils/Reactive.d.ts +1 -1
- package/dist/Utils/RoomHacker.d.ts +3 -3
- package/dist/{MainView.d.ts → View/MainView.d.ts} +5 -6
- package/dist/View/ViewManager.d.ts +13 -0
- package/dist/constants.d.ts +5 -7
- package/dist/index.d.ts +36 -14
- package/dist/index.es.js +41 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +41 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/typings.d.ts +3 -2
- package/docs/advanced.md +39 -0
- package/docs/api.md +69 -6
- package/docs/concept.md +9 -0
- package/docs/replay.md +40 -0
- package/package.json +7 -6
- package/src/App/MagixEvent/index.ts +68 -0
- package/src/App/Storage/StorageEvent.ts +21 -0
- package/src/App/Storage/index.ts +289 -0
- package/src/App/Storage/typings.ts +23 -0
- package/src/App/Storage/utils.ts +17 -0
- package/src/AppContext.ts +69 -24
- package/src/AppListener.ts +28 -16
- package/src/AppManager.ts +261 -83
- package/src/AppProxy.ts +53 -64
- package/src/AttributesDelegate.ts +2 -2
- package/src/BoxManager.ts +40 -24
- package/src/BuiltinApps.ts +23 -0
- package/src/ContainerResizeObserver.ts +62 -0
- package/src/Cursor/Cursor.svelte +25 -21
- package/src/Cursor/Cursor.ts +25 -38
- package/src/Cursor/icons.ts +2 -0
- package/src/Cursor/index.ts +45 -139
- package/src/Helper.ts +41 -0
- package/src/ReconnectRefresher.ts +0 -5
- package/src/Register/index.ts +25 -16
- package/src/Register/loader.ts +2 -2
- package/src/Register/storage.ts +6 -1
- package/src/Utils/AppCreateQueue.ts +54 -0
- package/src/Utils/Common.ts +69 -14
- package/src/Utils/Reactive.ts +9 -3
- package/src/Utils/RoomHacker.ts +44 -14
- package/src/{MainView.ts → View/MainView.ts} +25 -36
- package/src/View/ViewManager.ts +52 -0
- package/src/constants.ts +6 -4
- package/src/image/laser-pointer-cursor.svg +17 -0
- package/src/index.ts +168 -101
- package/src/shim.d.ts +5 -0
- package/src/style.css +7 -1
- package/src/typings.ts +3 -2
- package/vite.config.js +8 -2
- package/dist/Base/Context.d.ts +0 -13
- package/dist/Base/index.d.ts +0 -7
- package/dist/Utils/CameraStore.d.ts +0 -15
- package/dist/ViewManager.d.ts +0 -29
- package/dist/sdk.d.ts +0 -14
- package/src/Base/Context.ts +0 -49
- package/src/Base/index.ts +0 -10
- package/src/Utils/CameraStore.ts +0 -72
- package/src/sdk.ts +0 -39
- package/src/viewManager.ts +0 -177
package/dist/Utils/Common.d.ts
CHANGED
@@ -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) =>
|
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>;
|
package/dist/Utils/Reactive.d.ts
CHANGED
@@ -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
|
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
|
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 "
|
4
|
-
export declare class MainViewProxy
|
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
|
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;
|
package/dist/constants.d.ts
CHANGED
@@ -10,7 +10,9 @@ export declare enum Events {
|
|
10
10
|
SetMainViewScenePath = "SetMainViewScenePath",
|
11
11
|
SetMainViewSceneIndex = "SetMainViewSceneIndex",
|
12
12
|
SwitchViewsToFreedom = "SwitchViewsToFreedom",
|
13
|
-
|
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.
|
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 {
|
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 {
|
258
|
+
export { BuiltinApps } from "./BuiltinApps";
|