@fps-games/editor 0.2.0-beta.2 → 0.2.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-bridge/capabilities/assets.js.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.js +26 -17
- package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js +61 -13
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/selection.js +8 -5
- package/dist/agent-bridge/capabilities/selection.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js +11 -2
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/transform.js +6 -4
- package/dist/agent-bridge/capabilities/transform.js.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.js +79 -47
- package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
- package/dist/agent-bridge/capability-sources.js.map +1 -1
- package/dist/agent-bridge/diagnostics.js.map +1 -1
- package/dist/agent-bridge/index.js.map +1 -1
- package/dist/agent-bridge/register.js.map +1 -1
- package/dist/agent-bridge/shared.d.ts +8 -3
- package/dist/agent-bridge/shared.d.ts.map +1 -1
- package/dist/agent-bridge/shared.js +32 -0
- package/dist/agent-bridge/shared.js.map +1 -1
- package/dist/agent-bridge/source-types.js.map +1 -1
- package/dist/authoring-apply.js.map +1 -1
- package/dist/build-info.json +48 -48
- package/dist/editor-plugin-agent-capabilities.js.map +1 -1
- package/dist/editor-plugin-hierarchy-command.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
- package/dist/local-editor-agent-actions.d.ts.map +1 -1
- package/dist/local-editor-agent-actions.js +9 -5
- package/dist/local-editor-agent-actions.js.map +1 -1
- package/dist/local-editor-agent-bridge-transport.js.map +1 -1
- package/dist/local-editor-agent-bridge.js.map +1 -1
- package/dist/local-editor-agent-context.js.map +1 -1
- package/dist/local-editor-harness.d.ts +57 -1
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +393 -41
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-marker-graph.js.map +1 -1
- package/dist/local-editor-performance-stats.js.map +1 -1
- package/dist/local-editor-plugin-inspector.js.map +1 -1
- package/dist/local-editor-plugin-panel.js.map +1 -1
- package/dist/local-editor-scene-render-scheduler.js.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
- package/dist/playable-babylon-facade.js.map +1 -1
- package/dist/playable-babylon-outline-inspector.js.map +1 -1
- package/dist/playable-babylon-outline-runtime.js.map +1 -1
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +36 -0
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-rendering.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +49 -2
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-runtime.js.map +1 -1
- package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
- package/dist/playable-sdk-vite.js.map +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/static-shadow-cpu-worker.js.map +1 -1
- package/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
- package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +4 -4
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +18 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/package.json +3 -3
- package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +5 -5
- package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +27 -19
package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/serialized-property/inspector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/serialized-property/inspector.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n InspectorObject,\n InspectorProperty,\n InspectorSection,\n SerializedMultiObject,\n} from '@fps-games/editor-core';\nimport {\n readEditorSceneNodeKind,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n} from '../document/index';\nimport {\n EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_OPTIONS,\n EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH,\n canEditEditorSceneShadowSettings,\n createEditorSceneShadowCastOptions,\n createEditorSceneShadowLightOptions,\n createEditorSceneShadowPolicyOptions,\n createEditorSceneShadowQualityOptions,\n createEditorSceneShadowReceiveOptions,\n createEditorSceneStaticShadowBakeActionProperty,\n getEditorSceneShadowInspectorText,\n readEditorSceneShadowInspectorLanguage,\n} from '../inspector/document-sections';\nimport {\n createEditorSceneFieldInspectorValidator,\n} from '../inspector/validation';\nimport {\n isEditorSceneRootGameObject,\n} from '../session/identity';\nimport {\n createEditorSceneSerializedMultiCommonProperties,\n createEditorSceneSerializedMultiShadowProperties,\n} from './descriptors';\nimport {\n createEditorSceneSerializedMultiObject,\n} from './object';\nimport {\n EDITOR_SHADOW_STATIC_AUTHORING_ENABLED,\n} from '@fps-games/playable-rendering';\n\nconst ENABLED_PATH = 'enabled';\nconst SHADOW_PREFIX = 'shadow.';\n\nexport const EDITOR_SCENE_LARGE_SELECTION_LIGHTWEIGHT_INSPECTOR_THRESHOLD = 200;\n\nexport interface EditorSceneSerializedMultiInspectorObjectInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n selectedIds: readonly string[];\n activeId: string | null;\n label?: string;\n largeSelectionThreshold?: number;\n}\n\nexport function createEditorSceneSerializedMultiInspectorObject<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedMultiInspectorObjectInput<TDocument>,\n): InspectorObject<TDocument> | null {\n const gameObjects = collectEditorSceneMultiInspectorTargets(input.document, input.selectedIds);\n if (gameObjects.length === 0) return null;\n\n const targetIds = gameObjects.map((gameObject) => gameObject.id);\n const activeId = input.activeId && targetIds.includes(input.activeId)\n ? input.activeId\n : targetIds[0] ?? null;\n const threshold = input.largeSelectionThreshold ?? EDITOR_SCENE_LARGE_SELECTION_LIGHTWEIGHT_INSPECTOR_THRESHOLD;\n const shadowGameObjects = filterEditorSceneMultiInspectorShadowTargets(gameObjects);\n const shadowProperties = createEditorSceneSerializedMultiShadowProperties<TDocument>(shadowGameObjects);\n const largeSelection = gameObjects.length > threshold;\n const baseSerialized = largeSelection\n ? createEditorSceneLargeSelectionSerializedMultiObject({\n document: input.document,\n gameObjects,\n shadowGameObjects,\n activeId,\n label: input.label,\n })\n : createEditorSceneSerializedMultiObject({\n document: input.document,\n targetIds,\n activeId,\n label: input.label,\n });\n if (!baseSerialized) return null;\n const serialized = baseSerialized.properties.some((property) => isEditorSceneSerializedMultiShadowPropertyPath(property.path)) || shadowProperties.length === 0\n ? baseSerialized\n : {\n ...baseSerialized,\n properties: [\n ...baseSerialized.properties,\n ...shadowProperties,\n ],\n };\n\n const sections = createEditorSceneSerializedMultiInspectorSections({\n document: input.document,\n serialized,\n shadowOnly: largeSelection,\n });\n if (sections.length === 0) return null;\n\n return {\n targetIds: serialized.targetIds,\n activeId: serialized.activeId,\n label: serialized.label,\n document: input.document,\n selection: {\n targetIds: serialized.targetIds,\n activeId: serialized.activeId,\n document: input.document,\n },\n sections,\n };\n}\n\nexport function createEditorSceneSerializedMultiInspectorSections<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(input: {\n document: TDocument;\n serialized: SerializedMultiObject<TDocument>;\n shadowOnly?: boolean;\n}): InspectorSection<TDocument>[] {\n const shadow = createEditorSceneSerializedMultiShadowInspectorSection(\n input.document,\n input.serialized,\n input.serialized.properties.filter((property) => isEditorSceneSerializedMultiShadowPropertyPath(property.path)),\n );\n const common = createEditorSceneSerializedMultiInspectorSection(\n 'common',\n 'Common',\n 10,\n input.serialized.properties.filter((property) => property.path === ENABLED_PATH),\n input.document,\n );\n if (input.shadowOnly) return [common, shadow].filter((section): section is InspectorSection<TDocument> => !!section);\n return [\n common,\n createEditorSceneSerializedMultiInspectorSection(\n 'transform',\n 'Transform',\n 20,\n input.serialized.properties.filter((property) => property.path.startsWith('transform.')),\n input.document,\n ),\n shadow,\n createEditorSceneSerializedMultiInspectorSection(\n 'properties',\n 'Properties',\n 90,\n input.serialized.properties.filter((property) => (\n !property.path.startsWith('transform.') && property.path !== ENABLED_PATH\n && !property.path.startsWith(SHADOW_PREFIX)\n )),\n input.document,\n ),\n ].filter((section): section is InspectorSection<TDocument> => !!section);\n}\n\nfunction collectEditorSceneMultiInspectorTargets<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n selectedIds: readonly string[],\n): EditorSceneGameObject[] {\n const gameObjectById = new Map(document.scene.gameObjects.map((gameObject) => [gameObject.id, gameObject]));\n const seen = new Set<string>();\n const gameObjects: EditorSceneGameObject[] = [];\n for (const selectedId of selectedIds) {\n if (!selectedId || seen.has(selectedId)) continue;\n seen.add(selectedId);\n const gameObject = gameObjectById.get(selectedId);\n if (!gameObject) continue;\n if (isEditorSceneRootGameObject(gameObject)) continue;\n gameObjects.push(gameObject);\n }\n return gameObjects;\n}\n\nfunction filterEditorSceneMultiInspectorShadowTargets(\n gameObjects: readonly EditorSceneGameObject[],\n): EditorSceneGameObject[] {\n return gameObjects.filter((gameObject) => canEditEditorSceneShadowSettings({\n gameObject,\n nodeKind: readEditorSceneNodeKind(gameObject),\n }));\n}\n\nfunction createEditorSceneLargeSelectionSerializedMultiObject<\n TDocument extends EditorSceneDocument,\n>(input: {\n document: TDocument;\n gameObjects: readonly EditorSceneGameObject[];\n shadowGameObjects: readonly EditorSceneGameObject[];\n activeId: string | null;\n label?: string;\n}): SerializedMultiObject<TDocument> | null {\n if (input.gameObjects.length === 0) return null;\n const shadowProperties: SerializedMultiObject<TDocument>['properties'] = input.shadowGameObjects.length === 0\n ? []\n : createEditorSceneSerializedMultiShadowProperties<TDocument>(input.shadowGameObjects);\n return {\n targetIds: input.gameObjects.map((gameObject) => gameObject.id),\n activeId: input.activeId,\n label: input.label ?? `${input.gameObjects.length} GameObjects`,\n properties: [\n ...createEditorSceneSerializedMultiCommonProperties<TDocument>(input.gameObjects),\n ...shadowProperties,\n ],\n };\n}\n\nfunction createEditorSceneSerializedMultiShadowInspectorSection<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n serialized: SerializedMultiObject<TDocument>,\n shadowProperties: SerializedMultiObject<TDocument>['properties'],\n): InspectorSection<TDocument> | null {\n if (shadowProperties.length === 0) return null;\n const gameObjectById = new Map(document.scene.gameObjects.map((gameObject) => [gameObject.id, gameObject]));\n const selectedObjects = serialized.targetIds\n .map((targetId) => gameObjectById.get(targetId))\n .filter((gameObject): gameObject is EditorSceneGameObject => !!gameObject)\n .filter((gameObject) => canEditEditorSceneShadowSettings({\n gameObject,\n nodeKind: readEditorSceneNodeKind(gameObject),\n }));\n const activeObject = gameObjectById.get(serialized.activeId ?? '') ?? selectedObjects[0] ?? null;\n const shadowActiveObject = activeObject && canEditEditorSceneShadowSettings({\n gameObject: activeObject,\n nodeKind: readEditorSceneNodeKind(activeObject),\n })\n ? activeObject\n : selectedObjects[0] ?? null;\n if (!shadowActiveObject) return null;\n\n const language = readEditorSceneShadowInspectorLanguage(shadowActiveObject);\n const mixedLanguage = selectedObjects\n .map(readEditorSceneShadowInspectorLanguage)\n .some((candidate) => candidate !== language);\n const text = getEditorSceneShadowInspectorText(language);\n const activeNodeKind = readEditorSceneNodeKind(shadowActiveObject);\n const policySource = shadowProperties.find(property => property.path === 'shadow.mode');\n const castSource = shadowProperties.find(property => property.path === 'shadow.cast');\n const showShadowPolicyControls = !castSource || castSource.mixed === true || castSource.value === 'enabled';\n const mode = readEditorSceneSerializedMultiShadowPolicyMode(policySource);\n const mixedMode = policySource?.mixed === true;\n const visibleShadowProperties = showShadowPolicyControls\n ? shadowProperties\n : shadowProperties.filter(property => property.path !== 'shadow.mode' && property.path !== 'shadow.quality');\n\n return {\n id: 'shadow',\n title: text.title,\n order: 25,\n placement: 'body',\n summary: text.summaryPolicy(mode, mixedMode),\n persistence: 'document',\n collapsedByDefault: false,\n properties: [\n createEditorSceneSerializedMultiShadowLanguageInspectorProperty({\n document,\n text,\n language,\n mixed: mixedLanguage,\n nodeKind: activeNodeKind,\n order: 0,\n }),\n ...orderEditorSceneSerializedMultiShadowProperties(visibleShadowProperties).map((property, index) => createEditorSceneLocalizedSerializedMultiShadowInspectorProperty({\n property,\n propertyOrder: index + 1,\n text,\n nodeKind: activeNodeKind,\n document,\n })),\n ...(EDITOR_SHADOW_STATIC_AUTHORING_ENABLED && mode === 'static' && !mixedMode\n ? [createEditorSceneStaticShadowBakeActionProperty<TDocument>(text, 90)]\n : []),\n ],\n };\n}\n\nfunction orderEditorSceneSerializedMultiShadowProperties<TDocument extends EditorSceneDocument>(\n properties: SerializedMultiObject<TDocument>['properties'],\n): SerializedMultiObject<TDocument>['properties'] {\n const priority = (path: string): number => {\n if (path === 'shadow.cast') return 0;\n if (path === 'shadow.mode') return 1;\n if (path === 'shadow.quality') return 2;\n if (path === 'shadow.receive') return 3;\n if (path.startsWith('shadow.light.')) return 5;\n if (path.startsWith('shadow.params.')) return 6;\n return 10;\n };\n return [...properties].sort((a, b) => priority(a.path) - priority(b.path));\n}\n\nfunction isEditorSceneSerializedMultiShadowPropertyPath(path: string): boolean {\n return path.startsWith(SHADOW_PREFIX);\n}\n\nfunction createEditorSceneLocalizedSerializedMultiShadowInspectorProperty<\n TDocument extends EditorSceneDocument,\n>(input: {\n property: SerializedMultiObject<TDocument>['properties'][number];\n propertyOrder: number;\n text: ReturnType<typeof getEditorSceneShadowInspectorText>;\n nodeKind: string;\n document: TDocument;\n}): InspectorProperty<TDocument> {\n const localized = localizeEditorSceneSerializedMultiShadowProperty(input.property, input.text);\n const inspectorProperty = createEditorSceneSerializedMultiInspectorProperty(localized, input.propertyOrder);\n return {\n ...inspectorProperty,\n ...(isEditorSceneShadowPolicyChildProperty(localized.path)\n ? {\n controlOptions: {\n ...inspectorProperty.controlOptions,\n indentLevel: 1,\n parentPath: 'shadow.cast',\n },\n }\n : {}),\n tooltip: resolveEditorSceneSerializedMultiShadowTooltip(localized.path, input.text),\n validate: createEditorSceneFieldInspectorValidator({\n path: localized.path,\n nodeKind: input.nodeKind,\n document: input.document,\n }),\n };\n}\n\nfunction isEditorSceneShadowPolicyChildProperty(path: string): boolean {\n return path === 'shadow.mode' || path === 'shadow.quality';\n}\n\nfunction localizeEditorSceneSerializedMultiShadowProperty<TDocument extends EditorSceneDocument>(\n property: SerializedMultiObject<TDocument>['properties'][number],\n text: ReturnType<typeof getEditorSceneShadowInspectorText>,\n): SerializedMultiObject<TDocument>['properties'][number] {\n if (property.path === 'shadow.cast') return localizeProperty(property, text.cast, createEditorSceneShadowCastOptions(text));\n if (property.path === 'shadow.receive') return localizeProperty(property, text.receive, createEditorSceneShadowReceiveOptions(text));\n if (property.path === 'shadow.mode') return localizeProperty(property, text.policy, createEditorSceneShadowPolicyOptions(text));\n if (property.path === 'shadow.quality') return localizeProperty(property, text.quality, createEditorSceneShadowQualityOptions(text));\n if (property.path === 'shadow.light.mode') return localizeProperty(property, text.light, createEditorSceneShadowLightOptions(text));\n if (property.path === 'shadow.light.lightId') return localizeProperty(property, text.lightId);\n if (property.path === 'shadow.params.opacity') return localizeProperty(property, text.opacity);\n if (property.path === 'shadow.params.softness') return localizeProperty(property, text.softness);\n if (property.path === 'shadow.params.bias') return localizeProperty(property, text.bias);\n if (property.path === 'shadow.params.normalBias') return localizeProperty(property, text.normalBias);\n if (property.path === 'shadow.params.maxDistance') return localizeProperty(property, text.maxDistance);\n if (property.path === 'shadow.params.resolution') return localizeProperty(property, text.resolution);\n if (property.path === 'shadow.params.cascadeCount') return localizeProperty(property, text.cascadeCount);\n if (property.path === 'shadow.params.bakeSamples') return localizeProperty(property, text.bakeSamples);\n if (property.path === 'shadow.params.blurKernel') return localizeProperty(property, text.blurKernel);\n return property;\n}\n\nfunction localizeProperty<TDocument extends EditorSceneDocument>(\n property: SerializedMultiObject<TDocument>['properties'][number],\n label: string,\n options?: SerializedMultiObject<TDocument>['properties'][number]['options'],\n): SerializedMultiObject<TDocument>['properties'][number] {\n return {\n ...property,\n label,\n ...(options ? { options } : {}),\n descriptor: {\n ...property.descriptor,\n label,\n ...(options ? { options } : {}),\n },\n };\n}\n\nfunction resolveEditorSceneSerializedMultiShadowTooltip(\n path: string,\n text: ReturnType<typeof getEditorSceneShadowInspectorText>,\n): string | undefined {\n if (path === 'shadow.cast') return text.tooltips.cast;\n if (path === 'shadow.receive') return text.tooltips.receive;\n if (path === 'shadow.mode') return text.tooltips.policy;\n if (path === 'shadow.quality') return text.tooltips.quality;\n if (path === 'shadow.light.mode') return text.tooltips.light;\n if (path === 'shadow.light.lightId') return text.tooltips.lightId;\n if (path === 'shadow.params.opacity') return text.tooltips.opacity;\n if (path === 'shadow.params.softness') return text.tooltips.softness;\n if (path === 'shadow.params.bias') return text.tooltips.bias;\n if (path === 'shadow.params.normalBias') return text.tooltips.normalBias;\n if (path === 'shadow.params.maxDistance') return text.tooltips.maxDistance;\n if (path === 'shadow.params.resolution') return text.tooltips.resolution;\n if (path === 'shadow.params.cascadeCount') return text.tooltips.cascadeCount;\n if (path === 'shadow.params.bakeSamples') return text.tooltips.bakeSamples;\n if (path === 'shadow.params.blurKernel') return text.tooltips.blurKernel;\n return undefined;\n}\n\nfunction readEditorSceneSerializedMultiShadowPolicyMode<TDocument extends EditorSceneDocument>(\n policySource: SerializedMultiObject<TDocument>['properties'][number] | undefined,\n) {\n if (policySource?.value === 'none'\n || policySource?.value === 'dynamic'\n || policySource?.value === 'static'\n || policySource?.value === 'blob'\n || policySource?.value === 'projected'\n || policySource?.value === 'auto'\n || policySource?.value === 'inherit') {\n return policySource.value;\n }\n return 'inherit';\n}\n\nfunction createEditorSceneSerializedMultiShadowLanguageInspectorProperty<\n TDocument extends EditorSceneDocument,\n>(input: {\n document: TDocument;\n text: ReturnType<typeof getEditorSceneShadowInspectorText>;\n language: ReturnType<typeof readEditorSceneShadowInspectorLanguage>;\n mixed: boolean;\n nodeKind: string;\n order: number;\n}): InspectorProperty<TDocument> {\n return {\n path: EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH,\n label: input.text.language,\n valueType: 'enum',\n control: 'enum',\n value: input.language,\n options: EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_OPTIONS,\n mixed: input.mixed,\n readOnly: false,\n persistence: 'document',\n commitMode: 'immediate',\n order: input.order,\n controlOptions: { variant: 'segmented' },\n tooltip: input.text.tooltips.language,\n validate: createEditorSceneFieldInspectorValidator({\n path: EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH,\n nodeKind: input.nodeKind,\n document: input.document,\n }),\n };\n}\n\nfunction createEditorSceneSerializedMultiInspectorSection<\n TDocument extends EditorSceneDocument,\n>(\n id: string,\n title: string,\n order: number,\n properties: SerializedMultiObject<TDocument>['properties'],\n document: TDocument,\n): InspectorSection<TDocument> | null {\n if (properties.length === 0) return null;\n return {\n id,\n title,\n order,\n placement: 'body',\n persistence: 'document',\n properties: properties.map((property, propertyOrder) => {\n const inspectorProperty = createEditorSceneSerializedMultiInspectorProperty(property, propertyOrder);\n const nodeKind = resolveEditorSceneSerializedMultiPropertyNodeKind(document, property.path);\n return {\n ...inspectorProperty,\n step: property.valueType === 'number'\n ? property.path.startsWith('transform.rotation.') ? 1 : 0.1\n : inspectorProperty.step,\n validate: nodeKind\n ? createEditorSceneFieldInspectorValidator({\n path: property.path,\n nodeKind,\n document,\n })\n : inspectorProperty.validate,\n };\n }),\n };\n}\n\nfunction createEditorSceneSerializedMultiInspectorProperty<\n TDocument extends EditorSceneDocument,\n>(\n property: SerializedMultiObject<TDocument>['properties'][number],\n order: number,\n): InspectorProperty<TDocument> {\n const readOnly = property.readOnly === true;\n return {\n path: property.path,\n label: property.label,\n valueType: property.valueType,\n control: readOnly ? 'readonly' : inferEditorSceneSerializedMultiInspectorControl(property.valueType),\n value: property.value,\n options: property.options,\n mixed: property.mixed,\n readOnly,\n persistence: readOnly ? 'readonly' : 'document',\n commitMode: inferEditorSceneSerializedMultiInspectorCommitMode(property.valueType),\n order,\n source: property,\n };\n}\n\nfunction resolveEditorSceneSerializedMultiPropertyNodeKind<TDocument extends EditorSceneDocument>(\n document: TDocument,\n path: string,\n): string | null {\n if (path.startsWith('transform.')) return 'transform';\n if (path === ENABLED_PATH) {\n const gameObject = document.scene.gameObjects.find((entry) => !isEditorSceneRootGameObject(entry));\n return gameObject ? readEditorSceneNodeKind(gameObject) : null;\n }\n if (path === EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH) {\n const gameObject = document.scene.gameObjects.find((entry) => canEditEditorSceneShadowSettings({\n gameObject: entry,\n nodeKind: readEditorSceneNodeKind(entry),\n }));\n return gameObject ? readEditorSceneNodeKind(gameObject) : null;\n }\n return null;\n}\n\nfunction inferEditorSceneSerializedMultiInspectorControl(\n valueType: SerializedMultiObject['properties'][number]['valueType'],\n): InspectorProperty['control'] {\n if (valueType === 'string' || valueType === 'number' || valueType === 'boolean' || valueType === 'enum' || valueType === 'asset' || valueType === 'object') {\n return valueType;\n }\n return 'readonly';\n}\n\nfunction inferEditorSceneSerializedMultiInspectorCommitMode(\n valueType: SerializedMultiObject['properties'][number]['valueType'],\n): InspectorProperty['commitMode'] {\n if (valueType === 'number') return 'live';\n if (valueType === 'boolean' || valueType === 'enum' || valueType === 'asset') return 'immediate';\n return 'blur';\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/serialized-property/object.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gDAAgD,EAChD,gDAAgD,EAChD,mDAAmD,EACnD,8CAA8C,GAC/C,MAAM,eAAe,CAAC;AAMvB,MAAM,UAAU,iCAAiC,CAG/C,KAAkD;IAElD,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,sBAAsB,CAAC;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE;QACtD,WAAW,EAAE,8CAA8C,CAAC;YAC1D,UAAU;YACV,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sCAAsC,CAGpD,KAAuD;IAEvD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAClF,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;SAChC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;SAC/D,MAAM,CAAC,CAAC,UAAU,EAAuC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;IACzH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI;QACtG,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,WAAW,CAAC,MAAM,cAAc;QACzD,UAAU,EAAE;YACV,GAAG,gDAAgD,CAAY,WAAW,CAAC;YAC3E,GAAG,mDAAmD,CAAY,WAAW,CAAC;YAC9E,GAAG,gDAAgD,CAAY,WAAW,CAAC;SAC5E;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/serialized-property/object.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gDAAgD,EAChD,gDAAgD,EAChD,mDAAmD,EACnD,8CAA8C,GAC/C,MAAM,eAAe,CAAC;AAMvB,MAAM,UAAU,iCAAiC,CAG/C,KAAkD;IAElD,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,sBAAsB,CAAC;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE;QACtD,WAAW,EAAE,8CAA8C,CAAC;YAC1D,UAAU;YACV,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sCAAsC,CAGpD,KAAuD;IAEvD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAClF,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;SAChC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;SAC/D,MAAM,CAAC,CAAC,UAAU,EAAuC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;IACzH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI;QACtG,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,WAAW,CAAC,MAAM,cAAc;QACzD,UAAU,EAAE;YACV,GAAG,gDAAgD,CAAY,WAAW,CAAC;YAC3E,GAAG,mDAAmD,CAAY,WAAW,CAAC;YAC9E,GAAG,gDAAgD,CAAY,WAAW,CAAC;SAC5E;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n createSerializedObject,\n type SerializedMultiObject,\n type SerializedObject,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n findEditorSceneGameObject,\n} from '../session/transform';\nimport {\n isEditorSceneRootGameObject,\n} from '../session/identity';\nimport {\n createEditorSceneSerializedMultiCommonProperties,\n createEditorSceneSerializedMultiShadowProperties,\n createEditorSceneSerializedMultiTransformProperties,\n createEditorSceneSerializedPropertyDescriptors,\n} from './descriptors';\nimport type {\n EditorSceneSerializedMultiObjectInput,\n EditorSceneSerializedObjectInput,\n} from './types';\n\nexport function createEditorSceneSerializedObject<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedObjectInput<TDocument>,\n): SerializedObject<TDocument> | null {\n const gameObject = findEditorSceneGameObject(input.document, input.targetId);\n if (!gameObject) return null;\n return createSerializedObject({\n document: input.document,\n targetId: input.targetId,\n label: input.label ?? gameObject.name ?? gameObject.id,\n descriptors: createEditorSceneSerializedPropertyDescriptors({\n gameObject,\n validateField: input.validateField,\n }),\n });\n}\n\nexport function createEditorSceneSerializedMultiObject<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedMultiObjectInput<TDocument>,\n): SerializedMultiObject<TDocument> | null {\n const gameObjectById = new Map(\n input.document.scene.gameObjects.map((gameObject) => [gameObject.id, gameObject]),\n );\n const gameObjects = input.targetIds\n .map((gameObjectId) => gameObjectById.get(gameObjectId) ?? null)\n .filter((gameObject): gameObject is EditorSceneGameObject => !!gameObject && !isEditorSceneRootGameObject(gameObject));\n if (gameObjects.length === 0) return null;\n const targetIds = gameObjects.map((gameObject) => gameObject.id);\n return {\n targetIds,\n activeId: input.activeId && targetIds.includes(input.activeId) ? input.activeId : targetIds[0] ?? null,\n label: input.label ?? `${gameObjects.length} GameObjects`,\n properties: [\n ...createEditorSceneSerializedMultiCommonProperties<TDocument>(gameObjects),\n ...createEditorSceneSerializedMultiTransformProperties<TDocument>(gameObjects),\n ...createEditorSceneSerializedMultiShadowProperties<TDocument>(gameObjects),\n ],\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/serialized-property/patch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/serialized-property/patch.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n applySerializedPropertyPatch as applyCoreSerializedPropertyPatch,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneVec3,\n} from '../document/index';\nimport {\n findEditorSceneTransform,\n} from '../document/index';\nimport {\n isEditorSceneRootGameObjectId,\n} from '../session/identity';\nimport {\n findEditorSceneGameObject,\n} from '../session/transform';\nimport {\n syncEditorSceneDirectionalLightOrientationAfterTransformPatch,\n syncEditorSceneDirectionalLightTransformRotationAfterDirectionPatch,\n} from '../lighting-debug/index';\nimport {\n createEditorSceneSerializedPropertyDescriptors,\n} from './descriptors';\nimport type {\n EditorSceneSerializedPropertyPatchInput,\n} from './types';\n\nconst ROOT_TRANSFORM_PATH_PATTERN = /^transform\\.(position|rotation|scale)\\.(x|y|z)$/;\n\nexport function applyEditorSceneSerializedPropertyPatch<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedPropertyPatchInput<TDocument>,\n): TDocument {\n if (isEditorSceneRootGameObjectId(input.patch.targetId) && ROOT_TRANSFORM_PATH_PATTERN.test(input.patch.path)) {\n return input.document;\n }\n const gameObject = findEditorSceneGameObject(input.document, input.patch.targetId);\n if (!gameObject) return input.document;\n const beforeRotation = input.patch.path.startsWith('transform.rotation') ? readEditorSceneTrsRotation(gameObject) : null;\n const beforeDirection = input.patch.path.startsWith('light.direction') ? readEditorSceneDirectionalLightDirection(gameObject) : null;\n const patched = applyCoreSerializedPropertyPatch(\n input.document,\n createEditorSceneSerializedPropertyDescriptors({\n gameObject,\n validateField: input.validateField,\n }),\n input.patch,\n );\n if (!input.patch.path.startsWith('transform.rotation') && !input.patch.path.startsWith('light.direction')) {\n return patched;\n }\n const patchedGameObject = findEditorSceneGameObject(patched, input.patch.targetId);\n if (!patchedGameObject) return patched;\n const afterRotation = beforeRotation ? readEditorSceneTrsRotation(patchedGameObject) : null;\n const afterDirection = beforeDirection ? readEditorSceneDirectionalLightDirection(patchedGameObject) : null;\n const rotationChanged = beforeRotation && afterRotation && !areEditorSceneVec3Equal(beforeRotation, afterRotation);\n const directionChanged = beforeDirection && afterDirection && !areEditorSceneVec3Equal(beforeDirection, afterDirection);\n if (!rotationChanged && !directionChanged) return patched;\n return {\n ...patched,\n scene: {\n ...patched.scene,\n gameObjects: patched.scene.gameObjects.map((entry) => {\n if (entry.id !== input.patch.targetId) return entry;\n const directionSynced = rotationChanged\n ? syncEditorSceneDirectionalLightOrientationAfterTransformPatch(entry)\n : entry;\n return directionChanged\n ? syncEditorSceneDirectionalLightTransformRotationAfterDirectionPatch(directionSynced)\n : directionSynced;\n }),\n },\n };\n}\n\nfunction readEditorSceneTrsRotation(gameObject: EditorSceneGameObject): EditorSceneVec3 | null {\n const transform = findEditorSceneTransform(gameObject);\n return transform && 'rotation' in transform ? transform.rotation : null;\n}\n\nfunction readEditorSceneDirectionalLightDirection(gameObject: EditorSceneGameObject): EditorSceneVec3 | null {\n return gameObject.light?.type === 'directional' ? gameObject.light.direction : null;\n}\n\nfunction areEditorSceneVec3Equal(a: EditorSceneVec3, b: EditorSceneVec3, epsilon = 0.000001): boolean {\n return Math.abs(a.x - b.x) <= epsilon\n && Math.abs(a.y - b.y) <= epsilon\n && Math.abs(a.z - b.z) <= epsilon;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/serialized-property/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/serialized-property/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n InspectorValidationResult,\n SerializedMultiObject,\n SerializedObject,\n SerializedPropertyPatch,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneNodeKind,\n} from '../document/index';\n\nexport interface EditorSceneSerializedPropertyValidationInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n gameObject: EditorSceneGameObject;\n nodeKind: EditorSceneNodeKind;\n path: string;\n value: unknown;\n}\n\nexport type EditorSceneSerializedPropertyValidator<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> = (\n input: EditorSceneSerializedPropertyValidationInput<TDocument>,\n) => InspectorValidationResult;\n\nexport interface EditorSceneSerializedPropertyDescriptorInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n gameObject: EditorSceneGameObject;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}\n\nexport interface EditorSceneSerializedObjectInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targetId: string;\n label?: string;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}\n\nexport interface EditorSceneSerializedMultiObjectInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targetIds: readonly string[];\n activeId: string | null;\n label?: string;\n}\n\nexport interface EditorSceneSerializedPropertyPatchInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n patch: SerializedPropertyPatch;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}\n\nexport type EditorSceneSerializedObjectResult<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> = SerializedObject<TDocument> | null;\n\nexport type EditorSceneSerializedMultiObjectResult<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> = SerializedMultiObject<TDocument> | null;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classification.js","sourceRoot":"","sources":["../../src/session/classification.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAErD,MAAM,UAAU,gCAAgC,CAAC,UAAiC;IAChF,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,UAAqD;IACxG,OAAO,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAiC;IAC7E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAiC;IAC5E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,UAAiC;IACtF,OAAO,UAAU,CAAC,EAAE,KAAK,2BAA2B;WAC/C,UAAU,CAAC,EAAE,KAAK,iCAAiC;WACnD,UAAU,CAAC,EAAE,KAAK,yBAAyB;WAC3C,6BAA6B,CAAC,UAAU,CAAC;WACzC,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,QAA6D,EAC7D,EAAsB;IAEtB,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC,UAAU,IAAI,sCAAsC,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAA6D,EAC7D,QAAiB;IAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CACnD,UAAU,CAAC,EAAE,KAAK,QAAQ,IAAI,6BAA6B,CAAC,UAAU,CAAC,CACxE,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"classification.js","sourceRoot":"","sources":["../../src/session/classification.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAErD,MAAM,UAAU,gCAAgC,CAAC,UAAiC;IAChF,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,UAAqD;IACxG,OAAO,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAiC;IAC7E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAiC;IAC5E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,UAAiC;IACtF,OAAO,UAAU,CAAC,EAAE,KAAK,2BAA2B;WAC/C,UAAU,CAAC,EAAE,KAAK,iCAAiC;WACnD,UAAU,CAAC,EAAE,KAAK,yBAAyB;WAC3C,6BAA6B,CAAC,UAAU,CAAC;WACzC,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,QAA6D,EAC7D,EAAsB;IAEtB,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC,UAAU,IAAI,sCAAsC,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAA6D,EAC7D,QAAiB;IAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CACnD,UAAU,CAAC,EAAE,KAAK,QAAQ,IAAI,6BAA6B,CAAC,UAAU,CAAC,CACxE,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n findEditorSceneTransform,\n readEditorSceneNodeKind,\n type EditorSceneGameObject,\n} from '../document/index';\n\nexport const EDITOR_SCENE_MAIN_CAMERA_ID = 'main_camera';\nexport const EDITOR_SCENE_ENVIRONMENT_LIGHT_ID = 'environment_light';\nexport const EDITOR_SCENE_SUN_LIGHT_ID = 'sun_light';\n\nexport function isEditorSceneGroupLikeGameObject(gameObject: EditorSceneGameObject): boolean {\n return readEditorSceneNodeKind(gameObject) === 'group';\n}\n\nexport function canEditorSceneGameObjectHaveChildren(gameObject: Pick<EditorSceneGameObject, 'components'>): boolean {\n return !!findEditorSceneTransform(gameObject);\n}\n\nexport function isEditorSceneCameraGameObject(gameObject: EditorSceneGameObject): boolean {\n return readEditorSceneNodeKind(gameObject) === 'transform'\n && (gameObject.transformType === 'camera' || !!gameObject.camera);\n}\n\nexport function isEditorSceneLightGameObject(gameObject: EditorSceneGameObject): boolean {\n return readEditorSceneNodeKind(gameObject) === 'transform'\n && (gameObject.transformType === 'light' || !!gameObject.light);\n}\n\nexport function isEditorSceneProtectedSystemGameObject(gameObject: EditorSceneGameObject): boolean {\n return gameObject.id === EDITOR_SCENE_MAIN_CAMERA_ID\n || gameObject.id === EDITOR_SCENE_ENVIRONMENT_LIGHT_ID\n || gameObject.id === EDITOR_SCENE_SUN_LIGHT_ID\n || isEditorSceneCameraGameObject(gameObject)\n || isEditorSceneLightGameObject(gameObject);\n}\n\nexport function isEditorSceneProtectedSystemGameObjectId(\n document: { scene: { gameObjects: EditorSceneGameObject[] } },\n id: string | undefined,\n): boolean {\n if (!id) return false;\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === id);\n return !!gameObject && isEditorSceneProtectedSystemGameObject(gameObject);\n}\n\nexport function hasEditorSceneCamera(\n document: { scene: { gameObjects: EditorSceneGameObject[] } },\n exceptId?: string,\n): boolean {\n return document.scene.gameObjects.some(gameObject => (\n gameObject.id !== exceptId && isEditorSceneCameraGameObject(gameObject)\n ));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy-facade.js","sourceRoot":"","sources":["../../src/session/hierarchy-facade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hierarchy-facade.js","sourceRoot":"","sources":["../../src/session/hierarchy-facade.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getTopLevelSceneGraphNodeIds,\n type EditorPlacementHit,\n type SceneGraphCreateGroupIntent,\n type SceneGraphCreatePrimitiveIntent,\n type SceneGraphDeleteIntent,\n type SceneGraphDropIntent,\n type SceneGraphGroupSelectionIntent,\n type SceneGraphMoveIntent,\n type SceneGraphRenameIntent,\n type SceneGraphTreeItem,\n type SceneGraphValidationResult,\n} from '@fps-games/editor-core';\nimport {\n createEditorSceneAssetPlacementPatch,\n} from '../asset-placement/index';\nimport type {\n EditorSceneAssetLibraryItem,\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n canEditorSceneGameObjectHaveChildren,\n} from './classification';\nimport {\n collectEditorSceneSubtreeIdList,\n getEditorSceneHierarchyItems,\n normalizeEditorSceneHierarchyDocument,\n} from './hierarchy';\nimport {\n createEditorSceneCreateGroupPatch,\n createEditorSceneCreatePrimitivePatch,\n createEditorSceneDeleteSubtreePatch,\n createEditorSceneDuplicateSelectionPatch,\n createEditorSceneGroupSelectionPatch,\n createEditorSceneHierarchyMovePatch,\n createEditorSceneRenamePatch,\n createEditorSceneReparentPatch,\n validateEditorSceneGroupSelection,\n validateEditorSceneHierarchyMove,\n validateEditorSceneReparent,\n} from './patches';\n\nexport type PlayableEditorSceneHierarchyPatchResult<TResult extends { patch: unknown }, TPatch> =\n Omit<TResult, 'patch'> & { patch: TPatch };\n\nexport interface PlayableEditorSceneHierarchyFacadeServices<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n> {\n findGameObject: (document: TDocument, gameObjectId: string | null | undefined) => TGameObject | null;\n resolveRootContainerId: (document: TDocument) => string | undefined;\n isProtectedSystemGameObject: (gameObject: TGameObject) => boolean;\n isProtectedSystemGameObjectId: (document: TDocument, id: string | undefined) => boolean;\n decorateHierarchyItem?: (input: {\n item: SceneGraphTreeItem;\n gameObject: TGameObject | null;\n document: TDocument;\n }) => SceneGraphTreeItem;\n collectHierarchyItemChildren?: (input: {\n item: SceneGraphTreeItem;\n gameObject: TGameObject;\n document: TDocument;\n }) => SceneGraphTreeItem[];\n}\n\nexport interface PlayableEditorSceneHierarchyFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TPatch = unknown,\n> {\n getHierarchyItems(document: TDocument): SceneGraphTreeItem[];\n normalizeHierarchyDocument(document: TDocument): TDocument;\n createRenamePatch(\n document: TDocument,\n intent: SceneGraphRenameIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneRenamePatch>>, TPatch> | null;\n createCreateGroupPatch(\n document: TDocument,\n intent: SceneGraphCreateGroupIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneCreateGroupPatch>>, TPatch> | null;\n createCreatePrimitivePatch(\n document: TDocument,\n intent: SceneGraphCreatePrimitiveIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneCreatePrimitivePatch>>, TPatch> | null;\n createDeleteSubtreePatch(\n document: TDocument,\n intent: SceneGraphDeleteIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneDeleteSubtreePatch>>, TPatch> | null;\n collectSubtreeIdList(document: TDocument, rootIds: string[]): string[];\n validateReparent(document: TDocument, intent: SceneGraphDropIntent): SceneGraphValidationResult;\n createReparentPatch(\n document: TDocument,\n intent: SceneGraphDropIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneReparentPatch>>, TPatch> | null;\n validateHierarchyMove(document: TDocument, intent: SceneGraphMoveIntent): SceneGraphValidationResult;\n createHierarchyMovePatch(\n document: TDocument,\n intent: SceneGraphMoveIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneHierarchyMovePatch>>, TPatch> | null;\n validateGroupSelection(document: TDocument, intent: SceneGraphGroupSelectionIntent): SceneGraphValidationResult;\n createGroupSelectionPatch(\n document: TDocument,\n intent: SceneGraphGroupSelectionIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneGroupSelectionPatch>>, TPatch> | null;\n createDuplicateSelectionPatch(input: {\n document: TDocument;\n targetIds: string[];\n activeId: string | null;\n }): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneDuplicateSelectionPatch>>, TPatch> | null;\n createPlacedAssetPatch(input: {\n document: TDocument;\n asset: EditorSceneAssetLibraryItem;\n hit: EditorPlacementHit;\n }): PlayableEditorSceneHierarchyPatchResult<ReturnType<typeof createEditorSceneAssetPlacementPatch>, TPatch>;\n}\n\nexport function createPlayableEditorSceneHierarchyFacade<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n TPatch = unknown,\n>(\n services: PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n): PlayableEditorSceneHierarchyFacade<TDocument, TGameObject, TPatch> {\n return {\n getHierarchyItems(document) {\n return getDecoratedEditorSceneHierarchyItems(document, services);\n },\n normalizeHierarchyDocument(document) {\n return normalizeEditorSceneHierarchyDocument(document) as TDocument;\n },\n createRenamePatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneRenamePatch(document, intent));\n },\n createCreateGroupPatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneCreateGroupPatch(document, intent));\n },\n createCreatePrimitivePatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneCreatePrimitivePatch(document, intent));\n },\n createDeleteSubtreePatch(document, intent) {\n const deletedIds = collectEditorSceneSubtreeIdList(document, intent.ids);\n if (document.scene.gameObjects.some(gameObject => (\n deletedIds.includes(gameObject.id) && services.isProtectedSystemGameObject(gameObject as TGameObject)\n ))) {\n return null;\n }\n return coerceHierarchyPatchResult(createEditorSceneDeleteSubtreePatch(document, intent));\n },\n collectSubtreeIdList(document, rootIds) {\n return collectEditorSceneSubtreeIdList(document, rootIds);\n },\n validateReparent(document, intent) {\n const dragged = services.findGameObject(document, intent.draggedId);\n const target = services.findGameObject(document, intent.targetId);\n if (dragged && services.isProtectedSystemGameObject(dragged)) {\n return { ok: false, reason: 'Protected system GameObject cannot be reparented.' };\n }\n if (target && services.isProtectedSystemGameObject(target)) {\n return { ok: false, reason: 'Protected system GameObject cannot have children.' };\n }\n return validateEditorSceneReparent(document, intent);\n },\n createReparentPatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneReparentPatch(document, intent));\n },\n validateHierarchyMove(document, intent) {\n const hierarchy = getDecoratedEditorSceneHierarchyItems(document, services);\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n if (ids.some(id => services.isProtectedSystemGameObjectId(document, id))) {\n return { ok: false, reason: 'Protected system GameObject cannot be moved.' };\n }\n const parentId = resolvePlayableEditorSceneMoveParentId(document, intent, services);\n if (services.isProtectedSystemGameObjectId(document, parentId)) {\n return { ok: false, reason: 'Protected system GameObject cannot have children.' };\n }\n return validateEditorSceneHierarchyMove(document, intent);\n },\n createHierarchyMovePatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneHierarchyMovePatch(document, intent));\n },\n validateGroupSelection(document, intent) {\n const hierarchy = getDecoratedEditorSceneHierarchyItems(document, services);\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n if (ids.some(id => services.isProtectedSystemGameObjectId(document, id))) {\n return { ok: false, reason: 'Protected system GameObject cannot be grouped.' };\n }\n const parentId = resolvePlayableEditorSceneGroupSelectionParentId(document, intent.parentId ?? null, services);\n if (services.isProtectedSystemGameObjectId(document, parentId)) {\n return { ok: false, reason: 'Protected system GameObject cannot have children.' };\n }\n return validateEditorSceneGroupSelection(document, intent);\n },\n createGroupSelectionPatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneGroupSelectionPatch(document, intent));\n },\n createDuplicateSelectionPatch(input) {\n const targetIds = input.targetIds.filter((targetId) => {\n const source = services.findGameObject(input.document, targetId);\n return !!source && !services.isProtectedSystemGameObject(source);\n });\n return coerceHierarchyPatchResult(createEditorSceneDuplicateSelectionPatch({ ...input, targetIds }));\n },\n createPlacedAssetPatch(input) {\n return coerceHierarchyPatchResult(createEditorSceneAssetPlacementPatch(input))!;\n },\n };\n}\n\nfunction getDecoratedEditorSceneHierarchyItems<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n document: TDocument,\n services: PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n): SceneGraphTreeItem[] {\n const items = getEditorSceneHierarchyItems(document);\n const gameObjectsById = new Map(document.scene.gameObjects.map(gameObject => [gameObject.id, gameObject as TGameObject]));\n const result: SceneGraphTreeItem[] = [];\n for (const item of items) {\n const gameObject = gameObjectsById.get(item.id) ?? null;\n result.push(services.decorateHierarchyItem?.({ item, gameObject, document }) ?? item);\n if (!gameObject) continue;\n result.push(...(services.collectHierarchyItemChildren?.({ item, gameObject, document }) ?? []));\n }\n return result;\n}\n\nfunction resolvePlayableEditorSceneMoveParentId<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n document: TDocument,\n intent: SceneGraphMoveIntent,\n services: Pick<\n PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n 'findGameObject' | 'resolveRootContainerId'\n >,\n): string | undefined {\n if (intent.placement === 'root') return services.resolveRootContainerId(document);\n if (intent.placement === 'inside' && intent.targetId) return intent.targetId;\n const target = intent.targetId ? services.findGameObject(document, intent.targetId) : null;\n return intent.parentId ?? target?.parentId ?? services.resolveRootContainerId(document);\n}\n\nfunction resolvePlayableEditorSceneGroupSelectionParentId<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n document: TDocument,\n parentId: string | null,\n services: Pick<\n PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n 'findGameObject' | 'resolveRootContainerId'\n >,\n): string | undefined {\n const parent = parentId ? services.findGameObject(document, parentId) : null;\n return parent && canEditorSceneGameObjectHaveChildren(parent)\n ? parent.id\n : services.resolveRootContainerId(document);\n}\n\nfunction coerceHierarchyPatchResult<TResult extends { patch: unknown }, TPatch>(\n result: TResult | null,\n): PlayableEditorSceneHierarchyPatchResult<TResult, TPatch> | null {\n if (!result) return null;\n return {\n ...result,\n patch: result.patch as TPatch,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../src/session/hierarchy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../src/session/hierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type EditorTransformSnapshot,\n type SceneGraphTreeItem,\n} from '@fps-games/editor-core';\nimport {\n isEditorScenePrefabInstance,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n} from '../document/index';\nimport {\n canEditorSceneGameObjectHaveChildren,\n isEditorSceneGroupLikeGameObject,\n isEditorSceneProtectedSystemGameObject,\n} from './classification';\nimport {\n EDITOR_SCENE_ROOT_ID,\n isEditorSceneRootGameObject,\n} from './identity';\nimport {\n getEditorSceneGameObjectWorldTransform,\n resolveEditorSceneRootContainerId,\n toEditorSceneTransformComponent,\n toEditorScenePreserveWorldLocalTransformForParent,\n normalizeEditorSceneRootTransformDocument,\n} from './transform';\n\nexport function getEditorSceneHierarchyItems(document: EditorSceneDocument): SceneGraphTreeItem[] {\n const rootId = resolveEditorSceneRootContainerId(document);\n const byId = new Map(document.scene.gameObjects.map(gameObject => [gameObject.id, gameObject]));\n return document.scene.gameObjects\n .filter(gameObject => gameObject.id !== EDITOR_SCENE_ROOT_ID)\n .map((gameObject) => {\n const systemProtected = isEditorSceneProtectedSystemGameObject(gameObject);\n const canHaveChildren = canEditorSceneGameObjectHaveChildren(gameObject);\n const directEnabled = gameObject.active !== false;\n return {\n id: gameObject.id,\n label: gameObject.name ?? gameObject.id,\n parentId: gameObject.parentId === rootId ? null : gameObject.parentId ?? null,\n depth: Math.max(0, getEditorSceneGameObjectDepthFromMap(byId, gameObject) - (rootId ? 1 : 0)),\n role: canHaveChildren && isEditorSceneGroupLikeGameObject(gameObject) ? 'group' : 'object',\n ...(isEditorScenePrefabInstance(gameObject) ? { icon: 'prefab' } : {}),\n selectable: true,\n enabled: directEnabled && areEditorSceneAncestorsEnabled(byId, gameObject.parentId, rootId),\n directEnabled,\n canToggleEnabled: !systemProtected,\n enableToggleDisabledReason: systemProtected ? 'Protected system objects cannot be hidden from Hierarchy.' : undefined,\n protected: systemProtected,\n canHaveChildren: !systemProtected && canHaveChildren,\n renamable: !systemProtected,\n deletable: !systemProtected,\n draggable: !systemProtected,\n };\n });\n}\n\nfunction getEditorSceneGameObjectDepthFromMap(\n byId: ReadonlyMap<string, EditorSceneGameObject>,\n gameObject: EditorSceneGameObject,\n): number {\n const visited = new Set<string>();\n let depth = 0;\n let cursorId = gameObject.parentId ?? null;\n while (cursorId) {\n if (visited.has(cursorId)) return depth;\n visited.add(cursorId);\n const parent = byId.get(cursorId);\n if (!parent) return depth;\n depth += 1;\n cursorId = parent.parentId ?? null;\n }\n return depth;\n}\n\nfunction areEditorSceneAncestorsEnabled(\n byId: ReadonlyMap<string, EditorSceneGameObject>,\n parentId: string | null | undefined,\n rootId: string | undefined,\n): boolean {\n const visited = new Set<string>();\n let cursorId = parentId ?? null;\n while (cursorId) {\n if (visited.has(cursorId)) return true;\n visited.add(cursorId);\n const parent = byId.get(cursorId);\n if (!parent) return true;\n if (parent.id !== rootId && parent.active === false) return false;\n cursorId = parent.parentId ?? null;\n }\n return true;\n}\n\nexport function normalizeEditorSceneHierarchyDocument<TDocument extends EditorSceneDocument>(\n document: TDocument,\n): TDocument {\n const normalizedDocument = normalizeEditorSceneRootTransformDocument(document, {\n normalizeRootActive: true,\n });\n const rootId = resolveEditorSceneRootContainerId(normalizedDocument);\n if (!rootId) return normalizedDocument;\n\n let changed = false;\n const gameObjects = normalizedDocument.scene.gameObjects.map((gameObject) => {\n if (gameObject.id === rootId || gameObject.parentId) return gameObject;\n const world = getEditorSceneGameObjectWorldTransform(normalizedDocument, gameObject.id);\n const local = world ? toEditorScenePreserveWorldLocalTransformForParent(normalizedDocument, rootId, world) : null;\n changed = true;\n return {\n ...gameObject,\n parentId: rootId,\n components: local\n ? gameObject.components.map((component) => {\n if (component.type !== 'Transform') return component;\n return toEditorSceneTransformComponent(local);\n })\n : gameObject.components,\n };\n });\n\n return changed\n ? {\n ...normalizedDocument,\n scene: {\n ...normalizedDocument.scene,\n gameObjects,\n },\n } as TDocument\n : normalizedDocument;\n}\n\nexport function collectEditorSceneSubtreeIdList(\n document: EditorSceneDocument,\n rootIds: string[],\n): string[] {\n return [...collectEditorSceneSubtreeIds(document, rootIds)];\n}\n\nexport function collectEditorSceneSubtreeIds(\n document: EditorSceneDocument,\n rootIds: string[],\n): Set<string> {\n const ids = new Set(rootIds.filter((id) => !!document.scene.gameObjects.find((gameObject) => gameObject.id === id)));\n let changed = true;\n while (changed) {\n changed = false;\n for (const gameObject of document.scene.gameObjects) {\n if (gameObject.parentId && ids.has(gameObject.parentId) && !ids.has(gameObject.id)) {\n ids.add(gameObject.id);\n changed = true;\n }\n }\n }\n return ids;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/session/identity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/session/identity.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EditorSceneDocument, EditorSceneGameObject } from '../document/index';\n\nexport const EDITOR_SCENE_ROOT_ID = 'root';\nconst EDITOR_SCENE_GAME_OBJECT_GUID_PREFIX = 'go_';\nconst DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME = 'GameObject';\n\nexport interface CreateUniqueEditorSceneGameObjectDisplayNameOptions {\n alwaysAppendSuffix?: boolean;\n fallbackName?: string;\n}\n\nexport function isEditorSceneRootGameObjectId(gameObjectId: string | null | undefined): boolean {\n return gameObjectId === EDITOR_SCENE_ROOT_ID;\n}\n\nexport function isEditorSceneRootGameObject(gameObject: Pick<EditorSceneGameObject, 'id'>): boolean {\n return isEditorSceneRootGameObjectId(gameObject.id);\n}\n\nexport function ensureEditorSceneGameObjectGuids<TDocument extends EditorSceneDocument>(\n document: TDocument,\n): TDocument {\n const usedGuids = new Set<string>();\n let changed = false;\n const gameObjects = document.scene.gameObjects.map((gameObject) => {\n const next = ensureUniqueEditorSceneGameObjectGuid(gameObject, usedGuids);\n changed = changed || next !== gameObject;\n return next;\n });\n return changed\n ? {\n ...document,\n scene: {\n ...document.scene,\n gameObjects,\n },\n } as TDocument\n : document;\n}\n\nexport function createEditorSceneGameObjectGuid(): string {\n const randomId = globalThis.crypto?.randomUUID?.() ?? `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;\n return `${EDITOR_SCENE_GAME_OBJECT_GUID_PREFIX}${randomId}`;\n}\n\nexport function createUniqueEditorSceneGameObjectId(\n existingIds: readonly string[],\n preferredId: string,\n): string {\n const used = new Set(existingIds);\n const base = sanitizeEditorSceneGameObjectId(preferredId) || 'game_object';\n if (!used.has(base)) return base;\n let suffix = 2;\n while (used.has(`${base}_${suffix}`)) suffix += 1;\n return `${base}_${suffix}`;\n}\n\nexport function normalizeEditorSceneGameObjectDisplayName(\n value: unknown,\n fallback = DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME,\n): string {\n return normalizeEditorSceneGameObjectDisplayNamePart(value)\n ?? normalizeEditorSceneGameObjectDisplayNamePart(fallback)\n ?? DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME;\n}\n\nexport function createUniqueEditorSceneGameObjectDisplayName(\n existingNames: readonly unknown[],\n preferredName: unknown,\n options: CreateUniqueEditorSceneGameObjectDisplayNameOptions = {},\n): string {\n const base = normalizeEditorSceneGameObjectDisplayName(\n preferredName,\n options.fallbackName ?? DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME,\n );\n const usedNames = new Set(\n existingNames\n .map((name) => normalizeEditorSceneGameObjectDisplayNamePart(name))\n .filter((name): name is string => !!name),\n );\n if (!options.alwaysAppendSuffix && !usedNames.has(base)) return base;\n\n let suffix = 1;\n let candidate = `${base}_${suffix}`;\n while (usedNames.has(candidate)) {\n suffix += 1;\n candidate = `${base}_${suffix}`;\n }\n return candidate;\n}\n\nfunction normalizeEditorSceneGameObjectDisplayNamePart(value: unknown): string | null {\n const raw = String(value ?? '').trim();\n if (!raw) return null;\n const normalized = raw\n .replace(/\\s+/g, '_')\n .replace(/_+/g, '_')\n .replace(/^_+|_+$/g, '');\n return normalized || null;\n}\n\nexport function sanitizeEditorSceneGameObjectId(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9_]+/g, '_')\n .replace(/^_+|_+$/g, '')\n || 'asset';\n}\n\nfunction readEditorSceneGameObjectGuid(gameObject: Pick<EditorSceneGameObject, 'guid'>): string | null {\n return typeof gameObject.guid === 'string' && gameObject.guid.trim() ? gameObject.guid.trim() : null;\n}\n\nfunction ensureUniqueEditorSceneGameObjectGuid<TGameObject extends EditorSceneGameObject>(\n gameObject: TGameObject,\n usedGuids: Set<string>,\n): TGameObject {\n const existingGuid = readEditorSceneGameObjectGuid(gameObject);\n if (existingGuid && !usedGuids.has(existingGuid)) {\n usedGuids.add(existingGuid);\n return existingGuid === gameObject.guid ? gameObject : { ...gameObject, guid: existingGuid };\n }\n\n let guid = createEditorSceneGameObjectGuid();\n while (usedGuids.has(guid)) {\n guid = createEditorSceneGameObjectGuid();\n }\n usedGuids.add(guid);\n return { ...gameObject, guid };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,4CAA4C,EAC5C,mCAAmC,EACnC,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,yCAAyC,EACzC,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,oCAAoC,EACpC,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,sCAAsC,EACtC,wCAAwC,GACzC,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,EACtC,8BAA8B,EAC9B,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,wCAAwC,EACxC,kDAAkD,EAClD,0CAA0C,EAC1C,2CAA2C,EAC3C,wCAAwC,EACxC,8BAA8B,EAC9B,6BAA6B,EAC7B,yCAAyC,EACzC,oCAAoC,EACpC,4CAA4C,EAC5C,yCAAyC,EACzC,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,kCAAkC,EAClC,kCAAkC,EAClC,yCAAyC,EACzC,8BAA8B,EAC9B,kCAAkC,EAClC,iCAAiC,EACjC,uCAAuC,EACvC,0CAA0C,EAC1C,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,oCAAoC,EACpC,iDAAiD,GAClD,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,qCAAqC,GACtC,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,mCAAmC,EACnC,wCAAwC,EACxC,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,wCAAwC,GACzC,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,6CAA6C,EAC7C,gDAAgD,EAChD,4CAA4C,EAC5C,kDAAkD,EAClD,qCAAqC,GACtC,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EACL,+CAA+C,EAC/C,mDAAmD,EACnD,oDAAoD,GACrD,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,4CAA4C,GAC7C,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,4CAA4C,EAC5C,mCAAmC,EACnC,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,yCAAyC,EACzC,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,oCAAoC,EACpC,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,sCAAsC,EACtC,wCAAwC,GACzC,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,EACtC,8BAA8B,EAC9B,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,wCAAwC,EACxC,kDAAkD,EAClD,0CAA0C,EAC1C,2CAA2C,EAC3C,wCAAwC,EACxC,8BAA8B,EAC9B,6BAA6B,EAC7B,yCAAyC,EACzC,oCAAoC,EACpC,4CAA4C,EAC5C,yCAAyC,EACzC,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,kCAAkC,EAClC,kCAAkC,EAClC,yCAAyC,EACzC,8BAA8B,EAC9B,kCAAkC,EAClC,iCAAiC,EACjC,uCAAuC,EACvC,0CAA0C,EAC1C,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,oCAAoC,EACpC,iDAAiD,GAClD,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,qCAAqC,GACtC,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,mCAAmC,EACnC,wCAAwC,EACxC,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,wCAAwC,GACzC,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,6CAA6C,EAC7C,gDAAgD,EAChD,4CAA4C,EAC5C,kDAAkD,EAClD,qCAAqC,GACtC,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EACL,+CAA+C,EAC/C,mDAAmD,EACnD,oDAAoD,GACrD,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,4CAA4C,GAC7C,MAAM,yBAAyB,CAAC","sourcesContent":["export type {\n EditorSceneHierarchyItem,\n EditorSceneSessionDocument,\n EditorSceneSessionGameObject,\n EditorSceneTransformSnapshot,\n PlayableEditorSceneDocumentPatch,\n} from './types';\nexport {\n EDITOR_SCENE_ROOT_ID,\n createEditorSceneGameObjectGuid,\n createUniqueEditorSceneGameObjectDisplayName,\n createUniqueEditorSceneGameObjectId,\n ensureEditorSceneGameObjectGuids,\n isEditorSceneRootGameObject,\n isEditorSceneRootGameObjectId,\n normalizeEditorSceneGameObjectDisplayName,\n sanitizeEditorSceneGameObjectId,\n} from './identity';\nexport type {\n CreateUniqueEditorSceneGameObjectDisplayNameOptions,\n} from './identity';\nexport {\n canEditorSceneGameObjectHaveChildren,\n hasEditorSceneCamera,\n isEditorSceneCameraGameObject,\n isEditorSceneGroupLikeGameObject,\n isEditorSceneLightGameObject,\n isEditorSceneProtectedSystemGameObject,\n isEditorSceneProtectedSystemGameObjectId,\n} from './classification';\nexport type {\n EditorSceneCameraProjection,\n EditorSceneDefaultCameraRig,\n EditorSceneDefaultDirectionalLight,\n EditorSceneDefaultHemisphericLight,\n EditorSceneDefaultObjectServices,\n} from './system-defaults';\nexport {\n DEFAULT_EDITOR_SCENE_CAMERA,\n DEFAULT_EDITOR_SCENE_ENVIRONMENT_LIGHT,\n DEFAULT_EDITOR_SCENE_SUN_LIGHT,\n EDITOR_SCENE_ENVIRONMENT_LIGHT_ID,\n EDITOR_SCENE_MAIN_CAMERA_ID,\n EDITOR_SCENE_SUN_LIGHT_ID,\n createDefaultEditorSceneCameraGameObject,\n createDefaultEditorSceneEnvironmentLightGameObject,\n createDefaultEditorSceneSunLightGameObject,\n createEditorSceneIdentityTransformComponent,\n hasInvalidEditorSceneCameraRelationships,\n mergeEditorSceneCameraDefaults,\n mergeEditorSceneLightDefaults,\n normalizeEditorSceneCameraAfterFieldPatch,\n normalizeEditorSceneCameraGameObject,\n normalizeEditorScenePlainTransformGameObject,\n normalizeEditorSceneSystemLightGameObject,\n readEditorSceneLightType,\n shallowEditorSceneGameObjectsEqual,\n} from './system-defaults';\nexport {\n EDITOR_SCENE_ROOT_TRANSFORM,\n createEditorSceneRootTransformComponent,\n findEditorSceneGameObject,\n getEditorSceneGameObjectWorldTransform,\n isEditorSceneMatrixTransformComponent,\n isEditorSceneTrsTransformComponent,\n normalizeEditorSceneRootGameObject,\n normalizeEditorSceneRootTransformDocument,\n isEditorSceneRootTransformPath,\n isEditorSceneSelectableHierarchyId,\n resolveEditorSceneRootContainerId,\n readEditorSceneGameObjectLocalTransform,\n readRawEditorSceneGameObjectLocalTransform,\n toEditorSceneTransformComponent,\n toEditorSceneTransformSnapshot,\n tryCreateEditorSceneTransformComponent,\n tryCreateEditorSceneTransformSnapshot,\n toEditorSceneLocalTransformFromWorld,\n toEditorSceneLocalTransformForParent,\n toEditorScenePreserveWorldLocalTransformForParent,\n} from './transform';\nexport {\n collectEditorSceneSubtreeIdList,\n getEditorSceneHierarchyItems,\n normalizeEditorSceneHierarchyDocument,\n} from './hierarchy';\nexport type {\n EditorSceneHierarchyMoveOptions,\n EditorSceneHierarchyMoveTransformResolver,\n EditorSceneHierarchyMoveTransformResolverInput,\n EditorSceneHierarchyPatch,\n} from './patches';\nexport {\n createEditorSceneCreateGroupPatch,\n createEditorSceneCreatePrimitivePatch,\n createEditorSceneDeleteSubtreePatch,\n createEditorSceneDuplicateSelectionPatch,\n createEditorSceneGroupSelectionPatch,\n createEditorSceneHierarchyMovePatch,\n createEditorSceneRenamePatch,\n createEditorSceneReparentPatch,\n validateEditorSceneGroupSelection,\n validateEditorSceneHierarchyMove,\n validateEditorSceneReparent,\n} from './patches';\nexport type {\n PlayableEditorSceneHierarchyFacade,\n PlayableEditorSceneHierarchyFacadeServices,\n PlayableEditorSceneHierarchyPatchResult,\n} from './hierarchy-facade';\nexport {\n createPlayableEditorSceneHierarchyFacade,\n} from './hierarchy-facade';\nexport type {\n PlayableEditorSceneDefaultObjectServices,\n PlayableEditorSceneFieldMutationServices,\n PlayableEditorSceneReducerCoreServices,\n PlayableEditorSceneReducerSystemDefaultServices,\n PlayableEditorSceneSystemFieldPatchServices,\n} from './reducer-core';\nexport {\n createPlayableEditorSceneFieldMutationOptions,\n ensurePlayableEditorSceneEnvironmentDefaultsCore,\n isBlockedPlayableEditorSceneSystemFieldPatch,\n patchPlayableEditorSceneDirectionalLightAngleField,\n reducePlayableEditorSceneDocumentCore,\n} from './reducer-core';\nexport type {\n PlayableEditorSceneAssetMeshSelectionTarget,\n PlayableEditorSceneInspectorPropertyPatchInput,\n PlayableEditorSceneInspectorPropertyPatchResult,\n PlayableEditorSceneMaterialAssetFieldPath,\n PlayableEditorScenePropertyPatchServices,\n} from './property-patches';\nexport {\n createPlayableEditorSceneInspectorPropertyPatch,\n patchPlayableEditorSceneGameObjectFieldWithServices,\n patchPlayableEditorSceneGameObjectsFieldWithServices,\n} from './property-patches';\nexport type {\n PlayableEditorSceneMultiPropertyCapabilityInput,\n PlayableEditorSceneMultiPropertyPatchInput,\n PlayableEditorSceneObjectCommandFacade,\n PlayableEditorSceneObjectCommandServices,\n} from './object-command-facade';\nexport {\n createPlayableEditorSceneObjectCommandFacade,\n} from './object-command-facade';\n"]}
|
package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-command-facade.js","sourceRoot":"","sources":["../../src/session/object-command-facade.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,uCAAuC,GAExC,MAAM,8BAA8B,CAAC;AA+DtC,MAAM,UAAU,4CAA4C,CAK1D,QAAkF;IAElF,OAAO;QACL,4BAA4B,CAAC,QAAQ,EAAE,KAAK;YAC1C,IAAI,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,QAAQ,CAAC;YAC9E,OAAO,uCAAuC,CAAY;gBACxD,QAAQ;gBACR,KAAK;gBACL,aAAa,EAAE,QAAQ,CAAC,+BAA+B;aACxD,CAAC,CAAC;QACL,CAAC;QACD,qCAAqC,CAAC,KAAK;YACzC,OAAO,yDAAyD,CAAC;gBAC/D,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,QAAQ,CAAC,oCAAoC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChE,QAAQ;aACT,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,kCAAkC,CAAC,KAAK;YACtC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClE,MAAM,SAAS,GAAG,yDAAyD,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxC,OAAO;gBACL,KAAK,EAAE,SAAS,SAAS,CAAC,MAAM,gBAAgB,KAAK,CAAC,IAAI,EAAE;gBAC5D,KAAK,EAAE,QAAQ,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACjE,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC,CAAC;gBACJ,UAAU,EAAE,SAAS;gBACrB,GAAG,CAAC,QAAQ,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7F,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yDAAyD,CAKhE,KAEC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACtE,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,QAAQ,CAAC,kCAAkC,EAAE,CAAC;YACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,KAAK,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjI,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACnD,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"object-command-facade.js","sourceRoot":"","sources":["../../src/session/object-command-facade.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n SerializedPropertyPatch,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n applyEditorSceneSerializedPropertyPatch,\n type EditorSceneSerializedPropertyValidator,\n} from '../serialized-property/index';\n\nexport interface PlayableEditorSceneObjectCommandServices<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TPatch = unknown,\n> {\n isRootTransformPath: (targetId: string, path: string) => boolean;\n validateSerializedPropertyField: EditorSceneSerializedPropertyValidator<TDocument>;\n findGameObject: (document: TDocument, gameObjectId: string | null | undefined) => TGameObject | null;\n isCameraGameObject: (gameObject: TGameObject) => boolean;\n isLightGameObject: (gameObject: TGameObject) => boolean;\n isSerializedMultiFieldPath: (path: string) => boolean;\n isSerializedMultiProjectionPath: (path: string) => boolean;\n getSerializedMultiPropertyProbeValue: (path: string) => unknown;\n canPatchCustomSerializedMultiField?: (input: {\n document: TDocument;\n targetId: string;\n path: string;\n value: unknown;\n }) => boolean;\n createInspectorPropertyPatch: (input: {\n document: TDocument;\n targetId: string;\n path: string;\n value: unknown;\n }) => unknown | null;\n createFieldBatchPatch: (fields: Array<{\n targetId: string;\n path: string;\n value: unknown;\n }>) => TPatch;\n}\n\nexport interface PlayableEditorSceneMultiPropertyCapabilityInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targetIds: readonly string[];\n activeId: string | null;\n path: string;\n}\n\nexport interface PlayableEditorSceneMultiPropertyPatchInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> extends PlayableEditorSceneMultiPropertyCapabilityInput<TDocument> {\n value: unknown;\n}\n\nexport interface PlayableEditorSceneObjectCommandFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TPatch = unknown,\n> {\n applySerializedPropertyPatch(document: TDocument, patch: SerializedPropertyPatch): TDocument;\n canCreateSerializedMultiPropertyPatch(input: PlayableEditorSceneMultiPropertyCapabilityInput<TDocument>): boolean;\n createSerializedMultiPropertyPatch(input: PlayableEditorSceneMultiPropertyPatchInput<TDocument>): {\n patch: TPatch;\n label: string;\n changedIds: string[];\n reprojectIds?: string[];\n } | null;\n}\n\nexport function createPlayableEditorSceneObjectCommandFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TPatch = unknown,\n>(\n services: PlayableEditorSceneObjectCommandServices<TDocument, TGameObject, TPatch>,\n): PlayableEditorSceneObjectCommandFacade<TDocument, TPatch> {\n return {\n applySerializedPropertyPatch(document, patch) {\n if (services.isRootTransformPath(patch.targetId, patch.path)) return document;\n return applyEditorSceneSerializedPropertyPatch<TDocument>({\n document,\n patch,\n validateField: services.validateSerializedPropertyField,\n });\n },\n canCreateSerializedMultiPropertyPatch(input) {\n return getPlayableEditorSceneSerializedMultiPropertyPatchTargets({\n document: input.document,\n targetIds: input.targetIds,\n activeId: input.activeId,\n path: input.path,\n value: services.getSerializedMultiPropertyProbeValue(input.path),\n services,\n }).length > 0;\n },\n createSerializedMultiPropertyPatch(input) {\n if (!services.isSerializedMultiFieldPath(input.path)) return null;\n const targetIds = getPlayableEditorSceneSerializedMultiPropertyPatchTargets({ ...input, services });\n if (targetIds.length === 0) return null;\n return {\n label: `Patch ${targetIds.length} GameObjects ${input.path}`,\n patch: services.createFieldBatchPatch(targetIds.map((targetId) => ({\n targetId,\n path: input.path,\n value: input.value,\n }))),\n changedIds: targetIds,\n ...(services.isSerializedMultiProjectionPath(input.path) ? { reprojectIds: targetIds } : {}),\n };\n },\n };\n}\n\nfunction getPlayableEditorSceneSerializedMultiPropertyPatchTargets<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n TPatch,\n>(\n input: PlayableEditorSceneMultiPropertyPatchInput<TDocument> & {\n services: PlayableEditorSceneObjectCommandServices<TDocument, TGameObject, TPatch>;\n },\n): string[] {\n if (!input.services.isSerializedMultiFieldPath(input.path)) return [];\n return input.targetIds.filter((targetId) => {\n const gameObject = input.services.findGameObject(input.document, targetId);\n if (input.services.canPatchCustomSerializedMultiField?.({\n document: input.document,\n targetId,\n path: input.path,\n value: input.value,\n }) === false) {\n return false;\n }\n if (input.services.isSerializedMultiProjectionPath(input.path)) {\n if (!gameObject || input.services.isCameraGameObject(gameObject) || input.services.isLightGameObject(gameObject)) return false;\n }\n return !!input.services.createInspectorPropertyPatch({\n document: input.document,\n targetId,\n path: input.path,\n value: input.value,\n });\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patches.js","sourceRoot":"","sources":["../../src/session/patches.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patches.js","sourceRoot":"","sources":["../../src/session/patches.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n composeEditorTransformMatrix,\n editorTransformMatricesAlmostEqual,\n getTopLevelSceneGraphNodeIds,\n isEditorTransformTrsSnapshot,\n readEditorTransformPosition,\n resolveEditorTransformPreserveWorldPolicy,\n toEditorLocalTransformFromWorld,\n validateSceneGraphGroupSelection,\n validateSceneGraphMove,\n type EditorTransformSnapshot,\n type EditorTransformPreserveWorldPolicyInput,\n type SceneGraphCreateGroupIntent,\n type SceneGraphCreatePrimitiveIntent,\n type SceneGraphDeleteIntent,\n type SceneGraphDropIntent,\n type SceneGraphGroupSelectionIntent,\n type SceneGraphMoveIntent,\n type SceneGraphPrimitiveShape,\n type SceneGraphRenameIntent,\n type SceneGraphValidationResult,\n} from '@fps-games/editor-core';\nimport {\n findEditorSceneTransform,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n type EditorSceneVec3,\n} from '../document/index';\nimport {\n isEditorSceneCameraGameObject,\n canEditorSceneGameObjectHaveChildren,\n} from './classification';\nimport {\n createUniqueEditorSceneGameObjectDisplayName,\n createUniqueEditorSceneGameObjectId as createUniqueEditorSceneId,\n createEditorSceneGameObjectGuid,\n isEditorSceneRootGameObject,\n isEditorSceneRootGameObjectId,\n} from './identity';\nimport {\n collectEditorSceneSubtreeIds,\n collectEditorSceneSubtreeIdList,\n getEditorSceneHierarchyItems,\n} from './hierarchy';\nimport {\n createEditorSceneGameObjectMap,\n findEditorSceneGameObject,\n getEditorSceneGameObjectWorldTransform,\n readEditorSceneGameObjectLocalTransform,\n resolveEditorSceneRootContainerId,\n toEditorSceneTransformComponent,\n toEditorScenePreserveWorldLocalTransformForParent,\n tryCreateEditorSceneTransformSnapshot,\n} from './transform';\n\nexport type EditorSceneHierarchyPatch<TGameObject extends EditorSceneGameObject = EditorSceneGameObject> =\n | {\n kind: 'game-object.rename';\n targetId: string;\n name: string;\n }\n | {\n kind: 'game-object.create-group';\n gameObject: TGameObject;\n }\n | {\n kind: 'game-object.create-primitive';\n gameObject: TGameObject;\n }\n | {\n kind: 'game-object.delete-subtree';\n targetIds: string[];\n }\n | {\n kind: 'game-object.reparent';\n targetId: string;\n parentId?: string;\n transform?: EditorTransformSnapshot;\n }\n | {\n kind: 'game-object.hierarchy-move';\n moves: Array<{\n targetId: string;\n parentId?: string;\n transform: EditorTransformSnapshot;\n }>;\n order: string[];\n }\n | {\n kind: 'game-object.group-selection';\n gameObject: TGameObject;\n childIds: string[];\n childTransforms: Record<string, EditorTransformSnapshot>;\n order: string[];\n }\n | {\n kind: 'game-object.duplicate-selection';\n gameObjects: TGameObject[];\n };\n\ntype EditorSceneHierarchyMovePatchEntry = {\n targetId: string;\n parentId?: string;\n transform: EditorTransformSnapshot;\n};\n\nexport interface EditorSceneHierarchyMoveTransformResolverInput<TGameObject extends EditorSceneGameObject = EditorSceneGameObject> {\n document: EditorSceneDocument<TGameObject>;\n intent: SceneGraphMoveIntent;\n gameObject: TGameObject;\n parentId: string | undefined;\n worldTransform: EditorTransformSnapshot;\n}\n\nexport type EditorSceneHierarchyMoveTransformResolver<TGameObject extends EditorSceneGameObject = EditorSceneGameObject> = (\n input: EditorSceneHierarchyMoveTransformResolverInput<TGameObject>,\n) => EditorTransformSnapshot | null | undefined;\n\nexport interface EditorSceneHierarchyMoveOptions<TGameObject extends EditorSceneGameObject = EditorSceneGameObject> {\n resolveLocalTransform?: EditorSceneHierarchyMoveTransformResolver<TGameObject>;\n preserveWorldPolicy?: EditorTransformPreserveWorldPolicyInput;\n}\n\nexport function createEditorSceneRenamePatch(\n document: EditorSceneDocument,\n intent: SceneGraphRenameIntent,\n): { patch: EditorSceneHierarchyPatch; label: string; changedId: string } | null {\n const name = intent.name.trim();\n if (!name) return null;\n const gameObject = findEditorSceneGameObject(document, intent.id);\n if (!gameObject || gameObject.name === name) return null;\n return {\n label: `Rename ${gameObject.name ?? gameObject.id} to ${name}`,\n patch: {\n kind: 'game-object.rename',\n targetId: intent.id,\n name,\n },\n changedId: intent.id,\n };\n}\n\nexport function createEditorSceneCreateGroupPatch(\n document: EditorSceneDocument,\n intent: SceneGraphCreateGroupIntent,\n): { patch: EditorSceneHierarchyPatch; label: string; createdId: string; changedIds: string[] } | null {\n const parentId = resolveCreateGroupParentId(document, intent);\n if (parentId === null) return null;\n const name = createUniqueEditorSceneGameObjectDisplayName(\n getEditorSceneGameObjectDisplayNames(document),\n intent.name,\n { fallbackName: 'Empty' },\n );\n const id = createUniqueEditorSceneId(document.scene.gameObjects.map((gameObject) => gameObject.id), name);\n const gameObject: EditorSceneGameObject = {\n id,\n guid: createEditorSceneGameObjectGuid(),\n name,\n kind: 'transform',\n transformType: 'plain',\n ...(parentId ? { parentId } : {}),\n active: true,\n components: [\n {\n type: 'Transform',\n position: { x: 0, y: 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n },\n ],\n };\n return {\n label: `Create empty ${name}`,\n patch: {\n kind: 'game-object.create-group',\n gameObject,\n },\n createdId: id,\n changedIds: [id],\n };\n}\n\nexport function createEditorSceneCreatePrimitivePatch(\n document: EditorSceneDocument,\n intent: SceneGraphCreatePrimitiveIntent,\n): { patch: EditorSceneHierarchyPatch; label: string; createdId: string; changedIds: string[] } | null {\n const shape = normalizeEditorScenePrimitiveShape(intent.shape);\n if (!shape) return null;\n const parentId = resolveCreatePrimitiveParentId(document, intent);\n if (parentId === null) return null;\n const name = createUniqueEditorSceneGameObjectDisplayName(\n getEditorSceneGameObjectDisplayNames(document),\n intent.name,\n { fallbackName: getEditorScenePrimitiveDisplayName(shape) },\n );\n const id = createUniqueEditorSceneId(document.scene.gameObjects.map((gameObject) => gameObject.id), name);\n const localTransform = createDefaultEditorScenePrimitiveTransform(shape);\n const gameObject: EditorSceneGameObject = {\n id,\n guid: createEditorSceneGameObjectGuid(),\n name,\n kind: 'primitive',\n ...(parentId ? { parentId } : {}),\n active: true,\n primitive: { shape },\n components: [\n toEditorSceneTransformComponent(localTransform),\n ],\n };\n return {\n label: `Create ${name}`,\n patch: {\n kind: 'game-object.create-primitive',\n gameObject,\n },\n createdId: id,\n changedIds: [id],\n };\n}\n\nexport function createEditorSceneDeleteSubtreePatch(\n document: EditorSceneDocument,\n intent: SceneGraphDeleteIntent,\n): { patch: EditorSceneHierarchyPatch; label: string; deletedIds: string[]; fallbackSelectionId: string | null } | null {\n if (intent.ids.some(isEditorSceneRootGameObjectId)) return null;\n const deletedIds = collectEditorSceneSubtreeIdList(document, intent.ids);\n if (deletedIds.length === 0) return null;\n if (document.scene.gameObjects.some((gameObject) => deletedIds.includes(gameObject.id) && isEditorSceneCameraGameObject(gameObject))) {\n return null;\n }\n const fallbackSelectionId = resolveDeleteFallbackSelectionId(document, deletedIds, intent.activeId ?? null);\n return {\n label: `Delete ${deletedIds.length} GameObject${deletedIds.length === 1 ? '' : 's'}`,\n patch: {\n kind: 'game-object.delete-subtree',\n targetIds: intent.ids,\n },\n deletedIds,\n fallbackSelectionId,\n };\n}\n\nexport function validateEditorSceneReparent(\n document: EditorSceneDocument,\n intent: SceneGraphDropIntent,\n options: EditorTransformPreserveWorldPolicyInput = {},\n): SceneGraphValidationResult {\n if (intent.placement !== 'inside') return { ok: false, reason: 'Only inside reparent is supported.' };\n const dragged = findEditorSceneGameObject(document, intent.draggedId);\n const target = findEditorSceneGameObject(document, intent.targetId);\n if (!dragged) return { ok: false, reason: `GameObject not found: ${intent.draggedId}` };\n if (isEditorSceneRootGameObject(dragged)) return { ok: false, reason: 'Root GameObject cannot be reparented.' };\n if (!target) return { ok: false, reason: `Parent GameObject not found: ${intent.targetId}` };\n if (!findEditorSceneTransform(dragged)) return { ok: false, reason: `${intent.draggedId} has no Transform to preserve.` };\n if (!canEditorSceneGameObjectHaveChildren(target)) return { ok: false, reason: `${intent.targetId} cannot have children.` };\n if (dragged.id === target.id) return { ok: false, reason: 'GameObject cannot be parented to itself.' };\n if (isEditorSceneAncestor(document, dragged.id, target.id)) {\n return { ok: false, reason: 'GameObject cannot be parented to its descendant.' };\n }\n if (intent.preserveWorldTransform !== false && !computeLocalTransformForParent(document, dragged.id, target.id, undefined, { preserveWorldPolicy: options })) {\n return { ok: false, reason: 'Cannot preserve world transform under the target parent.' };\n }\n return { ok: true };\n}\n\nexport function createEditorSceneReparentPatch(\n document: EditorSceneDocument,\n intent: SceneGraphDropIntent,\n options: EditorTransformPreserveWorldPolicyInput = {},\n): { patch: EditorSceneHierarchyPatch; label: string; changedIds: string[] } | null {\n const validation = validateEditorSceneReparent(document, intent, options);\n if (!validation.ok) return null;\n const target = findEditorSceneGameObject(document, intent.draggedId);\n if (!target || !findEditorSceneTransform(target)) return null;\n const parentId = intent.targetId;\n const transform = intent.preserveWorldTransform === false\n ? readEditorSceneGameObjectLocalTransform(target)\n : computeLocalTransformForParent(document, target.id, parentId, undefined, { preserveWorldPolicy: options });\n if (!transform) return null;\n if (target.parentId === parentId && editorSceneTransformsEqual(readEditorSceneGameObjectLocalTransform(target), transform)) return null;\n return {\n label: `Reparent ${target.name ?? target.id}`,\n patch: {\n kind: 'game-object.reparent',\n targetId: target.id,\n parentId,\n transform,\n },\n changedIds: [target.id],\n };\n}\n\nexport function validateEditorSceneHierarchyMove<TGameObject extends EditorSceneGameObject = EditorSceneGameObject>(\n document: EditorSceneDocument<TGameObject>,\n intent: SceneGraphMoveIntent,\n options: EditorSceneHierarchyMoveOptions<TGameObject> = {},\n): SceneGraphValidationResult {\n const hierarchy = getEditorSceneHierarchyItems(document);\n const validation = validateSceneGraphMove(hierarchy, intent);\n if (!validation.ok) return validation;\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n if (ids.some(isEditorSceneRootGameObjectId)) return { ok: false, reason: 'Root GameObject cannot be moved.' };\n const parentId = resolveEditorSceneMoveParentId(document, intent);\n if (parentId && !isEditorSceneContainer(document, parentId)) {\n return { ok: false, reason: `${parentId} cannot have children.` };\n }\n if (intent.preserveWorldTransform !== false) {\n for (const id of ids) {\n const gameObject = findEditorSceneGameObject(document, id);\n if (!gameObject) return { ok: false, reason: `GameObject not found: ${id}` };\n if (!findEditorSceneTransform(gameObject)) return { ok: false, reason: `${id} has no Transform to preserve.` };\n if (!computeLocalTransformForParent(document, id, parentId, intent, options)) {\n return { ok: false, reason: 'Cannot preserve world transform under the target parent.' };\n }\n }\n }\n return { ok: true };\n}\n\nexport function createEditorSceneHierarchyMovePatch<TGameObject extends EditorSceneGameObject = EditorSceneGameObject>(\n document: EditorSceneDocument<TGameObject>,\n intent: SceneGraphMoveIntent,\n options: EditorSceneHierarchyMoveOptions<TGameObject> = {},\n): { patch: EditorSceneHierarchyPatch; label: string; changedIds: string[] } | null {\n const validation = validateEditorSceneHierarchyMove(document, intent, options);\n if (!validation.ok) return null;\n const hierarchy = getEditorSceneHierarchyItems(document);\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n const parentId = resolveEditorSceneMoveParentId(document, intent);\n const moves = ids\n .map<EditorSceneHierarchyMovePatchEntry | null>((id: string) => {\n const gameObject = findEditorSceneGameObject(document, id);\n if (!gameObject || !findEditorSceneTransform(gameObject)) return null;\n const transform = intent.preserveWorldTransform === false\n ? readEditorSceneGameObjectLocalTransform(gameObject)\n : computeLocalTransformForParent(document, id, parentId, intent, options);\n const canonicalTransform = transform ? tryCreateEditorSceneTransformSnapshot(transform) : null;\n if (!canonicalTransform) return null;\n return parentId\n ? { targetId: id, parentId, transform: canonicalTransform }\n : { targetId: id, transform: canonicalTransform };\n })\n .filter((move: EditorSceneHierarchyMovePatchEntry | null): move is EditorSceneHierarchyMovePatchEntry => !!move);\n if (moves.length !== ids.length) return null;\n const order = createEditorSceneMoveOrder(document, ids, intent);\n const currentOrder = document.scene.gameObjects.map((gameObject) => gameObject.id);\n const moved = moves.some((move: EditorSceneHierarchyMovePatchEntry) => {\n const gameObject = findEditorSceneGameObject(document, move.targetId);\n return !gameObject\n || gameObject.parentId !== move.parentId\n || !editorSceneTransformsEqual(readEditorSceneGameObjectLocalTransform(gameObject), move.transform);\n });\n if (!moved && arraysEqual(currentOrder, order)) return null;\n return {\n label: `Move ${ids.length} GameObject${ids.length === 1 ? '' : 's'}`,\n patch: {\n kind: 'game-object.hierarchy-move',\n moves,\n order,\n },\n changedIds: ids,\n };\n}\n\nexport function validateEditorSceneGroupSelection(\n document: EditorSceneDocument,\n intent: SceneGraphGroupSelectionIntent,\n options: EditorTransformPreserveWorldPolicyInput = {},\n): SceneGraphValidationResult {\n const hierarchy = getEditorSceneHierarchyItems(document);\n const validation = validateSceneGraphGroupSelection(hierarchy, intent);\n if (!validation.ok) return validation;\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n if (ids.some(isEditorSceneRootGameObjectId)) return { ok: false, reason: 'Root GameObject cannot be grouped.' };\n const parentId = resolveEditorSceneGroupSelectionParentId(document, intent.parentId ?? null);\n if (parentId && !isEditorSceneContainer(document, parentId)) {\n return { ok: false, reason: `${parentId} cannot have children.` };\n }\n if (intent.preserveWorldTransform !== false) {\n const center = computeEditorSceneSelectionWorldCenter(document, ids);\n const groupWorld = center\n ? {\n position: center,\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n }\n : null;\n if (!groupWorld || !toEditorScenePreserveWorldLocalTransformForParent(document, parentId, groupWorld, options)) {\n return { ok: false, reason: 'Cannot preserve world transform under the target parent.' };\n }\n for (const id of ids) {\n const gameObject = findEditorSceneGameObject(document, id);\n if (!gameObject) return { ok: false, reason: `GameObject not found: ${id}` };\n if (!findEditorSceneTransform(gameObject)) return { ok: false, reason: `${id} has no Transform to preserve.` };\n const childWorld = getEditorSceneGameObjectWorldTransform(document, id);\n if (!childWorld || !toEditorLocalTransformFromParentWorld(groupWorld, childWorld, options)) {\n return { ok: false, reason: 'Cannot preserve world transform under the target parent.' };\n }\n }\n }\n return { ok: true };\n}\n\nexport function createEditorSceneGroupSelectionPatch(\n document: EditorSceneDocument,\n intent: SceneGraphGroupSelectionIntent,\n options: EditorTransformPreserveWorldPolicyInput = {},\n): { patch: EditorSceneHierarchyPatch; label: string; createdId: string; changedIds: string[] } | null {\n const validation = validateEditorSceneGroupSelection(document, intent, options);\n if (!validation.ok) return null;\n const hierarchy = getEditorSceneHierarchyItems(document);\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n if (ids.length === 0) return null;\n const parentId = resolveEditorSceneGroupSelectionParentId(document, intent.parentId ?? null);\n const center = computeEditorSceneSelectionWorldCenter(document, ids);\n if (!center) return null;\n const groupWorld = {\n position: center,\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n };\n const groupLocal = toEditorScenePreserveWorldLocalTransformForParent(document, parentId, groupWorld, options);\n if (!groupLocal) return null;\n const name = createUniqueEditorSceneGameObjectDisplayName(\n getEditorSceneGameObjectDisplayNames(document),\n intent.name,\n { fallbackName: 'Parent' },\n );\n const id = createUniqueEditorSceneId(document.scene.gameObjects.map((gameObject) => gameObject.id), name);\n const gameObject: EditorSceneGameObject = {\n id,\n guid: createEditorSceneGameObjectGuid(),\n name,\n kind: 'transform',\n transformType: 'plain',\n ...(parentId ? { parentId } : {}),\n active: true,\n components: [\n toEditorSceneTransformComponent(groupLocal),\n ],\n };\n const childTransforms: Record<string, EditorTransformSnapshot> = {};\n for (const childId of ids) {\n const child = findEditorSceneGameObject(document, childId);\n if (!child) return null;\n if (intent.preserveWorldTransform === false) {\n childTransforms[childId] = readEditorSceneGameObjectLocalTransform(child);\n continue;\n }\n const childWorld = getEditorSceneGameObjectWorldTransform(document, childId);\n if (!childWorld) return null;\n const childLocal = toEditorLocalTransformFromParentWorld(groupWorld, childWorld, options);\n if (!childLocal) return null;\n childTransforms[childId] = childLocal;\n }\n const order = createEditorSceneGroupSelectionOrder(document, id, ids, intent.insertBeforeId ?? null);\n return {\n label: `Create Parent for ${ids.length} GameObject${ids.length === 1 ? '' : 's'}`,\n patch: {\n kind: 'game-object.group-selection',\n gameObject,\n childIds: ids,\n childTransforms,\n order,\n },\n createdId: id,\n changedIds: [id, ...ids],\n };\n}\n\nexport function createEditorSceneDuplicateSelectionPatch(input: {\n document: EditorSceneDocument;\n targetIds: string[];\n activeId: string | null;\n}): { patch: EditorSceneHierarchyPatch; label: string; createdIds: string[]; activeId: string | null; changedIds: string[] } | null {\n const idMap = new Map<string, string>();\n const usedIds = new Set(input.document.scene.gameObjects.map((gameObject) => gameObject.id));\n const nameMap = new Map<string, string>();\n const usedNames = getEditorSceneGameObjectDisplayNames(input.document);\n for (const targetId of input.targetIds) {\n const source = findEditorSceneGameObject(input.document, targetId);\n if (!source || isEditorSceneRootGameObject(source) || isEditorSceneCameraGameObject(source)) continue;\n const duplicateName = createUniqueEditorSceneGameObjectDisplayName(\n usedNames,\n source.name,\n {\n alwaysAppendSuffix: true,\n fallbackName: source.id,\n },\n );\n usedNames.push(duplicateName);\n const duplicateId = createUniqueEditorSceneId([...usedIds], duplicateName);\n usedIds.add(duplicateId);\n idMap.set(source.id, duplicateId);\n nameMap.set(source.id, duplicateName);\n }\n const gameObjects = input.targetIds\n .map((targetId) => findEditorSceneGameObject(input.document, targetId))\n .filter((source): source is EditorSceneGameObject => !!source && idMap.has(source.id))\n .map((source) => {\n const duplicate = structuredClone(source);\n duplicate.id = idMap.get(source.id)!;\n duplicate.guid = createEditorSceneGameObjectGuid();\n duplicate.name = nameMap.get(source.id)!;\n if (duplicate.parentId && idMap.has(duplicate.parentId)) {\n duplicate.parentId = idMap.get(duplicate.parentId)!;\n }\n return duplicate;\n });\n if (gameObjects.length === 0) return null;\n const createdIds = gameObjects.map((gameObject) => gameObject.id);\n const activeId = input.activeId && idMap.has(input.activeId)\n ? idMap.get(input.activeId)!\n : createdIds[createdIds.length - 1] ?? null;\n return {\n label: `Duplicate ${createdIds.length} object${createdIds.length === 1 ? '' : 's'}`,\n patch: {\n kind: 'game-object.duplicate-selection',\n gameObjects,\n },\n createdIds,\n activeId,\n changedIds: createdIds,\n };\n}\n\nfunction resolveCreateGroupParentId(\n document: EditorSceneDocument,\n intent: SceneGraphCreateGroupIntent,\n): string | null | undefined {\n if (intent.parentId) {\n const parent = findEditorSceneGameObject(document, intent.parentId);\n return parent && canEditorSceneGameObjectHaveChildren(parent) ? parent.id : null;\n }\n const active = intent.activeId ? findEditorSceneGameObject(document, intent.activeId) : null;\n if (active && canEditorSceneGameObjectHaveChildren(active)) return active.id;\n if (active?.parentId) {\n const activeParent = findEditorSceneGameObject(document, active.parentId);\n if (activeParent && canEditorSceneGameObjectHaveChildren(activeParent)) return activeParent.id;\n }\n return resolveEditorSceneRootContainerId(document);\n}\n\nfunction resolveCreatePrimitiveParentId(\n document: EditorSceneDocument,\n intent: SceneGraphCreatePrimitiveIntent,\n): string | null | undefined {\n if (intent.parentId === null) return resolveEditorSceneRootContainerId(document);\n return resolveCreateGroupParentId(document, intent);\n}\n\nfunction resolveEditorSceneMoveParentId(document: EditorSceneDocument, intent: SceneGraphMoveIntent): string | undefined {\n if (intent.placement === 'root') return resolveEditorSceneRootContainerId(document);\n if (intent.placement === 'inside' && intent.targetId) return intent.targetId;\n const target = intent.targetId ? findEditorSceneGameObject(document, intent.targetId) : null;\n return intent.parentId ?? target?.parentId ?? resolveEditorSceneRootContainerId(document);\n}\n\nfunction resolveEditorSceneGroupSelectionParentId(document: EditorSceneDocument, parentId: string | null): string | undefined {\n return parentId && isEditorSceneContainer(document, parentId) ? parentId : resolveEditorSceneRootContainerId(document);\n}\n\nfunction isEditorSceneContainer(document: EditorSceneDocument, gameObjectId: string): boolean {\n const gameObject = findEditorSceneGameObject(document, gameObjectId);\n return !!gameObject && canEditorSceneGameObjectHaveChildren(gameObject);\n}\n\nfunction computeLocalTransformForParent<TGameObject extends EditorSceneGameObject = EditorSceneGameObject>(\n document: EditorSceneDocument<TGameObject>,\n gameObjectId: string,\n parentId: string | undefined,\n intent?: SceneGraphMoveIntent,\n options: EditorSceneHierarchyMoveOptions<TGameObject> = {},\n): EditorTransformSnapshot | null {\n const world = getEditorSceneGameObjectWorldTransform(document, gameObjectId);\n if (!world) return null;\n const gameObject = findEditorSceneGameObject(document, gameObjectId) as TGameObject | null;\n if (!gameObject) return null;\n const resolved = intent\n ? options.resolveLocalTransform?.({\n document,\n intent,\n gameObject,\n parentId,\n worldTransform: world,\n })\n : null;\n if (resolved) return tryCreateEditorSceneTransformSnapshot(resolved);\n const local = toEditorScenePreserveWorldLocalTransformForParent(document, parentId, world, options.preserveWorldPolicy);\n return local ? tryCreateEditorSceneTransformSnapshot(local) : null;\n}\n\nfunction toEditorLocalTransformFromParentWorld(\n parentWorld: EditorTransformSnapshot,\n world: EditorTransformSnapshot,\n options: EditorTransformPreserveWorldPolicyInput = {},\n): EditorTransformSnapshot | null {\n const policy = resolveEditorTransformPreserveWorldPolicy(options);\n const local = toEditorLocalTransformFromWorld(parentWorld, world, { allowMatrixFallback: policy.allowMatrixFallback });\n return local ? tryCreateEditorSceneTransformSnapshot(local) : null;\n}\n\nfunction createEditorSceneMoveOrder(\n document: EditorSceneDocument,\n ids: readonly string[],\n intent: SceneGraphMoveIntent,\n): string[] {\n const blockIds = collectOrderedEditorSceneSubtreeBlockIds(document, ids);\n const blockSet = new Set(blockIds);\n const remaining = document.scene.gameObjects\n .map((gameObject) => gameObject.id)\n .filter((id) => !blockSet.has(id));\n const index = resolveEditorSceneInsertIndex(document, remaining, {\n placement: intent.placement,\n targetId: intent.targetId ?? null,\n beforeId: intent.beforeId ?? null,\n afterId: intent.afterId ?? null,\n parentId: resolveEditorSceneMoveParentId(document, intent),\n });\n return insertEditorSceneIdsAt(remaining, blockIds, index);\n}\n\nfunction createEditorSceneGroupSelectionOrder(\n document: EditorSceneDocument,\n groupId: string,\n ids: readonly string[],\n insertBeforeId: string | null,\n): string[] {\n const blockIds = collectOrderedEditorSceneSubtreeBlockIds(document, ids);\n const blockSet = new Set(blockIds);\n const currentOrder = document.scene.gameObjects.map((gameObject) => gameObject.id);\n const remaining = currentOrder.filter((id) => !blockSet.has(id));\n const firstSelectedIndex = Math.min(...ids.map((id) => currentOrder.indexOf(id)).filter((index) => index >= 0));\n const fallbackIndex = Number.isFinite(firstSelectedIndex)\n ? remaining.filter((id) => currentOrder.indexOf(id) < firstSelectedIndex).length\n : remaining.length;\n const index = insertBeforeId\n ? Math.max(0, remaining.indexOf(insertBeforeId))\n : fallbackIndex;\n return insertEditorSceneIdsAt(remaining, [groupId, ...blockIds], index);\n}\n\nfunction collectOrderedEditorSceneSubtreeBlockIds(document: EditorSceneDocument, rootIds: readonly string[]): string[] {\n const subtreeIds = collectEditorSceneSubtreeIds(document, [...rootIds]);\n return document.scene.gameObjects\n .map((gameObject) => gameObject.id)\n .filter((id) => subtreeIds.has(id));\n}\n\nfunction resolveEditorSceneInsertIndex(\n document: EditorSceneDocument,\n remaining: readonly string[],\n input: {\n placement: SceneGraphMoveIntent['placement'];\n targetId: string | null;\n beforeId: string | null;\n afterId: string | null;\n parentId?: string;\n },\n): number {\n if (input.beforeId) return boundedInsertIndex(remaining.indexOf(input.beforeId), remaining.length);\n if (input.afterId) return indexAfterEditorSceneSubtree(document, remaining, input.afterId);\n if (input.placement === 'before' && input.targetId) return boundedInsertIndex(remaining.indexOf(input.targetId), remaining.length);\n if (input.placement === 'after' && input.targetId) return indexAfterEditorSceneSubtree(document, remaining, input.targetId);\n if (input.placement === 'inside' && input.targetId) return indexAfterEditorSceneSubtree(document, remaining, input.targetId);\n if (input.placement === 'root') return remaining.length;\n if (input.parentId) return indexAfterEditorSceneSubtree(document, remaining, input.parentId);\n return remaining.length;\n}\n\nfunction indexAfterEditorSceneSubtree(document: EditorSceneDocument, remaining: readonly string[], anchorId: string): number {\n const subtreeIds = collectEditorSceneSubtreeIds(document, [anchorId]);\n let index = remaining.indexOf(anchorId);\n if (index < 0) return remaining.length;\n for (let cursor = index + 1; cursor < remaining.length; cursor += 1) {\n if (!subtreeIds.has(remaining[cursor]!)) break;\n index = cursor;\n }\n return index + 1;\n}\n\nfunction insertEditorSceneIdsAt(base: readonly string[], ids: readonly string[], index: number): string[] {\n const safeIndex = Math.max(0, Math.min(index, base.length));\n return [\n ...base.slice(0, safeIndex),\n ...ids,\n ...base.slice(safeIndex),\n ];\n}\n\nfunction boundedInsertIndex(index: number, fallback: number): number {\n return index >= 0 ? index : fallback;\n}\n\nfunction computeEditorSceneSelectionWorldCenter(\n document: EditorSceneDocument,\n ids: readonly string[],\n): EditorSceneVec3 | null {\n const worlds = ids\n .map((id) => getEditorSceneGameObjectWorldTransform(document, id))\n .filter((transform): transform is EditorTransformSnapshot => !!transform);\n if (worlds.length === 0) return null;\n const positions: EditorSceneVec3[] = worlds.map(readEditorTransformPosition);\n return {\n x: positions.reduce((sum: number, position: EditorSceneVec3) => sum + position.x, 0) / positions.length,\n y: positions.reduce((sum: number, position: EditorSceneVec3) => sum + position.y, 0) / positions.length,\n z: positions.reduce((sum: number, position: EditorSceneVec3) => sum + position.z, 0) / positions.length,\n };\n}\n\nfunction resolveDeleteFallbackSelectionId(\n document: EditorSceneDocument,\n deletedIds: string[],\n activeId: string | null,\n): string | null {\n const deleted = new Set(deletedIds);\n const active = activeId ? findEditorSceneGameObject(document, activeId) : null;\n if (active?.parentId && !deleted.has(active.parentId) && findEditorSceneGameObject(document, active.parentId)) {\n return active.parentId;\n }\n const remaining = document.scene.gameObjects.filter((gameObject) => !deleted.has(gameObject.id));\n return remaining[remaining.length - 1]?.id ?? null;\n}\n\nfunction isEditorSceneAncestor(document: EditorSceneDocument, ancestorId: string, descendantId: string): boolean {\n const byId = createEditorSceneGameObjectMap(document);\n const seen = new Set<string>();\n let cursor = byId.get(descendantId);\n while (cursor?.parentId && !seen.has(cursor.parentId)) {\n if (cursor.parentId === ancestorId) return true;\n seen.add(cursor.parentId);\n cursor = byId.get(cursor.parentId);\n }\n return false;\n}\n\nfunction normalizeEditorScenePrimitiveShape(shape: unknown): SceneGraphPrimitiveShape | null {\n return shape === 'cube' || shape === 'sphere' || shape === 'plane' || shape === 'capsule'\n ? shape\n : null;\n}\n\nfunction getEditorScenePrimitiveDisplayName(shape: SceneGraphPrimitiveShape): string {\n return shape[0]!.toUpperCase() + shape.slice(1);\n}\n\nfunction createDefaultEditorScenePrimitiveTransform(_shape: SceneGraphPrimitiveShape): EditorTransformSnapshot {\n return {\n position: { x: 0, y: 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n };\n}\n\nfunction getEditorSceneGameObjectDisplayNames(document: EditorSceneDocument): string[] {\n return document.scene.gameObjects.map((gameObject) => gameObject.name ?? gameObject.id);\n}\n\nfunction editorSceneTransformsEqual(left: EditorTransformSnapshot, right: EditorTransformSnapshot): boolean {\n if (!isEditorTransformTrsSnapshot(left) || !isEditorTransformTrsSnapshot(right)) {\n return editorTransformMatricesAlmostEqual(composeEditorTransformMatrix(left), composeEditorTransformMatrix(right));\n }\n return editorSceneVec3Equal(left.position, right.position)\n && editorSceneVec3Equal(left.rotation, right.rotation)\n && editorSceneVec3Equal(left.scale, right.scale);\n}\n\nfunction editorSceneVec3Equal(left: EditorSceneVec3, right: EditorSceneVec3): boolean {\n return Math.abs(left.x - right.x) < 0.000001\n && Math.abs(left.y - right.y) < 0.000001\n && Math.abs(left.z - right.z) < 0.000001;\n}\n\nfunction arraysEqual(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((value, index) => value === right[index]);\n}\n"]}
|