@noya-app/noya-multiplayer-react 0.1.49 → 0.1.51
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/.turbo/turbo-build.log +11 -11
- package/CHANGELOG.md +18 -0
- package/dist/index.bundle.js +8 -40
- package/dist/index.d.mts +123 -8
- package/dist/index.d.ts +123 -8
- package/dist/index.js +3944 -261
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3962 -256
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/NoyaStateContext.tsx +26 -3
- package/src/WebSocketConnection.ts +17 -39
- package/src/hooks.ts +2 -2
- package/src/inspector/StateInspector.tsx +111 -29
- package/src/noyaApp.ts +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
2
|
+
import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction } from 'react';
|
|
5
5
|
import { GetAtPath, ObservableOptions, PathKey, Observable } from '@noya-app/observable';
|
|
6
6
|
import { MenuItem } from '@noya-app/noya-designsystem';
|
|
7
|
+
import { OutputTransform, Input } from '@noya-app/noya-schemas';
|
|
7
8
|
|
|
8
9
|
type Point = {
|
|
9
10
|
x: number;
|
|
@@ -55,7 +56,7 @@ declare function useMultiplayerState<S, M extends object = object, E extends obj
|
|
|
55
56
|
assetManager: _noya_app_state_manager.AssetManager;
|
|
56
57
|
aiManager: _noya_app_state_manager.AIManager;
|
|
57
58
|
rpcManager: _noya_app_state_manager.RPCManager;
|
|
58
|
-
|
|
59
|
+
pipelineManager: _noya_app_state_manager.PipelineManager;
|
|
59
60
|
secretManager: _noya_app_state_manager.SecretManager;
|
|
60
61
|
menuItemsManager: _noya_app_state_manager.MenuManager<MenuT>;
|
|
61
62
|
createAsset: (options: _noya_app_state_manager.CreateAssetOptions | Uint8Array | File | Blob) => Promise<_noya_app_state_manager.Asset>;
|
|
@@ -135,8 +136,122 @@ declare function useAIManager(): _noya_app_state_manager.AIManager;
|
|
|
135
136
|
declare function useSecretManager(): _noya_app_state_manager.SecretManager;
|
|
136
137
|
declare function useSecrets(): _noya_app_state_manager.Secret[];
|
|
137
138
|
declare function useSecret(name: string): _noya_app_state_manager.Secret | undefined;
|
|
139
|
+
declare function useInputs(): ({
|
|
140
|
+
required: boolean;
|
|
141
|
+
kind: "file";
|
|
142
|
+
toolId: string | null;
|
|
143
|
+
id: string;
|
|
144
|
+
name: string;
|
|
145
|
+
description: string | null;
|
|
146
|
+
} | {
|
|
147
|
+
required: boolean;
|
|
148
|
+
kind: "data";
|
|
149
|
+
id: string;
|
|
150
|
+
name: string;
|
|
151
|
+
description: string | null;
|
|
152
|
+
schema: {
|
|
153
|
+
default?: string | undefined;
|
|
154
|
+
type: "string";
|
|
155
|
+
_kind: "String";
|
|
156
|
+
} | {
|
|
157
|
+
default?: number | undefined;
|
|
158
|
+
minimum?: number | undefined;
|
|
159
|
+
maximum?: number | undefined;
|
|
160
|
+
type: "number";
|
|
161
|
+
_kind: "Number";
|
|
162
|
+
} | {
|
|
163
|
+
default?: boolean | undefined;
|
|
164
|
+
type: "boolean";
|
|
165
|
+
_kind: "Boolean";
|
|
166
|
+
} | {
|
|
167
|
+
type: "null";
|
|
168
|
+
_kind: "Null";
|
|
169
|
+
} | {
|
|
170
|
+
type: "array";
|
|
171
|
+
_kind: "Array";
|
|
172
|
+
items: {
|
|
173
|
+
default?: string | undefined;
|
|
174
|
+
type: "string";
|
|
175
|
+
_kind: "String";
|
|
176
|
+
} | {
|
|
177
|
+
default?: number | undefined;
|
|
178
|
+
minimum?: number | undefined;
|
|
179
|
+
maximum?: number | undefined;
|
|
180
|
+
type: "number";
|
|
181
|
+
_kind: "Number";
|
|
182
|
+
} | {
|
|
183
|
+
default?: boolean | undefined;
|
|
184
|
+
type: "boolean";
|
|
185
|
+
_kind: "Boolean";
|
|
186
|
+
} | {
|
|
187
|
+
type: "null";
|
|
188
|
+
_kind: "Null";
|
|
189
|
+
} | any | {
|
|
190
|
+
required?: string[] | undefined;
|
|
191
|
+
type: "object";
|
|
192
|
+
properties: {
|
|
193
|
+
[x: string]: {
|
|
194
|
+
default?: string | undefined;
|
|
195
|
+
type: "string";
|
|
196
|
+
_kind: "String";
|
|
197
|
+
} | {
|
|
198
|
+
default?: number | undefined;
|
|
199
|
+
minimum?: number | undefined;
|
|
200
|
+
maximum?: number | undefined;
|
|
201
|
+
type: "number";
|
|
202
|
+
_kind: "Number";
|
|
203
|
+
} | {
|
|
204
|
+
default?: boolean | undefined;
|
|
205
|
+
type: "boolean";
|
|
206
|
+
_kind: "Boolean";
|
|
207
|
+
} | {
|
|
208
|
+
type: "null";
|
|
209
|
+
_kind: "Null";
|
|
210
|
+
} | any | any;
|
|
211
|
+
};
|
|
212
|
+
_kind: "Object";
|
|
213
|
+
};
|
|
214
|
+
} | {
|
|
215
|
+
required?: string[] | undefined;
|
|
216
|
+
type: "object";
|
|
217
|
+
properties: {
|
|
218
|
+
[x: string]: {
|
|
219
|
+
default?: string | undefined;
|
|
220
|
+
type: "string";
|
|
221
|
+
_kind: "String";
|
|
222
|
+
} | {
|
|
223
|
+
default?: number | undefined;
|
|
224
|
+
minimum?: number | undefined;
|
|
225
|
+
maximum?: number | undefined;
|
|
226
|
+
type: "number";
|
|
227
|
+
_kind: "Number";
|
|
228
|
+
} | {
|
|
229
|
+
default?: boolean | undefined;
|
|
230
|
+
type: "boolean";
|
|
231
|
+
_kind: "Boolean";
|
|
232
|
+
} | {
|
|
233
|
+
type: "null";
|
|
234
|
+
_kind: "Null";
|
|
235
|
+
} | any | any;
|
|
236
|
+
};
|
|
237
|
+
_kind: "Object";
|
|
238
|
+
} | null;
|
|
239
|
+
})[];
|
|
240
|
+
declare function useOutputTransforms(): ({
|
|
241
|
+
value: string;
|
|
242
|
+
kind: "script";
|
|
243
|
+
id: string;
|
|
244
|
+
location: "state" | "url";
|
|
245
|
+
order: number;
|
|
246
|
+
} | {
|
|
247
|
+
value: string;
|
|
248
|
+
kind: "jsonPointer";
|
|
249
|
+
id: string;
|
|
250
|
+
order: number;
|
|
251
|
+
})[];
|
|
252
|
+
declare function useIOManager(): _noya_app_state_manager.IOManager;
|
|
138
253
|
declare function useIsInitialized(): boolean;
|
|
139
|
-
declare function
|
|
254
|
+
declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
|
|
140
255
|
declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
|
|
141
256
|
declare function useConnectedUsersManager(): ConnectedUsersManager | undefined;
|
|
142
257
|
declare const AnyEphemeralUserDataManagerContext: React.Context<EphemeralUserDataManager<object> | undefined>;
|
|
@@ -146,9 +261,11 @@ declare const FallbackUntilInitialized: ({ children, fallback, }: {
|
|
|
146
261
|
children: React.ReactNode;
|
|
147
262
|
fallback?: React.ReactNode;
|
|
148
263
|
}) => React.ReactNode;
|
|
149
|
-
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, }: {
|
|
264
|
+
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, outputTransforms, inputs, }: {
|
|
150
265
|
schema: Schema;
|
|
151
266
|
mergeHistoryEntries?: StateManagerOptions<Static<Schema>, M>["mergeHistoryEntries"];
|
|
267
|
+
outputTransforms?: CreateParams<OutputTransform>[];
|
|
268
|
+
inputs?: CreateParams<Input>[];
|
|
152
269
|
}): {
|
|
153
270
|
Context: React.Context<NoyaManager<Static<Schema>, M, E, string> | undefined>;
|
|
154
271
|
Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT>) => React.JSX.Element;
|
|
@@ -210,9 +327,7 @@ declare class WebSocketConnection<State> {
|
|
|
210
327
|
private url;
|
|
211
328
|
private options;
|
|
212
329
|
private ws;
|
|
213
|
-
private
|
|
214
|
-
private pendingPingId?;
|
|
215
|
-
private intervalId?;
|
|
330
|
+
private closedForever;
|
|
216
331
|
constructor(url: URL, options?: ConnectionOptions<State>);
|
|
217
332
|
connect(): Promise<void>;
|
|
218
333
|
private handleOpen;
|
|
@@ -224,4 +339,4 @@ declare class WebSocketConnection<State> {
|
|
|
224
339
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
225
340
|
}
|
|
226
341
|
|
|
227
|
-
export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType
|
|
342
|
+
export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
2
|
+
import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction } from 'react';
|
|
5
5
|
import { GetAtPath, ObservableOptions, PathKey, Observable } from '@noya-app/observable';
|
|
6
6
|
import { MenuItem } from '@noya-app/noya-designsystem';
|
|
7
|
+
import { OutputTransform, Input } from '@noya-app/noya-schemas';
|
|
7
8
|
|
|
8
9
|
type Point = {
|
|
9
10
|
x: number;
|
|
@@ -55,7 +56,7 @@ declare function useMultiplayerState<S, M extends object = object, E extends obj
|
|
|
55
56
|
assetManager: _noya_app_state_manager.AssetManager;
|
|
56
57
|
aiManager: _noya_app_state_manager.AIManager;
|
|
57
58
|
rpcManager: _noya_app_state_manager.RPCManager;
|
|
58
|
-
|
|
59
|
+
pipelineManager: _noya_app_state_manager.PipelineManager;
|
|
59
60
|
secretManager: _noya_app_state_manager.SecretManager;
|
|
60
61
|
menuItemsManager: _noya_app_state_manager.MenuManager<MenuT>;
|
|
61
62
|
createAsset: (options: _noya_app_state_manager.CreateAssetOptions | Uint8Array | File | Blob) => Promise<_noya_app_state_manager.Asset>;
|
|
@@ -135,8 +136,122 @@ declare function useAIManager(): _noya_app_state_manager.AIManager;
|
|
|
135
136
|
declare function useSecretManager(): _noya_app_state_manager.SecretManager;
|
|
136
137
|
declare function useSecrets(): _noya_app_state_manager.Secret[];
|
|
137
138
|
declare function useSecret(name: string): _noya_app_state_manager.Secret | undefined;
|
|
139
|
+
declare function useInputs(): ({
|
|
140
|
+
required: boolean;
|
|
141
|
+
kind: "file";
|
|
142
|
+
toolId: string | null;
|
|
143
|
+
id: string;
|
|
144
|
+
name: string;
|
|
145
|
+
description: string | null;
|
|
146
|
+
} | {
|
|
147
|
+
required: boolean;
|
|
148
|
+
kind: "data";
|
|
149
|
+
id: string;
|
|
150
|
+
name: string;
|
|
151
|
+
description: string | null;
|
|
152
|
+
schema: {
|
|
153
|
+
default?: string | undefined;
|
|
154
|
+
type: "string";
|
|
155
|
+
_kind: "String";
|
|
156
|
+
} | {
|
|
157
|
+
default?: number | undefined;
|
|
158
|
+
minimum?: number | undefined;
|
|
159
|
+
maximum?: number | undefined;
|
|
160
|
+
type: "number";
|
|
161
|
+
_kind: "Number";
|
|
162
|
+
} | {
|
|
163
|
+
default?: boolean | undefined;
|
|
164
|
+
type: "boolean";
|
|
165
|
+
_kind: "Boolean";
|
|
166
|
+
} | {
|
|
167
|
+
type: "null";
|
|
168
|
+
_kind: "Null";
|
|
169
|
+
} | {
|
|
170
|
+
type: "array";
|
|
171
|
+
_kind: "Array";
|
|
172
|
+
items: {
|
|
173
|
+
default?: string | undefined;
|
|
174
|
+
type: "string";
|
|
175
|
+
_kind: "String";
|
|
176
|
+
} | {
|
|
177
|
+
default?: number | undefined;
|
|
178
|
+
minimum?: number | undefined;
|
|
179
|
+
maximum?: number | undefined;
|
|
180
|
+
type: "number";
|
|
181
|
+
_kind: "Number";
|
|
182
|
+
} | {
|
|
183
|
+
default?: boolean | undefined;
|
|
184
|
+
type: "boolean";
|
|
185
|
+
_kind: "Boolean";
|
|
186
|
+
} | {
|
|
187
|
+
type: "null";
|
|
188
|
+
_kind: "Null";
|
|
189
|
+
} | any | {
|
|
190
|
+
required?: string[] | undefined;
|
|
191
|
+
type: "object";
|
|
192
|
+
properties: {
|
|
193
|
+
[x: string]: {
|
|
194
|
+
default?: string | undefined;
|
|
195
|
+
type: "string";
|
|
196
|
+
_kind: "String";
|
|
197
|
+
} | {
|
|
198
|
+
default?: number | undefined;
|
|
199
|
+
minimum?: number | undefined;
|
|
200
|
+
maximum?: number | undefined;
|
|
201
|
+
type: "number";
|
|
202
|
+
_kind: "Number";
|
|
203
|
+
} | {
|
|
204
|
+
default?: boolean | undefined;
|
|
205
|
+
type: "boolean";
|
|
206
|
+
_kind: "Boolean";
|
|
207
|
+
} | {
|
|
208
|
+
type: "null";
|
|
209
|
+
_kind: "Null";
|
|
210
|
+
} | any | any;
|
|
211
|
+
};
|
|
212
|
+
_kind: "Object";
|
|
213
|
+
};
|
|
214
|
+
} | {
|
|
215
|
+
required?: string[] | undefined;
|
|
216
|
+
type: "object";
|
|
217
|
+
properties: {
|
|
218
|
+
[x: string]: {
|
|
219
|
+
default?: string | undefined;
|
|
220
|
+
type: "string";
|
|
221
|
+
_kind: "String";
|
|
222
|
+
} | {
|
|
223
|
+
default?: number | undefined;
|
|
224
|
+
minimum?: number | undefined;
|
|
225
|
+
maximum?: number | undefined;
|
|
226
|
+
type: "number";
|
|
227
|
+
_kind: "Number";
|
|
228
|
+
} | {
|
|
229
|
+
default?: boolean | undefined;
|
|
230
|
+
type: "boolean";
|
|
231
|
+
_kind: "Boolean";
|
|
232
|
+
} | {
|
|
233
|
+
type: "null";
|
|
234
|
+
_kind: "Null";
|
|
235
|
+
} | any | any;
|
|
236
|
+
};
|
|
237
|
+
_kind: "Object";
|
|
238
|
+
} | null;
|
|
239
|
+
})[];
|
|
240
|
+
declare function useOutputTransforms(): ({
|
|
241
|
+
value: string;
|
|
242
|
+
kind: "script";
|
|
243
|
+
id: string;
|
|
244
|
+
location: "state" | "url";
|
|
245
|
+
order: number;
|
|
246
|
+
} | {
|
|
247
|
+
value: string;
|
|
248
|
+
kind: "jsonPointer";
|
|
249
|
+
id: string;
|
|
250
|
+
order: number;
|
|
251
|
+
})[];
|
|
252
|
+
declare function useIOManager(): _noya_app_state_manager.IOManager;
|
|
138
253
|
declare function useIsInitialized(): boolean;
|
|
139
|
-
declare function
|
|
254
|
+
declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
|
|
140
255
|
declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
|
|
141
256
|
declare function useConnectedUsersManager(): ConnectedUsersManager | undefined;
|
|
142
257
|
declare const AnyEphemeralUserDataManagerContext: React.Context<EphemeralUserDataManager<object> | undefined>;
|
|
@@ -146,9 +261,11 @@ declare const FallbackUntilInitialized: ({ children, fallback, }: {
|
|
|
146
261
|
children: React.ReactNode;
|
|
147
262
|
fallback?: React.ReactNode;
|
|
148
263
|
}) => React.ReactNode;
|
|
149
|
-
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, }: {
|
|
264
|
+
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, outputTransforms, inputs, }: {
|
|
150
265
|
schema: Schema;
|
|
151
266
|
mergeHistoryEntries?: StateManagerOptions<Static<Schema>, M>["mergeHistoryEntries"];
|
|
267
|
+
outputTransforms?: CreateParams<OutputTransform>[];
|
|
268
|
+
inputs?: CreateParams<Input>[];
|
|
152
269
|
}): {
|
|
153
270
|
Context: React.Context<NoyaManager<Static<Schema>, M, E, string> | undefined>;
|
|
154
271
|
Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT>) => React.JSX.Element;
|
|
@@ -210,9 +327,7 @@ declare class WebSocketConnection<State> {
|
|
|
210
327
|
private url;
|
|
211
328
|
private options;
|
|
212
329
|
private ws;
|
|
213
|
-
private
|
|
214
|
-
private pendingPingId?;
|
|
215
|
-
private intervalId?;
|
|
330
|
+
private closedForever;
|
|
216
331
|
constructor(url: URL, options?: ConnectionOptions<State>);
|
|
217
332
|
connect(): Promise<void>;
|
|
218
333
|
private handleOpen;
|
|
@@ -224,4 +339,4 @@ declare class WebSocketConnection<State> {
|
|
|
224
339
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
225
340
|
}
|
|
226
341
|
|
|
227
|
-
export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType
|
|
342
|
+
export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType };
|