@fps-games/editor 0.1.1-beta.7 → 0.1.1-beta.8
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 +14 -2
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +330 -2
- package/dist/local-editor-harness.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +2 -0
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts +18 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +142 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.d.ts +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js +3 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.d.ts +20 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js +187 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.d.ts +20 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js +188 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/types.d.ts +4 -0
- package/node_modules/@fps-games/editor-babylon/dist/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +4 -4
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +42 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +16 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +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 +502 -6
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +2 -2
- package/node_modules/@fps-games/editor-core/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js +1 -0
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-view-input.d.ts +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-view-input.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts +94 -0
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.js +58 -0
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -0
- package/node_modules/@fps-games/editor-core/package.json +2 -2
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-protocol/package.json +1 -1
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type AuthoringCommandResult, type AuthoringSourceDescriptor, type DocumentCommand, type EditorPlacementHit, type EditorTransformBatchCommit, type EditorTransformCanonicalConstraint, type EditorTransformSnapshot, type EditorTransformSpace, type EditorTransformTool, 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 EditorTransformBatchCommit, type EditorTransformCanonicalConstraint, 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 LocalEditorBrowserUiAssetItem, type LocalEditorBrowserInspectorOptions, type LocalEditorBrowserUiHierarchyItem, type LocalEditorThemeController, type LocalEditorThemeName } from '@fps-games/editor-browser';
|
|
3
|
-
import { type BabylonEditorProjectionImportContext, type BabylonEditorProjectionImportResult, type BabylonEditorProjectionNode, type BabylonSceneCameraPreviewRig, type BabylonEditorGridController, type BabylonEditorSkyOptions, type BabylonRuntimeGlobal } from '@fps-games/editor-babylon';
|
|
3
|
+
import { type BabylonSceneViewMeasurementController, type BabylonEditorProjectionImportContext, type BabylonEditorProjectionImportResult, type BabylonEditorProjectionNode, type BabylonSceneCameraPreviewRig, type BabylonEditorGridController, type BabylonEditorSkyOptions, type BabylonRuntimeGlobal } from '@fps-games/editor-babylon';
|
|
4
4
|
export type LocalEditorHarnessMode = 'game' | 'editor';
|
|
5
5
|
type LocalEditorMaybePromise<T> = T | Promise<T>;
|
|
6
6
|
export interface LocalEditorAuthoringFailureStatus {
|
|
@@ -14,6 +14,15 @@ export interface LocalEditorHarnessAssetItem {
|
|
|
14
14
|
placeable?: boolean;
|
|
15
15
|
raw?: unknown;
|
|
16
16
|
}
|
|
17
|
+
export interface LocalEditorHarnessViewportMeasurementState {
|
|
18
|
+
viewportTools: EditorViewportToolState;
|
|
19
|
+
viewportMeasurement: EditorViewportGroundMeasurement;
|
|
20
|
+
sceneViewMeasurement: Pick<BabylonSceneViewMeasurementController, 'beginAt' | 'previewAt' | 'completeAt' | 'clear'> | null;
|
|
21
|
+
status: string;
|
|
22
|
+
statusTone?: 'default' | 'success' | 'warning' | 'error';
|
|
23
|
+
statusToneStatus: string;
|
|
24
|
+
statusDetails: string;
|
|
25
|
+
}
|
|
17
26
|
export interface LocalEditorHarnessPropertyInput<TDocument = unknown> {
|
|
18
27
|
document: TDocument;
|
|
19
28
|
targetId: string;
|
|
@@ -282,6 +291,9 @@ export interface LocalEditorHarness<TDocument = unknown> {
|
|
|
282
291
|
}
|
|
283
292
|
export declare function createLocalEditorHarness<TDocument, TPatch, TAsset = LocalEditorHarnessAssetItem>(options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>): LocalEditorHarness<TDocument> & LocalEditorThemeController;
|
|
284
293
|
export declare function mergeLocalEditorHarnessInspectorComponentSections<TDocument>(input: LocalEditorHarnessInspectorComponentMergeInput<TDocument>): InspectorObject<TDocument>;
|
|
294
|
+
export declare function applyLocalEditorHarnessViewportMeasurementPointerStart(state: LocalEditorHarnessViewportMeasurementState, event: Pick<PointerEvent, 'clientX' | 'clientY'>): boolean;
|
|
295
|
+
export declare function applyLocalEditorHarnessViewportMeasurementPointerMove(state: LocalEditorHarnessViewportMeasurementState, event: Pick<PointerEvent, 'clientX' | 'clientY'>): boolean;
|
|
296
|
+
export declare function applyLocalEditorHarnessViewportMeasurementPointerEnd(_state: LocalEditorHarnessViewportMeasurementState): boolean;
|
|
285
297
|
export declare function summarizeLocalEditorAuthoringFailure(result: AuthoringCommandResult<unknown>): LocalEditorAuthoringFailureStatus;
|
|
286
298
|
export {};
|
|
287
299
|
//# sourceMappingURL=local-editor-harness.d.ts.map
|
|
@@ -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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createEditorSession, createInspectorRegistry, DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS, createInspectorEditPayload, computeEditorTransformActionTargets, mergeInspectorSections, normalizeEditorTransformConstraint, resolveEditorSelectionCommand, serializedMultiObjectToInspectorObject, serializedObjectToInspectorObject, validateSceneGraphDelete, validateSceneGraphDrop, validateSceneGraphGroupSelection, validateSceneGraphMove, validateSceneGraphRename, } from '@fps-games/editor-core';
|
|
1
|
+
import { createEditorSession, createInspectorRegistry, DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS, DEFAULT_EDITOR_VIEWPORT_TOOL_STATE, createEmptyEditorViewportSpatialOverlayState, cloneEditorViewportToolState, cloneEditorViewportSpatialOverlayState, createInspectorEditPayload, computeEditorTransformActionTargets, mergeInspectorSections, normalizeEditorTransformConstraint, resolveEditorSelectionCommand, serializedMultiObjectToInspectorObject, serializedObjectToInspectorObject, validateSceneGraphDelete, validateSceneGraphDrop, validateSceneGraphGroupSelection, validateSceneGraphMove, validateSceneGraphRename, } from '@fps-games/editor-core';
|
|
2
2
|
import { createLocalEditorBrowserUi, } from '@fps-games/editor-browser';
|
|
3
|
-
import { createBabylonEditorProjection, createBabylonEditorWorld, createBabylonProjectionSelectionController, createBabylonSceneCameraPreviewController, createBabylonSceneViewCameraController, createBabylonSceneViewInputController, createBabylonTransformGizmoController, focusEditorViewportSelection, } from '@fps-games/editor-babylon';
|
|
3
|
+
import { createBabylonEditorProjection, createBabylonEditorWorld, createBabylonProjectionSelectionController, createBabylonSceneCameraPreviewController, createBabylonSceneViewCameraController, createBabylonSceneViewInputController, createBabylonSceneViewMeasurementController, createBabylonSceneViewSpatialOverlayController, createBabylonTransformGizmoController, focusEditorViewportSelection, } from '@fps-games/editor-babylon';
|
|
4
4
|
export function createLocalEditorHarness(options) {
|
|
5
5
|
const root = options.root ?? document.body;
|
|
6
6
|
const state = {
|
|
@@ -21,12 +21,17 @@ export function createLocalEditorHarness(options) {
|
|
|
21
21
|
sceneCameraPreviewEnabled: false,
|
|
22
22
|
sceneViewInput: null,
|
|
23
23
|
sceneViewCamera: null,
|
|
24
|
+
sceneViewMeasurement: null,
|
|
25
|
+
sceneViewSpatialOverlay: null,
|
|
24
26
|
selectionController: null,
|
|
25
27
|
boxSelection: null,
|
|
26
28
|
transformTool: 'select',
|
|
27
29
|
transformSpace: 'world',
|
|
28
30
|
transformConstraint: 'axis',
|
|
29
31
|
transformOperationSettings: cloneTransformOperationSettings(DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS),
|
|
32
|
+
viewportTools: cloneEditorViewportToolState(DEFAULT_EDITOR_VIEWPORT_TOOL_STATE),
|
|
33
|
+
viewportMeasurement: createEmptyViewportMeasurement(),
|
|
34
|
+
viewportSpatialOverlay: createEmptyEditorViewportSpatialOverlayState(),
|
|
30
35
|
duplicateDrag: null,
|
|
31
36
|
armedPlacement: null,
|
|
32
37
|
resizeHandler: null,
|
|
@@ -186,6 +191,26 @@ export function createLocalEditorHarness(options) {
|
|
|
186
191
|
if (executeTransformAction(state, options, action))
|
|
187
192
|
harness.render();
|
|
188
193
|
},
|
|
194
|
+
onViewportViewPresetChange: (preset) => {
|
|
195
|
+
if (setViewportViewPreset(state, preset))
|
|
196
|
+
harness.render();
|
|
197
|
+
},
|
|
198
|
+
onViewportProjectionModeChange: (mode) => {
|
|
199
|
+
if (setViewportProjectionMode(state, mode))
|
|
200
|
+
harness.render();
|
|
201
|
+
},
|
|
202
|
+
onViewportOverlaySettingsChange: (settings) => {
|
|
203
|
+
if (setViewportOverlaySettings(state, settings))
|
|
204
|
+
harness.render();
|
|
205
|
+
},
|
|
206
|
+
onViewportUtilityToolChange: (tool) => {
|
|
207
|
+
if (setViewportUtilityTool(state, tool))
|
|
208
|
+
harness.render();
|
|
209
|
+
},
|
|
210
|
+
onViewportMeasurementClear: () => {
|
|
211
|
+
if (clearViewportMeasurement(state))
|
|
212
|
+
harness.render();
|
|
213
|
+
},
|
|
189
214
|
onSceneCameraPreviewToggle: (enabled) => {
|
|
190
215
|
if (setSceneCameraPreviewEnabled(state, options, enabled))
|
|
191
216
|
harness.render();
|
|
@@ -211,6 +236,9 @@ export function createLocalEditorHarness(options) {
|
|
|
211
236
|
harness = {
|
|
212
237
|
render() {
|
|
213
238
|
syncSceneCameraPreview(state, options);
|
|
239
|
+
syncViewportCameraState(state);
|
|
240
|
+
syncViewportMeasurementState(state);
|
|
241
|
+
syncViewportSpatialOverlay(state);
|
|
214
242
|
ui.update(createUiState(state, options));
|
|
215
243
|
},
|
|
216
244
|
setTheme(theme) {
|
|
@@ -424,6 +452,224 @@ function normalizePositiveStep(value) {
|
|
|
424
452
|
function normalizePlacementMode(mode) {
|
|
425
453
|
return mode === 'ground' || mode === 'surface' ? mode : 'off';
|
|
426
454
|
}
|
|
455
|
+
function normalizeViewportViewPreset(preset) {
|
|
456
|
+
return preset === 'top' || preset === 'front' || preset === 'right' ? preset : 'perspective';
|
|
457
|
+
}
|
|
458
|
+
function normalizeViewportProjectionMode(mode) {
|
|
459
|
+
return mode === 'orthographic' ? 'orthographic' : 'perspective';
|
|
460
|
+
}
|
|
461
|
+
function createEmptyViewportMeasurement() {
|
|
462
|
+
return {
|
|
463
|
+
active: false,
|
|
464
|
+
start: null,
|
|
465
|
+
end: null,
|
|
466
|
+
preview: null,
|
|
467
|
+
distance: null,
|
|
468
|
+
screenStart: null,
|
|
469
|
+
screenEnd: null,
|
|
470
|
+
screenPreview: null,
|
|
471
|
+
label: null,
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
function cloneViewportMeasurement(measurement) {
|
|
475
|
+
return {
|
|
476
|
+
active: measurement.active,
|
|
477
|
+
start: measurement.start ? { ...measurement.start } : null,
|
|
478
|
+
end: measurement.end ? { ...measurement.end } : null,
|
|
479
|
+
preview: measurement.preview ? { ...measurement.preview } : null,
|
|
480
|
+
distance: measurement.distance,
|
|
481
|
+
screenStart: measurement.screenStart ? { ...measurement.screenStart } : null,
|
|
482
|
+
screenEnd: measurement.screenEnd ? { ...measurement.screenEnd } : null,
|
|
483
|
+
screenPreview: measurement.screenPreview ? { ...measurement.screenPreview } : null,
|
|
484
|
+
label: measurement.label ? { ...measurement.label } : null,
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
function setViewportViewPreset(state, preset) {
|
|
488
|
+
if (state.sceneCameraPreviewEnabled) {
|
|
489
|
+
state.status = 'Viewport view unavailable during Scene Camera preview';
|
|
490
|
+
state.statusTone = 'warning';
|
|
491
|
+
state.statusToneStatus = state.status;
|
|
492
|
+
state.statusDetails = 'Disable Scene Camera preview before switching editor viewport views.';
|
|
493
|
+
return true;
|
|
494
|
+
}
|
|
495
|
+
const nextPreset = normalizeViewportViewPreset(preset);
|
|
496
|
+
const target = resolveViewportPresetTarget(state);
|
|
497
|
+
const radius = resolveViewportPresetRadius(state);
|
|
498
|
+
const changed = state.sceneViewCamera?.setViewPreset(nextPreset, { target, radius }) ?? false;
|
|
499
|
+
if (!changed)
|
|
500
|
+
return false;
|
|
501
|
+
const cameraState = state.sceneViewCamera?.getState();
|
|
502
|
+
state.viewportTools = {
|
|
503
|
+
...state.viewportTools,
|
|
504
|
+
viewPreset: cameraState?.viewPreset ?? nextPreset,
|
|
505
|
+
projectionMode: cameraState?.projectionMode ?? (nextPreset === 'perspective' ? 'perspective' : 'orthographic'),
|
|
506
|
+
};
|
|
507
|
+
state.status = `Viewport view: ${state.viewportTools.viewPreset}`;
|
|
508
|
+
state.statusTone = 'default';
|
|
509
|
+
state.statusToneStatus = state.status;
|
|
510
|
+
state.statusDetails = '';
|
|
511
|
+
return true;
|
|
512
|
+
}
|
|
513
|
+
function setViewportProjectionMode(state, mode) {
|
|
514
|
+
if (state.sceneCameraPreviewEnabled) {
|
|
515
|
+
state.status = 'Viewport projection unavailable during Scene Camera preview';
|
|
516
|
+
state.statusTone = 'warning';
|
|
517
|
+
state.statusToneStatus = state.status;
|
|
518
|
+
state.statusDetails = 'Disable Scene Camera preview before switching editor viewport projection.';
|
|
519
|
+
return true;
|
|
520
|
+
}
|
|
521
|
+
const nextMode = normalizeViewportProjectionMode(mode);
|
|
522
|
+
const changed = state.sceneViewCamera?.setProjectionMode(nextMode) ?? false;
|
|
523
|
+
if (!changed)
|
|
524
|
+
return false;
|
|
525
|
+
const cameraState = state.sceneViewCamera?.getState();
|
|
526
|
+
state.viewportTools = {
|
|
527
|
+
...state.viewportTools,
|
|
528
|
+
projectionMode: cameraState?.projectionMode ?? nextMode,
|
|
529
|
+
};
|
|
530
|
+
state.status = `Viewport projection: ${state.viewportTools.projectionMode}`;
|
|
531
|
+
state.statusTone = 'default';
|
|
532
|
+
state.statusToneStatus = state.status;
|
|
533
|
+
state.statusDetails = '';
|
|
534
|
+
return true;
|
|
535
|
+
}
|
|
536
|
+
function setViewportOverlaySettings(state, settings) {
|
|
537
|
+
state.viewportTools = {
|
|
538
|
+
...state.viewportTools,
|
|
539
|
+
overlay: {
|
|
540
|
+
...state.viewportTools.overlay,
|
|
541
|
+
bounds: settings.bounds ?? state.viewportTools.overlay.bounds,
|
|
542
|
+
dimensions: settings.dimensions ?? state.viewportTools.overlay.dimensions,
|
|
543
|
+
edgeLengths: settings.edgeLengths ?? state.viewportTools.overlay.edgeLengths,
|
|
544
|
+
anchor: settings.anchor ?? state.viewportTools.overlay.anchor,
|
|
545
|
+
},
|
|
546
|
+
};
|
|
547
|
+
state.status = 'Viewport overlay settings updated';
|
|
548
|
+
state.statusTone = 'default';
|
|
549
|
+
state.statusToneStatus = state.status;
|
|
550
|
+
state.statusDetails = '';
|
|
551
|
+
return true;
|
|
552
|
+
}
|
|
553
|
+
function setViewportUtilityTool(state, tool) {
|
|
554
|
+
const nextTool = tool === 'measure-distance' ? 'measure-distance' : 'none';
|
|
555
|
+
state.viewportTools = {
|
|
556
|
+
...state.viewportTools,
|
|
557
|
+
activeUtilityTool: nextTool,
|
|
558
|
+
};
|
|
559
|
+
if (nextTool === 'measure-distance') {
|
|
560
|
+
state.viewportMeasurement = {
|
|
561
|
+
...cloneViewportMeasurement(state.viewportMeasurement),
|
|
562
|
+
active: !!state.viewportMeasurement.start && !state.viewportMeasurement.end,
|
|
563
|
+
};
|
|
564
|
+
state.status = 'Measure distance: pick first XZ ground point';
|
|
565
|
+
}
|
|
566
|
+
else {
|
|
567
|
+
const unfinishedMeasurement = state.viewportMeasurement.active
|
|
568
|
+
|| (!!state.viewportMeasurement.start && !state.viewportMeasurement.end);
|
|
569
|
+
state.viewportMeasurement = unfinishedMeasurement
|
|
570
|
+
? state.sceneViewMeasurement?.clear() ?? createEmptyViewportMeasurement()
|
|
571
|
+
: {
|
|
572
|
+
...cloneViewportMeasurement(state.viewportMeasurement),
|
|
573
|
+
active: false,
|
|
574
|
+
preview: null,
|
|
575
|
+
screenPreview: null,
|
|
576
|
+
};
|
|
577
|
+
state.status = 'Viewport utility: none';
|
|
578
|
+
}
|
|
579
|
+
state.statusTone = 'default';
|
|
580
|
+
state.statusToneStatus = state.status;
|
|
581
|
+
state.statusDetails = '';
|
|
582
|
+
return true;
|
|
583
|
+
}
|
|
584
|
+
function clearViewportMeasurement(state) {
|
|
585
|
+
state.viewportMeasurement = state.sceneViewMeasurement?.clear() ?? createEmptyViewportMeasurement();
|
|
586
|
+
state.viewportTools = {
|
|
587
|
+
...state.viewportTools,
|
|
588
|
+
activeUtilityTool: 'none',
|
|
589
|
+
};
|
|
590
|
+
state.status = 'Measurement cleared';
|
|
591
|
+
state.statusTone = 'default';
|
|
592
|
+
state.statusToneStatus = state.status;
|
|
593
|
+
state.statusDetails = '';
|
|
594
|
+
return true;
|
|
595
|
+
}
|
|
596
|
+
export function applyLocalEditorHarnessViewportMeasurementPointerStart(state, event) {
|
|
597
|
+
if (state.viewportTools.activeUtilityTool !== 'measure-distance')
|
|
598
|
+
return false;
|
|
599
|
+
if (!state.viewportMeasurement.start || state.viewportMeasurement.end) {
|
|
600
|
+
const next = state.sceneViewMeasurement?.beginAt(event.clientX, event.clientY) ?? null;
|
|
601
|
+
if (!next)
|
|
602
|
+
return false;
|
|
603
|
+
state.viewportMeasurement = next;
|
|
604
|
+
state.status = 'Measure distance: pick second XZ ground point';
|
|
605
|
+
state.statusTone = 'default';
|
|
606
|
+
state.statusToneStatus = state.status;
|
|
607
|
+
state.statusDetails = '';
|
|
608
|
+
return true;
|
|
609
|
+
}
|
|
610
|
+
const next = state.sceneViewMeasurement?.completeAt(event.clientX, event.clientY) ?? null;
|
|
611
|
+
if (!next)
|
|
612
|
+
return false;
|
|
613
|
+
state.viewportMeasurement = next;
|
|
614
|
+
state.viewportTools = {
|
|
615
|
+
...state.viewportTools,
|
|
616
|
+
activeUtilityTool: 'none',
|
|
617
|
+
};
|
|
618
|
+
state.status = `Measured distance: ${formatViewportMeasurementDistance(next.distance)} units`;
|
|
619
|
+
state.statusTone = 'default';
|
|
620
|
+
state.statusToneStatus = state.status;
|
|
621
|
+
state.statusDetails = next.start && next.end
|
|
622
|
+
? `A (${formatViewportMeasurementDistance(next.start.x)}, ${formatViewportMeasurementDistance(next.start.z)}) · B (${formatViewportMeasurementDistance(next.end.x)}, ${formatViewportMeasurementDistance(next.end.z)})`
|
|
623
|
+
: '';
|
|
624
|
+
return true;
|
|
625
|
+
}
|
|
626
|
+
export function applyLocalEditorHarnessViewportMeasurementPointerMove(state, event) {
|
|
627
|
+
if (state.viewportTools.activeUtilityTool !== 'measure-distance')
|
|
628
|
+
return false;
|
|
629
|
+
const next = state.sceneViewMeasurement?.previewAt(event.clientX, event.clientY) ?? null;
|
|
630
|
+
if (!next)
|
|
631
|
+
return false;
|
|
632
|
+
state.viewportMeasurement = next;
|
|
633
|
+
return true;
|
|
634
|
+
}
|
|
635
|
+
export function applyLocalEditorHarnessViewportMeasurementPointerEnd(_state) {
|
|
636
|
+
return false;
|
|
637
|
+
}
|
|
638
|
+
function handleViewportMeasurementStart(state, event) {
|
|
639
|
+
return applyLocalEditorHarnessViewportMeasurementPointerStart(state, event);
|
|
640
|
+
}
|
|
641
|
+
function handleViewportMeasurementMove(state, event) {
|
|
642
|
+
return applyLocalEditorHarnessViewportMeasurementPointerMove(state, event);
|
|
643
|
+
}
|
|
644
|
+
function handleViewportMeasurementEnd(state) {
|
|
645
|
+
return applyLocalEditorHarnessViewportMeasurementPointerEnd(state);
|
|
646
|
+
}
|
|
647
|
+
function formatViewportMeasurementDistance(value) {
|
|
648
|
+
if (!Number.isFinite(value))
|
|
649
|
+
return '0';
|
|
650
|
+
const rounded = Math.abs(value) < 0.005 ? 0 : value;
|
|
651
|
+
return rounded.toFixed(2).replace(/\.?0+$/, '');
|
|
652
|
+
}
|
|
653
|
+
function resolveViewportPresetTarget(state) {
|
|
654
|
+
const selection = state.session?.getState().selection;
|
|
655
|
+
const activeId = selection?.activeId ?? null;
|
|
656
|
+
if (!activeId || selection?.selectedIds.length !== 1)
|
|
657
|
+
return null;
|
|
658
|
+
const bounds = state.projection?.getSelectionBounds([activeId]) ?? null;
|
|
659
|
+
return bounds?.center ?? null;
|
|
660
|
+
}
|
|
661
|
+
function resolveViewportPresetRadius(state) {
|
|
662
|
+
const selection = state.session?.getState().selection;
|
|
663
|
+
const activeId = selection?.activeId ?? null;
|
|
664
|
+
if (!activeId || selection?.selectedIds.length !== 1)
|
|
665
|
+
return undefined;
|
|
666
|
+
const bounds = state.projection?.getSelectionBounds([activeId]) ?? null;
|
|
667
|
+
if (!bounds)
|
|
668
|
+
return undefined;
|
|
669
|
+
const size = bounds.size;
|
|
670
|
+
const radius = Math.hypot(size.x, size.y, size.z);
|
|
671
|
+
return Number.isFinite(radius) && radius > 0 ? Math.max(radius * 1.5, 2) : undefined;
|
|
672
|
+
}
|
|
427
673
|
function validateTransformActionSelection(state, action) {
|
|
428
674
|
const selection = state.session?.getState().selection;
|
|
429
675
|
const selectedCount = selection?.selectedIds.length ?? 0;
|
|
@@ -520,6 +766,10 @@ async function createEditorWorld(state, options, render) {
|
|
|
520
766
|
render();
|
|
521
767
|
},
|
|
522
768
|
});
|
|
769
|
+
const sceneViewMeasurement = createBabylonSceneViewMeasurementController({
|
|
770
|
+
babylon,
|
|
771
|
+
scene: world.scene,
|
|
772
|
+
});
|
|
523
773
|
const sceneViewInput = createBabylonSceneViewInputController({
|
|
524
774
|
canvas,
|
|
525
775
|
isEnabled: () => state.mode === 'editor',
|
|
@@ -527,7 +777,13 @@ async function createEditorWorld(state, options, render) {
|
|
|
527
777
|
isBoxSelectCandidate: (event) => selectionController.isBoxSelectionCandidate(event),
|
|
528
778
|
isViewPlaneMoveCandidate: (event) => gizmo.isViewPlaneMoveCandidate(event),
|
|
529
779
|
isPlacementCandidate: () => isPlacementArmed(state),
|
|
780
|
+
isMeasurementCandidate: () => state.viewportTools.activeUtilityTool === 'measure-distance',
|
|
530
781
|
onPointerIntentStart(event) {
|
|
782
|
+
if (event.state.intent === 'measurement') {
|
|
783
|
+
if (handleViewportMeasurementStart(state, event.originalEvent))
|
|
784
|
+
render();
|
|
785
|
+
return;
|
|
786
|
+
}
|
|
531
787
|
if (event.state.intent === 'gizmo-drag') {
|
|
532
788
|
gizmo.preparePointerDrag(event.originalEvent);
|
|
533
789
|
return;
|
|
@@ -547,6 +803,11 @@ async function createEditorWorld(state, options, render) {
|
|
|
547
803
|
}
|
|
548
804
|
},
|
|
549
805
|
onPointerIntentMove(event) {
|
|
806
|
+
if (event.state.intent === 'measurement') {
|
|
807
|
+
if (handleViewportMeasurementMove(state, event.originalEvent))
|
|
808
|
+
render();
|
|
809
|
+
return;
|
|
810
|
+
}
|
|
550
811
|
if (event.state.intent === 'placement') {
|
|
551
812
|
if (previewArmedPlacement(state, event.originalEvent))
|
|
552
813
|
render();
|
|
@@ -566,6 +827,11 @@ async function createEditorWorld(state, options, render) {
|
|
|
566
827
|
}
|
|
567
828
|
},
|
|
568
829
|
onPointerIntentEnd(event) {
|
|
830
|
+
if (event.state.intent === 'measurement') {
|
|
831
|
+
if (handleViewportMeasurementEnd(state))
|
|
832
|
+
render();
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
569
835
|
if (event.state.intent === 'placement') {
|
|
570
836
|
if (commitArmedPlacement(state, options, event.originalEvent))
|
|
571
837
|
render();
|
|
@@ -581,6 +847,10 @@ async function createEditorWorld(state, options, render) {
|
|
|
581
847
|
}
|
|
582
848
|
},
|
|
583
849
|
onPointerIntentCancel(event) {
|
|
850
|
+
if (event.state.intent === 'measurement') {
|
|
851
|
+
render();
|
|
852
|
+
return;
|
|
853
|
+
}
|
|
584
854
|
if (event.state.intent === 'placement') {
|
|
585
855
|
state.gizmo?.setPlacementMarker(null);
|
|
586
856
|
render();
|
|
@@ -615,6 +885,10 @@ async function createEditorWorld(state, options, render) {
|
|
|
615
885
|
scene: world.scene,
|
|
616
886
|
editorCamera: world.camera,
|
|
617
887
|
});
|
|
888
|
+
const sceneViewSpatialOverlay = createBabylonSceneViewSpatialOverlayController({
|
|
889
|
+
babylon,
|
|
890
|
+
scene: world.scene,
|
|
891
|
+
});
|
|
618
892
|
const document = state.session?.getState().workingDocument;
|
|
619
893
|
if (document) {
|
|
620
894
|
projection.projectNodes(options.documentAdapter.getProjectionNodes(document));
|
|
@@ -634,6 +908,8 @@ async function createEditorWorld(state, options, render) {
|
|
|
634
908
|
state.sceneCameraPreview = sceneCameraPreview;
|
|
635
909
|
state.sceneViewInput = sceneViewInput;
|
|
636
910
|
state.sceneViewCamera = sceneViewCamera;
|
|
911
|
+
state.sceneViewMeasurement = sceneViewMeasurement;
|
|
912
|
+
state.sceneViewSpatialOverlay = sceneViewSpatialOverlay;
|
|
637
913
|
state.selectionController = selectionController;
|
|
638
914
|
state.resizeHandler = resize;
|
|
639
915
|
}
|
|
@@ -647,11 +923,21 @@ function disposeEditorWorld(state) {
|
|
|
647
923
|
state.sceneCameraPreviewEnabled = false;
|
|
648
924
|
state.sceneViewCamera?.dispose();
|
|
649
925
|
state.sceneViewCamera = null;
|
|
926
|
+
state.sceneViewMeasurement?.dispose();
|
|
927
|
+
state.sceneViewMeasurement = null;
|
|
928
|
+
state.sceneViewSpatialOverlay?.dispose();
|
|
929
|
+
state.sceneViewSpatialOverlay = null;
|
|
650
930
|
state.sceneViewInput?.dispose();
|
|
651
931
|
state.sceneViewInput = null;
|
|
652
932
|
state.selectionController?.dispose();
|
|
653
933
|
state.selectionController = null;
|
|
654
934
|
state.boxSelection = null;
|
|
935
|
+
state.viewportSpatialOverlay = createEmptyEditorViewportSpatialOverlayState();
|
|
936
|
+
state.viewportMeasurement = createEmptyViewportMeasurement();
|
|
937
|
+
state.viewportTools = {
|
|
938
|
+
...state.viewportTools,
|
|
939
|
+
activeUtilityTool: 'none',
|
|
940
|
+
};
|
|
655
941
|
state.gizmo?.dispose();
|
|
656
942
|
state.gizmo = null;
|
|
657
943
|
state.projection?.dispose();
|
|
@@ -1654,6 +1940,11 @@ function cancelActiveOperation(state) {
|
|
|
1654
1940
|
function cancelEditorIntent(state, options) {
|
|
1655
1941
|
if (state.mode !== 'editor')
|
|
1656
1942
|
return false;
|
|
1943
|
+
if (state.viewportTools.activeUtilityTool === 'measure-distance'
|
|
1944
|
+
|| state.viewportMeasurement.start
|
|
1945
|
+
|| state.viewportMeasurement.end) {
|
|
1946
|
+
return clearViewportMeasurement(state);
|
|
1947
|
+
}
|
|
1657
1948
|
const selection = state.session?.getSelection();
|
|
1658
1949
|
if (selection && selection.selectedIds.length > 0) {
|
|
1659
1950
|
return dispatchSelectionCommand(state, options, { type: 'selection.clear', label: 'Clear Selection' });
|
|
@@ -1813,6 +2104,40 @@ function syncSceneCameraPreview(state, options) {
|
|
|
1813
2104
|
controller.setActive(true, rig);
|
|
1814
2105
|
return controller.isActive();
|
|
1815
2106
|
}
|
|
2107
|
+
function syncViewportCameraState(state) {
|
|
2108
|
+
const cameraState = state.sceneViewCamera?.getState();
|
|
2109
|
+
if (!cameraState)
|
|
2110
|
+
return;
|
|
2111
|
+
state.viewportTools = {
|
|
2112
|
+
...state.viewportTools,
|
|
2113
|
+
viewPreset: cameraState.viewPreset,
|
|
2114
|
+
projectionMode: cameraState.projectionMode,
|
|
2115
|
+
};
|
|
2116
|
+
}
|
|
2117
|
+
function syncViewportSpatialOverlay(state) {
|
|
2118
|
+
const overlay = state.sceneViewSpatialOverlay;
|
|
2119
|
+
const selection = state.session?.getState().selection;
|
|
2120
|
+
const activeId = selection?.activeId ?? null;
|
|
2121
|
+
if (state.mode !== 'editor' || !overlay || !activeId || selection?.selectedIds.length !== 1) {
|
|
2122
|
+
state.viewportSpatialOverlay = createEmptyEditorViewportSpatialOverlayState();
|
|
2123
|
+
return;
|
|
2124
|
+
}
|
|
2125
|
+
const bounds = state.projection?.getSelectionBounds([activeId]) ?? null;
|
|
2126
|
+
const anchor = state.projection?.readNodeTransform(activeId)?.position ?? bounds?.center ?? null;
|
|
2127
|
+
state.viewportSpatialOverlay = overlay.compute({
|
|
2128
|
+
nodeId: activeId,
|
|
2129
|
+
bounds,
|
|
2130
|
+
anchor,
|
|
2131
|
+
settings: state.viewportTools.overlay,
|
|
2132
|
+
});
|
|
2133
|
+
}
|
|
2134
|
+
function syncViewportMeasurementState(state) {
|
|
2135
|
+
if (state.mode !== 'editor')
|
|
2136
|
+
return;
|
|
2137
|
+
const measurement = state.sceneViewMeasurement?.getState();
|
|
2138
|
+
if (measurement)
|
|
2139
|
+
state.viewportMeasurement = measurement;
|
|
2140
|
+
}
|
|
1816
2141
|
function hasSceneCameraPreviewRig(state, options) {
|
|
1817
2142
|
const document = state.session?.getState().workingDocument ?? null;
|
|
1818
2143
|
return !!document && !!options.documentAdapter.getSceneCameraPreviewRig?.(document);
|
|
@@ -1881,6 +2206,9 @@ function createUiState(state, options) {
|
|
|
1881
2206
|
canAlign: selectedIds.length >= 2 && activeId != null,
|
|
1882
2207
|
canDistribute: selectedIds.length >= 3,
|
|
1883
2208
|
},
|
|
2209
|
+
viewportTools: cloneEditorViewportToolState(state.viewportTools),
|
|
2210
|
+
viewportMeasurement: cloneViewportMeasurement(state.viewportMeasurement),
|
|
2211
|
+
viewportSpatialOverlay: cloneEditorViewportSpatialOverlayState(state.viewportSpatialOverlay),
|
|
1884
2212
|
sceneCameraPreview: {
|
|
1885
2213
|
enabled: state.sceneCameraPreviewEnabled,
|
|
1886
2214
|
available: hasSceneCameraPreviewRig(state, options),
|