@fps-games/editor 0.2.0-beta.2 → 0.2.0-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/agent-bridge/capabilities/assets.js.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.js +26 -17
- package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js +61 -13
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/selection.js +8 -5
- package/dist/agent-bridge/capabilities/selection.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js +11 -2
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/transform.js +6 -4
- package/dist/agent-bridge/capabilities/transform.js.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.js +79 -47
- package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
- package/dist/agent-bridge/capability-sources.js.map +1 -1
- package/dist/agent-bridge/diagnostics.js.map +1 -1
- package/dist/agent-bridge/index.js.map +1 -1
- package/dist/agent-bridge/register.js.map +1 -1
- package/dist/agent-bridge/shared.d.ts +8 -3
- package/dist/agent-bridge/shared.d.ts.map +1 -1
- package/dist/agent-bridge/shared.js +32 -0
- package/dist/agent-bridge/shared.js.map +1 -1
- package/dist/agent-bridge/source-types.js.map +1 -1
- package/dist/authoring-apply.js.map +1 -1
- package/dist/build-info.json +48 -48
- package/dist/editor-plugin-agent-capabilities.js.map +1 -1
- package/dist/editor-plugin-hierarchy-command.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
- package/dist/local-editor-agent-actions.d.ts.map +1 -1
- package/dist/local-editor-agent-actions.js +9 -5
- package/dist/local-editor-agent-actions.js.map +1 -1
- package/dist/local-editor-agent-bridge-transport.js.map +1 -1
- package/dist/local-editor-agent-bridge.js.map +1 -1
- package/dist/local-editor-agent-context.js.map +1 -1
- package/dist/local-editor-harness.d.ts +57 -1
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +393 -41
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-marker-graph.js.map +1 -1
- package/dist/local-editor-performance-stats.js.map +1 -1
- package/dist/local-editor-plugin-inspector.js.map +1 -1
- package/dist/local-editor-plugin-panel.js.map +1 -1
- package/dist/local-editor-scene-render-scheduler.js.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
- package/dist/playable-babylon-facade.js.map +1 -1
- package/dist/playable-babylon-outline-inspector.js.map +1 -1
- package/dist/playable-babylon-outline-runtime.js.map +1 -1
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +36 -0
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-rendering.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +49 -2
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-runtime.js.map +1 -1
- package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
- package/dist/playable-sdk-vite.js.map +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/static-shadow-cpu-worker.js.map +1 -1
- package/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
- package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
- 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.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- 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 +6 -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-input-router.d.ts +3 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
- 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-plugin-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
- 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-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.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 +196 -11
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +4 -4
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
- 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 +18 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.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/asset-bridge/drop-cache.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
- 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 +5 -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/host-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
- 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.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/package.json +3 -3
- package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +5 -5
- package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +27 -19
|
@@ -5,6 +5,7 @@ import { resolveLocalEditorHierarchyAutoScroll, } from './local-editor-ui-hierar
|
|
|
5
5
|
import { clearLocalEditorStructuredDragSession, createLocalEditorStructuredDragSession, hasLocalEditorStructuredDragSessionFeedback, } from './local-editor-ui-structured-drag-session.js';
|
|
6
6
|
import { renderLocalEditorHierarchyPanel, syncLocalEditorHierarchyDropPreview, } from './local-editor-ui-hierarchy-view.js';
|
|
7
7
|
import { createLocalEditorActiveHierarchyScope, } from './local-editor-ui-hierarchy-scope.js';
|
|
8
|
+
import { createLocalEditorHierarchyProjection, isLocalEditorHierarchyProjectionCurrent, } from './local-editor-ui-hierarchy-projection.js';
|
|
8
9
|
import { resolveLocalEditorHierarchyCommandAdapter, } from './local-editor-ui-hierarchy-command-adapter.js';
|
|
9
10
|
import { createLocalEditorViewportRevealController, } from './local-editor-ui-dock-panel.js';
|
|
10
11
|
import { createLocalEditorHierarchyAttachDialog, } from './local-editor-ui-hierarchy-attach-dialog.js';
|
|
@@ -14,6 +15,11 @@ export function resolveLocalEditorHierarchyCreateMarkerParentId(activeNode) {
|
|
|
14
15
|
? activeNode.id
|
|
15
16
|
: null;
|
|
16
17
|
}
|
|
18
|
+
export function resolveLocalEditorHierarchyToolbarActiveId(scope) {
|
|
19
|
+
return scope.activeId && scope.nodes.some(node => node.id === scope.activeId)
|
|
20
|
+
? scope.activeId
|
|
21
|
+
: null;
|
|
22
|
+
}
|
|
17
23
|
export function createLocalEditorHierarchyController(options) {
|
|
18
24
|
const { doc, panel, callbacks, inputRouter, contextMenu, getState, requestRender } = options;
|
|
19
25
|
const collapsedIdsByScope = new Map();
|
|
@@ -29,6 +35,10 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
29
35
|
let currentModel = null;
|
|
30
36
|
let lastRenderedActiveId;
|
|
31
37
|
let lastRenderedScopeId;
|
|
38
|
+
let lastRenderedDocumentRevision = null;
|
|
39
|
+
let lastRenderedProjectionRevision = null;
|
|
40
|
+
let lastRenderedCommandPrecondition = null;
|
|
41
|
+
let attachDialogPrecondition = null;
|
|
32
42
|
let pendingHierarchyScrollId = null;
|
|
33
43
|
let hierarchySelectionAnchorId = null;
|
|
34
44
|
const attachDialog = createLocalEditorHierarchyAttachDialog({
|
|
@@ -48,7 +58,23 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
48
58
|
return currentModel;
|
|
49
59
|
};
|
|
50
60
|
const render = (state) => {
|
|
51
|
-
const
|
|
61
|
+
const rawScope = resolveScope(state);
|
|
62
|
+
const projection = isLocalEditorHierarchyProjectionCurrent(state.hierarchyProjection, rawScope)
|
|
63
|
+
? state.hierarchyProjection
|
|
64
|
+
: createLocalEditorHierarchyProjection(rawScope);
|
|
65
|
+
const scope = {
|
|
66
|
+
...rawScope,
|
|
67
|
+
nodes: projection.nodes,
|
|
68
|
+
selectedIds: projection.selectedIds,
|
|
69
|
+
activeId: projection.activeId,
|
|
70
|
+
readonly: rawScope.readonly || !projection.interactive,
|
|
71
|
+
commandSurface: projection.interactive ? rawScope.commandSurface : 'readonly',
|
|
72
|
+
};
|
|
73
|
+
const projectionChanged = lastRenderedScopeId != null && (scope.scopeId !== lastRenderedScopeId
|
|
74
|
+
|| scope.documentRevision !== lastRenderedDocumentRevision
|
|
75
|
+
|| scope.projectionRevision !== lastRenderedProjectionRevision);
|
|
76
|
+
if (projectionChanged)
|
|
77
|
+
resetHierarchyTransientState();
|
|
52
78
|
const commandAdapter = resolveHierarchyCommandAdapter(scope);
|
|
53
79
|
if (hierarchyRename && !scope.nodes.some(item => item.id === hierarchyRename?.id))
|
|
54
80
|
hierarchyRename = null;
|
|
@@ -84,6 +110,9 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
84
110
|
}
|
|
85
111
|
lastRenderedActiveId = scope.activeId;
|
|
86
112
|
lastRenderedScopeId = scope.scopeId;
|
|
113
|
+
lastRenderedDocumentRevision = scope.documentRevision;
|
|
114
|
+
lastRenderedProjectionRevision = scope.projectionRevision;
|
|
115
|
+
lastRenderedCommandPrecondition = createHierarchyCommandPrecondition(scope);
|
|
87
116
|
};
|
|
88
117
|
const onClick = (event) => {
|
|
89
118
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
@@ -111,16 +140,22 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
111
140
|
const createGroupButton = target?.closest('[data-editor-hierarchy-create-group]');
|
|
112
141
|
if (createGroupButton) {
|
|
113
142
|
const state = getState();
|
|
114
|
-
if (!state
|
|
143
|
+
if (!state)
|
|
144
|
+
return;
|
|
145
|
+
const scope = resolveScope(state);
|
|
146
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface !== 'scene-graph')
|
|
115
147
|
return;
|
|
116
|
-
const parentId =
|
|
148
|
+
const parentId = resolveLocalEditorHierarchyToolbarActiveId(scope);
|
|
117
149
|
if (parentId)
|
|
118
150
|
expandNode(parentId);
|
|
151
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
152
|
+
if (!precondition)
|
|
153
|
+
return;
|
|
119
154
|
callbacks.onSceneGraphCreateGroup?.({
|
|
120
155
|
parentId,
|
|
121
156
|
activeId: parentId,
|
|
122
157
|
name: 'Empty',
|
|
123
|
-
});
|
|
158
|
+
}, precondition);
|
|
124
159
|
return;
|
|
125
160
|
}
|
|
126
161
|
const createMarkerButton = target?.closest('[data-editor-hierarchy-create-marker]');
|
|
@@ -185,6 +220,9 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
185
220
|
hierarchyRename = {
|
|
186
221
|
id: input.dataset.editorHierarchyRenameInput,
|
|
187
222
|
value: input.value,
|
|
223
|
+
initialValue: hierarchyRename.initialValue,
|
|
224
|
+
commandTargetId: hierarchyRename.commandTargetId,
|
|
225
|
+
precondition: hierarchyRename.precondition,
|
|
188
226
|
};
|
|
189
227
|
};
|
|
190
228
|
const onKeyDown = (event) => {
|
|
@@ -251,7 +289,12 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
251
289
|
event.preventDefault();
|
|
252
290
|
return;
|
|
253
291
|
}
|
|
254
|
-
|
|
292
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
293
|
+
if (!precondition) {
|
|
294
|
+
event.preventDefault();
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
hierarchyDrag = { id, precondition };
|
|
255
298
|
const draggedIds = resolveDraggedIds(state, model, id);
|
|
256
299
|
event.dataTransfer?.setData('text/plain', draggedIds.join(','));
|
|
257
300
|
if (event.dataTransfer)
|
|
@@ -329,8 +372,9 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
329
372
|
const onDrop = (event) => {
|
|
330
373
|
const state = getState();
|
|
331
374
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
375
|
+
const activeDrag = hierarchyDrag;
|
|
332
376
|
const draggedIds = readDraggedIds(event);
|
|
333
|
-
if (!state || draggedIds.length === 0) {
|
|
377
|
+
if (!state || !activeDrag || draggedIds.length === 0) {
|
|
334
378
|
clearHierarchyDragFeedbackAndRender();
|
|
335
379
|
return;
|
|
336
380
|
}
|
|
@@ -350,6 +394,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
350
394
|
return;
|
|
351
395
|
}
|
|
352
396
|
event.preventDefault();
|
|
397
|
+
const dropPrecondition = activeDrag.precondition;
|
|
353
398
|
hierarchyDrag = null;
|
|
354
399
|
clearHierarchyDragFeedback();
|
|
355
400
|
if (operation.slot.placement === 'root') {
|
|
@@ -357,7 +402,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
357
402
|
requestRender();
|
|
358
403
|
return;
|
|
359
404
|
}
|
|
360
|
-
submitResolvedRootDrop(operation.resolution);
|
|
405
|
+
submitResolvedRootDrop(operation.resolution, dropPrecondition);
|
|
361
406
|
return;
|
|
362
407
|
}
|
|
363
408
|
const targetId = operation.slot.targetId;
|
|
@@ -371,11 +416,13 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
371
416
|
requestRender();
|
|
372
417
|
return;
|
|
373
418
|
}
|
|
374
|
-
|
|
419
|
+
if (dropPrecondition) {
|
|
420
|
+
submitPrefabNodeReparent(scope, operation.resolution.draggedIds[0] ?? draggedIds[0], targetId, dropPrecondition);
|
|
421
|
+
}
|
|
375
422
|
requestRender();
|
|
376
423
|
return;
|
|
377
424
|
}
|
|
378
|
-
submitResolvedDrop(operation.resolution, targetId, operation.slot.placement, draggedIds);
|
|
425
|
+
submitResolvedDrop(operation.resolution, targetId, operation.slot.placement, draggedIds, dropPrecondition);
|
|
379
426
|
};
|
|
380
427
|
panel.addEventListener('click', onClick);
|
|
381
428
|
panel.addEventListener('contextmenu', onContextMenu);
|
|
@@ -436,7 +483,10 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
436
483
|
if (!action)
|
|
437
484
|
return false;
|
|
438
485
|
event.preventDefault();
|
|
439
|
-
|
|
486
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
487
|
+
if (!precondition)
|
|
488
|
+
return false;
|
|
489
|
+
submitHierarchyAction(action, precondition);
|
|
440
490
|
return true;
|
|
441
491
|
}
|
|
442
492
|
function handleEditShortcut(event) {
|
|
@@ -473,14 +523,33 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
473
523
|
if (!action)
|
|
474
524
|
return false;
|
|
475
525
|
event.preventDefault();
|
|
476
|
-
|
|
526
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
527
|
+
if (!precondition)
|
|
528
|
+
return false;
|
|
529
|
+
submitHierarchyAction(action, precondition);
|
|
477
530
|
return true;
|
|
478
531
|
}
|
|
479
532
|
function isComposingInputEvent(event) {
|
|
480
533
|
return event.isComposing === true;
|
|
481
534
|
}
|
|
482
535
|
function resolveScope(state) {
|
|
483
|
-
|
|
536
|
+
const scope = createLocalEditorActiveHierarchyScope(state);
|
|
537
|
+
const projection = isLocalEditorHierarchyProjectionCurrent(state.hierarchyProjection, scope)
|
|
538
|
+
? state.hierarchyProjection
|
|
539
|
+
: createLocalEditorHierarchyProjection(scope);
|
|
540
|
+
return {
|
|
541
|
+
...scope,
|
|
542
|
+
nodes: projection.nodes,
|
|
543
|
+
selectedIds: projection.selectedIds,
|
|
544
|
+
activeId: projection.activeId,
|
|
545
|
+
readonly: scope.readonly || !projection.interactive,
|
|
546
|
+
commandSurface: projection.interactive ? scope.commandSurface : 'readonly',
|
|
547
|
+
};
|
|
548
|
+
}
|
|
549
|
+
function hasCurrentHierarchyProjection(scope) {
|
|
550
|
+
return scope.scopeId === lastRenderedScopeId
|
|
551
|
+
&& scope.documentRevision === lastRenderedDocumentRevision
|
|
552
|
+
&& scope.projectionRevision === lastRenderedProjectionRevision;
|
|
484
553
|
}
|
|
485
554
|
function resolveScopeForCurrentState() {
|
|
486
555
|
const state = getState();
|
|
@@ -505,7 +574,10 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
505
574
|
}
|
|
506
575
|
function selectHierarchyItemFromClick(id, event) {
|
|
507
576
|
const scope = resolveScopeForCurrentState();
|
|
508
|
-
|
|
577
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
578
|
+
if (!scope || !precondition)
|
|
579
|
+
return;
|
|
580
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface === 'readonly')
|
|
509
581
|
return;
|
|
510
582
|
const toggle = event.metaKey || event.ctrlKey;
|
|
511
583
|
const range = event.shiftKey && !toggle;
|
|
@@ -514,10 +586,10 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
514
586
|
return;
|
|
515
587
|
}
|
|
516
588
|
hierarchySelectionAnchorId = id;
|
|
517
|
-
if (
|
|
518
|
-
callbacks.onSelectPrefabStageItem?.(id);
|
|
589
|
+
if (precondition.scopeId.startsWith('prefab-stage:'))
|
|
590
|
+
callbacks.onSelectPrefabStageItem?.(id, precondition);
|
|
519
591
|
else
|
|
520
|
-
callbacks.onSelectHierarchyItem?.({ id, additive: false, toggle });
|
|
592
|
+
callbacks.onSelectHierarchyItem?.({ id, additive: false, toggle }, precondition);
|
|
521
593
|
}
|
|
522
594
|
function toggleHierarchyItemEnabled(id, toggle) {
|
|
523
595
|
if (toggle.dataset.editorHierarchyEnabledToggleDisabled === 'true')
|
|
@@ -525,7 +597,8 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
525
597
|
const state = getState();
|
|
526
598
|
if (!state)
|
|
527
599
|
return;
|
|
528
|
-
|
|
600
|
+
const scope = resolveScope(state);
|
|
601
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface !== 'scene-graph')
|
|
529
602
|
return;
|
|
530
603
|
const node = getModel(state).getNode(id);
|
|
531
604
|
if (!node || !canLocalEditorHierarchyNodeToggleEnabled(node))
|
|
@@ -533,10 +606,13 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
533
606
|
const directEnabled = typeof node.item.directEnabled === 'boolean'
|
|
534
607
|
? node.item.directEnabled
|
|
535
608
|
: node.item.enabled;
|
|
609
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
610
|
+
if (!precondition)
|
|
611
|
+
return;
|
|
536
612
|
callbacks.onHierarchyItemEnabledChange?.({
|
|
537
613
|
id,
|
|
538
614
|
enabled: directEnabled === false,
|
|
539
|
-
});
|
|
615
|
+
}, precondition);
|
|
540
616
|
}
|
|
541
617
|
function selectHierarchyVisibleRange(targetId) {
|
|
542
618
|
const state = getState();
|
|
@@ -548,7 +624,10 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
548
624
|
const scope = resolveScope(state);
|
|
549
625
|
if (scope.kind !== 'scene') {
|
|
550
626
|
hierarchySelectionAnchorId = targetId;
|
|
551
|
-
|
|
627
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
628
|
+
if (!precondition)
|
|
629
|
+
return;
|
|
630
|
+
callbacks.onSelectPrefabStageItem?.(targetId, precondition);
|
|
552
631
|
return;
|
|
553
632
|
}
|
|
554
633
|
const model = getModel(state);
|
|
@@ -581,13 +660,21 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
581
660
|
.filter(Boolean) ?? [];
|
|
582
661
|
return dataTransferIds.length > 0 ? dataTransferIds : hierarchyDrag?.id ? [hierarchyDrag.id] : [];
|
|
583
662
|
}
|
|
584
|
-
function submitResolvedRootDrop(resolved) {
|
|
663
|
+
function submitResolvedRootDrop(resolved, precondition) {
|
|
664
|
+
const state = getState();
|
|
665
|
+
if (!state)
|
|
666
|
+
return;
|
|
667
|
+
const scope = resolveScope(state);
|
|
668
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface !== 'scene-graph')
|
|
669
|
+
return;
|
|
670
|
+
if (!precondition)
|
|
671
|
+
return;
|
|
585
672
|
callbacks.onSceneGraphMove?.({
|
|
586
673
|
ids: resolved.draggedIds,
|
|
587
674
|
targetId: null,
|
|
588
675
|
placement: 'root',
|
|
589
676
|
preserveWorldTransform: true,
|
|
590
|
-
});
|
|
677
|
+
}, precondition);
|
|
591
678
|
requestRender();
|
|
592
679
|
}
|
|
593
680
|
function toggleExpanded(id) {
|
|
@@ -671,6 +758,18 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
671
758
|
stopHierarchyAutoScroll();
|
|
672
759
|
clearLocalEditorStructuredDragSession(hierarchyDragSession);
|
|
673
760
|
}
|
|
761
|
+
function resetHierarchyTransientState() {
|
|
762
|
+
hierarchyRename = null;
|
|
763
|
+
hierarchyDrag = null;
|
|
764
|
+
hierarchySelectionAnchorId = null;
|
|
765
|
+
hierarchyClipboard = null;
|
|
766
|
+
hierarchySearchComposing = false;
|
|
767
|
+
pendingHierarchyScrollId = null;
|
|
768
|
+
attachDialogPrecondition = null;
|
|
769
|
+
clearHierarchyDragFeedback();
|
|
770
|
+
attachDialog.close();
|
|
771
|
+
contextMenu.close();
|
|
772
|
+
}
|
|
674
773
|
function hasHierarchyDragFeedback() {
|
|
675
774
|
return hierarchyDrop !== null
|
|
676
775
|
|| hierarchyRootDrop
|
|
@@ -788,58 +887,71 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
788
887
|
function commitHierarchyRename(id, value) {
|
|
789
888
|
if (!hierarchyRename || hierarchyRename.id !== id)
|
|
790
889
|
return;
|
|
890
|
+
const precondition = hierarchyRename.precondition;
|
|
891
|
+
const initialValue = hierarchyRename.initialValue;
|
|
892
|
+
const commandTargetId = hierarchyRename.commandTargetId;
|
|
791
893
|
const trimmed = value.trim();
|
|
792
894
|
const state = getState();
|
|
793
895
|
const scope = state ? resolveScope(state) : null;
|
|
794
|
-
const item = scope?.nodes.find(candidate => candidate.id === id) ?? null;
|
|
795
896
|
hierarchyRename = null;
|
|
796
|
-
if (trimmed &&
|
|
797
|
-
if (
|
|
798
|
-
callbacks.onSceneGraphRename?.({ id, name: trimmed });
|
|
897
|
+
if (trimmed && trimmed !== initialValue) {
|
|
898
|
+
if (!precondition.scopeId.startsWith('prefab-stage:')) {
|
|
899
|
+
callbacks.onSceneGraphRename?.({ id, name: trimmed }, precondition);
|
|
799
900
|
}
|
|
800
|
-
else if (scope
|
|
801
|
-
callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.rename',
|
|
901
|
+
else if (scope) {
|
|
902
|
+
callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.rename', commandTargetId, {
|
|
802
903
|
value: trimmed,
|
|
803
|
-
}));
|
|
904
|
+
}, precondition));
|
|
804
905
|
}
|
|
805
906
|
}
|
|
806
907
|
requestRender();
|
|
807
908
|
}
|
|
808
909
|
function openHierarchyContextMenu(event) {
|
|
910
|
+
const target = inputRouter.claimContextMenu(event);
|
|
809
911
|
const hadHierarchyFeedback = hasHierarchyDragFeedback();
|
|
810
912
|
hierarchyDrag = null;
|
|
811
913
|
clearHierarchyDragFeedback();
|
|
812
|
-
|
|
813
|
-
if (!target || inputRouter.isEditableTarget(target)) {
|
|
914
|
+
if (!target) {
|
|
814
915
|
if (hadHierarchyFeedback)
|
|
815
916
|
requestRender();
|
|
816
917
|
return;
|
|
817
918
|
}
|
|
818
|
-
const
|
|
819
|
-
if (!
|
|
919
|
+
const initialState = getState();
|
|
920
|
+
if (!initialState || initialState.mode !== 'editor' || initialState.busy) {
|
|
820
921
|
if (hadHierarchyFeedback)
|
|
821
922
|
requestRender();
|
|
822
923
|
return;
|
|
823
924
|
}
|
|
824
|
-
const
|
|
825
|
-
const
|
|
826
|
-
|
|
925
|
+
const initialScope = resolveScope(initialState);
|
|
926
|
+
const initialPrecondition = lastRenderedCommandPrecondition;
|
|
927
|
+
if (!initialPrecondition)
|
|
928
|
+
return;
|
|
929
|
+
const initialModel = getModel(initialState);
|
|
827
930
|
const hierarchyButton = target.closest('[data-editor-hierarchy-id]');
|
|
828
|
-
const
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
931
|
+
const requestedNodeId = hierarchyButton?.dataset.editorHierarchyId;
|
|
932
|
+
const initialNode = initialModel.getNode(requestedNodeId);
|
|
933
|
+
if (initialNode && !initialScope.selectedIds.includes(initialNode.id) && isLocalEditorHierarchyNodeSelectable(initialNode)) {
|
|
934
|
+
hierarchySelectionAnchorId = initialNode.id;
|
|
935
|
+
if (initialScope.kind === 'prefab-stage')
|
|
936
|
+
callbacks.onSelectPrefabStageItem?.(initialNode.id, initialPrecondition);
|
|
833
937
|
else
|
|
834
|
-
callbacks.onSelectHierarchyItem?.({ id:
|
|
938
|
+
callbacks.onSelectHierarchyItem?.({ id: initialNode.id, additive: false, toggle: false }, initialPrecondition);
|
|
835
939
|
}
|
|
940
|
+
const state = getState();
|
|
941
|
+
if (!state || state.mode !== 'editor' || state.busy)
|
|
942
|
+
return;
|
|
943
|
+
const scope = resolveScope(state);
|
|
944
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
945
|
+
if (!precondition)
|
|
946
|
+
return;
|
|
947
|
+
const commandAdapter = resolveHierarchyCommandAdapter(scope);
|
|
948
|
+
const model = getModel(state);
|
|
949
|
+
const node = model.getNode(requestedNodeId);
|
|
836
950
|
if (!commandAdapter.canOpenContextMenu) {
|
|
837
951
|
if (hadHierarchyFeedback)
|
|
838
952
|
requestRender();
|
|
839
953
|
return;
|
|
840
954
|
}
|
|
841
|
-
event.preventDefault();
|
|
842
|
-
event.stopPropagation();
|
|
843
955
|
options.onBeforeOpenContextMenu?.();
|
|
844
956
|
const menuState = createScopedHierarchyMenuState(state, scope);
|
|
845
957
|
const menu = node
|
|
@@ -873,7 +985,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
873
985
|
onAction(item) {
|
|
874
986
|
const action = menu.actions.get(item.id);
|
|
875
987
|
if (action)
|
|
876
|
-
submitHierarchyAction(action);
|
|
988
|
+
submitHierarchyAction(action, precondition);
|
|
877
989
|
},
|
|
878
990
|
});
|
|
879
991
|
if (hadHierarchyFeedback)
|
|
@@ -883,21 +995,34 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
883
995
|
const state = getState();
|
|
884
996
|
if (!state || state.mode !== 'editor' || state.busy)
|
|
885
997
|
return;
|
|
998
|
+
const scope = resolveScope(state);
|
|
999
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface !== 'scene-graph')
|
|
1000
|
+
return;
|
|
1001
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
1002
|
+
if (!precondition)
|
|
1003
|
+
return;
|
|
886
1004
|
const model = getModel(state);
|
|
887
|
-
const
|
|
1005
|
+
const toolbarActiveId = resolveLocalEditorHierarchyToolbarActiveId(scope);
|
|
1006
|
+
const activeNode = model.getNode(toolbarActiveId);
|
|
888
1007
|
const parentId = resolveLocalEditorHierarchyCreateMarkerParentId(activeNode);
|
|
889
1008
|
if (parentId)
|
|
890
1009
|
expandNode(parentId);
|
|
891
1010
|
callbacks.onSceneGraphCreateMarker?.({
|
|
892
1011
|
parentId,
|
|
893
|
-
activeId: parentId ??
|
|
1012
|
+
activeId: parentId ?? toolbarActiveId,
|
|
894
1013
|
name: 'Marker',
|
|
895
|
-
});
|
|
1014
|
+
}, precondition);
|
|
896
1015
|
requestRender();
|
|
897
1016
|
}
|
|
898
|
-
function submitHierarchyAction(action) {
|
|
1017
|
+
function submitHierarchyAction(action, precondition) {
|
|
1018
|
+
const state = getState();
|
|
1019
|
+
if (!state || !precondition)
|
|
1020
|
+
return;
|
|
1021
|
+
const scope = resolveScope(state);
|
|
1022
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface === 'readonly')
|
|
1023
|
+
return;
|
|
899
1024
|
if (action.kind === 'begin-rename') {
|
|
900
|
-
beginHierarchyRename(action.targetId);
|
|
1025
|
+
beginHierarchyRename(action.targetId, precondition);
|
|
901
1026
|
return;
|
|
902
1027
|
}
|
|
903
1028
|
if (action.kind === 'copy-selection') {
|
|
@@ -910,18 +1035,18 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
910
1035
|
return;
|
|
911
1036
|
}
|
|
912
1037
|
if (action.kind === 'group-selection') {
|
|
913
|
-
callbacks.onSceneGraphGroupSelection?.(action.intent);
|
|
1038
|
+
callbacks.onSceneGraphGroupSelection?.(action.intent, precondition);
|
|
914
1039
|
return;
|
|
915
1040
|
}
|
|
916
1041
|
if (action.kind === 'open-attach-picker') {
|
|
917
|
-
openAttachPicker(action.targetIds, action.activeId);
|
|
1042
|
+
openAttachPicker(action.targetIds, action.activeId, precondition);
|
|
918
1043
|
return;
|
|
919
1044
|
}
|
|
920
1045
|
if (action.kind === 'selection-command') {
|
|
921
|
-
submitSelectionCommand(action.command);
|
|
1046
|
+
submitSelectionCommand(action.command, state, precondition);
|
|
922
1047
|
return;
|
|
923
1048
|
}
|
|
924
|
-
submitHierarchyContextAction(action.action);
|
|
1049
|
+
submitHierarchyContextAction(action.action, precondition);
|
|
925
1050
|
}
|
|
926
1051
|
function createScopedHierarchyMenuState(state, scope) {
|
|
927
1052
|
return {
|
|
@@ -931,17 +1056,23 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
931
1056
|
activeId: scope.activeId,
|
|
932
1057
|
};
|
|
933
1058
|
}
|
|
934
|
-
function submitSelectionCommand(command, state = getState() ?? undefined) {
|
|
935
|
-
if (state
|
|
1059
|
+
function submitSelectionCommand(command, state = getState() ?? undefined, precondition = lastRenderedCommandPrecondition) {
|
|
1060
|
+
if (!state)
|
|
1061
|
+
return;
|
|
1062
|
+
const scope = resolveScope(state);
|
|
1063
|
+
if (!precondition)
|
|
1064
|
+
return;
|
|
1065
|
+
if (hasCurrentHierarchyProjection(scope) && scope.kind !== 'scene')
|
|
936
1066
|
return;
|
|
937
|
-
callbacks.onSelectionCommand?.(command);
|
|
1067
|
+
callbacks.onSelectionCommand?.(command, precondition);
|
|
938
1068
|
}
|
|
939
|
-
function openAttachPicker(targetIds, activeId) {
|
|
1069
|
+
function openAttachPicker(targetIds, activeId, precondition = lastRenderedCommandPrecondition) {
|
|
940
1070
|
const state = getState();
|
|
941
|
-
if (!state || state.mode !== 'editor' || state.busy || targetIds.length === 0)
|
|
1071
|
+
if (!state || !precondition || state.mode !== 'editor' || state.busy || targetIds.length === 0)
|
|
942
1072
|
return;
|
|
943
1073
|
if (!resolveHierarchyCommandAdapter(resolveScope(state)).menuCapabilities.hasMoveHandler)
|
|
944
1074
|
return;
|
|
1075
|
+
attachDialogPrecondition = precondition;
|
|
945
1076
|
attachDialog.open({
|
|
946
1077
|
model: getModel(state),
|
|
947
1078
|
targetIds,
|
|
@@ -950,11 +1081,14 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
950
1081
|
}
|
|
951
1082
|
function submitAttachSelection(selection) {
|
|
952
1083
|
const state = getState();
|
|
953
|
-
|
|
1084
|
+
const precondition = attachDialogPrecondition;
|
|
1085
|
+
attachDialogPrecondition = null;
|
|
1086
|
+
if (!state || !precondition || state.mode !== 'editor' || state.busy)
|
|
954
1087
|
return { ok: false, reason: 'Editor is not ready.' };
|
|
955
1088
|
const scope = resolveScope(state);
|
|
956
|
-
if (scope.commandSurface === 'prefab-composition')
|
|
957
|
-
return submitPrefabAttachSelection(scope, selection);
|
|
1089
|
+
if (scope.commandSurface === 'prefab-composition') {
|
|
1090
|
+
return submitPrefabAttachSelection(scope, selection, precondition);
|
|
1091
|
+
}
|
|
958
1092
|
if (scope.commandSurface !== 'scene-graph')
|
|
959
1093
|
return { ok: false, reason: 'Hierarchy move pipeline is not connected yet.' };
|
|
960
1094
|
const ids = selection.resolution.draggedIds;
|
|
@@ -967,7 +1101,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
967
1101
|
ids,
|
|
968
1102
|
placement: 'root',
|
|
969
1103
|
preserveWorldTransform: true,
|
|
970
|
-
}));
|
|
1104
|
+
}, precondition));
|
|
971
1105
|
requestRender();
|
|
972
1106
|
return result;
|
|
973
1107
|
}
|
|
@@ -982,11 +1116,11 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
982
1116
|
beforeId: selection.resolution.beforeId,
|
|
983
1117
|
afterId: selection.resolution.afterId,
|
|
984
1118
|
preserveWorldTransform: true,
|
|
985
|
-
}));
|
|
1119
|
+
}, precondition));
|
|
986
1120
|
requestRender();
|
|
987
1121
|
return result;
|
|
988
1122
|
}
|
|
989
|
-
function submitPrefabAttachSelection(scope, selection) {
|
|
1123
|
+
function submitPrefabAttachSelection(scope, selection, precondition) {
|
|
990
1124
|
const ids = selection.resolution.draggedIds;
|
|
991
1125
|
if (ids.length !== 1)
|
|
992
1126
|
return { ok: false, reason: 'Move one prefab node at a time.' };
|
|
@@ -994,21 +1128,21 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
994
1128
|
return { ok: false, reason: 'Prefab node reparent supports inside placement only.' };
|
|
995
1129
|
if (!selection.targetId)
|
|
996
1130
|
return { ok: false, reason: 'Select a valid prefab parent first.' };
|
|
997
|
-
if (!submitPrefabNodeReparent(scope, ids[0], selection.targetId)) {
|
|
1131
|
+
if (!submitPrefabNodeReparent(scope, ids[0], selection.targetId, precondition)) {
|
|
998
1132
|
return { ok: false, reason: 'Select valid prefab nodes first.' };
|
|
999
1133
|
}
|
|
1000
1134
|
expandNode(selection.targetId);
|
|
1001
1135
|
requestRender();
|
|
1002
1136
|
return { ok: true };
|
|
1003
1137
|
}
|
|
1004
|
-
function submitPrefabNodeReparent(scope, hierarchyId, parentHierarchyId) {
|
|
1138
|
+
function submitPrefabNodeReparent(scope, hierarchyId, parentHierarchyId, precondition) {
|
|
1005
1139
|
const nodeId = resolvePrefabCommandTargetId(scope, hierarchyId);
|
|
1006
1140
|
const parentNodeId = resolvePrefabCommandTargetId(scope, parentHierarchyId);
|
|
1007
1141
|
if (!nodeId || !parentNodeId)
|
|
1008
1142
|
return false;
|
|
1009
1143
|
callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.reparent', nodeId, {
|
|
1010
1144
|
parentNodeId,
|
|
1011
|
-
}));
|
|
1145
|
+
}, precondition));
|
|
1012
1146
|
return true;
|
|
1013
1147
|
}
|
|
1014
1148
|
function normalizeAttachSceneGraphMoveResult(result) {
|
|
@@ -1053,21 +1187,26 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1053
1187
|
const target = event.target instanceof Node ? event.target : null;
|
|
1054
1188
|
return target !== null && panel.contains(target);
|
|
1055
1189
|
}
|
|
1056
|
-
function submitHierarchyContextAction(action) {
|
|
1190
|
+
function submitHierarchyContextAction(action, precondition) {
|
|
1057
1191
|
if (action.action === 'rename')
|
|
1058
1192
|
return;
|
|
1059
1193
|
const scope = resolveScopeForCurrentState();
|
|
1060
|
-
if (scope
|
|
1061
|
-
|
|
1194
|
+
if (!scope)
|
|
1195
|
+
return;
|
|
1196
|
+
const current = hasCurrentHierarchyProjection(scope);
|
|
1197
|
+
if (precondition.scopeId.startsWith('prefab-stage:')) {
|
|
1198
|
+
if (current && scope.commandSurface !== 'prefab-composition')
|
|
1199
|
+
return;
|
|
1200
|
+
submitPrefabHierarchyContextAction(scope, action, precondition);
|
|
1062
1201
|
return;
|
|
1063
1202
|
}
|
|
1064
|
-
if (scope
|
|
1203
|
+
if (current && scope.commandSurface !== 'scene-graph')
|
|
1065
1204
|
return;
|
|
1066
1205
|
if (action.action === 'create-group' || action.action === 'create-primitive' || action.action === 'create-marker') {
|
|
1067
1206
|
expandNode(action.parentId);
|
|
1068
1207
|
}
|
|
1069
1208
|
if (callbacks.onContextAction) {
|
|
1070
|
-
callbacks.onContextAction(action);
|
|
1209
|
+
callbacks.onContextAction(action, precondition);
|
|
1071
1210
|
return;
|
|
1072
1211
|
}
|
|
1073
1212
|
if (action.action === 'focus')
|
|
@@ -1076,20 +1215,20 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1076
1215
|
callbacks.onSceneGraphDuplicate?.({
|
|
1077
1216
|
targetIds: action.targetIds,
|
|
1078
1217
|
activeId: action.activeId ?? null,
|
|
1079
|
-
});
|
|
1218
|
+
}, precondition);
|
|
1080
1219
|
}
|
|
1081
1220
|
else if (action.action === 'paste') {
|
|
1082
1221
|
callbacks.onSceneGraphDuplicate?.({
|
|
1083
1222
|
targetIds: action.sourceIds,
|
|
1084
1223
|
activeId: action.activeId ?? null,
|
|
1085
|
-
});
|
|
1224
|
+
}, precondition);
|
|
1086
1225
|
}
|
|
1087
1226
|
else if (action.action === 'create-group') {
|
|
1088
1227
|
callbacks.onSceneGraphCreateGroup?.({
|
|
1089
1228
|
parentId: action.parentId ?? null,
|
|
1090
1229
|
activeId: action.activeId ?? null,
|
|
1091
1230
|
name: 'Empty',
|
|
1092
|
-
});
|
|
1231
|
+
}, precondition);
|
|
1093
1232
|
}
|
|
1094
1233
|
else if (action.action === 'create-marker') {
|
|
1095
1234
|
callbacks.onSceneGraphCreateMarker?.({
|
|
@@ -1097,7 +1236,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1097
1236
|
activeId: action.activeId ?? null,
|
|
1098
1237
|
markerType: action.markerType,
|
|
1099
1238
|
name: action.name,
|
|
1100
|
-
});
|
|
1239
|
+
}, precondition);
|
|
1101
1240
|
}
|
|
1102
1241
|
else if (action.action === 'create-primitive') {
|
|
1103
1242
|
callbacks.onSceneGraphCreatePrimitive?.({
|
|
@@ -1105,20 +1244,20 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1105
1244
|
activeId: action.activeId ?? null,
|
|
1106
1245
|
shape: action.shape,
|
|
1107
1246
|
name: action.name,
|
|
1108
|
-
});
|
|
1247
|
+
}, precondition);
|
|
1109
1248
|
}
|
|
1110
1249
|
else if (action.action === 'delete') {
|
|
1111
1250
|
callbacks.onSceneGraphDelete?.({
|
|
1112
1251
|
ids: action.targetIds,
|
|
1113
1252
|
activeId: action.activeId ?? null,
|
|
1114
|
-
});
|
|
1253
|
+
}, precondition);
|
|
1115
1254
|
}
|
|
1116
1255
|
}
|
|
1117
|
-
function submitPrefabHierarchyContextAction(scope, action) {
|
|
1256
|
+
function submitPrefabHierarchyContextAction(scope, action, precondition) {
|
|
1118
1257
|
if (action.action === 'focus') {
|
|
1119
1258
|
const targetId = action.activeId ?? action.targetIds[0] ?? null;
|
|
1120
1259
|
if (targetId)
|
|
1121
|
-
callbacks.onSelectPrefabStageItem?.(targetId);
|
|
1260
|
+
callbacks.onSelectPrefabStageItem?.(targetId, precondition);
|
|
1122
1261
|
return;
|
|
1123
1262
|
}
|
|
1124
1263
|
if (action.action === 'create-primitive') {
|
|
@@ -1126,7 +1265,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1126
1265
|
expandNode(action.parentId);
|
|
1127
1266
|
callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.createPrimitive', resolvePrefabCommandTargetId(scope, action.parentId ?? scope.activeId), {
|
|
1128
1267
|
primitiveShape: action.shape,
|
|
1129
|
-
}));
|
|
1268
|
+
}, precondition));
|
|
1130
1269
|
return;
|
|
1131
1270
|
}
|
|
1132
1271
|
if (action.action === 'create-group') {
|
|
@@ -1134,7 +1273,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1134
1273
|
expandNode(action.parentId);
|
|
1135
1274
|
callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.createGroup', resolvePrefabCommandTargetId(scope, action.parentId ?? scope.activeId), {
|
|
1136
1275
|
value: { name: 'Empty' },
|
|
1137
|
-
}));
|
|
1276
|
+
}, precondition));
|
|
1138
1277
|
return;
|
|
1139
1278
|
}
|
|
1140
1279
|
if (action.action === 'delete') {
|
|
@@ -1143,7 +1282,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1143
1282
|
: action.targetIds[0] ?? null;
|
|
1144
1283
|
if (!nodeId)
|
|
1145
1284
|
return;
|
|
1146
|
-
callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.delete', resolvePrefabCommandTargetId(scope, nodeId)));
|
|
1285
|
+
callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.delete', resolvePrefabCommandTargetId(scope, nodeId), {}, precondition));
|
|
1147
1286
|
}
|
|
1148
1287
|
}
|
|
1149
1288
|
function resolvePrefabCommandTargetId(scope, hierarchyId) {
|
|
@@ -1152,9 +1291,9 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1152
1291
|
const node = scope.nodes.find(candidate => candidate.id === hierarchyId);
|
|
1153
1292
|
return node?.commandTargetId ?? hierarchyId;
|
|
1154
1293
|
}
|
|
1155
|
-
function createPrefabNodeAssetAction(scope, actionId, nodeId, extra = {}) {
|
|
1156
|
-
const stageAssetId =
|
|
1157
|
-
?
|
|
1294
|
+
function createPrefabNodeAssetAction(scope, actionId, nodeId, extra = {}, precondition) {
|
|
1295
|
+
const stageAssetId = precondition.scopeId.startsWith('prefab-stage:')
|
|
1296
|
+
? precondition.scopeId.slice('prefab-stage:'.length)
|
|
1158
1297
|
: undefined;
|
|
1159
1298
|
return {
|
|
1160
1299
|
actionId,
|
|
@@ -1162,6 +1301,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1162
1301
|
browserAssetId: stageAssetId ? `prefab:${stageAssetId}` : undefined,
|
|
1163
1302
|
assetKind: 'prefab',
|
|
1164
1303
|
targetPrefabAssetId: stageAssetId,
|
|
1304
|
+
hierarchyPrecondition: precondition,
|
|
1165
1305
|
...(nodeId ? { nodeId, parentNodeId: nodeId } : {}),
|
|
1166
1306
|
...extra,
|
|
1167
1307
|
};
|
|
@@ -1178,23 +1318,42 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1178
1318
|
const theme = themed?.dataset.fpsEditorTheme;
|
|
1179
1319
|
return theme === 'light' || theme === 'dark' ? theme : undefined;
|
|
1180
1320
|
}
|
|
1181
|
-
function beginHierarchyRename(id) {
|
|
1321
|
+
function beginHierarchyRename(id, precondition) {
|
|
1182
1322
|
const state = getState();
|
|
1323
|
+
const scope = state ? resolveScope(state) : null;
|
|
1183
1324
|
const model = state ? getModel(state) : null;
|
|
1184
1325
|
const node = model?.getNode(id) ?? null;
|
|
1185
1326
|
if (!node || !canLocalEditorHierarchyNodeRename(node))
|
|
1186
1327
|
return;
|
|
1187
|
-
hierarchyRename = {
|
|
1328
|
+
hierarchyRename = {
|
|
1329
|
+
id,
|
|
1330
|
+
value: node.label,
|
|
1331
|
+
initialValue: node.label,
|
|
1332
|
+
commandTargetId: scope?.nodes.find(candidate => candidate.id === id)?.commandTargetId ?? id,
|
|
1333
|
+
precondition,
|
|
1334
|
+
};
|
|
1188
1335
|
requestRender();
|
|
1189
1336
|
}
|
|
1190
1337
|
function selectSingleHierarchyItem(id) {
|
|
1191
1338
|
const scope = resolveScopeForCurrentState();
|
|
1192
|
-
|
|
1193
|
-
|
|
1339
|
+
const precondition = lastRenderedCommandPrecondition;
|
|
1340
|
+
if (!scope || !precondition)
|
|
1341
|
+
return;
|
|
1342
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface === 'readonly')
|
|
1343
|
+
return;
|
|
1344
|
+
if (precondition.scopeId.startsWith('prefab-stage:'))
|
|
1345
|
+
callbacks.onSelectPrefabStageItem?.(id, precondition);
|
|
1194
1346
|
else
|
|
1195
|
-
callbacks.onSelectHierarchyItem?.({ id, additive: false, toggle: false });
|
|
1347
|
+
callbacks.onSelectHierarchyItem?.({ id, additive: false, toggle: false }, precondition);
|
|
1196
1348
|
}
|
|
1197
|
-
function submitResolvedDrop(resolved, targetId, placement, draggedIds) {
|
|
1349
|
+
function submitResolvedDrop(resolved, targetId, placement, draggedIds, precondition) {
|
|
1350
|
+
const scope = resolveScopeForCurrentState();
|
|
1351
|
+
if (!scope)
|
|
1352
|
+
return;
|
|
1353
|
+
if (hasCurrentHierarchyProjection(scope) && scope.commandSurface !== 'scene-graph')
|
|
1354
|
+
return;
|
|
1355
|
+
if (!precondition)
|
|
1356
|
+
return;
|
|
1198
1357
|
if (callbacks.onSceneGraphMove) {
|
|
1199
1358
|
callbacks.onSceneGraphMove({
|
|
1200
1359
|
ids: resolved.draggedIds,
|
|
@@ -1204,7 +1363,7 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1204
1363
|
beforeId: resolved.beforeId,
|
|
1205
1364
|
afterId: resolved.afterId,
|
|
1206
1365
|
preserveWorldTransform: true,
|
|
1207
|
-
});
|
|
1366
|
+
}, precondition);
|
|
1208
1367
|
}
|
|
1209
1368
|
else if (placement === 'inside') {
|
|
1210
1369
|
callbacks.onSceneGraphDrop?.({
|
|
@@ -1212,11 +1371,18 @@ export function createLocalEditorHierarchyController(options) {
|
|
|
1212
1371
|
targetId,
|
|
1213
1372
|
placement,
|
|
1214
1373
|
preserveWorldTransform: true,
|
|
1215
|
-
});
|
|
1374
|
+
}, precondition);
|
|
1216
1375
|
}
|
|
1217
1376
|
else {
|
|
1218
1377
|
requestRender();
|
|
1219
1378
|
}
|
|
1220
1379
|
}
|
|
1380
|
+
function createHierarchyCommandPrecondition(scope) {
|
|
1381
|
+
return {
|
|
1382
|
+
scopeId: scope.scopeId,
|
|
1383
|
+
documentRevision: scope.documentRevision,
|
|
1384
|
+
projectionRevision: scope.projectionRevision,
|
|
1385
|
+
};
|
|
1386
|
+
}
|
|
1221
1387
|
}
|
|
1222
1388
|
//# sourceMappingURL=local-editor-ui-hierarchy-controller.js.map
|