@skenora/sdk 0.1.2

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 (58) hide show
  1. package/README.md +167 -0
  2. package/dist/editor.d.ts +14 -0
  3. package/dist/editor.d.ts.map +1 -0
  4. package/dist/editor.js +14 -0
  5. package/dist/editor.js.map +1 -0
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +3 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/lightbox.d.ts +3 -0
  11. package/dist/lightbox.d.ts.map +1 -0
  12. package/dist/lightbox.js +2 -0
  13. package/dist/lightbox.js.map +1 -0
  14. package/dist/playback-config.d.ts +27 -0
  15. package/dist/playback-config.d.ts.map +1 -0
  16. package/dist/playback-config.js +87 -0
  17. package/dist/playback-config.js.map +1 -0
  18. package/dist/renderer-diagnostics.d.ts +4 -0
  19. package/dist/renderer-diagnostics.d.ts.map +1 -0
  20. package/dist/renderer-diagnostics.js +85 -0
  21. package/dist/renderer-diagnostics.js.map +1 -0
  22. package/dist/renderer.d.ts +10 -0
  23. package/dist/renderer.d.ts.map +1 -0
  24. package/dist/renderer.js +8 -0
  25. package/dist/renderer.js.map +1 -0
  26. package/dist/scene-config.d.ts +58 -0
  27. package/dist/scene-config.d.ts.map +1 -0
  28. package/dist/scene-config.js +223 -0
  29. package/dist/scene-config.js.map +1 -0
  30. package/dist/scene-plan/apply-patch.d.ts +5 -0
  31. package/dist/scene-plan/apply-patch.d.ts.map +1 -0
  32. package/dist/scene-plan/apply-patch.js +174 -0
  33. package/dist/scene-plan/apply-patch.js.map +1 -0
  34. package/dist/scene-plan/executor.d.ts +26 -0
  35. package/dist/scene-plan/executor.d.ts.map +1 -0
  36. package/dist/scene-plan/executor.js +928 -0
  37. package/dist/scene-plan/executor.js.map +1 -0
  38. package/dist/scene-plan/gateway.d.ts +15 -0
  39. package/dist/scene-plan/gateway.d.ts.map +1 -0
  40. package/dist/scene-plan/gateway.js +104 -0
  41. package/dist/scene-plan/gateway.js.map +1 -0
  42. package/dist/scene-plan/index.d.ts +4 -0
  43. package/dist/scene-plan/index.d.ts.map +1 -0
  44. package/dist/scene-plan/index.js +4 -0
  45. package/dist/scene-plan/index.js.map +1 -0
  46. package/dist/scene-plan/types.d.ts +181 -0
  47. package/dist/scene-plan/types.d.ts.map +1 -0
  48. package/dist/scene-plan/types.js +2 -0
  49. package/dist/scene-plan/types.js.map +1 -0
  50. package/dist/skenora-renderer.d.ts +117 -0
  51. package/dist/skenora-renderer.d.ts.map +1 -0
  52. package/dist/skenora-renderer.js +464 -0
  53. package/dist/skenora-renderer.js.map +1 -0
  54. package/dist/skenora-scene.d.ts +263 -0
  55. package/dist/skenora-scene.d.ts.map +1 -0
  56. package/dist/skenora-scene.js +832 -0
  57. package/dist/skenora-scene.js.map +1 -0
  58. package/package.json +55 -0
