@fps-games/editor 0.1.4-beta.3 → 0.1.4-beta.4

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 (41) hide show
  1. package/dist/local-editor-harness.d.ts +46 -6
  2. package/dist/local-editor-harness.d.ts.map +1 -1
  3. package/dist/local-editor-harness.js +253 -21
  4. package/dist/local-editor-harness.js.map +1 -1
  5. package/dist/playable-local-editor-host.d.ts +13 -1
  6. package/dist/playable-local-editor-host.d.ts.map +1 -1
  7. package/dist/playable-local-editor-host.js.map +1 -1
  8. package/dist/playable-sdk.d.ts +1 -1
  9. package/dist/playable-sdk.d.ts.map +1 -1
  10. package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
  11. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +25 -2
  12. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  13. package/node_modules/@fps-games/editor-babylon/dist/projection.js +89 -9
  14. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  15. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  16. package/node_modules/@fps-games/editor-browser/package.json +3 -3
  17. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +14 -0
  18. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  19. package/node_modules/@fps-games/editor-core/dist/editor-session.js +54 -0
  20. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  21. package/node_modules/@fps-games/editor-core/package.json +2 -2
  22. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  23. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
  24. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
  25. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +33 -0
  26. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  27. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +8 -1
  28. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  29. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +85 -0
  30. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  31. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
  32. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  33. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +1 -1
  34. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  35. package/node_modules/@fps-games/editor-playable-sdk/package.json +3 -3
  36. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +2 -0
  37. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  38. package/node_modules/@fps-games/editor-protocol/dist/index.js +2 -0
  39. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  40. package/node_modules/@fps-games/editor-protocol/package.json +1 -1
  41. package/package.json +8 -8
@@ -1,8 +1,8 @@
1
- import { type AuthoringCommandResult, type AuthoringSourceDescriptor, type DocumentCommand, type EditorPlacementHit, type EditorTransformBatchCommit, type EditorTransformCanonicalConstraint, type EditorTransformDocumentCapabilities, type EditorTransformSnapshot, type EditorTransformSpace, type EditorTransformTool, type EditorViewportGroundMeasurement, type EditorViewportToolState, type SceneGraphCreateGroupIntent, type SceneGraphCreatePrimitiveIntent, type SceneGraphDeleteIntent, type SceneGraphDropIntent, type SceneGraphGroupSelectionIntent, type SceneGraphMoveIntent, type SceneGraphRenameIntent, type SceneGraphValidationResult, type SerializedMultiObject, type SerializedObject, type InspectorControlKind, type InspectorCommitMode, type InspectorComponentRegistration, type InspectorEditPayload, type InspectorObject, type InspectorPersistenceMode, type InspectorProperty, type InspectorRegistry, type InspectorRegistryConflictStrategy, type InspectorSection, type InspectorSelectionContext, type EditorHostServices, type ProjectAuthoringHost } from '@fps-games/editor-core';
1
+ import { type AuthoringCommandResult, type AuthoringSourceDescriptor, type DocumentCommand, type EditorPlacementHit, type EditorProjectionImpact, type EditorTransformBatchCommit, type EditorTransformCanonicalConstraint, type EditorTransformDocumentCapabilities, type EditorTransformSnapshot, type EditorTransformSpace, type EditorTransformTool, type EditorViewportGroundMeasurement, type EditorViewportToolState, type SceneGraphCreateGroupIntent, type SceneGraphCreatePrimitiveIntent, type SceneGraphDeleteIntent, type SceneGraphDropIntent, type SceneGraphGroupSelectionIntent, type SceneGraphMoveIntent, type SceneGraphRenameIntent, type SceneGraphValidationResult, type SerializedMultiObject, type SerializedObject, type InspectorControlKind, type InspectorCommitMode, type InspectorComponentRegistration, type InspectorEditPayload, type InspectorObject, type InspectorPersistenceMode, type InspectorProperty, type InspectorRegistry, type InspectorRegistryConflictStrategy, type InspectorSection, type InspectorSelectionContext, type EditorHostServices, type ProjectAuthoringHost } from '@fps-games/editor-core';
2
2
  import type { ArtistMaterialTextureRef } from '@fps-games/editor-protocol';
3
3
  import { type LocalEditorBrowserAssetActionInput, type LocalEditorBrowserUiAssetItem, type LocalEditorBrowserHierarchyContextActionContext, type LocalEditorBrowserHierarchyContextActionRegistration, type LocalEditorBrowserInspectorOptions, type LocalEditorBrowserRenderingPanelState, type LocalEditorBrowserRenderingActionInput, type LocalEditorBrowserRenderingPropertyChangeInput, type LocalEditorBrowserUiHierarchyItem, type LocalEditorBrowserUiState, type LocalEditorThemeController, type LocalEditorThemeName } from '@fps-games/editor-browser';
4
4
  import { type BabylonEnvironmentTextureProfile, type BabylonDefaultPostProcessProfile } from '@fps-games/babylon-renderer';
5
- import { type BabylonSceneViewMeasurementController, type BabylonEditorShadowPreviewOptions, type BabylonEditorProjectionImportContext, type BabylonEditorProjectionImportResult, type BabylonEditorProjectionNode, type BabylonSceneCameraPreviewRig, type BabylonEditorGridController, type BabylonEditorGridColorOptions, type BabylonEditorWorldAppearanceOptions, type BabylonEditorSkyOptions, type BabylonRuntimeGlobal } from '@fps-games/editor-babylon';
5
+ import { type BabylonEditorProjectionBatchStatus, type BabylonSceneViewMeasurementController, type BabylonEditorShadowPreviewOptions, type BabylonEditorProjectionImportContext, type BabylonEditorProjectionImportResult, type BabylonEditorProjectionNode, type BabylonSceneCameraPreviewRig, type BabylonEditorGridController, type BabylonEditorGridColorOptions, type BabylonEditorWorldAppearanceOptions, type BabylonEditorSkyOptions, type BabylonRuntimeGlobal } from '@fps-games/editor-babylon';
6
6
  export type LocalEditorHarnessMode = 'game' | 'editor';
7
7
  type LocalEditorMaybePromise<T> = T | Promise<T>;
