@fps-games/editor 0.2.0-beta.1 → 0.2.0-beta.3
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.js.map +1 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/selection.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- 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.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.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.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 +129 -0
- 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 +50 -3
- 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.d.ts.map +1 -1
- package/dist/playable-standard-project.js +8 -3
- 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.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.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-scope.js.map +1 -1
- 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.js.map +1 -1
- 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-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.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.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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +17 -2
- 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 +6 -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 +9 -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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -0
- 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 +8 -0
- 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 +24 -2
- 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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +6 -2
- 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 +83 -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.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +8 -0
- 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.d.ts +22 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +108 -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.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +2 -2
- 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.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +2 -0
- 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.d.ts +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.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.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
- 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 +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +4 -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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +54 -2
- 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.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.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.d.ts +3 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +10 -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.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +82 -6
- 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.d.ts +11 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.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.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +46 -3
- 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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +4 -0
- 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.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.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.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +25 -0
- 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 +37 -20
- 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 +10 -17
- 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 +5 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type FpsDiagnostic,\n type FpsDisposer,\n type FpsMaybePromise,\n type FpsPluginScope,\n} from '@fps-games/plugin-api';\nimport {\n FPS_EDITOR_DOCUMENT_COMMITTED,\n FPS_EDITOR_DOCUMENT_SAVE_FAILED,\n FPS_EDITOR_LIFECYCLE_CHANGED,\n FPS_EDITOR_PREVIEW_CHANGED,\n FPS_EDITOR_SCOPE_CLOSED,\n FPS_EDITOR_SCOPE_OPENED,\n type FpsEditorEventContext,\n type FpsEditorEventPublisher,\n type FpsEditorEventRoute,\n} from './events.js';\n\nexport { FPS_EDITOR_LIFECYCLE_CHANGED } from './events.js';\n\nexport type FpsEditorApplicationLifecycleState = 'created' | 'starting' | 'ready' | 'stopping' | 'disposed' | 'failed';\nexport type FpsEditorProjectLifecycleState = 'closed' | 'opening' | 'open' | 'closing' | 'failed';\nexport type FpsEditorModeLifecycleState = 'play' | 'entering-edit' | 'edit' | 'exiting-edit' | 'failed';\nexport type FpsEditorDocumentLifecycleState = 'unloaded' | 'loading' | 'clean' | 'dirty' | 'preparing-save' | 'committing' | 'failed';\nexport type FpsEditorPreviewLifecycleState = 'absent' | 'creating' | 'active' | 'disposing' | 'failed';\nexport type FpsEditorLifecycleScopeType = FpsPluginScope;\nexport type FpsEditorLifecycleResourceDisposer = FpsDisposer;\nexport const FPS_EDITOR_LIFECYCLE_TRANSITION_TYPES = Object.freeze([\n 'application.start',\n 'application.stop',\n 'application.dispose',\n 'project.open',\n 'project.close',\n 'mode.enterEdit',\n 'mode.recoverEdit',\n 'mode.exitEdit',\n 'document.load',\n 'document.markDirty',\n 'document.markClean',\n 'document.prepareSave',\n 'document.commit',\n 'document.saveFailed',\n 'document.discard',\n 'preview.create',\n 'preview.dispose',\n] as const);\n\nexport type FpsEditorLifecycleTransitionType =\n (typeof FPS_EDITOR_LIFECYCLE_TRANSITION_TYPES)[number];\n\nexport interface FpsEditorLifecycleTransition {\n readonly id: string;\n readonly type: FpsEditorLifecycleTransitionType;\n readonly startedAt: number;\n readonly traceId?: string;\n readonly transactionId?: string;\n readonly sourcePluginId?: string;\n}\n\nexport interface FpsEditorLifecycleScopeSnapshot {\n readonly id: string;\n readonly scope: FpsPluginScope;\n readonly parentId?: string;\n readonly state: 'opening' | 'open' | 'closing' | 'failed';\n}\n\nexport interface FpsEditorLifecycleScopeInput {\n readonly id: string;\n readonly scope: FpsPluginScope;\n readonly parentId?: string;\n}\n\nexport interface FpsEditorLifecycleSnapshot {\n readonly revision: number;\n readonly transitioning: boolean;\n readonly activeTransition?: FpsEditorLifecycleTransition;\n readonly application: FpsEditorApplicationLifecycleState;\n readonly project: FpsEditorProjectLifecycleState;\n readonly mode: FpsEditorModeLifecycleState;\n readonly document: FpsEditorDocumentLifecycleState;\n readonly preview: FpsEditorPreviewLifecycleState;\n readonly scopes: readonly FpsEditorLifecycleScopeSnapshot[];\n}\n\nexport type FpsEditorLifecycleListener = (\n snapshot: Readonly<FpsEditorLifecycleSnapshot>,\n) => FpsMaybePromise<void>;\n\nexport interface FpsEditorLifecycleService {\n getSnapshot(): Readonly<FpsEditorLifecycleSnapshot>;\n subscribe(listener: FpsEditorLifecycleListener): FpsDisposer;\n}\n\nexport interface FpsEditorLifecycleTransitionContext {\n readonly transition: FpsEditorLifecycleTransition;\n readonly before: Readonly<FpsEditorLifecycleSnapshot>;\n getSnapshot(): Readonly<FpsEditorLifecycleSnapshot>;\n}\n\ninterface FpsEditorLifecycleEventBase {\n readonly transition: FpsEditorLifecycleTransition;\n readonly previous: Readonly<FpsEditorLifecycleSnapshot>;\n readonly current: Readonly<FpsEditorLifecycleSnapshot>;\n}\n\nexport interface FpsEditorLifecycleTransitionStartedEvent extends FpsEditorLifecycleEventBase {\n readonly status: 'started';\n}\n\nexport interface FpsEditorLifecycleTransitionEvent extends FpsEditorLifecycleEventBase {\n readonly status: 'settled';\n}\n\nexport interface FpsEditorLifecycleFailureEvent extends FpsEditorLifecycleEventBase {\n readonly status: 'failed';\n readonly error: Readonly<{ message: string }>;\n}\n\nexport type FpsEditorLifecycleChangedEvent =\n | FpsEditorLifecycleTransitionStartedEvent\n | FpsEditorLifecycleTransitionEvent\n | FpsEditorLifecycleFailureEvent;\n\nexport interface FpsEditorLifecycleParticipant {\n readonly id: string;\n readonly transitions: readonly FpsEditorLifecycleTransitionType[];\n prepare?(context: FpsEditorLifecycleTransitionContext): FpsMaybePromise<void | FpsDisposer>;\n settled?(event: FpsEditorLifecycleTransitionEvent): FpsMaybePromise<void>;\n failed?(event: FpsEditorLifecycleFailureEvent): FpsMaybePromise<void>;\n}\n\nexport interface FpsEditorLifecycleTransitionRequest {\n readonly type: FpsEditorLifecycleTransitionType;\n readonly traceId?: string;\n readonly transactionId?: string;\n readonly sourcePluginId?: string;\n readonly operation?: () => FpsMaybePromise<void>;\n}\n\nexport interface FpsEditorLifecycleCoordinator extends FpsEditorLifecycleService {\n registerParticipant(participant: FpsEditorLifecycleParticipant): FpsDisposer;\n openScope(input: FpsEditorLifecycleScopeInput): Readonly<FpsEditorLifecycleSnapshot>;\n failScope(scopeId: string): Readonly<FpsEditorLifecycleSnapshot>;\n closeScope(scopeId: string, eventRoute?: FpsEditorEventRoute): Readonly<FpsEditorLifecycleSnapshot>;\n retryCleanup(): Promise<void>;\n transition(request: FpsEditorLifecycleTransitionRequest): Promise<Readonly<FpsEditorLifecycleSnapshot>>;\n}\n\nexport interface FpsEditorLifecycleCoordinatorOptions {\n readonly eventPublisher?: FpsEditorEventPublisher;\n readonly report?: (diagnostic: FpsDiagnostic) => void;\n readonly now?: () => number;\n readonly initialState?: 'created' | 'editing-clean' | 'editing-dirty';\n}\n\ntype MutableLifecycleState = {\n application: FpsEditorApplicationLifecycleState;\n project: FpsEditorProjectLifecycleState;\n mode: FpsEditorModeLifecycleState;\n document: FpsEditorDocumentLifecycleState;\n preview: FpsEditorPreviewLifecycleState;\n scopes: readonly FpsEditorLifecycleScopeSnapshot[];\n};\n\ntype TransitionRule = {\n readonly assertAllowed: (state: Readonly<MutableLifecycleState>) => boolean;\n readonly start: Partial<MutableLifecycleState>;\n readonly settled: Partial<MutableLifecycleState>;\n readonly failed: Partial<MutableLifecycleState>;\n};\n\nconst transitionRules: Readonly<Record<FpsEditorLifecycleTransitionType, TransitionRule>> = {\n 'application.start': rule(state => state.application === 'created', { application: 'starting' }, { application: 'ready' }, { application: 'failed' }),\n 'application.stop': rule(state => (state.application === 'ready' || state.application === 'failed') && state.project === 'closed' && state.mode === 'play' && state.preview === 'absent', { application: 'stopping' }, { application: 'disposed' }, { application: 'failed' }),\n 'application.dispose': rule(\n state => state.application !== 'disposed',\n { application: 'stopping' },\n { application: 'disposed', project: 'closed', mode: 'play', document: 'unloaded', preview: 'absent', scopes: Object.freeze([]) },\n { application: 'failed', project: 'failed', mode: 'failed', document: 'failed', preview: 'failed' },\n ),\n 'project.open': rule(state => state.application === 'ready' && state.project === 'closed', { project: 'opening' }, { project: 'open' }, { project: 'failed' }),\n 'project.close': rule(state => (state.project === 'open' || state.project === 'failed') && state.mode === 'play' && state.preview === 'absent' && (state.document === 'clean' || state.document === 'unloaded'), { project: 'closing' }, { project: 'closed', document: 'unloaded' }, { project: 'failed' }),\n 'mode.enterEdit': rule(state => state.application === 'ready' && state.project === 'open' && state.mode === 'play', { mode: 'entering-edit' }, { mode: 'edit' }, { mode: 'failed', document: 'failed' }),\n 'mode.recoverEdit': rule(state => state.application === 'ready' && state.project === 'open' && state.mode === 'failed', { mode: 'entering-edit' }, { mode: 'edit' }, { mode: 'failed', document: 'failed' }),\n 'mode.exitEdit': rule(state => (state.mode === 'edit' || state.mode === 'failed') && state.preview === 'absent' && (state.document === 'clean' || state.document === 'unloaded'), { mode: 'exiting-edit' }, { mode: 'play', document: 'unloaded' }, { mode: 'failed', document: 'failed' }),\n 'document.load': rule(state => state.project === 'open' && (state.document === 'unloaded' || state.document === 'failed'), { document: 'loading' }, { document: 'clean' }, { document: 'failed' }),\n 'document.markDirty': rule(state => state.project === 'open' && state.mode === 'edit' && (state.document === 'clean' || state.document === 'dirty' || state.document === 'committing' || state.document === 'failed'), { document: 'dirty' }, { document: 'dirty' }, { document: 'failed' }),\n 'document.markClean': rule(state => state.project === 'open' && state.mode === 'edit' && (state.document === 'clean' || state.document === 'dirty' || state.document === 'failed'), { document: 'clean' }, { document: 'clean' }, { document: 'failed' }),\n 'document.prepareSave': rule(state => state.project === 'open' && state.mode === 'edit' && (state.document === 'clean' || state.document === 'dirty' || state.document === 'failed'), { document: 'preparing-save' }, { document: 'committing' }, { document: 'failed' }),\n 'document.commit': rule(state => state.project === 'open' && state.mode === 'edit' && (state.document === 'committing' || state.document === 'failed'), { document: 'committing' }, { document: 'clean' }, { document: 'failed' }),\n 'document.saveFailed': rule(state => state.document === 'preparing-save' || state.document === 'committing', { document: 'failed' }, { document: 'failed' }, { document: 'failed' }),\n 'document.discard': rule(state => state.project === 'open' && state.mode === 'edit' && (state.document === 'clean' || state.document === 'dirty' || state.document === 'failed'), { document: 'loading' }, { document: 'clean' }, { document: 'failed' }),\n 'preview.create': rule(state => state.mode === 'edit' && state.preview === 'absent', { preview: 'creating' }, { preview: 'active' }, { preview: 'failed' }),\n 'preview.dispose': rule(state => state.preview === 'active' || state.preview === 'failed', { preview: 'disposing' }, { preview: 'absent' }, { preview: 'failed' }),\n};\n\nfunction rule(\n assertAllowed: TransitionRule['assertAllowed'],\n start: TransitionRule['start'],\n settled: TransitionRule['settled'],\n failed: TransitionRule['failed'],\n): TransitionRule {\n return Object.freeze({ assertAllowed, start: Object.freeze(start), settled: Object.freeze(settled), failed: Object.freeze(failed) });\n}\n\nfunction initialState(profile: FpsEditorLifecycleCoordinatorOptions['initialState'] = 'created'): MutableLifecycleState {\n if (profile === 'editing-clean' || profile === 'editing-dirty') {\n return {\n application: 'ready',\n project: 'open',\n mode: 'edit',\n document: profile === 'editing-dirty' ? 'dirty' : 'clean',\n preview: 'absent',\n scopes: Object.freeze([]),\n };\n }\n return {\n application: 'created',\n project: 'closed',\n mode: 'play',\n document: 'unloaded',\n preview: 'absent',\n scopes: Object.freeze([]),\n };\n}\n\nconst lifecycleScopeParents = Object.freeze({\n application: Object.freeze([]),\n project: Object.freeze(['application']),\n scene: Object.freeze(['project']),\n document: Object.freeze(['project', 'scene']),\n session: Object.freeze(['document']),\n preview: Object.freeze(['document', 'session']),\n} satisfies Record<FpsPluginScope, readonly FpsPluginScope[]>);\n\nexport function assertFpsEditorLifecycleScopeTopology(\n input: FpsEditorLifecycleScopeInput,\n scopes: readonly Pick<FpsEditorLifecycleScopeSnapshot, 'id' | 'scope' | 'state'>[],\n): void {\n if (input.scope === 'application') {\n if (input.parentId) throw new Error('Editor application lifecycle scope cannot have a parent.');\n if (scopes.some(scope => scope.scope === 'application')) {\n throw new Error('Editor lifecycle can only have one application scope.');\n }\n return;\n }\n if (!input.parentId) throw new Error(`Editor ${input.scope} lifecycle scope requires a parent.`);\n const parent = scopes.find(scope => scope.id === input.parentId);\n if (!parent || parent.state !== 'open') {\n throw new Error(`Editor lifecycle scope parent is not open: ${input.parentId}`);\n }\n const allowed = lifecycleScopeParents[input.scope] as readonly FpsPluginScope[];\n if (!allowed.includes(parent.scope)) {\n throw new Error(`Editor ${input.scope} lifecycle scope cannot be parented by ${parent.scope}.`);\n }\n}\n\nfunction freezeTransition(transition: FpsEditorLifecycleTransition): FpsEditorLifecycleTransition {\n return Object.freeze({ ...transition });\n}\n\nfunction freezeSnapshot(\n revision: number,\n state: Readonly<MutableLifecycleState>,\n activeTransition?: FpsEditorLifecycleTransition,\n transitioningOverride?: boolean,\n): Readonly<FpsEditorLifecycleSnapshot> {\n return Object.freeze({\n revision,\n transitioning: transitioningOverride ?? !!activeTransition,\n ...(activeTransition ? { activeTransition: freezeTransition(activeTransition) } : {}),\n application: state.application,\n project: state.project,\n mode: state.mode,\n document: state.document,\n preview: state.preview,\n scopes: Object.freeze(state.scopes.map(scope => Object.freeze({ ...scope }))),\n });\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nfunction combineTransitionErrors(cause: unknown, cleanupErrors: readonly unknown[]): Error {\n if (cleanupErrors.length === 0) return cause instanceof Error ? cause : new Error(String(cause));\n const error = new Error(\n `Lifecycle transition failed: ${errorMessage(cause)}; cleanup errors: ${cleanupErrors.map(errorMessage).join('; ')}`,\n );\n error.name = 'FpsEditorLifecycleTransitionError';\n Object.assign(error, { cause, errors: [cause, ...cleanupErrors] });\n return error;\n}\n\nfunction combineCleanupErrors(cleanupErrors: readonly unknown[]): Error {\n const error = new Error(\n `Editor lifecycle cleanup remains incomplete: ${cleanupErrors.map(errorMessage).join('; ')}`,\n );\n error.name = 'FpsEditorLifecycleCleanupError';\n Object.assign(error, { errors: [...cleanupErrors] });\n return error;\n}\n\nexport function createFpsEditorLifecycleCoordinator(\n options: FpsEditorLifecycleCoordinatorOptions = {},\n): FpsEditorLifecycleCoordinator {\n const now = options.now ?? Date.now;\n const participants = new Map<string, FpsEditorLifecycleParticipant>();\n const listeners = new Set<FpsEditorLifecycleListener>();\n let state = initialState(options.initialState);\n let revision = 0;\n let transitionSequence = 0;\n let snapshot = freezeSnapshot(revision, state);\n let activeTransitionToken: object | undefined;\n let pendingRollback: FpsDisposer[] = [];\n let observationDepth = 0;\n let observationTail = Promise.resolve();\n\n const report = (diagnostic: FpsDiagnostic): void => {\n try { options.report?.(diagnostic); }\n catch { /* Diagnostics are observers and cannot change lifecycle outcomes. */ }\n };\n const eventPublisher = options.eventPublisher;\n const notify = async (nextSnapshot: Readonly<FpsEditorLifecycleSnapshot>): Promise<void> => {\n for (const listener of [...listeners]) {\n try { await listener(nextSnapshot); }\n catch (error) {\n report({\n code: 'editor.lifecycle.listenerFailed',\n message: errorMessage(error),\n severity: 'error',\n });\n }\n }\n };\n const queueSnapshotNotification = (nextSnapshot: Readonly<FpsEditorLifecycleSnapshot>): void => {\n observationTail = observationTail.then(async () => {\n observationDepth += 1;\n try { await notify(nextSnapshot); }\n finally { observationDepth -= 1; }\n }).catch(error => {\n report({\n code: 'editor.lifecycle.observationQueueFailed',\n message: errorMessage(error),\n severity: 'error',\n });\n });\n };\n const publish = async (\n event: FpsEditorLifecycleChangedEvent,\n request: FpsEditorLifecycleTransitionRequest,\n ): Promise<void> => {\n if (!eventPublisher) return;\n const context: FpsEditorEventContext = Object.freeze({\n scope: 'application',\n scopeId: 'editor:application',\n ...(request.traceId ? { traceId: request.traceId } : {}),\n ...(request.transactionId ? { transactionId: request.transactionId } : {}),\n ...(request.sourcePluginId ? { sourcePluginId: request.sourcePluginId } : {}),\n });\n await eventPublisher.publish(FPS_EDITOR_LIFECYCLE_CHANGED, event, context);\n if (event.previous.preview !== event.current.preview) {\n await eventPublisher.publish(FPS_EDITOR_PREVIEW_CHANGED, Object.freeze({\n previous: event.previous.preview,\n current: event.current.preview,\n status: event.status,\n }), context);\n }\n if (event.status === 'settled' && event.transition.type === 'document.commit') {\n await eventPublisher.publish(FPS_EDITOR_DOCUMENT_COMMITTED, Object.freeze({\n lifecycleRevision: event.current.revision,\n }), context);\n }\n if (event.status === 'failed'\n && (event.transition.type === 'document.prepareSave' || event.transition.type === 'document.commit')) {\n await eventPublisher.publish(FPS_EDITOR_DOCUMENT_SAVE_FAILED, Object.freeze({\n transitionType: event.transition.type,\n message: event.error.message,\n }), context);\n }\n };\n const update = (\n nextState: MutableLifecycleState,\n transition: FpsEditorLifecycleTransition | undefined,\n transitioningOverride?: boolean,\n ): Readonly<FpsEditorLifecycleSnapshot> => {\n state = nextState;\n const nextSnapshot = freezeSnapshot(++revision, state, transition, transitioningOverride);\n snapshot = nextSnapshot;\n return nextSnapshot;\n };\n const observe = (\n nextSnapshot: Readonly<FpsEditorLifecycleSnapshot>,\n event: FpsEditorLifecycleChangedEvent,\n request: FpsEditorLifecycleTransitionRequest,\n ): Promise<void> => {\n const calledFromObserver = observationDepth > 0;\n const queued = observationTail.then(async () => {\n observationDepth += 1;\n try {\n await notify(nextSnapshot);\n await publish(event, request);\n } finally {\n observationDepth -= 1;\n }\n });\n observationTail = queued.catch(error => {\n report({\n code: 'editor.lifecycle.observationQueueFailed',\n message: errorMessage(error),\n severity: 'error',\n });\n });\n return calledFromObserver ? Promise.resolve() : observationTail;\n };\n const notifyParticipants = async (\n selected: readonly FpsEditorLifecycleParticipant[],\n method: 'settled' | 'failed',\n event: FpsEditorLifecycleTransitionEvent | FpsEditorLifecycleFailureEvent,\n ): Promise<void> => {\n for (const participant of selected) {\n try {\n if (method === 'settled') await participant.settled?.(event as FpsEditorLifecycleTransitionEvent);\n else await participant.failed?.(event as FpsEditorLifecycleFailureEvent);\n } catch (error) {\n report({\n code: `editor.lifecycle.participant${method === 'settled' ? 'Settled' : 'Failed'}ObserverFailed`,\n message: errorMessage(error),\n severity: 'error',\n pluginId: participant.id,\n });\n }\n }\n };\n const retryRollback = async (disposers: readonly FpsDisposer[]): Promise<readonly unknown[]> => {\n for (let index = 0; index < disposers.length; index += 1) {\n try { await disposers[index]!(); }\n catch (error) {\n // Earlier disposers may depend on the failed resource still being alive.\n // Keep the failed disposer and every untouched predecessor in retry order.\n pendingRollback = [...disposers.slice(index)];\n return [error];\n }\n }\n pendingRollback = [];\n return [];\n };\n\n return {\n getSnapshot: () => snapshot,\n subscribe(listener) {\n listeners.add(listener);\n let active = true;\n return () => {\n if (!active) return;\n active = false;\n listeners.delete(listener);\n };\n },\n openScope(input) {\n const id = input.id.trim();\n if (!id || id !== input.id) throw new Error('Lifecycle scope id must be a non-empty trimmed string.');\n if (state.scopes.some(scope => scope.id === id)) throw new Error(`Lifecycle scope already exists: ${id}`);\n assertFpsEditorLifecycleScopeTopology({ ...input, id }, state.scopes);\n const openedScope = Object.freeze({\n id,\n scope: input.scope,\n ...(input.parentId ? { parentId: input.parentId } : {}),\n state: 'open' as const,\n });\n const nextSnapshot = update({\n ...state,\n scopes: Object.freeze([...state.scopes, openedScope]),\n }, snapshot.activeTransition);\n queueSnapshotNotification(nextSnapshot);\n void eventPublisher?.publish(FPS_EDITOR_SCOPE_OPENED, Object.freeze({ scope: openedScope }), {\n scope: openedScope.scope,\n scopeId: openedScope.id,\n });\n return nextSnapshot;\n },\n failScope(scopeId) {\n const current = state.scopes.find(scope => scope.id === scopeId);\n if (!current || current.state === 'failed') return snapshot;\n const nextSnapshot = update({\n ...state,\n scopes: Object.freeze(state.scopes.map(scope => (\n scope.id === scopeId ? Object.freeze({ ...scope, state: 'failed' as const }) : scope\n ))),\n }, snapshot.activeTransition);\n queueSnapshotNotification(nextSnapshot);\n return nextSnapshot;\n },\n closeScope(scopeId, eventRoute) {\n const index = state.scopes.findIndex(scope => scope.id === scopeId);\n if (index < 0) return snapshot;\n const currentScope = state.scopes[index]!;\n const child = state.scopes.find(scope => scope.parentId === scopeId);\n if (child) throw new Error(`Lifecycle scope has an open child: ${scopeId} -> ${child.id}`);\n const nextSnapshot = update({\n ...state,\n scopes: Object.freeze(state.scopes.filter(scope => scope.id !== scopeId)),\n }, snapshot.activeTransition);\n queueSnapshotNotification(nextSnapshot);\n void eventPublisher?.publish(FPS_EDITOR_SCOPE_CLOSED, Object.freeze({ scope: currentScope }), {\n scope: currentScope.scope,\n scopeId: currentScope.id,\n }, eventRoute);\n return nextSnapshot;\n },\n registerParticipant(participant) {\n const participantId = participant.id.trim();\n if (!participantId) throw new Error('Lifecycle participant id is required.');\n if (participantId !== participant.id) throw new Error('Lifecycle participant id cannot contain leading or trailing whitespace.');\n if (participants.has(participant.id)) throw new Error(`Lifecycle participant already registered: ${participant.id}`);\n const registered = Object.freeze({ ...participant, transitions: Object.freeze([...participant.transitions]) });\n participants.set(registered.id, registered);\n let active = true;\n return () => {\n if (!active) return;\n active = false;\n if (participants.get(registered.id) === registered) participants.delete(registered.id);\n };\n },\n async retryCleanup() {\n if (activeTransitionToken) throw new Error('Editor lifecycle transition already in progress.');\n if (pendingRollback.length === 0) return;\n const cleanupToken = Object.freeze({});\n activeTransitionToken = cleanupToken;\n queueSnapshotNotification(update({ ...state }, undefined, true));\n try {\n const cleanupErrors = await retryRollback([...pendingRollback]);\n if (cleanupErrors.length > 0) throw combineCleanupErrors(cleanupErrors);\n } finally {\n if (activeTransitionToken === cleanupToken) activeTransitionToken = undefined;\n queueSnapshotNotification(update({ ...state }, undefined, false));\n }\n },\n async transition(request) {\n if (activeTransitionToken) throw new Error('Editor lifecycle transition already in progress.');\n if (pendingRollback.length > 0) {\n throw new Error('Editor lifecycle cleanup is incomplete; retryCleanup() must succeed before another transition.');\n }\n if (request.type === 'application.dispose' && state.application === 'disposed') return snapshot;\n const rule = transitionRules[request.type];\n if (!rule.assertAllowed(state)) {\n throw new Error(`Illegal editor lifecycle transition ${request.type} from ${JSON.stringify({\n application: state.application,\n project: state.project,\n mode: state.mode,\n document: state.document,\n preview: state.preview,\n })}`);\n }\n const transitionToken = Object.freeze({});\n activeTransitionToken = transitionToken;\n const releaseAuthority = (): void => {\n if (activeTransitionToken === transitionToken) activeTransitionToken = undefined;\n };\n const before = snapshot;\n const transition = freezeTransition({\n id: `editor-transition-${++transitionSequence}`,\n type: request.type,\n startedAt: now(),\n ...(request.traceId ? { traceId: request.traceId } : {}),\n ...(request.transactionId ? { transactionId: request.transactionId } : {}),\n ...(request.sourcePluginId ? { sourcePluginId: request.sourcePluginId } : {}),\n });\n const selected = [...participants.values()].filter(participant => participant.transitions.includes(request.type));\n const rollback: FpsDisposer[] = [];\n try {\n const startedSnapshot = update({ ...state, ...rule.start }, transition);\n const startedEvent = Object.freeze({\n status: 'started',\n transition,\n previous: before,\n current: startedSnapshot,\n }) satisfies FpsEditorLifecycleTransitionStartedEvent;\n await observe(startedSnapshot, startedEvent, request);\n const context: FpsEditorLifecycleTransitionContext = Object.freeze({\n transition,\n before,\n getSnapshot: () => snapshot,\n });\n for (const participant of selected) {\n const disposer = await participant.prepare?.(context);\n if (disposer) rollback.push(disposer);\n }\n await request.operation?.();\n const previous = snapshot;\n releaseAuthority();\n const settledSnapshot = update({ ...state, ...rule.settled }, undefined);\n const event = Object.freeze({ status: 'settled', transition, previous, current: settledSnapshot }) satisfies FpsEditorLifecycleTransitionEvent;\n await observe(settledSnapshot, event, request);\n await notifyParticipants(selected, 'settled', event);\n return settledSnapshot;\n } catch (cause) {\n const cleanupErrors = await retryRollback([...rollback].reverse());\n const previous = snapshot;\n releaseAuthority();\n const failedSnapshot = update({ ...state, ...rule.failed }, undefined);\n const event = Object.freeze({\n status: 'failed',\n transition,\n previous,\n current: failedSnapshot,\n error: Object.freeze({ message: errorMessage(cause) }),\n }) satisfies FpsEditorLifecycleFailureEvent;\n await observe(failedSnapshot, event, request);\n await notifyParticipants(selected, 'failed', event);\n throw combineTransitionErrors(cause, cleanupErrors);\n } finally {\n releaseAuthority();\n }\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker-graph.js","sourceRoot":"","sources":["../src/marker-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"marker-graph.js","sourceRoot":"","sources":["../src/marker-graph.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SPATIAL_MARKER_GRAPH_SCHEMA_VERSION,\n type SpatialMarkerGeometry,\n type SpatialMarkerGraph,\n type SpatialMarkerNode,\n type SpatialMarkerTargetRef,\n type SpatialMarkerTypeDefinition,\n type SpatialRelation,\n type SpatialRelationEndpoint,\n type SpatialRelationTypeDefinition,\n} from '@fps-games/editor-protocol';\n\nexport type EditorCoreMarkerGraphCommand =\n | {\n type: 'marker.create-box';\n marker: SpatialMarkerNode;\n parentId?: string | null;\n }\n | {\n type: 'marker.update';\n markerId: string;\n patch: Partial<Omit<SpatialMarkerNode, 'id'>>;\n }\n | {\n type: 'marker.delete';\n markerId: string;\n }\n | {\n type: 'relation.create';\n relation: SpatialRelation;\n }\n | {\n type: 'relation.create-many';\n relations: SpatialRelation[];\n }\n | {\n type: 'relation.delete';\n relationId: string;\n }\n | {\n type: 'relation.delete-many';\n relationIds: string[];\n }\n | {\n type: 'relation.reverse';\n relationId: string;\n }\n | {\n type: 'marker.sync-from-scene';\n reason?: string;\n }\n | {\n type: 'marker-type.create';\n definition: SpatialMarkerTypeDefinition;\n }\n | {\n type: 'marker-type.update';\n typeId: string;\n patch: Partial<Omit<SpatialMarkerTypeDefinition, 'type'>>;\n }\n | {\n type: 'marker-type.delete';\n typeId: string;\n };\n\nexport interface EditorCoreMarkerGraphGameObjectLike {\n id: string;\n name?: string | null;\n parentId?: string | null;\n marker?: unknown;\n}\n\nexport interface EditorCoreMarkerGraphDocumentLike<TGameObject extends EditorCoreMarkerGraphGameObjectLike = EditorCoreMarkerGraphGameObjectLike> {\n scene: {\n gameObjects: readonly TGameObject[];\n markerGraph?: SpatialMarkerGraph | null;\n };\n}\n\nexport interface EditorCoreMarkerGraphCommandNormalizeOptions {\n sanitizeMarkerGameObjectId?: (value: string) => string;\n}\n\nexport interface EditorCoreMarkerGraphTypeCatalogOptions {\n builtInMarkerTypes?: readonly SpatialMarkerTypeDefinition[];\n}\n\nexport interface EditorCoreMarkerGraphRelationCatalogOptions {\n relationTypes?: readonly SpatialRelationTypeDefinition[];\n}\n\nexport interface EditorCoreMarkerGraphReducerOptions extends EditorCoreMarkerGraphTypeCatalogOptions {}\n\nexport interface EditorCoreMarkerGraphCommandSupportOptions<TGameObject extends EditorCoreMarkerGraphGameObjectLike = EditorCoreMarkerGraphGameObjectLike>\n extends EditorCoreMarkerGraphTypeCatalogOptions {\n isMarkerGameObject?: (gameObject: TGameObject | null | undefined) => boolean;\n}\n\nexport function getEditorSceneMarkerTypeCatalogFromGraph(\n graph?: SpatialMarkerGraph | null,\n options: EditorCoreMarkerGraphTypeCatalogOptions = {},\n): SpatialMarkerTypeDefinition[] {\n const definitions = new Map<string, SpatialMarkerTypeDefinition>();\n for (const definition of options.builtInMarkerTypes ?? []) {\n definitions.set(definition.type, cloneBuiltInMarkerTypeDefinition(definition));\n }\n for (const override of readMarkerTypeOverrides(graph)) {\n const builtIn = definitions.get(override.type) ?? null;\n definitions.set(override.type, mergeMarkerTypeDefinition(builtIn, override));\n }\n return [...definitions.values()];\n}\n\nexport function getEditorSceneRelationTypeCatalog(\n options: EditorCoreMarkerGraphRelationCatalogOptions = {},\n): SpatialRelationTypeDefinition[] {\n return (options.relationTypes ?? []).map(definition => ({ ...definition }));\n}\n\nexport function cloneMarkerTypeDefinition(definition: SpatialMarkerTypeDefinition): SpatialMarkerTypeDefinition {\n return structuredClone(definition);\n}\n\nexport function cloneBuiltInMarkerTypeDefinition(definition: SpatialMarkerTypeDefinition): SpatialMarkerTypeDefinition {\n return {\n ...cloneMarkerTypeDefinition(definition),\n metadata: {\n ...(definition.metadata ?? {}),\n builtIn: true,\n },\n };\n}\n\nexport function mergeMarkerTypeDefinition(\n builtIn: SpatialMarkerTypeDefinition | null,\n override: SpatialMarkerTypeDefinition,\n): SpatialMarkerTypeDefinition {\n const base = builtIn ?? null;\n return {\n ...(base ?? {}),\n ...cloneMarkerTypeDefinition(override),\n type: override.type,\n label: override.label || base?.label || override.type,\n metadata: {\n ...(base?.metadata ?? {}),\n ...(override.metadata ?? {}),\n builtIn: base?.metadata?.builtIn === true,\n },\n };\n}\n\nexport function createMarkerType(\n graph: SpatialMarkerGraph,\n definition: SpatialMarkerTypeDefinition,\n options: EditorCoreMarkerGraphTypeCatalogOptions = {},\n): SpatialMarkerGraph {\n if (!isMarkerTypeDefinitionValid(definition)) return graph;\n if (getBuiltInMarkerType(definition.type, options)) return graph;\n const overrides = readMarkerTypeOverrides(graph);\n if (overrides.some(candidate => candidate.type === definition.type)) return graph;\n return writeMarkerTypeOverrides(graph, [\n ...overrides,\n createAuthoredMarkerTypeDefinition(definition, false),\n ]);\n}\n\nexport function updateMarkerType(\n graph: SpatialMarkerGraph,\n typeId: string,\n patch: Partial<Omit<SpatialMarkerTypeDefinition, 'type'>>,\n options: EditorCoreMarkerGraphTypeCatalogOptions = {},\n): SpatialMarkerGraph {\n const normalizedTypeId = typeId.trim();\n if (!normalizedTypeId) return graph;\n const builtIn = getBuiltInMarkerType(normalizedTypeId, options);\n const overrides = readMarkerTypeOverrides(graph);\n const authored = overrides.find(definition => definition.type === normalizedTypeId) ?? null;\n if (!builtIn && !authored) return graph;\n const base = authored ?? builtIn;\n if (!base) return graph;\n const nextDefinition = createAuthoredMarkerTypeDefinition({\n ...base,\n ...patch,\n type: normalizedTypeId,\n label: typeof patch.label === 'string' && patch.label.trim()\n ? patch.label.trim()\n : base.label || normalizedTypeId,\n }, !!builtIn);\n return writeMarkerTypeOverrides(graph, [\n ...overrides.filter(definition => definition.type !== normalizedTypeId),\n nextDefinition,\n ]);\n}\n\nexport function deleteMarkerType(\n graph: SpatialMarkerGraph,\n typeId: string,\n options: EditorCoreMarkerGraphTypeCatalogOptions = {},\n): SpatialMarkerGraph {\n const normalizedTypeId = typeId.trim();\n if (!normalizedTypeId || isBuiltInMarkerType(normalizedTypeId, options)) return graph;\n if (graph.markers.some(marker => marker.markerType === normalizedTypeId)) return graph;\n const overrides = readMarkerTypeOverrides(graph);\n const nextOverrides = overrides.filter(definition => definition.type !== normalizedTypeId);\n return nextOverrides.length === overrides.length\n ? graph\n : writeMarkerTypeOverrides(graph, nextOverrides);\n}\n\nexport function createAuthoredMarkerTypeDefinition(\n definition: SpatialMarkerTypeDefinition,\n overridesBuiltIn: boolean,\n): SpatialMarkerTypeDefinition {\n return {\n type: definition.type.trim(),\n label: definition.label.trim() || definition.type.trim(),\n ...(definition.kind ? { kind: definition.kind } : {}),\n ...(definition.description !== undefined ? { description: definition.description } : {}),\n ...(definition.defaultTags ? { defaultTags: [...definition.defaultTags] } : {}),\n metadata: {\n ...(definition.metadata ?? {}),\n builtIn: false,\n ...(overridesBuiltIn ? { overridesBuiltIn: true } : {}),\n },\n };\n}\n\nexport function readMarkerTypeOverrides(graph: SpatialMarkerGraph | null | undefined): SpatialMarkerTypeDefinition[] {\n const value = graph?.metadata?.markerTypes;\n if (!Array.isArray(value)) return [];\n return value\n .map(readMarkerTypeDefinition)\n .filter((definition): definition is SpatialMarkerTypeDefinition => !!definition);\n}\n\nexport function writeMarkerTypeOverrides(\n graph: SpatialMarkerGraph,\n markerTypes: readonly SpatialMarkerTypeDefinition[],\n): SpatialMarkerGraph {\n const metadata = graph.metadata ? structuredClone(graph.metadata) : {};\n if (markerTypes.length === 0) delete metadata.markerTypes;\n else metadata.markerTypes = markerTypes.map(cloneMarkerTypeDefinition) as any;\n return {\n ...graph,\n metadata: Object.keys(metadata).length > 0 ? metadata : undefined,\n };\n}\n\nexport function readMarkerTypeDefinition(value: unknown): SpatialMarkerTypeDefinition | null {\n if (!value || typeof value !== 'object') return null;\n const candidate = value as Partial<SpatialMarkerTypeDefinition>;\n if (typeof candidate.type !== 'string' || !candidate.type.trim()) return null;\n if (typeof candidate.label !== 'string' || !candidate.label.trim()) return null;\n return createAuthoredMarkerTypeDefinition({\n type: candidate.type.trim(),\n label: candidate.label.trim(),\n ...(typeof candidate.kind === 'string' && candidate.kind ? { kind: candidate.kind } : {}),\n ...(typeof candidate.description === 'string' ? { description: candidate.description } : {}),\n ...(Array.isArray(candidate.defaultTags) ? { defaultTags: candidate.defaultTags.filter(tag => typeof tag === 'string') } : {}),\n ...(candidate.metadata && typeof candidate.metadata === 'object' ? { metadata: candidate.metadata } : {}),\n }, candidate.metadata?.overridesBuiltIn === true);\n}\n\nexport function isMarkerTypeDefinitionValid(definition: SpatialMarkerTypeDefinition): boolean {\n return !!definition.type.trim() && !!definition.label.trim();\n}\n\nexport function getBuiltInMarkerType(\n typeId: string,\n options: EditorCoreMarkerGraphTypeCatalogOptions = {},\n): SpatialMarkerTypeDefinition | null {\n const normalizedTypeId = typeId.trim();\n return options.builtInMarkerTypes?.find(definition => definition.type === normalizedTypeId) ?? null;\n}\n\nexport function isBuiltInMarkerType(\n typeId: string,\n options: EditorCoreMarkerGraphTypeCatalogOptions = {},\n): boolean {\n return !!getBuiltInMarkerType(typeId, options);\n}\n\nexport function cloneMarker(marker: SpatialMarkerNode): SpatialMarkerNode {\n const { spatial: _spatial, ...authoredMarker } = structuredClone(marker);\n return authoredMarker;\n}\n\nexport function cloneRelation(relation: SpatialRelation): SpatialRelation {\n return structuredClone(relation);\n}\n\nexport function rewriteMarkerRelationIds(\n relation: SpatialRelation,\n markerIdMap: ReadonlyMap<string, string>,\n): SpatialRelation {\n return {\n ...cloneRelation(relation),\n from: rewriteMarkerRelationEndpoint(relation.from, markerIdMap),\n to: rewriteMarkerRelationEndpoint(relation.to, markerIdMap),\n };\n}\n\nexport function rewriteSpatialMarkerTargetRefs(\n marker: SpatialMarkerNode,\n markerIdMap: ReadonlyMap<string, string>,\n): SpatialMarkerNode {\n return {\n ...cloneMarker(marker),\n ...(marker.target ? { target: rewriteMarkerTargetRef(marker.target, markerIdMap) } : {}),\n geometry: rewriteSpatialMarkerGeometryTargetRefs(marker.geometry, markerIdMap),\n };\n}\n\nexport function rewriteSpatialMarkerGeometryTargetRefs(\n geometry: SpatialMarkerGeometry,\n markerIdMap: ReadonlyMap<string, string>,\n): SpatialMarkerGeometry {\n switch (geometry.kind) {\n case 'point':\n return {\n ...structuredClone(geometry),\n ...(geometry.target ? { target: rewriteMarkerTargetRef(geometry.target, markerIdMap) } : {}),\n };\n case 'object-bounds':\n return {\n ...structuredClone(geometry),\n target: rewriteMarkerTargetRef(geometry.target, markerIdMap),\n };\n case 'box':\n case 'polyhedron':\n return structuredClone(geometry);\n }\n}\n\nexport function rewriteMarkerTargetRef(\n target: SpatialMarkerTargetRef,\n markerIdMap: ReadonlyMap<string, string>,\n): SpatialMarkerTargetRef {\n if (target.kind !== 'marker') return structuredClone(target);\n return {\n ...structuredClone(target),\n id: markerIdMap.get(target.id) ?? target.id,\n };\n}\n\nexport function rewriteMarkerRelationEndpoint(\n endpoint: SpatialRelationEndpoint,\n markerIdMap: ReadonlyMap<string, string>,\n): SpatialRelationEndpoint {\n if (endpoint.kind !== 'marker') return { ...endpoint };\n return {\n ...endpoint,\n id: markerIdMap.get(endpoint.id) ?? endpoint.id,\n };\n}\n\nexport function collectEditorSceneGameObjectSubtreeIds(\n document: EditorCoreMarkerGraphDocumentLike,\n rootId: string,\n): Set<string> {\n const deleteIds = new Set<string>([rootId]);\n let changed = true;\n while (changed) {\n changed = false;\n for (const gameObject of document.scene.gameObjects) {\n if (!gameObject.parentId || !deleteIds.has(gameObject.parentId) || deleteIds.has(gameObject.id)) continue;\n deleteIds.add(gameObject.id);\n changed = true;\n }\n }\n return deleteIds;\n}\n\nexport function isDeletedRelationEndpoint(endpoint: SpatialRelationEndpoint, deleteIds: ReadonlySet<string>): boolean {\n return (endpoint.kind === 'marker' || endpoint.kind === 'scene-object') && deleteIds.has(endpoint.id);\n}\n\nexport function isTargetRefValid(target: SpatialMarkerTargetRef | undefined, objectIds: Set<string>): boolean {\n return !target || target.kind !== 'scene-object' || objectIds.has(target.id);\n}\n\nexport function isRelationEndpointValid(\n endpoint: SpatialRelationEndpoint,\n objectIds: Set<string>,\n markerIds: Set<string>,\n): boolean {\n if (endpoint.kind === 'marker') return markerIds.has(endpoint.id);\n if (endpoint.kind === 'scene-object') return objectIds.has(endpoint.id);\n return true;\n}\n\nexport function isMarkerEndpoint(endpoint: SpatialRelationEndpoint, markerId: string): boolean {\n return endpoint.kind === 'marker' && endpoint.id === markerId;\n}\n\nexport function normalizeEditorSceneMarkerGraph(graph: SpatialMarkerGraph | null | undefined): SpatialMarkerGraph {\n if (!graph) {\n return {\n schemaVersion: SPATIAL_MARKER_GRAPH_SCHEMA_VERSION,\n markers: [],\n relations: [],\n };\n }\n return {\n schemaVersion: SPATIAL_MARKER_GRAPH_SCHEMA_VERSION,\n markers: graph.markers.map(cloneMarker),\n relations: graph.relations.map(cloneRelation),\n metadata: graph.metadata ? structuredClone(graph.metadata) : undefined,\n };\n}\n\nexport function withEditorSceneMarkerGraph<TDocument extends { scene: object }>(\n document: TDocument,\n markerGraph: SpatialMarkerGraph,\n): TDocument {\n return {\n ...document,\n scene: {\n ...document.scene,\n markerGraph,\n },\n } as TDocument;\n}\n\nfunction upsertMarker(graph: SpatialMarkerGraph, marker: SpatialMarkerNode): SpatialMarkerGraph {\n const nextMarker = cloneMarker(marker);\n const replaced = graph.markers.some(candidate => candidate.id === nextMarker.id);\n return {\n ...graph,\n markers: replaced\n ? graph.markers.map(candidate => candidate.id === nextMarker.id ? nextMarker : candidate)\n : [...graph.markers, nextMarker],\n };\n}\n\nfunction updateMarker(\n graph: SpatialMarkerGraph,\n markerId: string,\n patch: Partial<Omit<SpatialMarkerNode, 'id'>>,\n): SpatialMarkerGraph {\n let changed = false;\n const markers = graph.markers.map((marker) => {\n if (marker.id !== markerId) return marker;\n changed = true;\n return cloneMarker({\n ...marker,\n ...patch,\n id: marker.id,\n });\n });\n return changed ? { ...graph, markers } : graph;\n}\n\nfunction deleteMarker(graph: SpatialMarkerGraph, markerId: string): SpatialMarkerGraph {\n return {\n ...graph,\n markers: graph.markers.filter(marker => marker.id !== markerId),\n relations: graph.relations.filter(relation => (\n !isMarkerEndpoint(relation.from, markerId)\n && !isMarkerEndpoint(relation.to, markerId)\n )),\n };\n}\n\nfunction upsertRelation(graph: SpatialMarkerGraph, relation: SpatialRelation): SpatialMarkerGraph {\n const nextRelation = cloneRelation(relation);\n const replaced = graph.relations.some(candidate => candidate.id === nextRelation.id);\n return {\n ...graph,\n relations: replaced\n ? graph.relations.map(candidate => candidate.id === nextRelation.id ? nextRelation : candidate)\n : [...graph.relations, nextRelation],\n };\n}\n\nfunction reverseRelation(graph: SpatialMarkerGraph, relationId: string): SpatialMarkerGraph {\n let changed = false;\n const relations = graph.relations.map((relation) => {\n if (relation.id !== relationId) return relation;\n changed = true;\n return {\n ...cloneRelation(relation),\n from: { ...relation.to },\n to: { ...relation.from },\n };\n });\n return changed ? { ...graph, relations } : graph;\n}\n\nexport function reduceEditorSceneMarkerGraph(\n graph: SpatialMarkerGraph,\n command: EditorCoreMarkerGraphCommand,\n options: EditorCoreMarkerGraphReducerOptions = {},\n): SpatialMarkerGraph {\n switch (command.type) {\n case 'marker.create-box':\n return upsertMarker(graph, command.marker);\n case 'marker.update':\n return updateMarker(graph, command.markerId, command.patch);\n case 'marker.delete':\n return deleteMarker(graph, command.markerId);\n case 'relation.create':\n return upsertRelation(graph, command.relation);\n case 'relation.create-many':\n return command.relations.reduce((nextGraph, relation) => upsertRelation(nextGraph, relation), graph);\n case 'relation.delete':\n return {\n ...graph,\n relations: graph.relations.filter(relation => relation.id !== command.relationId),\n };\n case 'relation.delete-many': {\n const relationIds = new Set(command.relationIds);\n return {\n ...graph,\n relations: graph.relations.filter(relation => !relationIds.has(relation.id)),\n };\n }\n case 'relation.reverse':\n return reverseRelation(graph, command.relationId);\n case 'marker.sync-from-scene':\n return graph;\n case 'marker-type.create':\n return createMarkerType(graph, command.definition, options);\n case 'marker-type.update':\n return updateMarkerType(graph, command.typeId, command.patch, options);\n case 'marker-type.delete':\n return deleteMarkerType(graph, command.typeId, options);\n }\n}\n\nexport function normalizeEditorSceneMarkerGraphCommand(\n document: EditorCoreMarkerGraphDocumentLike,\n command: EditorCoreMarkerGraphCommand,\n options: EditorCoreMarkerGraphCommandNormalizeOptions = {},\n): EditorCoreMarkerGraphCommand {\n if (command.type !== 'marker.create-box') return command;\n const marker = cloneMarker(command.marker);\n const existingIds = new Set(document.scene.gameObjects.map(gameObject => gameObject.id));\n const existingLabels = new Set(document.scene.gameObjects.map(gameObject => (gameObject.name ?? '').trim()).filter(Boolean));\n if (existingIds.has(marker.id)) {\n marker.id = createUniqueMarkerCreateId(marker.id, existingIds, options.sanitizeMarkerGameObjectId);\n }\n if (!marker.label.trim() || existingLabels.has(marker.label.trim())) {\n marker.label = createUniqueMarkerCreateLabel(marker.label || marker.id, existingLabels);\n }\n return {\n ...command,\n marker,\n };\n}\n\nfunction createUniqueMarkerCreateId(\n baseId: string,\n existingIds: ReadonlySet<string>,\n sanitizeMarkerGameObjectId: ((value: string) => string) | undefined,\n): string {\n const sanitize = sanitizeMarkerGameObjectId ?? defaultSanitizeMarkerGameObjectId;\n const base = sanitize(baseId).replace(/-\\d+$/, '') || 'marker';\n if (!existingIds.has(base)) return base;\n let index = 2;\n while (existingIds.has(`${base}-${index}`)) index += 1;\n return `${base}-${index}`;\n}\n\nfunction defaultSanitizeMarkerGameObjectId(value: string): string {\n return value.trim().toLowerCase().replace(/[^a-z0-9_-]+/g, '-').replace(/^-+|-+$/g, '');\n}\n\nfunction createUniqueMarkerCreateLabel(baseLabel: string, existingLabels: ReadonlySet<string>): string {\n const trimmed = baseLabel.trim() || 'Marker';\n const base = trimmed.replace(/\\s+\\d+$/, '') || 'Marker';\n if (!existingLabels.has(base)) return base;\n let index = 2;\n while (existingLabels.has(`${base} ${index}`)) index += 1;\n return `${base} ${index}`;\n}\n\nexport function isEditorSceneMarkerGraphCommandSupported(\n document: EditorCoreMarkerGraphDocumentLike,\n command: EditorCoreMarkerGraphCommand,\n graph: SpatialMarkerGraph,\n options: EditorCoreMarkerGraphCommandSupportOptions = {},\n): boolean {\n switch (command.type) {\n case 'marker.create-box':\n return isMarkerCreateGeometrySupported(document, command.marker.geometry)\n && !!command.marker.id.trim()\n && !document.scene.gameObjects.some(gameObject => gameObject.id === command.marker.id)\n && isMarkerCreateParentValid(document, command.parentId ?? null, options);\n case 'relation.create-many':\n return command.relations.length > 0;\n case 'relation.delete-many':\n return command.relationIds.length > 0;\n case 'relation.reverse':\n return graph.relations.some(relation => relation.id === command.relationId);\n case 'marker-type.create':\n return isMarkerTypeDefinitionValid(command.definition)\n && !getEditorSceneMarkerTypeCatalogFromGraph(document.scene.markerGraph, options).some(definition => definition.type === command.definition.type);\n case 'marker-type.update':\n return !!command.typeId.trim()\n && getEditorSceneMarkerTypeCatalogFromGraph(document.scene.markerGraph, options).some(definition => definition.type === command.typeId);\n case 'marker-type.delete': {\n const typeId = command.typeId.trim();\n if (!typeId || isBuiltInMarkerType(typeId, options)) return false;\n return !graph.markers.some(marker => marker.markerType === typeId)\n && readMarkerTypeOverrides(graph).some(definition => definition.type === typeId);\n }\n default:\n return true;\n }\n}\n\nfunction isMarkerCreateGeometrySupported(\n document: EditorCoreMarkerGraphDocumentLike,\n geometry: SpatialMarkerGeometry,\n): boolean {\n switch (geometry.kind) {\n case 'box':\n case 'point':\n return true;\n case 'object-bounds':\n return isTargetRefValid(geometry.target, new Set(document.scene.gameObjects.map(gameObject => gameObject.id)));\n case 'polyhedron':\n return false;\n }\n}\n\nfunction isMarkerCreateParentValid(\n document: EditorCoreMarkerGraphDocumentLike,\n parentId: string | null,\n options: EditorCoreMarkerGraphCommandSupportOptions,\n): boolean {\n if (!parentId) return true;\n const parent = document.scene.gameObjects.find(gameObject => gameObject.id === parentId) ?? null;\n return !!parent && !(options.isMarkerGameObject?.(parent) ?? !!parent.marker);\n}\n\nexport function createEditorSceneMarkerGraphPatchLabel(command: EditorCoreMarkerGraphCommand): string {\n switch (command.type) {\n case 'marker.create-box':\n return `Create marker ${command.marker.label}`;\n case 'marker.update':\n return `Update marker ${command.markerId}`;\n case 'marker.delete':\n return `Delete marker ${command.markerId}`;\n case 'relation.create':\n return `Create relation ${command.relation.type}`;\n case 'relation.create-many':\n return `Create ${command.relations.length} relations`;\n case 'relation.delete':\n return `Delete relation ${command.relationId}`;\n case 'relation.delete-many':\n return `Delete ${command.relationIds.length} relations`;\n case 'relation.reverse':\n return `Reverse relation ${command.relationId}`;\n case 'marker.sync-from-scene':\n return 'Sync marker graph';\n case 'marker-type.create':\n return `Create marker type ${command.definition.label}`;\n case 'marker-type.update':\n return `Update marker type ${command.typeId}`;\n case 'marker-type.delete':\n return `Delete marker type ${command.typeId}`;\n }\n}\n\nexport function getEditorSceneMarkerGraphPatchSelection(command: EditorCoreMarkerGraphCommand): {\n changedId?: string;\n changedIds?: string[];\n selectId?: string | null;\n} {\n switch (command.type) {\n case 'marker.create-box':\n return { changedId: command.marker.id, changedIds: [command.marker.id], selectId: command.marker.id };\n case 'marker.update':\n case 'marker.delete':\n return { changedId: command.markerId, changedIds: [command.markerId] };\n case 'relation.create':\n return { changedIds: [command.relation.from.id, command.relation.to.id] };\n case 'relation.create-many':\n return { changedIds: [...new Set(command.relations.flatMap(relation => [relation.from.id, relation.to.id]))] };\n case 'relation.delete':\n case 'relation.delete-many':\n case 'relation.reverse':\n case 'marker.sync-from-scene':\n case 'marker-type.create':\n case 'marker-type.update':\n case 'marker-type.delete':\n return {};\n }\n}\n\nexport function cloneMarkerGraphCommand(command: EditorCoreMarkerGraphCommand): EditorCoreMarkerGraphCommand {\n const nextCommand = structuredClone(command);\n if (nextCommand.type === 'marker.create-box') {\n nextCommand.marker = cloneMarker(nextCommand.marker);\n }\n if (nextCommand.type === 'marker.update') {\n const { spatial: _spatial, ...patch } = nextCommand.patch;\n nextCommand.patch = patch;\n }\n return nextCommand;\n}\n\nexport function areMarkerGraphsEqual(left: SpatialMarkerGraph, right: SpatialMarkerGraph): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-graph.js","sourceRoot":"","sources":["../src/scene-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scene-graph.js","sourceRoot":"","sources":["../src/scene-graph.ts"],"names":[],"mappings":"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","sourcesContent":["export type SceneGraphNodeId = string;\n\nexport type SceneGraphNodeRole = 'root' | 'group' | 'object' | 'marker';\n\nexport type SceneGraphDropPlacement = 'inside' | 'before' | 'after';\n\nexport type SceneGraphMovePlacement = SceneGraphDropPlacement | 'root';\n\nexport type SceneGraphGroupPivot = 'selection-center' | 'active' | 'parent-origin';\n\nexport type SceneGraphPrimitiveShape = 'cube' | 'sphere' | 'plane' | 'capsule';\n\nexport interface SceneGraphTreeItem {\n id: SceneGraphNodeId;\n label: string;\n parentId?: SceneGraphNodeId | null;\n depth?: number;\n role?: SceneGraphNodeRole;\n icon?: string;\n selectable?: boolean;\n enabled?: boolean;\n directEnabled?: boolean;\n canToggleEnabled?: boolean;\n enableToggleDisabledReason?: string;\n locked?: boolean;\n protected?: boolean;\n canHaveChildren?: boolean;\n renamable?: boolean;\n deletable?: boolean;\n draggable?: boolean;\n}\n\nexport interface SceneGraphDropIntent {\n draggedId: SceneGraphNodeId;\n targetId: SceneGraphNodeId;\n placement: SceneGraphDropPlacement;\n preserveWorldTransform?: boolean;\n}\n\nexport interface SceneGraphMoveIntent {\n ids: SceneGraphNodeId[];\n targetId?: SceneGraphNodeId | null;\n placement: SceneGraphMovePlacement;\n parentId?: SceneGraphNodeId | null;\n beforeId?: SceneGraphNodeId | null;\n afterId?: SceneGraphNodeId | null;\n preserveWorldTransform?: boolean;\n}\n\nexport interface SceneGraphGroupSelectionIntent {\n ids: SceneGraphNodeId[];\n parentId?: SceneGraphNodeId | null;\n insertBeforeId?: SceneGraphNodeId | null;\n name?: string;\n pivot?: SceneGraphGroupPivot;\n preserveWorldTransform?: boolean;\n}\n\nexport interface SceneGraphRenameIntent {\n id: SceneGraphNodeId;\n name: string;\n}\n\nexport interface SceneGraphCreateGroupIntent {\n parentId?: SceneGraphNodeId | null;\n activeId?: SceneGraphNodeId | null;\n name?: string;\n}\n\nexport interface SceneGraphCreatePrimitiveIntent {\n parentId?: SceneGraphNodeId | null;\n activeId?: SceneGraphNodeId | null;\n shape: SceneGraphPrimitiveShape;\n name?: string;\n}\n\nexport interface SceneGraphDeleteIntent {\n ids: SceneGraphNodeId[];\n activeId?: SceneGraphNodeId | null;\n}\n\nexport interface SceneGraphValidationResult {\n ok: boolean;\n reason?: string;\n}\n\nexport function validateSceneGraphRename(\n items: readonly SceneGraphTreeItem[],\n intent: SceneGraphRenameIntent,\n): SceneGraphValidationResult {\n const item = findSceneGraphItem(items, intent.id);\n if (!item) return invalidSceneGraphIntent('missing-node');\n if (item.protected) return invalidSceneGraphIntent('node-protected');\n if (item.locked) return invalidSceneGraphIntent('node-locked');\n if (item.renamable === false) return invalidSceneGraphIntent('node-readonly');\n if (!intent.name.trim()) return invalidSceneGraphIntent('empty-name');\n return validSceneGraphIntent();\n}\n\nexport function validateSceneGraphDelete(\n items: readonly SceneGraphTreeItem[],\n intent: SceneGraphDeleteIntent,\n): SceneGraphValidationResult {\n if (intent.ids.length === 0) return invalidSceneGraphIntent('empty-selection');\n for (const id of uniqueSceneGraphNodeIds(intent.ids)) {\n const item = findSceneGraphItem(items, id);\n if (!item) return invalidSceneGraphIntent('missing-node');\n if (item.protected) return invalidSceneGraphIntent('node-protected');\n if (item.locked) return invalidSceneGraphIntent('node-locked');\n if (item.deletable === false) return invalidSceneGraphIntent('node-readonly');\n }\n return validSceneGraphIntent();\n}\n\nexport function validateSceneGraphDrop(\n items: readonly SceneGraphTreeItem[],\n intent: SceneGraphDropIntent,\n): SceneGraphValidationResult {\n const dragged = findSceneGraphItem(items, intent.draggedId);\n if (!dragged) return invalidSceneGraphIntent('missing-dragged-node');\n if (dragged.protected) return invalidSceneGraphIntent('dragged-node-protected');\n if (dragged.locked) return invalidSceneGraphIntent('dragged-node-locked');\n if (dragged.draggable === false) return invalidSceneGraphIntent('dragged-node-readonly');\n const target = findSceneGraphItem(items, intent.targetId);\n if (!target) return invalidSceneGraphIntent('missing-target-node');\n if (target.locked && !target.protected) return invalidSceneGraphIntent('target-node-locked');\n if (intent.draggedId === intent.targetId) return invalidSceneGraphIntent('cannot-parent-to-self');\n if (intent.placement === 'inside' && !canSceneGraphItemHaveChildren(target)) {\n return invalidSceneGraphIntent('target-cannot-have-children');\n }\n if (intent.placement !== 'inside') {\n if (target.protected) return invalidSceneGraphIntent('cannot-reorder-root');\n const parent = findSceneGraphItem(items, target.parentId);\n if (parent?.locked && !parent.protected) return invalidSceneGraphIntent('target-parent-locked');\n }\n if (isSceneGraphDescendant(items, intent.targetId, intent.draggedId)) {\n return invalidSceneGraphIntent('cannot-parent-to-descendant');\n }\n return validSceneGraphIntent();\n}\n\nexport function validateSceneGraphMove(\n items: readonly SceneGraphTreeItem[],\n intent: SceneGraphMoveIntent,\n): SceneGraphValidationResult {\n const uniqueIds = uniqueSceneGraphNodeIds(intent.ids);\n if (uniqueIds.length === 0) return invalidSceneGraphIntent('empty-selection');\n for (const id of uniqueIds) {\n if (!findSceneGraphItem(items, id)) return invalidSceneGraphIntent('missing-node');\n }\n const ids = getTopLevelSceneGraphNodeIds(items, intent.ids);\n if (ids.length === 0) return invalidSceneGraphIntent('empty-selection');\n for (const id of ids) {\n const item = findSceneGraphItem(items, id);\n if (!item) return invalidSceneGraphIntent('missing-node');\n if (!isSceneGraphItemMovable(item)) return invalidSceneGraphIntent(item.protected ? 'node-protected' : item.locked ? 'node-locked' : 'node-readonly');\n }\n if (intent.placement === 'root') {\n if (intent.parentId != null || intent.beforeId != null || intent.afterId != null) return invalidSceneGraphIntent('invalid-root-anchors');\n return validSceneGraphIntent();\n }\n const target = findSceneGraphItem(items, intent.targetId);\n if (!target) return invalidSceneGraphIntent('missing-target-node');\n if (ids.includes(target.id)) return invalidSceneGraphIntent('cannot-parent-to-self');\n if (ids.some(id => isSceneGraphDescendant(items, target.id, id))) return invalidSceneGraphIntent('cannot-parent-to-descendant');\n if (intent.placement === 'inside') {\n if (!canSceneGraphItemHaveChildren(target)) return invalidSceneGraphIntent('target-cannot-have-children');\n if (intent.parentId != null && intent.parentId !== target.id) return invalidSceneGraphIntent('invalid-parent-anchor');\n const parentChildren = getSceneGraphChildIds(items, target.id).filter(id => !ids.includes(id));\n if (intent.beforeId && !parentChildren.includes(intent.beforeId)) return invalidSceneGraphIntent('invalid-before-anchor');\n if (intent.afterId && !parentChildren.includes(intent.afterId)) return invalidSceneGraphIntent('invalid-after-anchor');\n return validSceneGraphIntent();\n }\n if (target.locked && !target.protected) return invalidSceneGraphIntent('target-node-locked');\n if (target.protected) return invalidSceneGraphIntent('cannot-reorder-root');\n const parent = findSceneGraphItem(items, target.parentId);\n if (parent?.locked && !parent.protected) return invalidSceneGraphIntent('target-parent-locked');\n if ((intent.parentId ?? null) !== (target.parentId ?? null)) return invalidSceneGraphIntent('invalid-parent-anchor');\n const siblings = getSceneGraphChildIds(items, target.parentId ?? null).filter(id => !ids.includes(id));\n if (intent.beforeId && !siblings.includes(intent.beforeId)) return invalidSceneGraphIntent('invalid-before-anchor');\n if (intent.afterId && !siblings.includes(intent.afterId)) return invalidSceneGraphIntent('invalid-after-anchor');\n if (intent.placement === 'before' && intent.beforeId !== target.id) return invalidSceneGraphIntent('invalid-before-anchor');\n if (intent.placement === 'after' && intent.afterId !== target.id) return invalidSceneGraphIntent('invalid-after-anchor');\n return validSceneGraphIntent();\n}\n\nexport function validateSceneGraphGroupSelection(\n items: readonly SceneGraphTreeItem[],\n intent: SceneGraphGroupSelectionIntent,\n): SceneGraphValidationResult {\n const uniqueIds = uniqueSceneGraphNodeIds(intent.ids);\n if (uniqueIds.length === 0) return invalidSceneGraphIntent('empty-selection');\n for (const id of uniqueIds) {\n if (!findSceneGraphItem(items, id)) return invalidSceneGraphIntent('missing-node');\n }\n const ids = getTopLevelSceneGraphNodeIds(items, intent.ids);\n if (ids.length === 0) return invalidSceneGraphIntent('empty-selection');\n if (ids.length < 2) return invalidSceneGraphIntent('selection-too-small');\n for (const id of ids) {\n const item = findSceneGraphItem(items, id);\n if (!item) return invalidSceneGraphIntent('missing-node');\n if (!isSceneGraphItemMovable(item)) return invalidSceneGraphIntent(item.protected ? 'node-protected' : item.locked ? 'node-locked' : 'node-readonly');\n }\n const parent = findSceneGraphItem(items, intent.parentId);\n if (intent.parentId && !parent) return invalidSceneGraphIntent('missing-parent-node');\n if (parent && !canSceneGraphItemHaveChildren(parent)) return invalidSceneGraphIntent('parent-cannot-have-children');\n if (parent && ids.some(id => parent.id === id || isSceneGraphDescendant(items, parent.id, id))) {\n return invalidSceneGraphIntent('cannot-parent-to-descendant');\n }\n const siblings = getSceneGraphChildIds(items, intent.parentId ?? null).filter(id => !ids.includes(id));\n if (intent.insertBeforeId) {\n const before = findSceneGraphItem(items, intent.insertBeforeId);\n if (!siblings.includes(intent.insertBeforeId) || before?.protected) return invalidSceneGraphIntent('invalid-before-anchor');\n }\n return validSceneGraphIntent();\n}\n\nexport function findSceneGraphItem(\n items: readonly SceneGraphTreeItem[],\n id: SceneGraphNodeId | null | undefined,\n): SceneGraphTreeItem | null {\n if (!id) return null;\n return items.find(item => item.id === id) ?? null;\n}\n\nexport function uniqueSceneGraphNodeIds(ids: readonly SceneGraphNodeId[]): SceneGraphNodeId[] {\n const result: SceneGraphNodeId[] = [];\n const seen = new Set<SceneGraphNodeId>();\n for (const id of ids) {\n if (!id || seen.has(id)) continue;\n seen.add(id);\n result.push(id);\n }\n return result;\n}\n\nexport function getTopLevelSceneGraphNodeIds(\n items: readonly SceneGraphTreeItem[],\n ids: readonly SceneGraphNodeId[],\n): SceneGraphNodeId[] {\n const uniqueIds = uniqueSceneGraphNodeIds(ids).filter(id => !!findSceneGraphItem(items, id));\n const selected = new Set(uniqueIds);\n return uniqueIds.filter(id => !collectSceneGraphAncestorIds(items, id).some(ancestorId => selected.has(ancestorId)));\n}\n\nexport function getSceneGraphChildIds(\n items: readonly SceneGraphTreeItem[],\n parentId: SceneGraphNodeId | null | undefined,\n): SceneGraphNodeId[] {\n return items\n .filter(item => (item.parentId ?? null) === (parentId ?? null))\n .map(item => item.id);\n}\n\nexport function isSceneGraphDescendant(\n items: readonly SceneGraphTreeItem[],\n candidateId: SceneGraphNodeId,\n ancestorId: SceneGraphNodeId,\n): boolean {\n const byId = new Map(items.map(item => [item.id, item]));\n let cursor = byId.get(candidateId) ?? null;\n const visited = new Set<SceneGraphNodeId>();\n while (cursor?.parentId) {\n if (cursor.parentId === ancestorId) return true;\n if (visited.has(cursor.parentId)) return false;\n visited.add(cursor.parentId);\n cursor = byId.get(cursor.parentId) ?? null;\n }\n return false;\n}\n\nexport function canSceneGraphItemHaveChildren(item: SceneGraphTreeItem | null | undefined): boolean {\n if (!item) return false;\n if (item.locked && !item.protected) return false;\n return item.canHaveChildren === true;\n}\n\nexport function isSceneGraphItemMovable(item: SceneGraphTreeItem | null | undefined): boolean {\n return !!item && item.protected !== true && item.locked !== true && item.draggable !== false;\n}\n\nfunction collectSceneGraphAncestorIds(\n items: readonly SceneGraphTreeItem[],\n id: SceneGraphNodeId,\n): SceneGraphNodeId[] {\n const byId = new Map(items.map(item => [item.id, item]));\n const ancestors: SceneGraphNodeId[] = [];\n const visited = new Set<SceneGraphNodeId>();\n let cursor = byId.get(id) ?? null;\n while (cursor?.parentId && !visited.has(cursor.parentId)) {\n visited.add(cursor.parentId);\n ancestors.push(cursor.parentId);\n cursor = byId.get(cursor.parentId) ?? null;\n }\n return ancestors;\n}\n\nfunction validSceneGraphIntent(): SceneGraphValidationResult {\n return { ok: true };\n}\n\nfunction invalidSceneGraphIntent(reason: string): SceneGraphValidationResult {\n return { ok: false, reason };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-view-input.js","sourceRoot":"","sources":["../src/scene-view-input.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"scene-view-input.js","sourceRoot":"","sources":["../src/scene-view-input.ts"],"names":[],"mappings":"","sourcesContent":["export type SceneViewPointerButton = 'left' | 'middle' | 'right';\n\nexport type SceneViewPointerIntent =\n | 'selection-click'\n | 'box-select'\n | 'gizmo-drag'\n | 'view-plane-move'\n | 'placement'\n | 'measurement'\n | 'orbit'\n | 'pan'\n | 'dolly'\n | 'flythrough';\n\nexport type SceneViewNavigationMode = 'none' | 'orbit' | 'pan' | 'dolly' | 'flythrough';\n\nexport interface SceneViewInputModifiers {\n alt: boolean;\n shift: boolean;\n ctrl: boolean;\n meta: boolean;\n}\n\nexport interface SceneViewMouseBinding {\n button: SceneViewPointerButton;\n alt?: boolean;\n shift?: boolean;\n ctrlOrMeta?: boolean;\n}\n\nexport interface SceneViewPointerState {\n pointerId: number;\n button: SceneViewPointerButton;\n intent: SceneViewPointerIntent;\n start: { x: number; y: number };\n current: { x: number; y: number };\n delta: { x: number; y: number };\n modifiers: SceneViewInputModifiers;\n}\n\nexport interface SceneViewKeyboardCaptureState {\n owner: 'scene-view';\n intent: SceneViewPointerIntent;\n keys: string[];\n pressedKeys: string[];\n}\n\nexport interface SceneViewInputState {\n activeIntent: SceneViewPointerIntent | null;\n navigationMode: SceneViewNavigationMode;\n activePointer: SceneViewPointerState | null;\n keyboardCapture: SceneViewKeyboardCaptureState | null;\n pressedMovementKeys: string[];\n flySpeed: number;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-strategy.js","sourceRoot":"","sources":["../src/selection-strategy.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,6BAA6B,CAC3C,KAAyC;IAEzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;YACvD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3E,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,SAAS;YACtB,QAAQ;YACR,KAAK,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,SAAS;YACtB,QAAQ;YACR,KAAK,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB;SAC7E,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,OAAO,KAAK,OAAO;WACtB,SAAS,CAAC,MAAM,KAAK,CAAC;WACtB,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,EACtD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,kBAAkB;SAC1B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,SAAS;QACtB,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAsB;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"selection-strategy.js","sourceRoot":"","sources":["../src/selection-strategy.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,6BAA6B,CAC3C,KAAyC;IAEzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;YACvD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3E,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,SAAS;YACtB,QAAQ;YACR,KAAK,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,SAAS;YACtB,QAAQ;YACR,KAAK,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB;SAC7E,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,OAAO,KAAK,OAAO;WACtB,SAAS,CAAC,MAAM,KAAK,CAAC;WACtB,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,EACtD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,kBAAkB;SAC1B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,SAAS;QACtB,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAsB;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type {\n EditorSelectionState,\n SelectionCommand,\n} from './editor-session';\n\nexport type EditorSelectionGesture = 'click' | 'box';\nexport type EditorSelectionModifier = 'replace' | 'additive' | 'toggle';\n\nexport interface ResolveEditorSelectionCommandInput {\n selection: EditorSelectionState;\n targetIds: readonly string[];\n activeId?: string | null;\n gesture: EditorSelectionGesture;\n modifier: EditorSelectionModifier;\n}\n\nexport function resolveEditorSelectionCommand(\n input: ResolveEditorSelectionCommandInput,\n): SelectionCommand | null {\n const targetIds = uniqueSelectionIds(input.targetIds);\n if (targetIds.length === 0) {\n return input.modifier === 'replace'\n ? { type: 'selection.clear', label: 'Clear Selection' }\n : null;\n }\n\n const activeId = input.activeId ?? targetIds[targetIds.length - 1] ?? null;\n if (input.modifier === 'replace') {\n return {\n type: 'selection.replace',\n selectedIds: targetIds,\n activeId,\n label: input.gesture === 'box' ? 'Box Select' : 'Select Object',\n };\n }\n\n if (input.modifier === 'toggle') {\n return {\n type: 'selection.toggle',\n selectedIds: targetIds,\n activeId,\n label: input.gesture === 'box' ? 'Box Toggle Selection' : 'Toggle Selection',\n };\n }\n\n if (\n input.gesture === 'click'\n && targetIds.length === 1\n && input.selection.selectedIds.includes(targetIds[0]!)\n ) {\n return {\n type: 'selection.remove',\n selectedIds: targetIds,\n label: 'Remove Selection',\n };\n }\n\n return {\n type: 'selection.add',\n selectedIds: targetIds,\n activeId,\n label: input.gesture === 'box' ? 'Box Add Selection' : 'Add Selection',\n };\n}\n\nfunction uniqueSelectionIds(ids: readonly string[]): string[] {\n const result: string[] = [];\n const seen = new Set<string>();\n for (const id of ids) {\n if (!id || seen.has(id)) continue;\n seen.add(id);\n result.push(id);\n }\n return result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-object.js","sourceRoot":"","sources":["../src/serialized-object.ts"],"names":[],"mappings":"AAqFA,MAAM,UAAU,sBAAsB,CACpC,OAAiD;IAEjD,MAAM,OAAO,GAA8B;QACzC,GAAG,OAAO,CAAC,OAAO;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI;YAC1C,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,SAAS;YAC5C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;YACrD,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU;YACnF,UAAU;SACX,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAAmB,EACnB,WAA+D,EAC/D,KAA8B,EAC9B,UAAuD,EAAE;IAEzD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE;QAChD,GAAG,OAAO;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"serialized-object.js","sourceRoot":"","sources":["../src/serialized-object.ts"],"names":[],"mappings":"AAqFA,MAAM,UAAU,sBAAsB,CACpC,OAAiD;IAEjD,MAAM,OAAO,GAA8B;QACzC,GAAG,OAAO,CAAC,OAAO;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI;YAC1C,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,SAAS;YAC5C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;YACrD,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU;YACnF,UAAU;SACX,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAAmB,EACnB,WAA+D,EAC/D,KAA8B,EAC9B,UAAuD,EAAE;IAEzD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE;QAChD,GAAG,OAAO;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;AACL,CAAC","sourcesContent":["export type SerializedPropertyPath = string;\n\nexport type SerializedPropertyValueType =\n | 'string'\n | 'number'\n | 'boolean'\n | 'enum'\n | 'asset'\n | 'object'\n | 'unknown';\n\nexport interface SerializedPropertyContext {\n targetId?: string;\n [key: string]: unknown;\n}\n\nexport interface SerializedPropertyDescriptor<TDocument = unknown> {\n path: SerializedPropertyPath;\n label?: string;\n valueType?: SerializedPropertyValueType;\n options?: readonly SerializedPropertyOption[];\n readOnly?: boolean;\n getValue(document: TDocument, context: SerializedPropertyContext): unknown;\n setValue?(\n document: TDocument,\n value: unknown,\n context: SerializedPropertyContext,\n ): TDocument;\n}\n\nexport interface SerializedProperty<TDocument = unknown> {\n path: SerializedPropertyPath;\n label: string;\n valueType: SerializedPropertyValueType;\n value: unknown;\n options?: readonly SerializedPropertyOption[];\n mixed?: boolean;\n readOnly: boolean;\n descriptor: SerializedPropertyDescriptor<TDocument>;\n}\n\nexport interface SerializedPropertyOption<TValue = string | number | boolean> {\n label: string;\n value: TValue;\n disabled?: boolean;\n}\n\nexport interface SerializedObject<TDocument = unknown> {\n targetId: string;\n label?: string;\n properties: SerializedProperty<TDocument>[];\n}\n\nexport interface SerializedMultiObject<TDocument = unknown> {\n targetIds: string[];\n activeId: string | null;\n label?: string;\n properties: SerializedProperty<TDocument>[];\n}\n\nexport interface SerializedPropertyPatch {\n targetId: string;\n path: SerializedPropertyPath;\n value: unknown;\n}\n\nexport interface SerializedPropertyAdapter<TDocument = unknown> {\n getSerializedObject(\n document: TDocument,\n targetId: string,\n ): SerializedObject<TDocument> | null;\n applySerializedPropertyPatch(\n document: TDocument,\n patch: SerializedPropertyPatch,\n ): TDocument;\n}\n\nexport interface CreateSerializedObjectOptions<TDocument> {\n document: TDocument;\n targetId: string;\n label?: string;\n descriptors: readonly SerializedPropertyDescriptor<TDocument>[];\n context?: Omit<SerializedPropertyContext, 'targetId'>;\n}\n\nexport function createSerializedObject<TDocument>(\n options: CreateSerializedObjectOptions<TDocument>,\n): SerializedObject<TDocument> {\n const context: SerializedPropertyContext = {\n ...options.context,\n targetId: options.targetId,\n };\n return {\n targetId: options.targetId,\n label: options.label,\n properties: options.descriptors.map((descriptor) => ({\n path: descriptor.path,\n label: descriptor.label ?? descriptor.path,\n valueType: descriptor.valueType ?? 'unknown',\n value: descriptor.getValue(options.document, context),\n options: descriptor.options,\n readOnly: descriptor.readOnly === true || typeof descriptor.setValue !== 'function',\n descriptor,\n })),\n };\n}\n\nexport function applySerializedPropertyPatch<TDocument>(\n document: TDocument,\n descriptors: readonly SerializedPropertyDescriptor<TDocument>[],\n patch: SerializedPropertyPatch,\n context: Omit<SerializedPropertyContext, 'targetId'> = {},\n): TDocument {\n const descriptor = descriptors.find((candidate) => candidate.path === patch.path);\n if (!descriptor) {\n throw new Error(`Serialized property descriptor not found: ${patch.path}`);\n }\n if (descriptor.readOnly === true || typeof descriptor.setValue !== 'function') {\n throw new Error(`Serialized property is read-only: ${patch.path}`);\n }\n return descriptor.setValue(document, patch.value, {\n ...context,\n targetId: patch.targetId,\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-command.js","sourceRoot":"","sources":["../src/transform-command.ts"],"names":[],"mappings":"AAiBA,MAAM,iCAAiC,GAAG,iDAAiD,CAAC;AAE5F,MAAM,UAAU,8CAA8C,CAC5D,IAAY,EACZ,KAAc;IAEd,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAoC,CAAC;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAkC,CAAC;IACvD,MAAM,WAAW,GAAG,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9F,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAyC,CAAC;AAC1F,CAAC"}
|
|
1
|
+
{"version":3,"file":"transform-command.js","sourceRoot":"","sources":["../src/transform-command.ts"],"names":[],"mappings":"AAiBA,MAAM,iCAAiC,GAAG,iDAAiD,CAAC;AAE5F,MAAM,UAAU,8CAA8C,CAC5D,IAAY,EACZ,KAAc;IAEd,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAoC,CAAC;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAkC,CAAC;IACvD,MAAM,WAAW,GAAG,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9F,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAyC,CAAC;AAC1F,CAAC","sourcesContent":["import type {\n EditorTransformTrsSnapshot,\n} from './transform-gizmo';\n\nexport type EditorSerializedTransformVector =\n | 'position'\n | 'rotation'\n | 'scale';\n\nexport type EditorSerializedTransformAxis =\n | 'x'\n | 'y'\n | 'z';\n\nexport type EditorSerializedTransformPath =\n `transform.${EditorSerializedTransformVector}.${EditorSerializedTransformAxis}`;\n\nconst SERIALIZED_TRANSFORM_PATH_PATTERN = /^transform\\.(position|rotation|scale)\\.(x|y|z)$/;\n\nexport function createEditorTransformPartialFromSerializedPath(\n path: string,\n value: unknown,\n): Partial<EditorTransformTrsSnapshot> | null {\n const numericValue = Number(value);\n if (!Number.isFinite(numericValue)) return null;\n const match = path.match(SERIALIZED_TRANSFORM_PATH_PATTERN);\n if (!match) return null;\n const vectorName = match[1] as EditorSerializedTransformVector;\n const axis = match[2] as EditorSerializedTransformAxis;\n const storedValue = vectorName === 'rotation' ? (numericValue * Math.PI) / 180 : numericValue;\n return { [vectorName]: { [axis]: storedValue } } as Partial<EditorTransformTrsSnapshot>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-gizmo.js","sourceRoot":"","sources":["../src/transform-gizmo.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,yCAAyC,GAAG;IACvD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,EAAE;KACZ;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,WAAW;gBACf,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,eAAe;aAC7B;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,UAAU,EAAE,OAAO;gBACnB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,kBAAkB;aAChC;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,iBAAiB;aAC/B;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,aAAa;gBACjB,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,eAAe;aAC7B;SACF;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,YAAY;gBAChB,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,eAAe;aAC7B;YACD;gBACE,EAAE,EAAE,eAAe;gBACnB,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,WAAW;aACzB;SACF;KACF;CACmE,CAAC;AAEvE,MAAM,UAAU,gCAAgC,CAC9C,IAAyB;IAEzB,OAAO,yCAAyC,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAyB,EACzB,UAA6C;IAE7C,MAAM,UAAU,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,UAAU,GAAG,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;QACtF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,UAAU,CAAC,iBAAiB,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"transform-gizmo.js","sourceRoot":"","sources":["../src/transform-gizmo.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,yCAAyC,GAAG;IACvD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,EAAE;KACZ;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,WAAW;gBACf,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,eAAe;aAC7B;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,UAAU,EAAE,OAAO;gBACnB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,kBAAkB;aAChC;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,iBAAiB;aAC/B;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,aAAa;gBACjB,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,eAAe;aAC7B;SACF;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,YAAY;gBAChB,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,eAAe;aAC7B;YACD;gBACE,EAAE,EAAE,eAAe;gBACnB,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,WAAW;aACzB;SACF;KACF;CACmE,CAAC;AAEvE,MAAM,UAAU,gCAAgC,CAC9C,IAAyB;IAEzB,OAAO,yCAAyC,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAyB,EACzB,UAA6C;IAE7C,MAAM,UAAU,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,UAAU,GAAG,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;QACtF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,UAAU,CAAC,iBAAiB,CAAC;AACtC,CAAC","sourcesContent":["export type EditorTransformTool = 'select' | 'move' | 'rotate' | 'scale';\n\n/**\n * Operation-space preference for transform tools.\n *\n * This describes the basis used by a gizmo operation, not the storage space of\n * authored data. Transform commits emitted by the editor framework use\n * world-space snapshots; project adapters are responsible for converting those\n * snapshots back into their document-local representation when needed.\n */\nexport type EditorTransformSpace = 'world' | 'local';\n\nexport type EditorTransformCanonicalConstraint = 'axis' | 'plane' | 'free' | 'uniform';\n\nexport type EditorTransformConstraint = EditorTransformCanonicalConstraint | 'view-plane';\n\nexport type EditorTransformOperationBlockReason =\n | 'non-trs-representable'\n | 'non-invertible-parent'\n | 'unsupported-transform';\n\nexport interface EditorTransformHandleDescriptor {\n id: string;\n constraint: EditorTransformCanonicalConstraint;\n label: string;\n description: string;\n}\n\nexport interface EditorTransformToolDescriptor {\n tool: EditorTransformTool;\n label: string;\n shortcut?: string;\n defaultConstraint?: EditorTransformCanonicalConstraint;\n handles: readonly EditorTransformHandleDescriptor[];\n}\n\nexport const DEFAULT_EDITOR_TRANSFORM_TOOL_DESCRIPTORS = {\n select: {\n tool: 'select',\n label: '选择',\n shortcut: 'Q',\n handles: [],\n },\n move: {\n tool: 'move',\n label: '移动',\n shortcut: 'W',\n defaultConstraint: 'axis',\n handles: [\n {\n id: 'move.axis',\n constraint: 'axis',\n label: '轴向',\n description: '沿 X/Y/Z 单轴移动。',\n },\n {\n id: 'move.plane',\n constraint: 'plane',\n label: '平面',\n description: '沿 XY/XZ/YZ 平面移动。',\n },\n {\n id: 'move.free',\n constraint: 'free',\n label: '自由',\n description: '沿当前摄像机视图平面自由移动。',\n },\n ],\n },\n rotate: {\n tool: 'rotate',\n label: '旋转',\n shortcut: 'E',\n defaultConstraint: 'axis',\n handles: [\n {\n id: 'rotate.axis',\n constraint: 'axis',\n label: '轴向',\n description: '绕 X/Y/Z 单轴旋转。',\n },\n ],\n },\n scale: {\n tool: 'scale',\n label: '缩放',\n shortcut: 'R',\n defaultConstraint: 'axis',\n handles: [\n {\n id: 'scale.axis',\n constraint: 'axis',\n label: '轴向',\n description: '沿 X/Y/Z 单轴缩放。',\n },\n {\n id: 'scale.uniform',\n constraint: 'uniform',\n label: '统一',\n description: '沿所有轴等比缩放。',\n },\n ],\n },\n} satisfies Record<EditorTransformTool, EditorTransformToolDescriptor>;\n\nexport function getEditorTransformToolDescriptor(\n tool: EditorTransformTool,\n): EditorTransformToolDescriptor {\n return DEFAULT_EDITOR_TRANSFORM_TOOL_DESCRIPTORS[tool];\n}\n\nexport function normalizeEditorTransformConstraint(\n tool: EditorTransformTool,\n constraint?: EditorTransformConstraint | null,\n): EditorTransformCanonicalConstraint | undefined {\n const descriptor = getEditorTransformToolDescriptor(tool);\n if (!descriptor.defaultConstraint) return undefined;\n const normalized = constraint === 'view-plane' ? 'free' : constraint;\n if (normalized && descriptor.handles.some(handle => handle.constraint === normalized)) {\n return normalized;\n }\n return descriptor.defaultConstraint;\n}\n\nexport type {\n EditorTransformMatrix,\n EditorTransformMatrixSnapshot,\n EditorTransformSnapshot,\n EditorTransformTrsSnapshot,\n EditorTransformVec3,\n} from '@fps-games/playable-contracts';\nimport type {\n EditorTransformSnapshot,\n EditorTransformVec3,\n} from '@fps-games/playable-contracts';\n\nexport type EditorTransformGizmoDragPhase = 'idle' | 'dragging';\n\nexport interface EditorTransformGizmoState {\n tool: EditorTransformTool;\n space: EditorTransformSpace;\n constraint?: EditorTransformConstraint;\n selectedNodeId: string | null;\n dragPhase: EditorTransformGizmoDragPhase;\n draggingNodeId: string | null;\n}\n\nexport interface EditorTransformGizmoCommit {\n nodeId: string;\n tool: Exclude<EditorTransformTool, 'select'>;\n /** Operation-space preference used to produce the world-space snapshots. */\n space: EditorTransformSpace;\n constraint: EditorTransformCanonicalConstraint;\n /** World-space transform before the drag. */\n before: EditorTransformSnapshot;\n /** World-space transform after the drag. */\n after: EditorTransformSnapshot;\n}\n\nexport interface EditorTransformPivot {\n mode: 'selection-center';\n position: EditorTransformVec3;\n}\n\nexport interface EditorTransformTargetSnapshot {\n id: string;\n /** World-space transform before the batch drag. */\n before: EditorTransformSnapshot;\n /** World-space transform after the batch drag. */\n after: EditorTransformSnapshot;\n}\n\nexport interface EditorTransformBatchCommit {\n targetIds: string[];\n activeId: string | null;\n tool: Exclude<EditorTransformTool, 'select'>;\n /** Operation-space preference used to produce the world-space snapshots. */\n space: EditorTransformSpace;\n constraint: EditorTransformCanonicalConstraint;\n pivot: EditorTransformPivot;\n targets: EditorTransformTargetSnapshot[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-operation-policy.js","sourceRoot":"","sources":["../src/transform-operation-policy.ts"],"names":[],"mappings":"AAqDA,MAAM,CAAC,MAAM,8CAA8C,GAAwC;IACjG,uBAAuB,EAAE,KAAK;IAC9B,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,KAAK;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,6CAA6C,GAAuC;IAC/F,aAAa,EAAE,IAAI;IACnB,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAEF,MAAM,UAAU,yCAAyC,CACvD,QAAiD,EAAE;IAEnD,MAAM,mBAAmB,GAAG;QAC1B,GAAG,6CAA6C;QAChD,GAAG,KAAK,CAAC,mBAAmB;KAC7B,CAAC;IACF,OAAO;QACL,mBAAmB,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC;eACnD,mBAAmB,CAAC,uBAAuB;eAC3C,mBAAmB,CAAC,aAAa;QACtC,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,KAA0C;IAE1C,MAAM,oBAAoB,GAAG;QAC3B,GAAG,8CAA8C;QACjD,GAAG,KAAK,CAAC,oBAAoB;KAC9B,CAAC;IACF,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,uBAAuB,KAAK,KAAK;WACnF,CAAC,oBAAoB,CAAC,aAAa;WACnC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;IAEnD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,IAAI,yBAAyB,EAAE,CAAC;QACvF,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;YACjE,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,cAAc,EAAE,OAAO;YACvB,SAAS,EAAE,QAAQ;YACnB,cAAc,EAAE,oBAAoB,CAAC,uBAAuB;YAC5D,MAAM,EAAE,KAAK,CAAC,cAAc,KAAK,OAAO;gBACtC,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,6BAA6B;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,SAAS,EAAE,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QAChE,cAAc,EAAE,oBAAoB,CAAC,uBAAuB;QAC5D,MAAM,EAAE,2BAA2B;KACpC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"transform-operation-policy.js","sourceRoot":"","sources":["../src/transform-operation-policy.ts"],"names":[],"mappings":"AAqDA,MAAM,CAAC,MAAM,8CAA8C,GAAwC;IACjG,uBAAuB,EAAE,KAAK;IAC9B,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,KAAK;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,6CAA6C,GAAuC;IAC/F,aAAa,EAAE,IAAI;IACnB,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAEF,MAAM,UAAU,yCAAyC,CACvD,QAAiD,EAAE;IAEnD,MAAM,mBAAmB,GAAG;QAC1B,GAAG,6CAA6C;QAChD,GAAG,KAAK,CAAC,mBAAmB;KAC7B,CAAC;IACF,OAAO;QACL,mBAAmB,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC;eACnD,mBAAmB,CAAC,uBAAuB;eAC3C,mBAAmB,CAAC,aAAa;QACtC,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,KAA0C;IAE1C,MAAM,oBAAoB,GAAG;QAC3B,GAAG,8CAA8C;QACjD,GAAG,KAAK,CAAC,oBAAoB;KAC9B,CAAC;IACF,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,uBAAuB,KAAK,KAAK;WACnF,CAAC,oBAAoB,CAAC,aAAa;WACnC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;IAEnD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,IAAI,yBAAyB,EAAE,CAAC;QACvF,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;YACjE,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,cAAc,EAAE,OAAO;YACvB,SAAS,EAAE,QAAQ;YACnB,cAAc,EAAE,oBAAoB,CAAC,uBAAuB;YAC5D,MAAM,EAAE,KAAK,CAAC,cAAc,KAAK,OAAO;gBACtC,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,6BAA6B;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,SAAS,EAAE,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QAChE,cAAc,EAAE,oBAAoB,CAAC,uBAAuB;QAC5D,MAAM,EAAE,2BAA2B;KACpC,CAAC;AACJ,CAAC","sourcesContent":["import type {\n EditorTransformCanonicalConstraint,\n EditorTransformSpace,\n EditorTransformTool,\n} from './transform-gizmo';\n\nexport type EditorTransformRepresentation = 'trs' | 'matrix';\n\nexport type EditorTransformAxisFrame = 'world' | 'object';\n\nexport type EditorTransformOperationPolicyStatus = 'allowed' | 'remapped' | 'blocked';\n\nexport type EditorTransformOperationPolicyReason =\n | 'requested-space-supported'\n | 'trs-axis-scale-object-space';\n\nexport interface EditorTransformDocumentCapabilities {\n transformRepresentation: EditorTransformRepresentation;\n supportsShear: boolean;\n supportsMatrixTransform: boolean;\n}\n\nexport interface EditorTransformStorageCapabilities {\n supportsShear: boolean;\n supportsMatrixTransform: boolean;\n}\n\nexport interface EditorTransformOperationPolicyInput {\n tool: Exclude<EditorTransformTool, 'select'>;\n constraint: EditorTransformCanonicalConstraint;\n requestedSpace: EditorTransformSpace;\n documentCapabilities?: Partial<EditorTransformDocumentCapabilities>;\n}\n\nexport interface EditorTransformOperationPolicy {\n status: EditorTransformOperationPolicyStatus;\n requestedSpace: EditorTransformSpace;\n effectiveSpace: EditorTransformSpace;\n axisFrame: EditorTransformAxisFrame;\n representation: EditorTransformRepresentation;\n reason: EditorTransformOperationPolicyReason;\n}\n\nexport interface EditorTransformPreserveWorldPolicyInput {\n allowMatrixFallback?: boolean;\n storageCapabilities?: Partial<EditorTransformStorageCapabilities>;\n}\n\nexport interface EditorTransformPreserveWorldPolicy {\n allowMatrixFallback: boolean;\n storageCapabilities: EditorTransformStorageCapabilities;\n}\n\nexport const DEFAULT_EDITOR_TRANSFORM_DOCUMENT_CAPABILITIES: EditorTransformDocumentCapabilities = {\n transformRepresentation: 'trs',\n supportsShear: false,\n supportsMatrixTransform: false,\n};\n\nexport const DEFAULT_EDITOR_TRANSFORM_STORAGE_CAPABILITIES: EditorTransformStorageCapabilities = {\n supportsShear: true,\n supportsMatrixTransform: true,\n};\n\nexport function resolveEditorTransformPreserveWorldPolicy(\n input: EditorTransformPreserveWorldPolicyInput = {},\n): EditorTransformPreserveWorldPolicy {\n const storageCapabilities = {\n ...DEFAULT_EDITOR_TRANSFORM_STORAGE_CAPABILITIES,\n ...input.storageCapabilities,\n };\n return {\n allowMatrixFallback: (input.allowMatrixFallback ?? true)\n && storageCapabilities.supportsMatrixTransform\n && storageCapabilities.supportsShear,\n storageCapabilities,\n };\n}\n\nexport function resolveEditorTransformOperationPolicy(\n input: EditorTransformOperationPolicyInput,\n): EditorTransformOperationPolicy {\n const documentCapabilities = {\n ...DEFAULT_EDITOR_TRANSFORM_DOCUMENT_CAPABILITIES,\n ...input.documentCapabilities,\n };\n const usesTrsOnlyRepresentation = documentCapabilities.transformRepresentation === 'trs'\n && !documentCapabilities.supportsShear\n && !documentCapabilities.supportsMatrixTransform;\n\n if (input.tool === 'scale' && input.constraint === 'axis' && usesTrsOnlyRepresentation) {\n return {\n status: input.requestedSpace === 'local' ? 'allowed' : 'remapped',\n requestedSpace: input.requestedSpace,\n effectiveSpace: 'local',\n axisFrame: 'object',\n representation: documentCapabilities.transformRepresentation,\n reason: input.requestedSpace === 'local'\n ? 'requested-space-supported'\n : 'trs-axis-scale-object-space',\n };\n }\n\n return {\n status: 'allowed',\n requestedSpace: input.requestedSpace,\n effectiveSpace: input.requestedSpace,\n axisFrame: input.requestedSpace === 'local' ? 'object' : 'world',\n representation: documentCapabilities.transformRepresentation,\n reason: 'requested-space-supported',\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-operations.js","sourceRoot":"","sources":["../src/transform-operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform-operations.js","sourceRoot":"","sources":["../src/transform-operations.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorTransformSnapshot,\n EditorTransformTrsSnapshot,\n EditorTransformTool,\n EditorTransformVec3,\n EditorTransformTargetSnapshot,\n} from './transform-gizmo';\nimport {\n cloneEditorTransformSnapshot,\n isEditorTransformTrsSnapshot,\n} from '@fps-games/playable-scene';\n\nexport interface EditorTransformSnapSettings {\n enabled: boolean;\n moveStep: number;\n rotateStepDegrees: number;\n scaleStep: number;\n}\n\nexport type EditorPlacementMode = 'off' | 'ground' | 'surface';\n\nexport interface EditorPlacementHit {\n mode: Exclude<EditorPlacementMode, 'off'>;\n position: EditorTransformVec3;\n normal?: EditorTransformVec3;\n nodeId?: string | null;\n}\n\nexport interface EditorTransformOperationSettings {\n snap: EditorTransformSnapSettings;\n placementMode: EditorPlacementMode;\n}\n\nexport type EditorTransformAction =\n | 'align-x'\n | 'align-y'\n | 'align-z'\n | 'align-all'\n | 'distribute-x'\n | 'distribute-y'\n | 'distribute-z';\n\nexport interface EditorTransformActionTarget {\n id: string;\n transform: EditorTransformSnapshot;\n}\n\nexport interface EditorTransformActionInput {\n action: EditorTransformAction;\n activeId: string | null;\n targets: readonly EditorTransformActionTarget[];\n}\n\ninterface EditorTransformTrsTargetSnapshot {\n id: string;\n before: EditorTransformTrsSnapshot;\n after: EditorTransformTrsSnapshot;\n}\n\nexport const DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS: EditorTransformOperationSettings = {\n snap: {\n enabled: false,\n moveStep: 0.5,\n rotateStepDegrees: 15,\n scaleStep: 0.1,\n },\n placementMode: 'off',\n};\n\nexport function snapEditorTransformSnapshot(\n before: EditorTransformSnapshot,\n after: EditorTransformSnapshot,\n tool: Exclude<EditorTransformTool, 'select'>,\n settings: EditorTransformSnapSettings,\n): EditorTransformSnapshot {\n if (!settings.enabled || !isEditorTransformTrsSnapshot(before) || !isEditorTransformTrsSnapshot(after)) {\n return cloneEditorTransformSnapshot(after);\n }\n if (tool === 'move') {\n return {\n position: snapVec3Delta(before.position, after.position, settings.moveStep),\n rotation: cloneVec3(after.rotation),\n scale: cloneVec3(after.scale),\n };\n }\n if (tool === 'rotate') {\n return {\n position: cloneVec3(after.position),\n rotation: snapVec3Delta(before.rotation, after.rotation, degreesToRadians(settings.rotateStepDegrees)),\n scale: cloneVec3(after.scale),\n };\n }\n return {\n position: cloneVec3(after.position),\n rotation: cloneVec3(after.rotation),\n scale: snapVec3Delta(before.scale, after.scale, settings.scaleStep),\n };\n}\n\nexport function computeEditorTransformActionTargets(\n input: EditorTransformActionInput,\n): EditorTransformTargetSnapshot[] {\n const targets = input.targets\n .filter(target => !!target.id)\n .filter((target): target is EditorTransformActionTarget & { transform: EditorTransformTrsSnapshot } => (\n isEditorTransformTrsSnapshot(target.transform)\n ))\n .map(target => ({\n id: target.id,\n before: cloneTrsTransformSnapshot(target.transform),\n after: cloneTrsTransformSnapshot(target.transform),\n }));\n if (targets.length === 0) return [];\n if (input.action.startsWith('align-')) {\n return computeAlignTargets(input.action, input.activeId, targets);\n }\n return computeDistributeTargets(input.action, targets);\n}\n\nfunction computeAlignTargets(\n action: EditorTransformAction,\n activeId: string | null,\n targets: EditorTransformTrsTargetSnapshot[],\n): EditorTransformTargetSnapshot[] {\n if (targets.length < 2 || !activeId) return [];\n const active = targets.find(target => target.id === activeId);\n if (!active) return [];\n const axes = action === 'align-all' ? ['x', 'y', 'z'] as const : [action.slice(-1) as 'x' | 'y' | 'z'];\n return targets.map((target) => {\n const position = cloneVec3(target.after.position);\n for (const axis of axes) position[axis] = active.before.position[axis];\n return {\n ...target,\n after: {\n ...target.after,\n position,\n },\n };\n });\n}\n\nfunction computeDistributeTargets(\n action: EditorTransformAction,\n targets: EditorTransformTrsTargetSnapshot[],\n): EditorTransformTargetSnapshot[] {\n if (targets.length < 3) return [];\n const axis = action.slice(-1) as 'x' | 'y' | 'z';\n const sorted = [...targets].sort((left, right) => left.before.position[axis] - right.before.position[axis]);\n const first = sorted[0]!;\n const last = sorted[sorted.length - 1]!;\n const step = (last.before.position[axis] - first.before.position[axis]) / (sorted.length - 1);\n return sorted.map((target, index) => {\n const position = cloneVec3(target.after.position);\n position[axis] = sanitizeNumber(first.before.position[axis] + step * index);\n return {\n ...target,\n after: {\n ...target.after,\n position,\n },\n };\n });\n}\n\nfunction snapVec3Delta(\n before: EditorTransformVec3,\n after: EditorTransformVec3,\n step: number,\n): EditorTransformVec3 {\n if (!Number.isFinite(step) || step <= 0) return cloneVec3(after);\n return {\n x: snapDeltaComponent(before.x, after.x, step),\n y: snapDeltaComponent(before.y, after.y, step),\n z: snapDeltaComponent(before.z, after.z, step),\n };\n}\n\nfunction snapDeltaComponent(before: number, after: number, step: number): number {\n const delta = after - before;\n return sanitizeNumber(before + Math.round(delta / step) * step);\n}\n\nfunction degreesToRadians(degrees: number): number {\n return (degrees * Math.PI) / 180;\n}\n\nfunction cloneTrsTransformSnapshot(transform: EditorTransformTrsSnapshot): EditorTransformTrsSnapshot {\n return {\n ...(transform.mode === 'trs' ? { mode: 'trs' as const } : {}),\n position: cloneVec3(transform.position),\n rotation: cloneVec3(transform.rotation),\n scale: cloneVec3(transform.scale),\n };\n}\n\nfunction cloneVec3(value: EditorTransformVec3): EditorTransformVec3 {\n return {\n x: value.x,\n y: value.y,\n z: value.z,\n };\n}\n\nfunction sanitizeNumber(value: number): number {\n if (!Number.isFinite(value)) return value;\n return Math.abs(value) < 0.000000000001\n ? 0\n : Number(value.toFixed(12));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport-tools.js","sourceRoot":"","sources":["../src/viewport-tools.ts"],"names":[],"mappings":"AAiGA,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,KAAK;CAC0B,CAAC;AAE1C,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,UAAU,EAAE,aAAa;IACzB,cAAc,EAAE,aAAa;IAC7B,iBAAiB,EAAE,MAAM;IACzB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,wCAAwC;CAChB,CAAC;AAEpC,MAAM,UAAU,kCAAkC,CAChD,QAAuC;IAEvC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAA8B;IAE9B,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,KAAwC;IAExC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YAClB,CAAC,CAAC;gBACE,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC5B,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC5B,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBAClC,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;aAC/B;YACH,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,GAAG,IAAI;YACP,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;YACxB,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;SACjC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4CAA4C;IAC1D,OAAO;QACL,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"viewport-tools.js","sourceRoot":"","sources":["../src/viewport-tools.ts"],"names":[],"mappings":"AAiGA,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,KAAK;CAC0B,CAAC;AAE1C,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,UAAU,EAAE,aAAa;IACzB,cAAc,EAAE,aAAa;IAC7B,iBAAiB,EAAE,MAAM;IACzB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,wCAAwC;CAChB,CAAC;AAEpC,MAAM,UAAU,kCAAkC,CAChD,QAAuC;IAEvC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAA8B;IAE9B,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,KAAwC;IAExC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YAClB,CAAC,CAAC;gBACE,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC5B,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC5B,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBAClC,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;aAC/B;YACH,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,GAAG,IAAI;YACP,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;YACxB,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;SACjC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4CAA4C;IAC1D,OAAO;QACL,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC","sourcesContent":["import type { EditorTransformVec3 } from './transform-gizmo';\n\nexport type EditorViewportViewPreset =\n | 'perspective'\n | 'top'\n | 'bottom'\n | 'front'\n | 'back'\n | 'left'\n | 'right'\n | 'iso'\n | 'threeQuarterTop';\n\nexport type EditorViewportProjectionMode = 'perspective' | 'orthographic';\n\nexport type EditorViewportUtilityTool = 'none' | 'measure-distance';\n\nexport interface EditorViewportOverlaySettings {\n bounds: boolean;\n dimensions: boolean;\n edgeLengths: boolean;\n anchor: boolean;\n}\n\nexport interface EditorViewportToolState {\n viewPreset: EditorViewportViewPreset;\n projectionMode: EditorViewportProjectionMode;\n activeUtilityTool: EditorViewportUtilityTool;\n markersVisible: boolean;\n overlay: EditorViewportOverlaySettings;\n}\n\nexport interface EditorViewportGroundMeasurement {\n active: boolean;\n start: EditorTransformVec3 | null;\n end: EditorTransformVec3 | null;\n preview: EditorTransformVec3 | null;\n distance: number | null;\n screenStart?: EditorViewportScreenPoint | null;\n screenEnd?: EditorViewportScreenPoint | null;\n screenPreview?: EditorViewportScreenPoint | null;\n label?: {\n text: string;\n x: number;\n y: number;\n } | null;\n}\n\nexport interface EditorViewportBounds {\n min: EditorTransformVec3;\n max: EditorTransformVec3;\n center: EditorTransformVec3;\n size: EditorTransformVec3;\n}\n\nexport interface EditorViewportScreenPoint {\n x: number;\n y: number;\n depth: number;\n}\n\nexport type EditorViewportSpatialOverlayLineKind = 'bounds';\n\nexport interface EditorViewportSpatialOverlayLine {\n id: string;\n kind: EditorViewportSpatialOverlayLineKind;\n start: EditorViewportScreenPoint;\n end: EditorViewportScreenPoint;\n}\n\nexport type EditorViewportSpatialOverlayLabelKind = 'dimension' | 'edge-length' | 'anchor';\n\nexport interface EditorViewportSpatialOverlayLabel {\n id: string;\n kind: EditorViewportSpatialOverlayLabelKind;\n text: string;\n x: number;\n y: number;\n}\n\nexport interface EditorViewportSpatialOverlayMarker {\n id: string;\n kind: 'anchor';\n position: EditorViewportScreenPoint;\n label: string;\n}\n\nexport interface EditorViewportSpatialOverlayState {\n active: boolean;\n nodeId: string | null;\n bounds: EditorViewportBounds | null;\n anchor: EditorTransformVec3 | null;\n lines: EditorViewportSpatialOverlayLine[];\n labels: EditorViewportSpatialOverlayLabel[];\n markers: EditorViewportSpatialOverlayMarker[];\n}\n\nexport const DEFAULT_EDITOR_VIEWPORT_OVERLAY_SETTINGS = {\n bounds: false,\n dimensions: false,\n edgeLengths: false,\n anchor: false,\n} satisfies EditorViewportOverlaySettings;\n\nexport const DEFAULT_EDITOR_VIEWPORT_TOOL_STATE = {\n viewPreset: 'perspective',\n projectionMode: 'perspective',\n activeUtilityTool: 'none',\n markersVisible: true,\n overlay: DEFAULT_EDITOR_VIEWPORT_OVERLAY_SETTINGS,\n} satisfies EditorViewportToolState;\n\nexport function cloneEditorViewportOverlaySettings(\n settings: EditorViewportOverlaySettings,\n): EditorViewportOverlaySettings {\n return { ...settings };\n}\n\nexport function cloneEditorViewportToolState(\n state: EditorViewportToolState,\n): EditorViewportToolState {\n return {\n ...state,\n overlay: cloneEditorViewportOverlaySettings(state.overlay),\n };\n}\n\nexport function cloneEditorViewportSpatialOverlayState(\n state: EditorViewportSpatialOverlayState,\n): EditorViewportSpatialOverlayState {\n return {\n active: state.active,\n nodeId: state.nodeId,\n bounds: state.bounds\n ? {\n min: { ...state.bounds.min },\n max: { ...state.bounds.max },\n center: { ...state.bounds.center },\n size: { ...state.bounds.size },\n }\n : null,\n anchor: state.anchor ? { ...state.anchor } : null,\n lines: state.lines.map(line => ({\n ...line,\n start: { ...line.start },\n end: { ...line.end },\n })),\n labels: state.labels.map(label => ({ ...label })),\n markers: state.markers.map(marker => ({\n ...marker,\n position: { ...marker.position },\n })),\n };\n}\n\nexport function createEmptyEditorViewportSpatialOverlayState(): EditorViewportSpatialOverlayState {\n return {\n active: false,\n nodeId: null,\n bounds: null,\n anchor: null,\n lines: [],\n labels: [],\n markers: [],\n };\n}\n"]}
|