@@ -0,0 +1,263 @@
1
+ import { type AssetReference, type Color3Value, type EntityRecord, type EnvironmentConfig, type FogConfig, type GroundConfig, type LightConfig, type MaterialOverride, type ModelAlignmentConfig, type PostProcessConfig, type ResourceLocator, type SceneDocumentData, type SkyboxConfig, type TransformValue, type Vector3Value, type ViewportCameraConfig, type WeatherConfig, type RuntimeBackendSnapshot, type RuntimeProbeReport, type GpuProgramCacheSnapshot } from "@skenora/contracts";
2
+ import type { DocumentChange } from "@skenora/document";
3
+ import { type EditorCommand, type EditorSessionOptions, type PrimitiveOptions, type ProceduralEntityOptions } from "@skenora/editor";
4
+ import { EditorSession } from "@skenora/editor";
5
+ import { EventHub, type EventEnvelope } from "@skenora/events";
6
+ import { type ResourceDescriptor, type ResourcePreflightResult, type ResourceProvider, type ResourceResolver, type ResourceSearchPage, type ResourceSearchQuery } from "@skenora/resources";
7
+ import { EditorFlowBridge, type EditorFlowBridgeOptions, type EditorRuntimeBridgeOptions } from "@skenora/babylon-editor";
8
+ import { RuntimeSession, type RuntimeSessionOptions } from "@skenora/runtime/projection";
9
+ import type { RuntimeSelectionController } from "@skenora/runtime/editor";
10
+ import { WorkspaceSession, type ImportModelBundleResult, type SaveDocumentOptions, type WorkspaceEntry, type WorkspaceImportInput, type WorkspaceSource } from "@skenora/workspace";
11
+ import { type SceneConfigMap, type SceneConfigSection, type SceneJsonBundle, type SceneJsonOptions } from "./scene-config.js";
12
+ import { type SkenoraPlaybackConfig } from "./playback-config.js";
13
+ import type { ScenePlanGatewayContract } from "./scene-plan/types.js";
14
+ export type SkenoraSceneStatus = "idle" | "initializing" | "ready" | "error" | "disposed";
15
+ export interface SkenoraSceneEventMap {
16
+ "status.changed": {
17
+ status: SkenoraSceneStatus;
18
+ error: unknown | null;
19
+ };
20
+ "document.changed": {
21
+ change: DocumentChange;
22
+ document: Readonly<SceneDocumentData>;
23
+ };
24
+ "selection.changed": {
25
+ entityIds: readonly string[];
26
+ };
27
+ "dirty.changed": {
28
+ dirty: boolean;
29
+ };
30
+ "runtime.loading": {
31
+ loading: boolean;
32
+ };
33
+ "model.loading.progress": {
34
+ loaded: number;
35
+ completed: number;
36
+ total: number;
37
+ entityId: string;
38
+ status: "loaded" | "failed";
39
+ };
40
+ "model.loaded": {
41
+ entityId: string;
42
+ };
43
+ "model.failed": {
44
+ entityId: string;
45
+ error: unknown;
46
+ };
47
+ "flow.changed": {
48
+ running: boolean;
49
+ };
50
+ "preview.changed": {
51
+ running: boolean;
52
+ };
53
+ error: {
54
+ error: unknown;
55
+ operation: string;
56
+ };
57
+ }
58
+ export interface SkenoraModelLoadFailure {
59
+ entityId: string;
60
+ error: unknown;
61
+ }
62
+ export interface SkenoraSceneOptions {
63
+ canvas: HTMLCanvasElement;
64
+ source?: WorkspaceSource;
65
+ /**
66
+ * Optional host-owned resolver. When omitted, the SDK creates a local-only
67
+ * ResourceManager backed by source.
68
+ */
69
+ resources?: ResourceResolver;
70
+ /** Additional providers installed beside the default workspace provider. */
71
+ resourceProviders?: readonly ResourceProvider[];
72
+ document?: SceneDocumentData;
73
+ documentPath?: string;
74
+ id?: string;
75
+ name?: string;
76
+ runtime?: Omit<RuntimeSessionOptions, "executionMode">;
77
+ editor?: EditorSessionOptions;
78
+ bridge?: EditorRuntimeBridgeOptions;
79
+ flow?: false | Omit<EditorFlowBridgeOptions, "startOnFlowChange">;
80
+ events?: EventHub<SkenoraSceneEventMap>;
81
+ }
82
+ export type EnvironmentUpdate = Partial<Omit<EnvironmentConfig, "background">> & {
83
+ background?: Partial<EnvironmentConfig["background"]>;
84
+ };
85
+ export interface SkyUpdate extends Partial<Omit<EnvironmentConfig["background"], "assetId" | "skybox">> {
86
+ backgroundAssetId?: string | null;
87
+ environmentAssetId?: string | null;
88
+ skybox?: SkyboxConfig | null;
89
+ intensity?: number;
90
+ rotationY?: number;
91
+ }
92
+ export type ViewportCameraUpdate = Partial<Omit<ViewportCameraConfig, "position" | "target">> & {
93
+ position?: Partial<Vector3Value>;
94
+ target?: Partial<Vector3Value>;
95
+ };
96
+ export type FogUpdate = Partial<Omit<FogConfig, "color">> & {
97
+ color?: Partial<Color3Value>;
98
+ };
99
+ export type WeatherUpdate = Partial<Omit<WeatherConfig, "wind">> & {
100
+ wind?: Partial<WeatherConfig["wind"]>;
101
+ };
102
+ export type PostProcessUpdate = Partial<Omit<PostProcessConfig, "colorCurves" | "ssao">> & {
103
+ colorCurves?: Partial<PostProcessConfig["colorCurves"]>;
104
+ ssao?: Partial<PostProcessConfig["ssao"]>;
105
+ };
106
+ export interface AddModelInput {
107
+ id: string;
108
+ asset: string | AssetReference;
109
+ name?: string;
110
+ parentId?: string | null;
111
+ transform?: TransformValue;
112
+ alignment?: ModelAlignmentConfig;
113
+ enabled?: boolean;
114
+ visible?: boolean;
115
+ }
116
+ export interface ImportModelInput {
117
+ file: File;
118
+ dependencies?: Iterable<WorkspaceImportInput>;
119
+ relativePath?: string;
120
+ assetId?: string;
121
+ entityId?: string;
122
+ name?: string;
123
+ targetDirectory?: string;
124
+ conflict?: "error" | "replace";
125
+ transform?: TransformValue;
126
+ alignment?: ModelAlignmentConfig;
127
+ }
128
+ export interface ImportModelResult extends ImportModelBundleResult {
129
+ asset: AssetReference;
130
+ entity: Readonly<EntityRecord>;
131
+ }
132
+ export interface UpdateEntityInput {
133
+ name?: string;
134
+ parentId?: string | null;
135
+ transform?: TransformValue;
136
+ alignment?: ModelAlignmentConfig;
137
+ enabled?: boolean;
138
+ visible?: boolean;
139
+ }
140
+ export interface SceneMetadataUpdate {
141
+ id?: string;
142
+ name?: string;
143
+ }
144
+ export interface RemoveModelOptions {
145
+ removeAsset?: boolean;
146
+ }
147
+ export interface SceneJsonExportOptions extends SceneJsonOptions {
148
+ mode?: "single" | "split";
149
+ }
150
+ /**
151
+ * High-level, instance-scoped scene SDK.
152
+ *
153
+ * Persistent writes are translated to EditorCommand objects. Runtime state is
154
+ * always a disposable projection of the current SceneDocument snapshot.
155
+ */
156
+ export declare class SkenoraScene {
157
+ #private;
158
+ readonly events: EventHub<SkenoraSceneEventMap>;
159
+ constructor(options: SkenoraSceneOptions);
160
+ static create(options: SkenoraSceneOptions): Promise<SkenoraScene>;
161
+ get status(): SkenoraSceneStatus;
162
+ get error(): unknown | null;
163
+ get ready(): boolean;
164
+ get modelFailures(): readonly SkenoraModelLoadFailure[];
165
+ get workspace(): WorkspaceSession;
166
+ get editor(): EditorSession;
167
+ get resources(): ResourceResolver;
168
+ get runtime(): RuntimeSession;
169
+ getBackendSnapshot(): RuntimeBackendSnapshot;
170
+ getGpuProgramCacheSnapshot(): GpuProgramCacheSnapshot;
171
+ probe(): Promise<RuntimeProbeReport>;
172
+ get flow(): EditorFlowBridge | null;
173
+ /** Declarative SceneBlueprint/ScenePatch gateway for AI and host callers. */
174
+ get scenePlan(): ScenePlanGatewayContract;
175
+ get selectionController(): RuntimeSelectionController | null;
176
+ get document(): Readonly<SceneDocumentData>;
177
+ get revision(): number;
178
+ get dirty(): boolean;
179
+ /** Whether manually requested scene behavior preview is active. */
180
+ get previewing(): boolean;
181
+ get selection(): readonly string[];
182
+ get canUndo(): boolean;
183
+ get canRedo(): boolean;
184
+ init(): Promise<this>;
185
+ on<TKey extends keyof SkenoraSceneEventMap & string>(type: TKey, handler: (payload: SkenoraSceneEventMap[TKey], event: EventEnvelope<string, SkenoraSceneEventMap[TKey]>) => void, signal?: AbortSignal): () => void;
186
+ getConfig(): SceneDocumentData;
187
+ getConfig<TSection extends SceneConfigSection>(section: TSection): SceneConfigMap[TSection];
188
+ getJson(options?: SceneJsonOptions): string;
189
+ getJson<TSection extends SceneConfigSection>(section: TSection, options?: SceneJsonOptions): string;
190
+ exportJson(options?: SceneJsonExportOptions & {
191
+ mode?: "single";
192
+ }): string;
193
+ exportJson(options: SceneJsonExportOptions & {
194
+ mode: "split";
195
+ }): SceneJsonBundle;
196
+ loadConfig(document: SceneDocumentData): Promise<DocumentChange | null>;
197
+ loadJson(input: string | SceneJsonBundle): Promise<DocumentChange | null>;
198
+ applyConfig<TSection extends SceneConfigSection>(section: TSection, config: SceneConfigMap[TSection]): Promise<DocumentChange | null>;
199
+ applyJson<TSection extends SceneConfigSection>(section: TSection, json: string): Promise<DocumentChange | null>;
200
+ setEnvironment(update: EnvironmentUpdate): Promise<DocumentChange | null>;
201
+ setScene(update: SceneMetadataUpdate): Promise<DocumentChange | null>;
202
+ setSky(update: SkyUpdate): Promise<DocumentChange | null>;
203
+ setViewportCamera(update: ViewportCameraUpdate): Promise<DocumentChange | null>;
204
+ setGround(update: Partial<GroundConfig>): Promise<DocumentChange | null>;
205
+ setFog(update: FogUpdate): Promise<DocumentChange | null>;
206
+ setWeather(update: WeatherUpdate): Promise<DocumentChange | null>;
207
+ setPostProcess(update: PostProcessUpdate): Promise<DocumentChange | null>;
208
+ setLights(lights: readonly LightConfig[]): Promise<DocumentChange | null>;
209
+ upsertLight(light: LightConfig): Promise<DocumentChange | null>;
210
+ removeLight(lightId: string): Promise<DocumentChange | null>;
211
+ upsertAsset(asset: AssetReference): Promise<DocumentChange | null>;
212
+ searchResources(query?: ResourceSearchQuery): Promise<ResourceSearchPage>;
213
+ describeResource(locator: ResourceLocator): Promise<ResourceDescriptor>;
214
+ attachResource(descriptor: Readonly<ResourceDescriptor>, assetId: string): Promise<Readonly<AssetReference>>;
215
+ preflightResources(assetIds?: readonly string[]): Promise<ResourcePreflightResult>;
216
+ removeAsset(assetId: string): Promise<DocumentChange | null>;
217
+ upsertMaterial(material: MaterialOverride): Promise<DocumentChange | null>;
218
+ addModel(input: AddModelInput): Promise<Readonly<EntityRecord>>;
219
+ importModel(input: ImportModelInput): Promise<ImportModelResult>;
220
+ updateEntity(entityId: string, update: UpdateEntityInput): Promise<Readonly<EntityRecord>>;
221
+ setModelTransform(entityId: string, transform: TransformValue): Promise<DocumentChange | null>;
222
+ setModelAlignment(entityId: string, alignment: ModelAlignmentConfig): Promise<DocumentChange | null>;
223
+ setModelVisible(entityId: string, visible: boolean): Promise<DocumentChange | null>;
224
+ setModelMaterial(entityId: string, material: MaterialOverride): Promise<DocumentChange | null>;
225
+ removeModel(entityId: string, options?: RemoveModelOptions): Promise<DocumentChange | null>;
226
+ addPrimitive(options: PrimitiveOptions): Promise<Readonly<EntityRecord>>;
227
+ addProcedural(options: ProceduralEntityOptions): Promise<Readonly<EntityRecord>>;
228
+ addEntity(entity: EntityRecord): Promise<Readonly<EntityRecord>>;
229
+ removeEntity(entityId: string): Promise<DocumentChange | null>;
230
+ getEntity(entityId: string): Readonly<EntityRecord> | null;
231
+ getEntities(): readonly Readonly<EntityRecord>[];
232
+ select(entityIds: readonly string[]): void;
233
+ execute(command: EditorCommand): Promise<DocumentChange | null>;
234
+ executeMany(label: string, commands: readonly EditorCommand[]): Promise<DocumentChange | null>;
235
+ undo(): Promise<DocumentChange | null>;
236
+ redo(): Promise<DocumentChange | null>;
237
+ save(path?: string, options?: SaveDocumentOptions): Promise<void>;
238
+ checkpoint(sourcePath?: string | null): Promise<string>;
239
+ listCheckpoints(documentId?: string): Promise<readonly WorkspaceEntry[]>;
240
+ restoreCheckpoint(checkpointPath: string, documentPath?: string): Promise<void>;
241
+ frame(entityIds?: readonly string[]): void;
242
+ showGrid(visible: boolean): Promise<void>;
243
+ getPlaybackConfig(): SkenoraPlaybackConfig;
244
+ setPlaybackConfig(config: SkenoraPlaybackConfig): Promise<DocumentChange | null>;
245
+ startFlows(payload?: unknown): Promise<void>;
246
+ stopFlows(): number;
247
+ /**
248
+ * Manually starts document behaviors and Flow while keeping authoring APIs
249
+ * available. Editor initialization itself never starts preview.
250
+ */
251
+ startPreview(payload?: unknown): Promise<void>;
252
+ /** Stops manual preview without unloading the editable scene. */
253
+ stopPreview(): number;
254
+ dispose(): void;
255
+ }
256
+ /** Preferred name for the authoring-only high-level facade. */
257
+ export declare class SkenoraEditor extends SkenoraScene {
258
+ static create(options: SkenoraSceneOptions): Promise<SkenoraEditor>;
259
+ }
260
+ export type SkenoraEditorOptions = SkenoraSceneOptions;
261
+ export type SkenoraEditorStatus = SkenoraSceneStatus;
262
+ export type SkenoraEditorEventMap = SkenoraSceneEventMap;
263
+ //# sourceMappingURL=skenora-scene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skenora-scene.d.ts","sourceRoot":"","sources":["../src/skenora-scene.ts"],"names":[],"mappings":"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"}