8
8
  export interface LocalEditorAuthoringFailureStatus {
@@ -166,16 +166,19 @@ export interface LocalEditorHarnessPatchResult<TPatch> {
166
166
  createdId?: string | null;
167
167
  changedIds?: string[];
168
168
  reprojectIds?: string[];
169
+ projectionImpact?: EditorProjectionImpact;
169
170
  }
170
171
  export interface LocalEditorHarnessSceneGraphRenamePatch<TPatch> {
171
172
  patch: TPatch;
172
173
  label?: string;
173
174
  changedId?: string;
175
+ projectionImpact?: EditorProjectionImpact;
174
176
  }
175
177
  export interface LocalEditorHarnessSceneGraphCreateGroupPatch<TPatch> {
176
178
  patch: TPatch;
177
179
  label?: string;
178
180
  createdId: string;
181
+ projectionImpact?: EditorProjectionImpact;
179
182
  }
180
183
  export interface LocalEditorHarnessSceneGraphCreatePrimitivePatch<TPatch> {
181
184
  patch: TPatch;
@@ -183,28 +186,33 @@ export interface LocalEditorHarnessSceneGraphCreatePrimitivePatch<TPatch> {
183
186
  createdId: string;
184
187
  changedIds?: string[];
185
188
  reprojectIds?: string[];
189
+ projectionImpact?: EditorProjectionImpact;
186
190
  }
187
191
  export interface LocalEditorHarnessSceneGraphDeletePatch<TPatch> {
188
192
  patch: TPatch;
189
193
  label?: string;
190
194
  deletedIds?: string[];
191
195
  fallbackSelectionId?: string | null;
196
+ projectionImpact?: EditorProjectionImpact;
192
197
  }
193
198
  export interface LocalEditorHarnessSceneGraphDropPatch<TPatch> {
194
199
  patch: TPatch;
195
200
  label?: string;
196
201
  changedIds?: string[];
202
+ projectionImpact?: EditorProjectionImpact;
197
203
  }
198
204
  export interface LocalEditorHarnessSceneGraphMovePatch<TPatch> {
199
205
  patch: TPatch;
200
206
  label?: string;
201
207
  changedIds?: string[];
208
+ projectionImpact?: EditorProjectionImpact;
202
209
  }
203
210
  export interface LocalEditorHarnessSceneGraphGroupSelectionPatch<TPatch> {
204
211
  patch: TPatch;
205
212
  label?: string;
206
213
  createdId: string;
207
214
  changedIds?: string[];
215
+ projectionImpact?: EditorProjectionImpact;
208
216
  }
209
217
  export interface LocalEditorHarnessDuplicateSelectionPatch<TPatch> {
210
218
  patch: TPatch;
@@ -213,6 +221,7 @@ export interface LocalEditorHarnessDuplicateSelectionPatch<TPatch> {
213
221
  activeId?: string | null;
214
222
  changedIds?: string[];
215
223
  reprojectIds?: string[];
224
+ projectionImpact?: EditorProjectionImpact;
216
225
  }
217
226
  export interface LocalEditorHarnessPlacedAssetPatch<TPatch> {
218
227
  patch: TPatch;
@@ -220,6 +229,7 @@ export interface LocalEditorHarnessPlacedAssetPatch<TPatch> {
220
229
  createdId?: string | null;
221
230
  changedIds?: string[];
222
231
  reprojectIds?: string[];
232
+ projectionImpact?: EditorProjectionImpact;
223
233
  }
224
234
  export interface LocalEditorHarnessAssetPatchInput<TDocument, TAsset = LocalEditorHarnessAssetItem> {
225
235
  document: TDocument;
@@ -244,6 +254,37 @@ export interface LocalEditorHarnessAssetCreationResult {
244
254
  export interface LocalEditorHarnessAssetCreationOptions {
245
255
  placement?: EditorTransformSnapshot;
246
256
  }
257
+ export type LocalEditorHarnessOperationOrigin = 'user' | 'agent' | 'system';
258
+ export type LocalEditorHarnessProjectionWaitPolicy = 'none' | 'settled';
259
+ export type LocalEditorHarnessHistoryOperation = 'undo' | 'redo';
260
+ export type LocalEditorHarnessProjectionImpact = EditorProjectionImpact;
261
+ export interface LocalEditorHarnessHistoryOperationOptions {
262
+ origin?: LocalEditorHarnessOperationOrigin;
263
+ waitForProjection?: LocalEditorHarnessProjectionWaitPolicy;
264
+ }
265
+ export interface LocalEditorHarnessHistoryProjectionResult {
266
+ waitPolicy: LocalEditorHarnessProjectionWaitPolicy;
267
+ idle: boolean;
268
+ activeBatchIds: number[];
269
+ lastBatch: BabylonEditorProjectionBatchStatus | null;
270
+ }
271
+ export interface LocalEditorHarnessHistoryStateResult {
272
+ canUndo: boolean;
273
+ canRedo: boolean;
274
+ }
275
+ export interface LocalEditorHarnessHistoryOperationResult<TDocument = unknown> {
276
+ ok: boolean;
277
+ operation: LocalEditorHarnessHistoryOperation;
278
+ origin: LocalEditorHarnessOperationOrigin;
279
+ waitForProjection: LocalEditorHarnessProjectionWaitPolicy;
280
+ documentChanged: boolean;
281
+ transactionLabel: string | null;
282
+ workingDocument: TDocument | null;
283
+ dirty: boolean;
284
+ history: LocalEditorHarnessHistoryStateResult;
285
+ status: string;
286
+ projection: LocalEditorHarnessHistoryProjectionResult;
287
+ }
247
288
  export interface LocalEditorHarnessAssetActionPatchInput<TDocument, TAsset = LocalEditorHarnessAssetItem> extends LocalEditorBrowserAssetActionInput {
248
289
  document: TDocument;
249
290
  asset: TAsset | null;
@@ -272,10 +313,7 @@ export interface LocalEditorHarnessDocumentAdapter<TDocument, TPatch, TAsset = L
272
313
  onRenderingPropertyChange?(input: LocalEditorHarnessRenderingPropertyInput<TDocument>): LocalEditorMaybePromise<boolean | void | LocalEditorHarnessRenderingPropertyChangeResult>;
273
314
  isSelectable?(document: TDocument, id: string): boolean;
274
315
  isLocked?(document: TDocument, id: string): boolean;
275
- createPatchFromAsset(asset: TAsset, input?: LocalEditorHarnessAssetPatchInput<TDocument, TAsset>): {
276
- patch: TPatch;
277
- label?: string;
278
- };
316
+ createPatchFromAsset(asset: TAsset, input?: LocalEditorHarnessAssetPatchInput<TDocument, TAsset>): LocalEditorHarnessPatchResult<TPatch>;
279
317
  createAssetActionPatch?(input: LocalEditorHarnessAssetActionPatchInput<TDocument, TAsset>): LocalEditorHarnessPatchResult<TPatch> | null;
280
318
  createPlacedAssetPatch?(input: LocalEditorHarnessPlacedAssetInput<TDocument, TAsset>): LocalEditorHarnessPlacedAssetPatch<TPatch> | null;
281
319
  findCreatedId?(beforeDocument: TDocument, afterDocument: TDocument): string | null;
@@ -392,6 +430,8 @@ export interface LocalEditorHarness<TDocument = unknown> {
392
430
  getWorkingDocument(): TDocument | null;
393
431
  reloadAssets(): Promise<LocalEditorHarnessAssetReloadResult>;
394
432
  createAssetFromAssetId(assetId: string, options?: LocalEditorHarnessAssetCreationOptions): LocalEditorHarnessAssetCreationResult;
433
+ undo(options?: LocalEditorHarnessHistoryOperationOptions): Promise<LocalEditorHarnessHistoryOperationResult<TDocument>>;
434
+ redo(options?: LocalEditorHarnessHistoryOperationOptions): Promise<LocalEditorHarnessHistoryOperationResult<TDocument>>;
395
435
  enterEditor(): Promise<void>;
396
436
  saveScene(): Promise<boolean>;
397
437
  saveAndRunGame(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-harness.d.ts","sourceRoot":"","sources":["../src/local-editor-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-harness.d.ts","sourceRoot":"","sources":["../src/local-editor-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAM9B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAO3B,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EAEvC,KAAK,mCAAmC,EAGxC,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EAExB,KAAK,+BAA+B,EAIpC,KAAK,uBAAuB,EAM5B,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAG/B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iCAAiC,EACtC,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAKvB,KAAK,oBAAoB,EAS1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAGL,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,EAClC,KAAK,+CAA+C,EACpD,KAAK,oDAAoD,EAEzD,KAAK,kCAAkC,EACvC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,8CAA8C,EAEnD,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAE9B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,gCAAgC,EAErC,KAAK,gCAAgC,EACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAaL,KAAK,kCAAkC,EAMvC,KAAK,qCAAqC,EAG1C,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,mCAAmC,EACxC,KAAK,2BAA2B,EAEhC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAQlC,KAAK,mCAAmC,EACxC,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAsBnC,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvD,KAAK,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAIjD,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,0CAA0C;IACzD,aAAa,EAAE,uBAAuB,CAAC;IACvC,mBAAmB,EAAE,+BAA+B,CAAC;IACrD,oBAAoB,EAAE,IAAI,CACxB,qCAAqC,EACrC,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CACjD,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,+BAA+B,CAAC,SAAS,GAAG,OAAO;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,MAAM,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,oCAAoC,CAAC,SAAS,GAAG,OAAO;IACvE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,MAAM,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,8CAA8C,CAAC,SAAS,GAAG,OAAO;IACjF,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,MAAM,WAAW,wCAAwC,CAAC,SAAS,GAAG,OAAO,CAC3E,SAAQ,8CAA8C;IACtD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,sCAAsC,CAAC,SAAS,GAAG,OAAO,CACzE,SAAQ,sCAAsC;IAC9C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,+CAA+C;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,yCAAyC,CAAC,SAAS,GAAG,OAAO;IAC5E,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kCAAkC,CAAC,SAAS,GAAG,OAAO,CACrE,SAAQ,kCAAkC,CAAC,SAAS,CAAC;IACrD,UAAU,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,8BAA8B,CAAC,SAAS,CAAC,EAAE,CAAC;IACjG,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;IACtD,gBAAgB,CAAC,EAAE,iCAAiC,CAAC;CACtD;AAED,MAAM,WAAW,8CAA8C,CAAC,SAAS,GAAG,OAAO;IACjF,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,8BAA8B,CAAC,SAAS,CAAC,EAAE,CAAC;IACjG,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;IACtD,gBAAgB,CAAC,EAAE,iCAAiC,CAAC;CACtD;AAED,MAAM,WAAW,gCAAgC,CAAC,SAAS,GAAG,OAAO;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC7C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,kCAAkC,CAAC;IAC/C,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,MAAM,WAAW,gDAAgD,CAAC,SAAS,GAAG,OAAO;IACnF,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,uBAAuB,CAAC;CACpC;AAED,MAAM,WAAW,qCAAqC,CAAC,SAAS,GAAG,OAAO,CAAE,SAAQ,0BAA0B;IAC5G,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,yCAAyC,CAAC,SAAS,GAAG,OAAO;IAC5E,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,kCAAkC,CAAC,SAAS,GAAG,OAAO,EAAE,MAAM,GAAG,2BAA2B;IAC3G,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,kBAAkB,CAAC;CACzB;AAED,MAAM,WAAW,+CAA+C,CAAC,SAAS,GAAG,OAAO;IAClF,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,iCAAiC,GAAG,IAAI,CAAC;IACxD,cAAc,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACnD,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,+CAA+C,CAAC,SAAS,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,oDAAoD,CAAC,SAAS,GAAG,OAAO;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,oDAAoD,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;IACzF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,CAAC,OAAO,EAAE,+CAA+C,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IACvF,QAAQ,CAAC,CAAC,OAAO,EAAE,+CAA+C,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;IACjG,GAAG,CAAC,OAAO,EAAE,+CAA+C,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;CAC1F;AAED,MAAM,WAAW,6BAA6B,CAAC,MAAM;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,uCAAuC,CAAC,MAAM;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,4CAA4C,CAAC,MAAM;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,gDAAgD,CAAC,MAAM;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,uCAAuC,CAAC,MAAM;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,qCAAqC,CAAC,MAAM;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,qCAAqC,CAAC,MAAM;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,+CAA+C,CAAC,MAAM;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,yCAAyC,CAAC,MAAM;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,kCAAkC,CAAC,MAAM;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B;IAChG,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,MAAM,WAAW,mCAAmC;IAClD,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qCAAqC;IACpD,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sCAAsC;IACrD,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,MAAM,MAAM,iCAAiC,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC5E,MAAM,MAAM,sCAAsC,GAAG,MAAM,GAAG,SAAS,CAAC;AACxE,MAAM,MAAM,kCAAkC,GAAG,MAAM,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,kCAAkC,GAAG,sBAAsB,CAAC;AAExE,MAAM,WAAW,yCAAyC;IACxD,MAAM,CAAC,EAAE,iCAAiC,CAAC;IAC3C,iBAAiB,CAAC,EAAE,sCAAsC,CAAC;CAC5D;AAED,MAAM,WAAW,yCAAyC;IACxD,UAAU,EAAE,sCAAsC,CAAC;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,kCAAkC,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wCAAwC,CAAC,SAAS,GAAG,OAAO;IAC3E,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,kCAAkC,CAAC;IAC9C,MAAM,EAAE,iCAAiC,CAAC;IAC1C,iBAAiB,EAAE,sCAAsC,CAAC;IAC1D,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,oCAAoC,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,yCAAyC,CAAC;CACvD;AAED,MAAM,WAAW,uCAAuC,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,CAAE,SAAQ,kCAAkC;IAClJ,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,2BAA2B;IACxG,aAAa,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/C,gBAAgB,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9D,eAAe,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnE,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC5F,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC/F,wBAAwB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACxI,kBAAkB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9F,uBAAuB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACjI,2BAA2B,CAAC,CAAC,OAAO,EAAE,yCAAyC,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3H,iBAAiB,CAAC,QAAQ,EAAE,SAAS,GAAG,iCAAiC,EAAE,CAAC;IAC5E,oBAAoB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,6BAA6B,EAAE,CAAC;IAC5E,kBAAkB,CAAC,QAAQ,EAAE,SAAS,GAAG,2BAA2B,EAAE,CAAC;IACvE,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,2BAA2B,GAAG,IAAI,CAAC;IACvF,wBAAwB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,4BAA4B,GAAG,IAAI,CAAC;IACpF,kBAAkB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,iCAAiC,GAAG,IAAI,CAAC;IACnF,iBAAiB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,gCAAgC,GAAG,IAAI,CAAC;IACjF,sBAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,qCAAqC,GAAG,IAAI,CAAC;IAC3F,iBAAiB,CAAC,CAAC,KAAK,EAAE,sCAAsC,CAAC,SAAS,CAAC,GAAG,uBAAuB,CACnG,OAAO,GAAG,IAAI,GAAG,+CAA+C,CACjE,CAAC;IACF,yBAAyB,CAAC,CAAC,KAAK,EAAE,wCAAwC,CAAC,SAAS,CAAC,GAAG,uBAAuB,CAC7G,OAAO,GAAG,IAAI,GAAG,+CAA+C,CACjE,CAAC;IACF,YAAY,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,QAAQ,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iCAAiC,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACzI,sBAAsB,CAAC,CAAC,KAAK,EAAE,uCAAuC,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzI,sBAAsB,CAAC,CAAC,KAAK,EAAE,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,kCAAkC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzI,aAAa,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IACnF,6BAA6B,CAAC,KAAK,EAAE,+BAA+B,CAAC,SAAS,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/H,qCAAqC,CAAC,CAAC,KAAK,EAAE,8CAA8C,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAClH,kCAAkC,CAAC,CAAC,KAAK,EAAE,oCAAoC,CAAC,SAAS,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1I,+BAA+B,CAAC,CAAC,KAAK,EAAE,gDAAgD,CAAC,SAAS,CAAC,GAAG,uBAAuB,GAAG,IAAI,CAAC;IACrI,oBAAoB,CAAC,CAAC,KAAK,EAAE,gCAAgC,CAAC,SAAS,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACxH,yBAAyB,CAAC,CAAC,KAAK,EAAE,qCAAqC,CAAC,SAAS,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClI,6BAA6B,CAAC,CAAC,KAAK,EAAE,yCAAyC,CAAC,SAAS,CAAC,GAAG,yCAAyC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtJ,sBAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,0BAA0B,CAAC;IACvG,2BAA2B,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,GAAG,uCAAuC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1I,gCAAgC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,GAAG,4CAA4C,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzJ,oCAAoC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,+BAA+B,GAAG,gDAAgD,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACrK,2BAA2B,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,GAAG,uCAAuC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1I,yBAAyB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,qCAAqC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACpI,sBAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,0BAA0B,CAAC;IACvG,yBAAyB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,qCAAqC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACpI,gCAAgC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,GAAG,0BAA0B,CAAC;IAC3H,mCAAmC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,GAAG,+CAA+C,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClK,SAAS,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,oCAAoC,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B;IACnG,mBAAmB,CAAC,IAAI,uBAAuB,CAAC;QAC9C,MAAM,EAAE,yBAAyB,CAAC;QAClC,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,YAAY,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACpD,UAAU,IAAI,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,mBAAmB,CAAC,CAAC,KAAK,EAAE;QAC1B,MAAM,EAAE,yBAAyB,CAAC;QAClC,QAAQ,EAAE,SAAS,CAAC;KACrB,GAAG,uBAAuB,CAAC;QAC1B,MAAM,EAAE,yBAAyB,CAAC;QAClC,QAAQ,EAAE,SAAS,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,YAAY,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,uBAAuB,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvG,OAAO,CAAC,OAAO,CAAC,EAAE,gCAAgC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B,CAAC,MAAM,GAAG,2BAA2B;IAClF,gBAAgB,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClD,SAAS,IAAI,iBAAiB,GAAG,IAAI,CAAC;IACtC,WAAW,IAAI,uBAAuB,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACnF,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC;IAClG,qBAAqB,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC,mCAAmC,GAAG,IAAI,CAAC,CAAC;IAC1H,yBAAyB,CAAC,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzF,kBAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,6BAA6B,CAAC;IAClE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,iCAAiC;IAChD,UAAU,CAAC,EAAE,mCAAmC,CAAC,YAAY,CAAC,CAAC;IAC/D,GAAG,CAAC,EAAE,uBAAuB,GAAG,KAAK,CAAC;IACtC,IAAI,CAAC,EAAE,6BAA6B,CAAC;CACtC;AAED,MAAM,WAAW,gCAAgC;IAC/C,WAAW,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC;IACzD,WAAW,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,MAAM,gCAAgC,GAAG,2BAA2B,CAAC;AAE3E,MAAM,WAAW,6BAA6B;IAC5C,SAAS,IAAI,OAAO,GAAG,IAAI,CAAC;IAC5B,eAAe,IAAI,OAAO,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,2BAA2B;IAChG,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,6BAA6B,CAAC,EAAE,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAC7E,eAAe,EAAE,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9E,kBAAkB,EAAE,oCAAoC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5E,YAAY,EAAE,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5D,GAAG,CAAC,EAAE,uBAAuB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,EAAE,6BAA6B,CAAC;QACrC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,SAAS,CAAC,EAAE,kCAAkC,CAAC,SAAS,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE;QACV,cAAc,CAAC,EAAE,SAAS,oDAAoD,CAAC,SAAS,CAAC,EAAE,CAAC;KAC7F,CAAC;IACF,UAAU,CAAC,EAAE,CACX,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,6BAA6B,KACpC,gCAAgC,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB,CAAC,SAAS,GAAG,OAAO;IACrD,MAAM,IAAI,IAAI,CAAC;IACf,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,IAAI,oBAAoB,CAAC;IAClC,eAAe,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC7C,kBAAkB,IAAI,SAAS,GAAG,IAAI,CAAC;IACvC,YAAY,IAAI,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAC7D,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sCAAsC,GAAG,qCAAqC,CAAC;IACjI,IAAI,CAAC,OAAO,CAAC,EAAE,yCAAyC,GAAG,OAAO,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC,CAAC;IACxH,IAAI,CAAC,OAAO,CAAC,EAAE,yCAAyC,GAAG,OAAO,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC,CAAC;IACxH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB;AA4FD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,2BAA2B,EAC9F,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,GAC5D,kBAAkB,CAAC,SAAS,CAAC,GAAG,0BAA0B,CAgc5D;AAED,wBAAgB,iDAAiD,CAAC,SAAS,EACzE,KAAK,EAAE,8CAA8C,CAAC,SAAS,CAAC,GAC/D,eAAe,CAAC,SAAS,CAAC,CAuB5B;AAsOD,wBAAgB,sDAAsD,CACpE,KAAK,EAAE,0CAA0C,EACjD,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,GAC/C,OAAO,CA0BT;AAED,wBAAgB,qDAAqD,CACnE,KAAK,EAAE,0CAA0C,EACjD,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,GAC/C,OAAO,CAMT;AAED,wBAAgB,oDAAoD,CAClE,MAAM,EAAE,0CAA0C,GACjD,OAAO,CAET;AAu/GD,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,iCAAiC,CASnC;AAoHD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,6BAA6B,EAAE,GACrC,6BAA6B,EAAE,CAuBjC"}
@@ -87,12 +87,10 @@ export function createLocalEditorHarness(options) {
87
87
  void runExclusive(state, harness.render, () => harness.discardAndRunGame());
88
88
  },
89
89
  onUndo: () => {
90
- if (undoSessionChange(state, options))
91
- harness.render();
90
+ void harness.undo({ origin: 'user', waitForProjection: 'none' });
92
91
  },
93
92
  onRedo: () => {
94
- if (redoSessionChange(state, options))
95
- harness.render();
93
+ void harness.redo({ origin: 'user', waitForProjection: 'none' });
96
94
  },
97
95
  onCreateFromAsset: (assetId) => {
98
96
  if (createAssetFromBrowserIntent(state, options, assetId))
@@ -370,6 +368,18 @@ export function createLocalEditorHarness(options) {
370
368
  harness.render();
371
369
  return result;
372
370
  },
371
+ async undo(historyOptions) {
372
+ const result = applyHistoryOperation(state, options, 'undo', historyOptions);
373
+ if (result.ok)
374
+ harness.render();
375
+ return waitForHistoryOperationProjection(state, result);
376
+ },
377
+ async redo(historyOptions) {
378
+ const result = applyHistoryOperation(state, options, 'redo', historyOptions);
379
+ if (result.ok)
380
+ harness.render();
381
+ return waitForHistoryOperationProjection(state, result);
382
+ },
373
383
  async enterEditor() {
374
384
  const loadedSource = options.persistenceAdapter.loadAuthoringSource
375
385
  ? await options.persistenceAdapter.loadAuthoringSource()
@@ -1409,6 +1419,7 @@ function renameSceneGraphNode(state, options, intent) {
1409
1419
  label: patch.label ?? `Rename ${intent.id}`,
1410
1420
  patch: patch.patch,
1411
1421
  targetId: intent.id,
1422
+ ...withProjectionImpact(patch.projectionImpact),
1412
1423
  });
1413
1424
  if (!result.documentChanged) {
1414
1425
  state.status = `Rename unchanged: ${intent.id}`;
@@ -1434,6 +1445,7 @@ function createSceneGraphGroup(state, options, intent) {
1434
1445
  label: patch.label ?? 'Create Empty',
1435
1446
  patch: patch.patch,
1436
1447
  targetId: patch.createdId ?? undefined,
1448
+ ...withProjectionImpact(resolveProjectionImpact(patch, createCreatedNodeProjectionImpact([patch.createdId]))),
1437
1449
  });
1438
1450
  if (!result.documentChanged) {
1439
1451
  state.status = 'Create empty unchanged';
@@ -1469,6 +1481,10 @@ function createSceneGraphPrimitive(state, options, intent) {
1469
1481
  label: patch.label ?? `Create ${intent.shape}`,
1470
1482
  patch: patch.patch,
1471
1483
  targetId: patch.createdId ?? undefined,
1484
+ ...withProjectionImpact(resolveProjectionImpact(patch, createKnownCreatedReprojectProjectionImpact({
1485
+ createdNodeIds: [patch.createdId],
1486
+ reprojectIds: patch.reprojectIds,
1487
+ }))),
1472
1488
  });
1473
1489
  if (!result.documentChanged) {
1474
1490
  state.status = `Create ${intent.shape} unchanged`;
@@ -1509,6 +1525,9 @@ function deleteSceneGraphNodes(state, options, intent) {
1509
1525
  label: patch.label ?? `Delete ${intent.ids.length} node(s)`,
1510
1526
  patch: patch.patch,
1511
1527
  targetId: intent.activeId ?? undefined,
1528
+ ...withProjectionImpact(resolveProjectionImpact(patch, patch.deletedIds
1529
+ ? createDeletedNodeProjectionImpact(patch.deletedIds)
1530
+ : undefined)),
1512
1531
  });
1513
1532
  if (!result.documentChanged) {
1514
1533
  state.status = 'Delete unchanged';
@@ -1557,6 +1576,10 @@ function duplicateSceneGraphNodes(state, options, intent) {
1557
1576
  label: patch.label ?? `Duplicate ${targetIds.length} object(s)`,
1558
1577
  patch: patch.patch,
1559
1578
  targetId: patch.activeId ?? patch.createdIds[patch.createdIds.length - 1] ?? undefined,
1579
+ ...withProjectionImpact(resolveProjectionImpact(patch, createCreatedReprojectProjectionImpact({
1580
+ createdNodeIds: patch.createdIds,
1581
+ reprojectIds: patch.reprojectIds,
1582
+ }))),
1560
1583
  });
1561
1584
  if (!result.documentChanged) {
1562
1585
  state.status = 'Duplicate unchanged';
@@ -1613,6 +1636,7 @@ function dropSceneGraphNode(state, options, intent) {
1613
1636
  label: patch.label ?? `Reparent ${intent.draggedId}`,
1614
1637
  patch: patch.patch,
1615
1638
  targetId: intent.draggedId,
1639
+ ...withProjectionImpact(patch.projectionImpact),
1616
1640
  });
1617
1641
  if (!result.documentChanged) {
1618
1642
  state.status = `Reparent unchanged: ${intent.draggedId}`;
@@ -1657,6 +1681,7 @@ function moveSceneGraphNodes(state, options, intent) {
1657
1681
  label: patch.label ?? `Move ${intent.ids.length} node(s)`,
1658
1682
  patch: patch.patch,
1659
1683
  targetId: intent.ids[0] ?? undefined,
1684
+ ...withProjectionImpact(patch.projectionImpact),
1660
1685
  });
1661
1686
  if (!result.documentChanged) {
1662
1687
  state.status = 'Move unchanged';
@@ -1694,6 +1719,7 @@ function groupSceneGraphSelection(state, options, intent) {
1694
1719
  label: patch.label ?? 'Create Parent',
1695
1720
  patch: patch.patch,
1696
1721
  targetId: patch.createdId,
1722
+ ...withProjectionImpact(patch.projectionImpact),
1697
1723
  });
1698
1724
  if (!result.documentChanged) {
1699
1725
  state.status = 'Create Parent unchanged';
@@ -1914,6 +1940,9 @@ function executeTransformAction(state, options, action) {
1914
1940
  label: patch.label ?? formatTransformActionStatus(action, changedTargets.length),
1915
1941
  patch: patch.patch,
1916
1942
  targetId: selection.activeId ?? changedTargets[0]?.id,
1943
+ ...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
1944
+ ? createReprojectProjectionImpact(patch.reprojectIds)
1945
+ : createTransformProjectionImpact(changedTargets.map(target => target.id)))),
1917
1946
  });
1918
1947
  if (!result.documentChanged) {
1919
1948
  state.status = `Transform action unchanged: ${action}`;
@@ -2010,6 +2039,11 @@ function patchBrowserAssetAction(state, options, input) {
2010
2039
  type: 'document.patch',
2011
2040
  label: patch.label ?? `Asset action ${input.actionId}`,
2012
2041
  patch: patch.patch,
2042
+ ...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
2043
+ ? createReprojectProjectionImpact(patch.reprojectIds)
2044
+ : patch.changedIds?.length
2045
+ ? createReprojectProjectionImpact(patch.changedIds)
2046
+ : undefined)),
2013
2047
  });
2014
2048
  state.summary = summarizeDocument(options, result.workingDocument, session.getSource());
2015
2049
  state.status = patch.label ?? `Asset action ${input.actionId}`;
@@ -2091,6 +2125,10 @@ function commitArmedPlacement(state, options, event) {
2091
2125
  label: patch.label ?? `Place ${armed.assetId}`,
2092
2126
  patch: patch.patch,
2093
2127
  targetId: patch.createdId ?? undefined,
2128
+ ...withProjectionImpact(resolveProjectionImpact(patch, createKnownCreatedReprojectProjectionImpact({
2129
+ createdNodeIds: [patch.createdId],
2130
+ reprojectIds: patch.reprojectIds,
2131
+ }))),
2094
2132
  });
2095
2133
  if (!result.documentChanged) {
2096
2134
  state.status = 'Placement unchanged';
@@ -2154,8 +2192,14 @@ function addAssetToDocument(state, options, assetId, createOptions = {}) {
2154
2192
  type: 'document.patch',
2155
2193
  label: patch.label ?? 'Create Object From Asset',
2156
2194
  patch: patch.patch,
2195
+ ...withProjectionImpact(resolveProjectionImpact(patch, createKnownCreatedReprojectProjectionImpact({
2196
+ createdNodeIds: [patch.createdId],
2197
+ reprojectIds: patch.reprojectIds,
2198
+ }))),
2157
2199
  });
2158
- const createdId = options.documentAdapter.findCreatedId?.(beforeDocument, result.workingDocument);
2200
+ const createdId = patch.createdId
2201
+ ?? options.documentAdapter.findCreatedId?.(beforeDocument, result.workingDocument)
2202
+ ?? null;
2159
2203
  let selectionResult = null;
2160
2204
  if (createdId) {
2161
2205
  selectionResult = session.dispatch({
@@ -2217,15 +2261,22 @@ function patchSerializedProperty(state, options, input) {
2217
2261
  });
2218
2262
  if (!patch)
2219
2263
  return false;
2264
+ const changedIds = patch.changedIds ?? targetIds;
2220
2265
  const result = state.session.dispatch({
2221
2266
  type: 'document.patch',
2222
2267
  label: patch.label ?? `Patch ${payload.path} on ${targetIds.length} objects`,
2223
2268
  patch: patch.patch,
2224
2269
  targetId: state.session.getState().selection.activeId ?? undefined,
2270
+ ...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
2271
+ ? createReprojectProjectionImpact(patch.reprojectIds)
2272
+ : shouldReprojectInspectorEdit
2273
+ ? createReprojectProjectionImpact(changedIds)
2274
+ : isSerializedTransformPath(payload.path)
2275
+ ? createTransformProjectionImpact(targetIds)
2276
+ : undefined)),
2225
2277
  });
2226
2278
  if (!result.documentChanged)
2227
2279
  return false;
2228
- const changedIds = patch.changedIds ?? targetIds;
2229
2280
  const projectionSyncIds = isSerializedTransformPath(payload.path) ? targetIds : changedIds;
2230
2281
  const workingDocument = result.workingDocument;
2231
2282
  if (patch.reprojectIds?.length)
@@ -2256,6 +2307,13 @@ function patchSerializedProperty(state, options, input) {
2256
2307
  type: 'document.patch',
2257
2308
  label: patch.label ?? `Patch ${payload.path}`,
2258
2309
  patch: patch.patch,
2310
+ ...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
2311
+ ? createReprojectProjectionImpact(patch.reprojectIds)
2312
+ : shouldReprojectInspectorEdit
2313
+ ? createReprojectProjectionImpact(patch.changedIds ?? [patch.changedId ?? payload.targetId])
2314
+ : isSerializedTransformPath(payload.path)
2315
+ ? createTransformProjectionImpact([patch.changedId ?? payload.targetId])
2316
+ : undefined)),
2259
2317
  });
2260
2318
  if (patch.reprojectIds?.length)
2261
2319
  reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
@@ -2480,6 +2538,10 @@ function beginDuplicateDrag(state, options, input) {
2480
2538
  label: patch.label ?? `Duplicate ${input.targetIds.length} object(s)`,
2481
2539
  patch: patch.patch,
2482
2540
  targetId: patch.activeId ?? patch.createdIds[patch.createdIds.length - 1] ?? undefined,
2541
+ ...withProjectionImpact(resolveProjectionImpact(patch, createCreatedReprojectProjectionImpact({
2542
+ createdNodeIds: patch.createdIds,
2543
+ reprojectIds: patch.reprojectIds,
2544
+ }))),
2483
2545
  });
2484
2546
  if (!result.documentChanged) {
2485
2547
  state.status = 'Duplicate drag unchanged';
@@ -2559,6 +2621,9 @@ function commitGizmoTransform(state, options, event) {
2559
2621
  label: patch.label ?? `${event.tool} ${event.targetIds.length} objects`,
2560
2622
  patch: patch.patch,
2561
2623
  targetId: event.activeId ?? undefined,
2624
+ ...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
2625
+ ? createReprojectProjectionImpact(patch.reprojectIds)
2626
+ : createTransformProjectionImpact(event.targetIds))),
2562
2627
  }, {
2563
2628
  mergeWithPrevious: event.targetIds.some(id => state.duplicateDrag?.createdIds.includes(id)) === true,
2564
2629
  });
