@fps-games/editor 0.1.4-beta.2 → 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.
- package/dist/local-editor-harness.d.ts +46 -6
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +254 -23
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/playable-babylon-facade.d.ts +1 -1
- package/dist/playable-babylon-facade.d.ts.map +1 -1
- package/dist/playable-babylon-facade.js.map +1 -1
- package/dist/playable-babylon-rendering.d.ts +57 -1
- package/dist/playable-babylon-rendering.d.ts.map +1 -1
- package/dist/playable-babylon-rendering.js +211 -9
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +15 -1
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js +5 -2
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-sdk.d.ts +5 -4
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js +2 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +25 -2
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js +89 -9
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +2 -2
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +36 -3
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +148 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +3 -3
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +14 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +54 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +2 -2
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +25 -0
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +56 -9
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +33 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +85 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/package.json +3 -3
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +2 -0
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +1 -1
- 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":"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"}
|
|
@@ -87,12 +87,10 @@ export function createLocalEditorHarness(options) {
|
|
|
87
87
|
void runExclusive(state, harness.render, () => harness.discardAndRunGame());
|
|
88
88
|
},
|
|
89
89
|
onUndo: () => {
|
|
90
|
-
|
|
91
|
-
harness.render();
|
|
90
|
+
void harness.undo({ origin: 'user', waitForProjection: 'none' });
|
|
92
91
|
},
|
|
93
92
|
onRedo: () => {
|
|
94
|
-
|
|
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()
|
|
@@ -838,11 +848,10 @@ async function createEditorWorld(state, options, renderUi, renderPreviewUi, upda
|
|
|
838
848
|
logger: console,
|
|
839
849
|
onProjectionReady(event) {
|
|
840
850
|
syncCurrentSelectionToSceneArtifacts(state, `projection-${event.nodeId}-ready-selection`);
|
|
851
|
+
scheduleProjectionShadowPreviewRebuild(state, `projection-${event.nodeId}-ready-shadow`);
|
|
841
852
|
viewportRenderCoordinator.invalidateScene(`projection-${event.nodeId}-ready`);
|
|
842
853
|
},
|
|
843
854
|
onProjectionBatchSettled(event) {
|
|
844
|
-
if (event.asyncNodeIds.length === 0)
|
|
845
|
-
return;
|
|
846
855
|
syncCurrentSelectionToSceneArtifacts(state, `projection-batch-${event.batchId}-settled-selection`);
|
|
847
856
|
scheduleProjectionShadowPreviewRebuild(state, `projection-batch-${event.batchId}-settled`);
|
|
848
857
|
},
|
|
@@ -1410,6 +1419,7 @@ function renameSceneGraphNode(state, options, intent) {
|
|
|
1410
1419
|
label: patch.label ?? `Rename ${intent.id}`,
|
|
1411
1420
|
patch: patch.patch,
|
|
1412
1421
|
targetId: intent.id,
|
|
1422
|
+
...withProjectionImpact(patch.projectionImpact),
|
|
1413
1423
|
});
|
|
1414
1424
|
if (!result.documentChanged) {
|
|
1415
1425
|
state.status = `Rename unchanged: ${intent.id}`;
|
|
@@ -1435,6 +1445,7 @@ function createSceneGraphGroup(state, options, intent) {
|
|
|
1435
1445
|
label: patch.label ?? 'Create Empty',
|
|
1436
1446
|
patch: patch.patch,
|
|
1437
1447
|
targetId: patch.createdId ?? undefined,
|
|
1448
|
+
...withProjectionImpact(resolveProjectionImpact(patch, createCreatedNodeProjectionImpact([patch.createdId]))),
|
|
1438
1449
|
});
|
|
1439
1450
|
if (!result.documentChanged) {
|
|
1440
1451
|
state.status = 'Create empty unchanged';
|
|
@@ -1470,6 +1481,10 @@ function createSceneGraphPrimitive(state, options, intent) {
|
|
|
1470
1481
|
label: patch.label ?? `Create ${intent.shape}`,
|
|
1471
1482
|
patch: patch.patch,
|
|
1472
1483
|
targetId: patch.createdId ?? undefined,
|
|
1484
|
+
...withProjectionImpact(resolveProjectionImpact(patch, createKnownCreatedReprojectProjectionImpact({
|
|
1485
|
+
createdNodeIds: [patch.createdId],
|
|
1486
|
+
reprojectIds: patch.reprojectIds,
|
|
1487
|
+
}))),
|
|
1473
1488
|
});
|
|
1474
1489
|
if (!result.documentChanged) {
|
|
1475
1490
|
state.status = `Create ${intent.shape} unchanged`;
|
|
@@ -1510,6 +1525,9 @@ function deleteSceneGraphNodes(state, options, intent) {
|
|
|
1510
1525
|
label: patch.label ?? `Delete ${intent.ids.length} node(s)`,
|
|
1511
1526
|
patch: patch.patch,
|
|
1512
1527
|
targetId: intent.activeId ?? undefined,
|
|
1528
|
+
...withProjectionImpact(resolveProjectionImpact(patch, patch.deletedIds
|
|
1529
|
+
? createDeletedNodeProjectionImpact(patch.deletedIds)
|
|
1530
|
+
: undefined)),
|
|
1513
1531
|
});
|
|
1514
1532
|
if (!result.documentChanged) {
|
|
1515
1533
|
state.status = 'Delete unchanged';
|
|
@@ -1558,6 +1576,10 @@ function duplicateSceneGraphNodes(state, options, intent) {
|
|
|
1558
1576
|
label: patch.label ?? `Duplicate ${targetIds.length} object(s)`,
|
|
1559
1577
|
patch: patch.patch,
|
|
1560
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
|
+
}))),
|
|
1561
1583
|
});
|
|
1562
1584
|
if (!result.documentChanged) {
|
|
1563
1585
|
state.status = 'Duplicate unchanged';
|
|
@@ -1614,6 +1636,7 @@ function dropSceneGraphNode(state, options, intent) {
|
|
|
1614
1636
|
label: patch.label ?? `Reparent ${intent.draggedId}`,
|
|
1615
1637
|
patch: patch.patch,
|
|
1616
1638
|
targetId: intent.draggedId,
|
|
1639
|
+
...withProjectionImpact(patch.projectionImpact),
|
|
1617
1640
|
});
|
|
1618
1641
|
if (!result.documentChanged) {
|
|
1619
1642
|
state.status = `Reparent unchanged: ${intent.draggedId}`;
|
|
@@ -1658,6 +1681,7 @@ function moveSceneGraphNodes(state, options, intent) {
|
|
|
1658
1681
|
label: patch.label ?? `Move ${intent.ids.length} node(s)`,
|
|
1659
1682
|
patch: patch.patch,
|
|
1660
1683
|
targetId: intent.ids[0] ?? undefined,
|
|
1684
|
+
...withProjectionImpact(patch.projectionImpact),
|
|
1661
1685
|
});
|
|
1662
1686
|
if (!result.documentChanged) {
|
|
1663
1687
|
state.status = 'Move unchanged';
|
|
@@ -1695,6 +1719,7 @@ function groupSceneGraphSelection(state, options, intent) {
|
|
|
1695
1719
|
label: patch.label ?? 'Create Parent',
|
|
1696
1720
|
patch: patch.patch,
|
|
1697
1721
|
targetId: patch.createdId,
|
|
1722
|
+
...withProjectionImpact(patch.projectionImpact),
|
|
1698
1723
|
});
|
|
1699
1724
|
if (!result.documentChanged) {
|
|
1700
1725
|
state.status = 'Create Parent unchanged';
|
|
@@ -1915,6 +1940,9 @@ function executeTransformAction(state, options, action) {
|
|
|
1915
1940
|
label: patch.label ?? formatTransformActionStatus(action, changedTargets.length),
|
|
1916
1941
|
patch: patch.patch,
|
|
1917
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)))),
|
|
1918
1946
|
});
|
|
1919
1947
|
if (!result.documentChanged) {
|
|
1920
1948
|
state.status = `Transform action unchanged: ${action}`;
|
|
@@ -2011,6 +2039,11 @@ function patchBrowserAssetAction(state, options, input) {
|
|
|
2011
2039
|
type: 'document.patch',
|
|
2012
2040
|
label: patch.label ?? `Asset action ${input.actionId}`,
|
|
2013
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)),
|
|
2014
2047
|
});
|
|
2015
2048
|
state.summary = summarizeDocument(options, result.workingDocument, session.getSource());
|
|
2016
2049
|
state.status = patch.label ?? `Asset action ${input.actionId}`;
|
|
@@ -2092,6 +2125,10 @@ function commitArmedPlacement(state, options, event) {
|
|
|
2092
2125
|
label: patch.label ?? `Place ${armed.assetId}`,
|
|
2093
2126
|
patch: patch.patch,
|
|
2094
2127
|
targetId: patch.createdId ?? undefined,
|
|
2128
|
+
...withProjectionImpact(resolveProjectionImpact(patch, createKnownCreatedReprojectProjectionImpact({
|
|
2129
|
+
createdNodeIds: [patch.createdId],
|
|
2130
|
+
reprojectIds: patch.reprojectIds,
|
|
2131
|
+
}))),
|
|
2095
2132
|
});
|
|
2096
2133
|
if (!result.documentChanged) {
|
|
2097
2134
|
state.status = 'Placement unchanged';
|
|
@@ -2155,8 +2192,14 @@ function addAssetToDocument(state, options, assetId, createOptions = {}) {
|
|
|
2155
2192
|
type: 'document.patch',
|
|
2156
2193
|
label: patch.label ?? 'Create Object From Asset',
|
|
2157
2194
|
patch: patch.patch,
|
|
2195
|
+
...withProjectionImpact(resolveProjectionImpact(patch, createKnownCreatedReprojectProjectionImpact({
|
|
2196
|
+
createdNodeIds: [patch.createdId],
|
|
2197
|
+
reprojectIds: patch.reprojectIds,
|
|
2198
|
+
}))),
|
|
2158
2199
|
});
|
|
2159
|
-
const createdId =
|
|
2200
|
+
const createdId = patch.createdId
|
|
2201
|
+
?? options.documentAdapter.findCreatedId?.(beforeDocument, result.workingDocument)
|
|
2202
|
+
?? null;
|
|
2160
2203
|
let selectionResult = null;
|
|
2161
2204
|
if (createdId) {
|
|
2162
2205
|
selectionResult = session.dispatch({
|
|
@@ -2218,15 +2261,22 @@ function patchSerializedProperty(state, options, input) {
|
|
|
2218
2261
|
});
|
|
2219
2262
|
if (!patch)
|
|
2220
2263
|
return false;
|
|
2264
|
+
const changedIds = patch.changedIds ?? targetIds;
|
|
2221
2265
|
const result = state.session.dispatch({
|
|
2222
2266
|
type: 'document.patch',
|
|
2223
2267
|
label: patch.label ?? `Patch ${payload.path} on ${targetIds.length} objects`,
|
|
2224
2268
|
patch: patch.patch,
|
|
2225
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)),
|
|
2226
2277
|
});
|
|
2227
2278
|
if (!result.documentChanged)
|
|
2228
2279
|
return false;
|
|
2229
|
-
const changedIds = patch.changedIds ?? targetIds;
|
|
2230
2280
|
const projectionSyncIds = isSerializedTransformPath(payload.path) ? targetIds : changedIds;
|
|
2231
2281
|
const workingDocument = result.workingDocument;
|
|
2232
2282
|
if (patch.reprojectIds?.length)
|
|
@@ -2257,6 +2307,13 @@ function patchSerializedProperty(state, options, input) {
|
|
|
2257
2307
|
type: 'document.patch',
|
|
2258
2308
|
label: patch.label ?? `Patch ${payload.path}`,
|
|
2259
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)),
|
|
2260
2317
|
});
|
|
2261
2318
|
if (patch.reprojectIds?.length)
|
|
2262
2319
|
reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
|
|
@@ -2481,6 +2538,10 @@ function beginDuplicateDrag(state, options, input) {
|
|
|
2481
2538
|
label: patch.label ?? `Duplicate ${input.targetIds.length} object(s)`,
|
|
2482
2539
|
patch: patch.patch,
|
|
2483
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
|
+
}))),
|
|
2484
2545
|
});
|
|
2485
2546
|
if (!result.documentChanged) {
|
|
2486
2547
|
state.status = 'Duplicate drag unchanged';
|
|
@@ -2560,6 +2621,9 @@ function commitGizmoTransform(state, options, event) {
|
|
|
2560
2621
|
label: patch.label ?? `${event.tool} ${event.targetIds.length} objects`,
|
|
2561
2622
|
patch: patch.patch,
|
|
2562
2623
|
targetId: event.activeId ?? undefined,
|
|
2624
|
+
...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
|
|
2625
|
+
? createReprojectProjectionImpact(patch.reprojectIds)
|
|
2626
|
+
: createTransformProjectionImpact(event.targetIds))),
|
|
2563
2627
|
}, {
|
|
2564
2628
|
mergeWithPrevious: event.targetIds.some(id => state.duplicateDrag?.createdIds.includes(id)) === true,
|
|
2565
2629
|
});
|
|
@@ -2595,6 +2659,9 @@ function commitGizmoTransform(state, options, event) {
|
|
|
2595
2659
|
label: patch.label ?? `${event.tool} ${targetId}`,
|
|
2596
2660
|
patch: patch.patch,
|
|
2597
2661
|
targetId,
|
|
2662
|
+
...withProjectionImpact(resolveProjectionImpact(patch, patch.reprojectIds?.length
|
|
2663
|
+
? createReprojectProjectionImpact(patch.reprojectIds)
|
|
2664
|
+
: createTransformProjectionImpact([patch.changedId ?? targetId]))),
|
|
2598
2665
|
}, {
|
|
2599
2666
|
mergeWithPrevious: state.duplicateDrag?.createdIds.includes(targetId) === true,
|
|
2600
2667
|
});
|
|
@@ -2700,29 +2767,193 @@ function formatAssetLabel(asset, fallback) {
|
|
|
2700
2767
|
const label = record?.label ?? record?.displayName ?? record?.name;
|
|
2701
2768
|
return typeof label === 'string' && label.trim() ? label : fallback;
|
|
2702
2769
|
}
|
|
2703
|
-
function
|
|
2704
|
-
|
|
2705
|
-
const result = state.session?.undo();
|
|
2706
|
-
if (!result)
|
|
2707
|
-
return false;
|
|
2708
|
-
rebuildProjection(state, options, result);
|
|
2709
|
-
state.summary = summarizeDocument(options, result.workingDocument, state.session?.getSource());
|
|
2710
|
-
state.status = `Undo ${result.transaction.label}`;
|
|
2711
|
-
return true;
|
|
2770
|
+
function withProjectionImpact(impact) {
|
|
2771
|
+
return impact ? { projectionImpact: impact } : {};
|
|
2712
2772
|
}
|
|
2713
|
-
function
|
|
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;
|
|
2832
|
+
}
|
|
2833
|
+
function applyHistoryOperation(state, options, operation, input = {}) {
|
|
2834
|
+
const origin = input.origin ?? 'user';
|
|
2835
|
+
const waitForProjection = input.waitForProjection ?? 'none';
|
|
2714
2836
|
cancelActiveOperation(state);
|
|
2715
|
-
const result =
|
|
2837
|
+
const result = operation === 'undo'
|
|
2838
|
+
? state.session?.undo()
|
|
2839
|
+
: state.session?.redo();
|
|
2716
2840
|
if (!result)
|
|
2717
|
-
return
|
|
2718
|
-
|
|
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);
|
|
2719
2849
|
state.summary = summarizeDocument(options, result.workingDocument, state.session?.getSource());
|
|
2720
|
-
state.status =
|
|
2721
|
-
return
|
|
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);
|
|
2722
2905
|
}
|
|
2723
2906
|
function rebuildProjection(state, options, result) {
|
|
2724
2907
|
rebuildProjectionFromDocument(state, options, result.workingDocument, result.selection);
|
|
2725
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
|
+
}
|
|
2726
2957
|
function rebuildProjectionFromDocument(state, options, document, selection) {
|
|
2727
2958
|
state.projection?.rebuild(options.documentAdapter.getProjectionNodes(document));
|
|
2728
2959
|
const sanitized = sanitizeSelection(state, options, document, selection);
|