@@ -2594,6 +2659,9 @@ function commitGizmoTransform(state, options, event) {
2594
2659
  label: patch.label ?? `${event.tool} ${targetId}`,
2595
2660
  patch: patch.patch,
2596
2661
  targetId,
2662
+ ...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
2663
+ ? createReprojectProjectionImpact(patch.reprojectIds)
2664
+ : createTransformProjectionImpact([patch.changedId ?? targetId]))),
2597
2665
  }, {
2598
2666
  mergeWithPrevious: state.duplicateDrag?.createdIds.includes(targetId) === true,
2599
2667
  });
@@ -2699,29 +2767,193 @@ function formatAssetLabel(asset, fallback) {
2699
2767
  const label = record?.label ?? record?.displayName ?? record?.name;
2700
2768
  return typeof label === 'string' && label.trim() ? label : fallback;
2701
2769
  }
2702
- function undoSessionChange(state, options) {
2703
- cancelActiveOperation(state);
2704
- const result = state.session?.undo();
2705
- if (!result)
2706
- return false;
2707
- rebuildProjection(state, options, result);
2708
- state.summary = summarizeDocument(options, result.workingDocument, state.session?.getSource());
2709
- state.status = `Undo ${result.transaction.label}`;
2710
- return true;
2770
+ function withProjectionImpact(impact) {
2771
+ return impact ? { projectionImpact: impact } : {};
2772
+ }
2773
+ function resolveProjectionImpact(source, fallback) {
2774
+ return source.projectionImpact ?? fallback;
2775
+ }
2776
+ function createTransformProjectionImpact(ids) {
2777
+ return createIncrementalProjectionImpact({ syncTransformIds: ids });
2778
+ }
2779
+ function createReprojectProjectionImpact(ids) {
2780
+ return createIncrementalProjectionImpact({ reprojectIds: ids });
2781
+ }
2782
+ function createCreatedNodeProjectionImpact(ids) {
2783
+ return createIncrementalProjectionImpact({ createdNodeIds: ids });
2784
+ }
2785
+ function createDeletedNodeProjectionImpact(ids) {
2786
+ return createIncrementalProjectionImpact({ deletedNodeIds: ids });
2787
+ }
2788
+ function createCreatedReprojectProjectionImpact(input) {
2789
+ return createIncrementalProjectionImpact({
2790
+ createdNodeIds: input.createdNodeIds,
2791
+ reprojectIds: input.reprojectIds,
2792
+ });
2793
+ }
2794
+ function createKnownCreatedReprojectProjectionImpact(input) {
2795
+ const createdNodeIds = uniqueProjectionIds(input.createdNodeIds);
2796
+ if (createdNodeIds.length === 0)
2797
+ return undefined;
2798
+ return createCreatedReprojectProjectionImpact({
2799
+ createdNodeIds,
2800
+ reprojectIds: input.reprojectIds,
2801
+ });
2802
+ }
2803
+ function createIncrementalProjectionImpact(input) {
2804
+ const syncTransformIds = uniqueProjectionIds(input.syncTransformIds);
2805
+ const reprojectIds = uniqueProjectionIds(input.reprojectIds);
2806
+ const createdNodeIds = uniqueProjectionIds(input.createdNodeIds);
2807
+ const deletedNodeIds = uniqueProjectionIds(input.deletedNodeIds);
2808
+ if (syncTransformIds.length === 0
2809
+ && reprojectIds.length === 0
2810
+ && createdNodeIds.length === 0
2811
+ && deletedNodeIds.length === 0) {
2812
+ return undefined;
2813
+ }
2814
+ return {
2815
+ type: 'incremental',
2816
+ ...(syncTransformIds.length ? { syncTransformIds } : {}),
2817
+ ...(reprojectIds.length ? { reprojectIds } : {}),
2818
+ ...(createdNodeIds.length ? { createdNodeIds } : {}),
2819
+ ...(deletedNodeIds.length ? { deletedNodeIds } : {}),
2820
+ };
2821
+ }
2822
+ function uniqueProjectionIds(ids) {
2823
+ const result = [];
2824
+ const seen = new Set();
2825
+ for (const id of ids ?? []) {
2826
+ if (!id || seen.has(id))
2827
+ continue;
2828
+ seen.add(id);
2829
+ result.push(id);
2830
+ }
2831
+ return result;
2711
2832
  }
2712
- function redoSessionChange(state, options) {
2833
+ function applyHistoryOperation(state, options, operation, input = {}) {
2834
+ const origin = input.origin ?? 'user';
2835
+ const waitForProjection = input.waitForProjection ?? 'none';
2713
2836
  cancelActiveOperation(state);
2714
- const result = state.session?.redo();
2837
+ const result = operation === 'undo'
2838
+ ? state.session?.undo()
2839
+ : state.session?.redo();
2715
2840
  if (!result)
2716
- return false;
2717
- rebuildProjection(state, options, result);
2841
+ return createHistoryOperationResult(state, {
2842
+ operation,
2843
+ origin,
2844
+ waitForProjection,
2845
+ result: null,
2846
+ status: operation === 'undo' ? 'Undo unavailable' : 'Redo unavailable',
2847
+ });
2848
+ applyHistoryProjectionImpact(state, options, result, operation);
2718
2849
  state.summary = summarizeDocument(options, result.workingDocument, state.session?.getSource());
2719
- state.status = `Redo ${result.transaction.label}`;
2720
- return true;
2850
+ state.status = `${operation === 'undo' ? 'Undo' : 'Redo'} ${result.transaction.label}`;
2851
+ return createHistoryOperationResult(state, {
2852
+ operation,
2853
+ origin,
2854
+ waitForProjection,
2855
+ result,
2856
+ status: state.status,
2857
+ });
2858
+ }
2859
+ async function waitForHistoryOperationProjection(state, result) {
2860
+ if (!result.ok || result.waitForProjection !== 'settled')
2861
+ return result;
2862
+ const idleState = await state.projection?.waitForIdle() ?? null;
2863
+ return {
2864
+ ...result,
2865
+ projection: createHistoryProjectionResult(result.waitForProjection, idleState, state),
2866
+ };
2867
+ }
2868
+ function createHistoryOperationResult(state, input) {
2869
+ const sessionState = state.session?.getState() ?? null;
2870
+ return {
2871
+ ok: !!input.result,
2872
+ operation: input.operation,
2873
+ origin: input.origin,
2874
+ waitForProjection: input.waitForProjection,
2875
+ documentChanged: input.result?.documentChanged ?? false,
2876
+ transactionLabel: input.result?.transaction.label ?? null,
2877
+ workingDocument: input.result?.workingDocument ?? sessionState?.workingDocument ?? null,
2878
+ dirty: input.result?.dirty ?? sessionState?.dirty ?? false,
2879
+ history: {
2880
+ canUndo: sessionState?.canUndo ?? false,
2881
+ canRedo: sessionState?.canRedo ?? false,
2882
+ },
2883
+ status: input.status,
2884
+ projection: createHistoryProjectionResult(input.waitForProjection, null, state),
2885
+ };
2886
+ }
2887
+ function createHistoryProjectionResult(waitPolicy, idleState, state) {
2888
+ const resolved = idleState ?? state.projection?.getIdleState() ?? null;
2889
+ return {
2890
+ waitPolicy,
2891
+ idle: resolved?.idle ?? true,
2892
+ activeBatchIds: resolved?.activeBatchIds ?? [],
2893
+ lastBatch: resolved?.lastBatch ?? null,
2894
+ };
2895
+ }
2896
+ function applyHistoryProjectionImpact(state, options, result, operation) {
2897
+ const impact = result.transaction.projectionImpact;
2898
+ if (!impact || impact.type === 'rebuild') {
2899
+ rebuildProjection(state, options, result);
2900
+ return;
2901
+ }
2902
+ const applied = applyIncrementalHistoryProjectionImpact(state, options, result, operation, impact);
2903
+ if (!applied)
2904
+ rebuildProjection(state, options, result);
2721
2905
  }
2722
2906
  function rebuildProjection(state, options, result) {
2723
2907
  rebuildProjectionFromDocument(state, options, result.workingDocument, result.selection);
2724
2908
  }
2909
+ function applyIncrementalHistoryProjectionImpact(state, options, result, operation, impact) {
2910
+ if (!state.projection)
2911
+ return false;
2912
+ const syncTransformIds = uniqueProjectionIds(impact.syncTransformIds);
2913
+ const reprojectIds = uniqueProjectionIds(impact.reprojectIds);
2914
+ const projectNodeIds = operation === 'redo'
2915
+ ? uniqueProjectionIds(impact.createdNodeIds)
2916
+ : uniqueProjectionIds(impact.deletedNodeIds);
2917
+ const removeNodeIds = operation === 'redo'
2918
+ ? uniqueProjectionIds(impact.deletedNodeIds)
2919
+ : uniqueProjectionIds(impact.createdNodeIds);
2920
+ const touched = syncTransformIds.length > 0
2921
+ || reprojectIds.length > 0
2922
+ || projectNodeIds.length > 0
2923
+ || removeNodeIds.length > 0;
2924
+ if (!touched)
2925
+ return false;
2926
+ for (const nodeId of removeNodeIds) {
2927
+ state.projection.removeNode(nodeId);
2928
+ }
2929
+ for (const nodeId of projectNodeIds) {
2930
+ const projectedNode = options.documentAdapter.getProjectionNode(result.workingDocument, nodeId);
2931
+ if (!projectedNode)
2932
+ return false;
2933
+ state.projection.projectNode(projectedNode);
2934
+ }
2935
+ for (const nodeId of reprojectIds) {
2936
+ const projectedNode = options.documentAdapter.getProjectionNode(result.workingDocument, nodeId);
2937
+ if (!projectedNode)
2938
+ return false;
2939
+ state.projection.projectNode(projectedNode);
2940
+ }
2941
+ for (const nodeId of syncTransformIds) {
2942
+ const projectedNode = options.documentAdapter.getProjectionNode(result.workingDocument, nodeId);
2943
+ if (!projectedNode)
2944
+ return false;
2945
+ state.projection.syncNodeTransform(projectedNode);
2946
+ }
2947
+ syncProjectionAfterHistoryIncrementalImpact(state, options, result.workingDocument, result.selection);
2948
+ return true;
2949
+ }
2950
+ function syncProjectionAfterHistoryIncrementalImpact(state, options, document, selection) {
2951
+ const sanitized = sanitizeSelection(state, options, document, selection);
2952
+ syncSelectionToProjection(state, sanitized ?? selection);
2953
+ syncEditorWorldAppearanceFromDocument(state, options, document, 'world-appearance-history-impact');
2954
+ syncEditorWorldRenderingFromDocument(state, options, document, 'world-rendering-history-impact', true);
2955
+ invalidateEditorScene(state, 'projection-history-impact', options);
2956
+ }
2725
2957
  function rebuildProjectionFromDocument(state, options, document, selection) {
2726
2958
  state.projection?.rebuild(options.documentAdapter.getProjectionNodes(document));
2727
2959
  const sanitized = sanitizeSelection(state, options, document, selection);