@fps-games/editor 0.2.0-beta.1 → 0.2.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-bridge/capabilities/assets.js.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/selection.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/transform.js.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
- package/dist/agent-bridge/capability-sources.js.map +1 -1
- package/dist/agent-bridge/diagnostics.js.map +1 -1
- package/dist/agent-bridge/index.js.map +1 -1
- package/dist/agent-bridge/register.js.map +1 -1
- package/dist/agent-bridge/shared.js.map +1 -1
- package/dist/agent-bridge/source-types.js.map +1 -1
- package/dist/authoring-apply.js.map +1 -1
- package/dist/build-info.json +48 -48
- package/dist/editor-plugin-agent-capabilities.js.map +1 -1
- package/dist/editor-plugin-hierarchy-command.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
- package/dist/local-editor-agent-actions.js.map +1 -1
- package/dist/local-editor-agent-bridge-transport.js.map +1 -1
- package/dist/local-editor-agent-bridge.js.map +1 -1
- package/dist/local-editor-agent-context.js.map +1 -1
- package/dist/local-editor-harness.d.ts +57 -1
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +129 -0
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-marker-graph.js.map +1 -1
- package/dist/local-editor-performance-stats.js.map +1 -1
- package/dist/local-editor-plugin-inspector.js.map +1 -1
- package/dist/local-editor-plugin-panel.js.map +1 -1
- package/dist/local-editor-scene-render-scheduler.js.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
- package/dist/playable-babylon-facade.js.map +1 -1
- package/dist/playable-babylon-outline-inspector.js.map +1 -1
- package/dist/playable-babylon-outline-runtime.js.map +1 -1
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +36 -0
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-rendering.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +50 -3
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-runtime.js.map +1 -1
- package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
- package/dist/playable-sdk-vite.js.map +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.d.ts.map +1 -1
- package/dist/playable-standard-project.js +8 -3
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/static-shadow-cpu-worker.js.map +1 -1
- package/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
- package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +4 -4
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +17 -2
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +24 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +6 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +83 -23
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts +22 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +108 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +4 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +54 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +3 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +10 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +82 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +11 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +46 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +25 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +37 -20
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +10 -17
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/package.json +3 -3
- package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +5 -1
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +5 -5
- package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +27 -19
package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading-overlay.js","sourceRoot":"","sources":["../../src/local-harness/loading-overlay.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,uCAAuC,CACrD,IAAiB;IAEjB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;IACrD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,uBAAuB,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,sEAAsE,CAAC;IAClG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC/B,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,gCAAgC,CAAC;IACxD,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,wBAAwB,CAAC;IAClD,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,iCAAiC,CAAC;IAC1D,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,qCAAqC,CAAC;IAC3D,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;IAEjC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,qCAAqC,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,0DAA0D,CAAC;IAErF,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IAC/B,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;IAErC,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,2BAA2B,CAAC;IAE/C,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,KAAK,CAAC,WAAW,GAAG,qFAAqF,CAAC;IAE1G,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5B,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,OAAiD,EAAQ,EAAE;QAC7E,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,CAAC,OAAO;YACV,cAAc,EAAE,CAAC;YACjB,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI;YACF,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/B,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,SAAS;YACP,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO;YACL,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"loading-overlay.js","sourceRoot":"","sources":["../../src/local-harness/loading-overlay.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n PlayableLocalEditorLoadingOverlayContent,\n PlayableLocalEditorLoadingOverlayController,\n} from './types';\n\nexport function createPlayableLocalEditorLoadingOverlay(\n root: HTMLElement,\n): PlayableLocalEditorLoadingOverlayController {\n const shellFadeMilliseconds = 250;\n const ownerDocument = root.ownerDocument ?? document;\n const host = ownerDocument.body ?? root;\n const overlay = ownerDocument.createElement('div');\n overlay.style.position = 'fixed';\n overlay.style.inset = '0';\n overlay.style.zIndex = '2147483000';\n overlay.style.display = 'none';\n overlay.style.alignItems = 'center';\n overlay.style.justifyContent = 'center';\n overlay.style.background = 'rgba(7, 11, 20, 0.72)';\n overlay.style.backdropFilter = 'blur(3px)';\n overlay.style.color = '#f8fbff';\n overlay.style.fontFamily = 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif';\n overlay.style.pointerEvents = 'auto';\n overlay.style.opacity = '1';\n overlay.setAttribute('role', 'status');\n overlay.setAttribute('aria-live', 'polite');\n\n const panel = ownerDocument.createElement('div');\n panel.style.minWidth = '260px';\n panel.style.maxWidth = 'min(420px, calc(100vw - 48px))';\n panel.style.padding = '24px 28px';\n panel.style.borderRadius = '18px';\n panel.style.background = 'rgba(15, 23, 42, 0.92)';\n panel.style.boxShadow = '0 18px 60px rgba(0, 0, 0, 0.38)';\n panel.style.border = '1px solid rgba(148, 163, 184, 0.26)';\n panel.style.textAlign = 'center';\n\n const spinner = ownerDocument.createElement('div');\n spinner.style.width = '38px';\n spinner.style.height = '38px';\n spinner.style.margin = '0 auto 16px';\n spinner.style.borderRadius = '999px';\n spinner.style.border = '4px solid rgba(148, 163, 184, 0.28)';\n spinner.style.borderTopColor = '#60a5fa';\n spinner.style.animation = 'playable-local-editor-loading-spin 0.82s linear infinite';\n\n const title = ownerDocument.createElement('div');\n title.style.fontSize = '18px';\n title.style.fontWeight = '700';\n title.style.letterSpacing = '0.02em';\n\n const desc = ownerDocument.createElement('div');\n desc.style.marginTop = '8px';\n desc.style.fontSize = '13px';\n desc.style.lineHeight = '1.5';\n desc.style.color = 'rgba(226, 232, 240, 0.82)';\n\n const style = ownerDocument.createElement('style');\n style.textContent = '@keyframes playable-local-editor-loading-spin { to { transform: rotate(360deg); } }';\n\n panel.append(spinner, title, desc);\n overlay.append(panel);\n\n let attached = false;\n let visible = false;\n let disposed = false;\n let hideGeneration = 0;\n let hideTimer: ReturnType<typeof setTimeout> | null = null;\n let presentation: NonNullable<PlayableLocalEditorLoadingOverlayContent['presentation']> = 'panel';\n\n const cancelPendingHide = (): void => {\n hideGeneration += 1;\n if (hideTimer !== null) {\n globalThis.clearTimeout(hideTimer);\n hideTimer = null;\n }\n };\n\n const finishHide = (generation: number): void => {\n if (generation !== hideGeneration || visible || disposed) return;\n hideTimer = null;\n overlay.style.display = 'none';\n overlay.style.transition = 'none';\n overlay.style.opacity = '1';\n };\n\n const prefersReducedMotion = (): boolean => (\n ownerDocument.defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)').matches === true\n );\n\n const applyPresentation = (\n nextPresentation: NonNullable<PlayableLocalEditorLoadingOverlayContent['presentation']>,\n ): void => {\n presentation = nextPresentation;\n const isShell = presentation === 'editor-shell';\n overlay.style.background = isShell ? '#0e121a' : 'rgba(7, 11, 20, 0.72)';\n overlay.style.backdropFilter = isShell ? 'none' : 'blur(3px)';\n panel.style.background = isShell ? 'transparent' : 'rgba(15, 23, 42, 0.92)';\n panel.style.boxShadow = isShell ? 'none' : '0 18px 60px rgba(0, 0, 0, 0.38)';\n panel.style.border = isShell ? '1px solid transparent' : '1px solid rgba(148, 163, 184, 0.26)';\n panel.style.borderRadius = isShell ? '0' : '18px';\n };\n\n const ensureAttached = (): void => {\n if (attached) return;\n host.append(style, overlay);\n attached = true;\n };\n\n const setContent = (content: PlayableLocalEditorLoadingOverlayContent): void => {\n title.textContent = content.title;\n desc.textContent = content.description;\n };\n\n return {\n show(content) {\n if (disposed) return;\n cancelPendingHide();\n ensureAttached();\n setContent(content);\n applyPresentation(content.presentation ?? 'panel');\n overlay.style.transition = 'none';\n overlay.style.opacity = '1';\n overlay.style.display = 'flex';\n visible = true;\n },\n hide() {\n if (!visible) return;\n visible = false;\n cancelPendingHide();\n const generation = hideGeneration;\n if (presentation !== 'editor-shell' || prefersReducedMotion()) {\n finishHide(generation);\n return;\n }\n overlay.style.transition = `opacity ${shellFadeMilliseconds}ms ease`;\n overlay.style.opacity = '0';\n hideTimer = globalThis.setTimeout(() => finishHide(generation), shellFadeMilliseconds);\n },\n isVisible() {\n return visible;\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n visible = false;\n cancelPendingHide();\n overlay.remove();\n style.remove();\n attached = false;\n },\n };\n}\n"]}
|
package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { PlayableLocalEditorHostBridgeContext, PlayableLocalEditorHostHarne
|
|
|
3
3
|
export interface PlayableProjectAssetCommandAsset {
|
|
4
4
|
guid?: string;
|
|
5
5
|
assetId: string;
|
|
6
|
+
contentHash?: string;
|
|
6
7
|
external?: PlayablePlatformAssetExternal;
|
|
7
8
|
}
|
|
8
9
|
export interface PlayableProjectAssetCommandReloadResult {
|
|
@@ -10,6 +11,18 @@ export interface PlayableProjectAssetCommandReloadResult {
|
|
|
10
11
|
assetCount: number;
|
|
11
12
|
status: string;
|
|
12
13
|
}
|
|
14
|
+
export interface PlayableProjectAssetCommandUpdateRefreshResult extends PlayableProjectAssetCommandReloadResult {
|
|
15
|
+
assetId: string;
|
|
16
|
+
reconciledBindingCount: number;
|
|
17
|
+
warnings: Array<{
|
|
18
|
+
code: string;
|
|
19
|
+
gameObjectId?: string;
|
|
20
|
+
slotId?: string;
|
|
21
|
+
materialAssetId?: string;
|
|
22
|
+
candidateSlotIds?: string[];
|
|
23
|
+
}>;
|
|
24
|
+
error?: string;
|
|
25
|
+
}
|
|
13
26
|
export interface PlayableProjectAssetCommandCreateResult {
|
|
14
27
|
ok: boolean;
|
|
15
28
|
assetId: string;
|
|
@@ -20,6 +33,10 @@ export interface PlayableProjectAssetCommandCreateResult {
|
|
|
20
33
|
}
|
|
21
34
|
export interface PlayableProjectAssetCommandHarness extends PlayableLocalEditorHostHarness {
|
|
22
35
|
reloadAssets(): Promise<PlayableProjectAssetCommandReloadResult>;
|
|
36
|
+
refreshUpdatedAsset(input: {
|
|
37
|
+
assetId: string;
|
|
38
|
+
expectedContentHash: string;
|
|
39
|
+
}): Promise<PlayableProjectAssetCommandUpdateRefreshResult>;
|
|
23
40
|
createAssetFromAssetId(assetId: string, options?: {
|
|
24
41
|
placement?: unknown;
|
|
25
42
|
}): PlayableProjectAssetCommandCreateResult;
|
|
@@ -27,6 +44,7 @@ export interface PlayableProjectAssetCommandHarness extends PlayableLocalEditorH
|
|
|
27
44
|
export interface PlayableProjectAssetCommandHandlerOptions {
|
|
28
45
|
normalizePayload?: (payload: Record<string, unknown>) => Record<string, unknown>;
|
|
29
46
|
registerAssetIfNeeded?: (payload: Record<string, unknown>) => PlayableProjectAssetCommandAsset | Promise<PlayableProjectAssetCommandAsset>;
|
|
47
|
+
registerAsset?: (payload: Record<string, unknown>) => PlayableProjectAssetCommandAsset | Promise<PlayableProjectAssetCommandAsset>;
|
|
30
48
|
resolveAssetId?: (payload: Record<string, unknown>) => string | Promise<string>;
|
|
31
49
|
placement?: PlayablePlatformAssetPlacementOptions;
|
|
32
50
|
readPlacement?: (payload: Record<string, unknown>) => unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-asset-commands.d.ts","sourceRoot":"","sources":["../../src/local-harness/project-asset-commands.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EACV,oCAAoC,EACpC,8BAA8B,EAC/B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gCAAgC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC1C;AAED,MAAM,WAAW,uCAAuC;IACtD,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uCAAuC;IACtD,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kCAAmC,SAAQ,8BAA8B;IACxF,YAAY,IAAI,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACjE,sBAAsB,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,uCAAuC,CAAC;CAC5C;AAED,MAAM,WAAW,yCAAyC;IACxD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjF,qBAAqB,CAAC,EAAE,CACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAClF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChF,SAAS,CAAC,EAAE,qCAAqC,CAAC;IAClD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,kCAAkC,CAC5C,QAAQ,SAAS,kCAAkC,GAAG,kCAAkC,IACtF,CAAC,OAAO,EAAE,oCAAoC,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E,wBAAgB,wCAAwC,CACtD,QAAQ,SAAS,kCAAkC,GAAG,kCAAkC,EAExF,OAAO,GAAE,yCAA8C,GACtD,kCAAkC,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"project-asset-commands.d.ts","sourceRoot":"","sources":["../../src/local-harness/project-asset-commands.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EACV,oCAAoC,EACpC,8BAA8B,EAC/B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gCAAgC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC1C;AAED,MAAM,WAAW,uCAAuC;IACtD,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8CAA+C,SAAQ,uCAAuC;IAC7G,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uCAAuC;IACtD,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kCAAmC,SAAQ,8BAA8B;IACxF,YAAY,IAAI,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACjE,mBAAmB,CAAC,KAAK,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;IAC5D,sBAAsB,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,uCAAuC,CAAC;CAC5C;AAED,MAAM,WAAW,yCAAyC;IACxD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjF,qBAAqB,CAAC,EAAE,CACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAClF,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAClF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChF,SAAS,CAAC,EAAE,qCAAqC,CAAC;IAClD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,kCAAkC,CAC5C,QAAQ,SAAS,kCAAkC,GAAG,kCAAkC,IACtF,CAAC,OAAO,EAAE,oCAAoC,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E,wBAAgB,wCAAwC,CACtD,QAAQ,SAAS,kCAAkC,GAAG,kCAAkC,EAExF,OAAO,GAAE,yCAA8C,GACtD,kCAAkC,CAAC,QAAQ,CAAC,CAsB9C"}
|
package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readPlayablePlatformAssetExternal, readPlayablePlatformAssetKind, readPlayablePlatformAssetPlacement, } from '../asset-bridge/index.js';
|
|
2
2
|
import { PLAYABLE_FORGE_PLAY_COMMAND, PLAYABLE_FORGE_PLAY_EVENT, normalizePlayableForgePlayCommandName, readPlayableForgePlayRequestId, } from './forge-play.js';
|
|
3
3
|
export function createPlayableProjectAssetCommandHandler(options = {}) {
|
|
4
|
+
let assetUpdateQueue = Promise.resolve();
|
|
4
5
|
return async (context) => {
|
|
5
6
|
const commandName = normalizePlayableForgePlayCommandName(context.name);
|
|
6
7
|
if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_LIBRARY_REFRESH) {
|
|
@@ -11,11 +12,60 @@ export function createPlayableProjectAssetCommandHandler(options = {}) {
|
|
|
11
12
|
await importPlayableProjectAsset(context, options);
|
|
12
13
|
return;
|
|
13
14
|
}
|
|
15
|
+
if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_UPDATE) {
|
|
16
|
+
const operation = assetUpdateQueue.then(() => updatePlayableProjectAsset(context, options));
|
|
17
|
+
assetUpdateQueue = operation.catch(() => undefined);
|
|
18
|
+
await operation;
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
14
21
|
if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.EDITOR_ASSET_PLACE) {
|
|
15
22
|
await placePlayableProjectAsset(context, options);
|
|
16
23
|
}
|
|
17
24
|
};
|
|
18
25
|
}
|
|
26
|
+
async function updatePlayableProjectAsset(context, options) {
|
|
27
|
+
const requestId = readPlayableForgePlayRequestId(context.payload);
|
|
28
|
+
const payload = normalizePayload(context.payload, options);
|
|
29
|
+
try {
|
|
30
|
+
await context.ensureEditorMode();
|
|
31
|
+
await context.runWithAssetLoadingOverlay(async () => {
|
|
32
|
+
if (!options.registerAsset)
|
|
33
|
+
throw new Error('asset update registration is unavailable');
|
|
34
|
+
const registered = await options.registerAsset(payload);
|
|
35
|
+
if (!registered.contentHash)
|
|
36
|
+
throw new Error('asset_update_registration_missing_content_hash');
|
|
37
|
+
const refresh = await context.harness.refreshUpdatedAsset({
|
|
38
|
+
assetId: registered.assetId,
|
|
39
|
+
expectedContentHash: registered.contentHash,
|
|
40
|
+
});
|
|
41
|
+
context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {
|
|
42
|
+
...(requestId ? { requestId } : {}),
|
|
43
|
+
ok: refresh.ok,
|
|
44
|
+
guid: registered.guid,
|
|
45
|
+
assetId: registered.assetId,
|
|
46
|
+
contentHash: registered.contentHash,
|
|
47
|
+
external: registered.external,
|
|
48
|
+
assetCount: refresh.assetCount,
|
|
49
|
+
reconciledBindingCount: refresh.reconciledBindingCount,
|
|
50
|
+
warnings: refresh.warnings,
|
|
51
|
+
status: refresh.status,
|
|
52
|
+
...(refresh.error ? { error: refresh.error } : {}),
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
const external = readFailureExternal(context.payload);
|
|
58
|
+
context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {
|
|
59
|
+
...(requestId ? { requestId } : {}),
|
|
60
|
+
ok: false,
|
|
61
|
+
assetId: readOptionalString(payload.projectAssetId) ?? '',
|
|
62
|
+
...(external ? { external } : {}),
|
|
63
|
+
reconciledBindingCount: 0,
|
|
64
|
+
warnings: [],
|
|
65
|
+
error: formatError(error),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
19
69
|
async function refreshPlayableProjectAssetLibrary(context, options) {
|
|
20
70
|
const requestId = readPlayableForgePlayRequestId(context.payload);
|
|
21
71
|
try {
|
|
@@ -65,15 +115,24 @@ async function importPlayableProjectAsset(context, options) {
|
|
|
65
115
|
});
|
|
66
116
|
}
|
|
67
117
|
catch (error) {
|
|
118
|
+
const external = readFailureExternal(context.payload);
|
|
68
119
|
context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_IMPORT_RESULT, {
|
|
69
120
|
...(requestId ? { requestId } : {}),
|
|
70
121
|
ok: false,
|
|
71
122
|
assetId: readOptionalString(payload.projectAssetId) ?? '',
|
|
72
|
-
external:
|
|
123
|
+
...(external ? { external } : {}),
|
|
73
124
|
error: formatError(error),
|
|
74
125
|
});
|
|
75
126
|
}
|
|
76
127
|
}
|
|
128
|
+
function readFailureExternal(payload) {
|
|
129
|
+
try {
|
|
130
|
+
return readPlayablePlatformAssetExternal(payload);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
77
136
|
async function placePlayableProjectAsset(context, options) {
|
|
78
137
|
const requestId = readPlayableForgePlayRequestId(context.payload);
|
|
79
138
|
const payload = normalizePayload(context.payload, options);
|
package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-asset-commands.js","sourceRoot":"","sources":["../../src/local-harness/project-asset-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-asset-commands.js","sourceRoot":"","sources":["../../src/local-harness/project-asset-commands.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n readPlayablePlatformAssetExternal,\n readPlayablePlatformAssetKind,\n readPlayablePlatformAssetPlacement,\n} from '../asset-bridge/index';\nimport type {\n PlayablePlatformAssetExternal,\n PlayablePlatformAssetPlacementOptions,\n} from '../asset-bridge/index';\nimport {\n PLAYABLE_FORGE_PLAY_COMMAND,\n PLAYABLE_FORGE_PLAY_EVENT,\n normalizePlayableForgePlayCommandName,\n readPlayableForgePlayRequestId,\n} from './forge-play';\nimport type {\n PlayableLocalEditorHostBridgeContext,\n PlayableLocalEditorHostHarness,\n} from './host-controller';\n\nexport interface PlayableProjectAssetCommandAsset {\n guid?: string;\n assetId: string;\n contentHash?: string;\n external?: PlayablePlatformAssetExternal;\n}\n\nexport interface PlayableProjectAssetCommandReloadResult {\n ok: boolean;\n assetCount: number;\n status: string;\n}\n\nexport interface PlayableProjectAssetCommandUpdateRefreshResult extends PlayableProjectAssetCommandReloadResult {\n assetId: string;\n reconciledBindingCount: number;\n warnings: Array<{\n code: string;\n gameObjectId?: string;\n slotId?: string;\n materialAssetId?: string;\n candidateSlotIds?: string[];\n }>;\n error?: string;\n}\n\nexport interface PlayableProjectAssetCommandCreateResult {\n ok: boolean;\n assetId: string;\n changed?: boolean;\n createdId?: string | null;\n status: string;\n error?: string;\n}\n\nexport interface PlayableProjectAssetCommandHarness extends PlayableLocalEditorHostHarness {\n reloadAssets(): Promise<PlayableProjectAssetCommandReloadResult>;\n refreshUpdatedAsset(input: {\n assetId: string;\n expectedContentHash: string;\n }): Promise<PlayableProjectAssetCommandUpdateRefreshResult>;\n createAssetFromAssetId(\n assetId: string,\n options?: { placement?: unknown },\n ): PlayableProjectAssetCommandCreateResult;\n}\n\nexport interface PlayableProjectAssetCommandHandlerOptions {\n normalizePayload?: (payload: Record<string, unknown>) => Record<string, unknown>;\n registerAssetIfNeeded?: (\n payload: Record<string, unknown>,\n ) => PlayableProjectAssetCommandAsset | Promise<PlayableProjectAssetCommandAsset>;\n registerAsset?: (\n payload: Record<string, unknown>,\n ) => PlayableProjectAssetCommandAsset | Promise<PlayableProjectAssetCommandAsset>;\n resolveAssetId?: (payload: Record<string, unknown>) => string | Promise<string>;\n placement?: PlayablePlatformAssetPlacementOptions;\n readPlacement?: (payload: Record<string, unknown>) => unknown;\n refreshFailedStatus?: string;\n}\n\nexport type PlayableProjectAssetCommandHandler<\n THarness extends PlayableProjectAssetCommandHarness = PlayableProjectAssetCommandHarness,\n> = (context: PlayableLocalEditorHostBridgeContext<THarness>) => Promise<void>;\n\nexport function createPlayableProjectAssetCommandHandler<\n THarness extends PlayableProjectAssetCommandHarness = PlayableProjectAssetCommandHarness,\n>(\n options: PlayableProjectAssetCommandHandlerOptions = {},\n): PlayableProjectAssetCommandHandler<THarness> {\n let assetUpdateQueue: Promise<void> = Promise.resolve();\n return async (context) => {\n const commandName = normalizePlayableForgePlayCommandName(context.name);\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_LIBRARY_REFRESH) {\n await refreshPlayableProjectAssetLibrary(context, options);\n return;\n }\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_IMPORT || commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSETS_LOADED) {\n await importPlayableProjectAsset(context, options);\n return;\n }\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_UPDATE) {\n const operation = assetUpdateQueue.then(() => updatePlayableProjectAsset(context, options));\n assetUpdateQueue = operation.catch(() => undefined);\n await operation;\n return;\n }\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.EDITOR_ASSET_PLACE) {\n await placePlayableProjectAsset(context, options);\n }\n };\n}\n\nasync function updatePlayableProjectAsset<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n const payload = normalizePayload(context.payload, options);\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n if (!options.registerAsset) throw new Error('asset update registration is unavailable');\n const registered = await options.registerAsset(payload);\n if (!registered.contentHash) throw new Error('asset_update_registration_missing_content_hash');\n const refresh = await context.harness.refreshUpdatedAsset({\n assetId: registered.assetId,\n expectedContentHash: registered.contentHash,\n });\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: refresh.ok,\n guid: registered.guid,\n assetId: registered.assetId,\n contentHash: registered.contentHash,\n external: registered.external,\n assetCount: refresh.assetCount,\n reconciledBindingCount: refresh.reconciledBindingCount,\n warnings: refresh.warnings,\n status: refresh.status,\n ...(refresh.error ? { error: refresh.error } : {}),\n });\n });\n } catch (error) {\n const external = readFailureExternal(context.payload);\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetId: readOptionalString(payload.projectAssetId) ?? '',\n ...(external ? { external } : {}),\n reconciledBindingCount: 0,\n warnings: [],\n error: formatError(error),\n });\n }\n}\n\nasync function refreshPlayableProjectAssetLibrary<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n const result = await context.harness.reloadAssets();\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_LIBRARY_REFRESHED, {\n ...(requestId ? { requestId } : {}),\n ...result,\n });\n });\n } catch (error) {\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_LIBRARY_REFRESHED, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetCount: 0,\n status: options.refreshFailedStatus ?? 'Asset reload failed',\n error: formatError(error),\n });\n }\n}\n\nasync function importPlayableProjectAsset<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n const payload = normalizePayload(context.payload, options);\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n const registered = await registerAssetIfNeeded(payload, options);\n const refresh = await context.harness.reloadAssets();\n const created = context.harness.createAssetFromAssetId(registered.assetId, {\n placement: readPlacement(payload, options),\n });\n const assetType = readPlayablePlatformAssetKind(payload);\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_IMPORT_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: created.ok,\n guid: registered.guid,\n assetId: registered.assetId,\n kind: assetType === 'texture' ? 'texture' : 'model',\n external: registered.external,\n nodeId: created.createdId ?? undefined,\n assetCount: refresh.assetCount,\n status: created.status,\n ...(created.error ? { error: created.error } : {}),\n });\n });\n } catch (error) {\n const external = readFailureExternal(context.payload);\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_IMPORT_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetId: readOptionalString(payload.projectAssetId) ?? '',\n ...(external ? { external } : {}),\n error: formatError(error),\n });\n }\n}\n\nfunction readFailureExternal(payload: Record<string, unknown>): PlayablePlatformAssetExternal | undefined {\n try {\n return readPlayablePlatformAssetExternal(payload);\n } catch {\n return undefined;\n }\n}\n\nasync function placePlayableProjectAsset<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n const payload = normalizePayload(context.payload, options);\n let assetId = readOptionalString(payload.projectAssetId) ?? '';\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n assetId = await resolveAssetId(payload, options);\n const created = context.harness.createAssetFromAssetId(assetId, {\n placement: readPlacement(payload, options),\n });\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.EDITOR_ASSET_PLACE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: created.ok,\n assetId,\n nodeId: created.createdId ?? undefined,\n status: created.status,\n ...(created.error ? { error: created.error } : {}),\n });\n });\n } catch (error) {\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.EDITOR_ASSET_PLACE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetId,\n error: formatError(error),\n });\n }\n}\n\nfunction normalizePayload(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Record<string, unknown> {\n return options.normalizePayload?.(payload) ?? payload;\n}\n\nasync function registerAssetIfNeeded(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<PlayableProjectAssetCommandAsset> {\n if (options.registerAssetIfNeeded) return options.registerAssetIfNeeded(payload);\n const assetId = readOptionalString(payload.projectAssetId);\n if (!assetId) throw new Error('projectAssetId is required when registerAssetIfNeeded is not provided');\n return {\n assetId,\n external: readPlayablePlatformAssetExternal(payload),\n };\n}\n\nasync function resolveAssetId(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<string> {\n if (options.resolveAssetId) return options.resolveAssetId(payload);\n const assetId = readOptionalString(payload.projectAssetId);\n if (!assetId) throw new Error('projectAssetId is required to place an editor asset');\n return assetId;\n}\n\nfunction readPlacement(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): unknown {\n return options.readPlacement\n ? options.readPlacement(payload)\n : readPlayablePlatformAssetPlacement(payload, options.placement);\n}\n\nfunction formatError(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nfunction readOptionalString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/local-harness/timing.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,+BAA+B;IAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,qBAAqB,CAAC;IACtD,IAAI,OAAO,YAAY,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,YAAY,CAAC,GAAG,EAAE;YAChB,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC9D,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC9E,CAAC"}
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/local-harness/timing.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,+BAA+B;IAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,qBAAqB,CAAC;IACtD,IAAI,OAAO,YAAY,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,YAAY,CAAC,GAAG,EAAE;YAChB,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC9D,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["export function waitForPlayableLocalEditorPaint(): Promise<void> {\n const requestFrame = globalThis.requestAnimationFrame;\n if (typeof requestFrame !== 'function') return Promise.resolve();\n return new Promise(resolve => {\n requestFrame(() => {\n requestFrame(() => resolve());\n });\n });\n}\n\nexport function waitForPlayableMilliseconds(milliseconds: number): Promise<void> {\n if (milliseconds <= 0) return Promise.resolve();\n return new Promise(resolve => globalThis.setTimeout(resolve, milliseconds));\n}\n"]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { FpsEditorLifecycleResourceDisposer, FpsEditorLifecycleCoordinator, FpsEditorLifecycleScopeType, FpsEditorLifecycleService } from '@fps-games/editor-core/lifecycle';
|
|
2
2
|
import type { FpsEditorEventPublisher } from '@fps-games/editor-core/events';
|
|
3
3
|
import type { FpsDiagnostic } from '@fps-games/plugin-api';
|
|
4
|
+
export type PlayableLocalEditorLoadingOverlayPresentation = 'panel' | 'editor-shell';
|
|
4
5
|
export interface PlayableLocalEditorLoadingOverlayContent {
|
|
5
6
|
title: string;
|
|
6
7
|
description: string;
|
|
8
|
+
presentation?: PlayableLocalEditorLoadingOverlayPresentation;
|
|
7
9
|
}
|
|
8
10
|
export interface PlayableLocalEditorLoadingOverlayController {
|
|
9
11
|
show(content: PlayableLocalEditorLoadingOverlayContent): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/local-harness/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kCAAkC,EAClC,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,wCAAwC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/local-harness/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/local-harness/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/local-harness/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n FpsEditorLifecycleResourceDisposer,\n FpsEditorLifecycleCoordinator,\n FpsEditorLifecycleScopeType,\n FpsEditorLifecycleService,\n} from '@fps-games/editor-core/lifecycle';\nimport type { FpsEditorEventPublisher } from '@fps-games/editor-core/events';\nimport type { FpsDiagnostic } from '@fps-games/plugin-api';\n\nexport type PlayableLocalEditorLoadingOverlayPresentation = 'panel' | 'editor-shell';\n\nexport interface PlayableLocalEditorLoadingOverlayContent {\n title: string;\n description: string;\n presentation?: PlayableLocalEditorLoadingOverlayPresentation;\n}\n\nexport interface PlayableLocalEditorLoadingOverlayController {\n show(content: PlayableLocalEditorLoadingOverlayContent): void;\n hide(): void;\n isVisible(): boolean;\n isOwned?(): boolean;\n dispose(): void;\n}\n\nexport type PlayableLocalEditorDataSafetyOperation =\n | 'save-scene'\n | 'save-and-run-game'\n | 'discard-and-run-game'\n | 'forge-play-mode-change'\n | 'forge-play-document-export'\n | 'forge-play-document-commit';\n\nexport interface PlayableLocalEditorUnsavedChangesState {\n dirty: boolean;\n hasWorkingDocument: boolean;\n}\n\nexport interface PlayableLocalEditorSaveFailureState {\n status?: string;\n details?: string;\n error?: unknown;\n}\n\nexport interface PlayableLocalEditorSaveFailureInput extends PlayableLocalEditorSaveFailureState {\n operation: PlayableLocalEditorDataSafetyOperation;\n}\n\nexport interface PlayableLocalEditorDiscardConfirmationInput {\n operation: PlayableLocalEditorDataSafetyOperation;\n unsavedChanges: PlayableLocalEditorUnsavedChangesState;\n}\n\nexport interface PlayableLocalEditorInteractionPolicy {\n confirmDiscardUnsavedChanges?(\n input: PlayableLocalEditorDiscardConfirmationInput,\n ): boolean | Promise<boolean>;\n notifySaveFailed?(\n input: PlayableLocalEditorSaveFailureInput,\n ): void | Promise<void>;\n}\n\nexport interface PlayableLocalEditorLifecycleHarness {\n enterEditor(): Promise<void>;\n saveScene(): Promise<boolean>;\n discardAndRunGame(): Promise<void>;\n render(): void;\n notifyViewportRevealed?(reason?: string): void;\n getUnsavedChangesState?(): PlayableLocalEditorUnsavedChangesState;\n getSaveFailureState?(): PlayableLocalEditorSaveFailureState | null;\n}\n\nexport interface PlayableLocalEditorLifecycleOperations {\n runGame(reason: 'save' | 'discard'): Promise<void>;\n attachApplicationAuthority?(): void;\n attachSessionAuthority?(): void;\n loadDocument?(): Promise<void>;\n enterWorld?(): Promise<void>;\n restoreDocument?(): Promise<void>;\n markDocumentCommitted?(expectedDocumentFingerprint: string | null): Promise<void>;\n}\n\nexport interface PlayableLocalEditorLifecycleContent {\n enter: PlayableLocalEditorLoadingOverlayContent;\n saveAndRunGame: PlayableLocalEditorLoadingOverlayContent;\n discardAndRunGame: PlayableLocalEditorLoadingOverlayContent;\n assetImport: PlayableLocalEditorLoadingOverlayContent;\n}\n\nexport interface PlayableLocalEditorLifecycleControllerOptions {\n harness: PlayableLocalEditorLifecycleHarness;\n operations: PlayableLocalEditorLifecycleOperations;\n scopeHost?: PlayableLocalEditorLifecycleScopeHost;\n eventPublisher?: FpsEditorEventPublisher;\n reportDiagnostic?: (diagnostic: FpsDiagnostic) => void;\n loadingOverlay: Pick<PlayableLocalEditorLoadingOverlayController, 'show' | 'hide' | 'isVisible'> & {\n isOwned?: () => boolean;\n };\n content: PlayableLocalEditorLifecycleContent;\n interactions?: PlayableLocalEditorInteractionPolicy;\n waitForPaint?: () => Promise<void>;\n waitForMilliseconds?: (milliseconds: number) => Promise<void>;\n now?: () => number;\n minAssetLoadingOverlayMs?: number;\n viewportRevealReason?: string;\n /** Set false when harness.enterEditor already renders the initial editor frame. */\n renderAfterEnter?: boolean;\n initialMode?: 'play' | 'edit';\n}\n\nexport type PlayableLocalEditorPreparedRun =\n | { accepted: false }\n | { accepted: true; run(): Promise<void> };\n\nexport interface PlayableLocalEditorLifecycleOperationContext {\n readonly traceId?: string;\n readonly transactionId?: string;\n readonly sourcePluginId?: string;\n}\n\nexport interface PlayableLocalEditorLifecycleScopeInput {\n readonly id: string;\n readonly scope: FpsEditorLifecycleScopeType;\n readonly parentId?: string;\n}\n\nexport interface PlayableLocalEditorLifecycleScopeHost {\n openScope(input: PlayableLocalEditorLifecycleScopeInput): Promise<void>;\n reserveScopeClose(scopeId: string): void;\n closeScope(scopeId: string): Promise<void>;\n}\n\nexport interface PlayableLocalEditorLifecycleController {\n readonly lifecycle: FpsEditorLifecycleService;\n registerParticipant: FpsEditorLifecycleCoordinator['registerParticipant'];\n enterEditor(context?: PlayableLocalEditorLifecycleOperationContext): Promise<void>;\n saveScene(\n operation?: PlayableLocalEditorDataSafetyOperation,\n context?: PlayableLocalEditorLifecycleOperationContext,\n ): Promise<boolean>;\n synchronizeDocumentState(dirty: boolean): Promise<void>;\n prepareDocumentSave(\n operation: () => Promise<void>,\n context?: PlayableLocalEditorLifecycleOperationContext,\n ): Promise<void>;\n commitDocumentSave(\n operation?: () => Promise<void>,\n context?: PlayableLocalEditorLifecycleOperationContext,\n ): Promise<void>;\n runCommittedDocument(context?: PlayableLocalEditorLifecycleOperationContext): Promise<void>;\n prepareSaveAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<PlayableLocalEditorPreparedRun>;\n prepareDiscardAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<PlayableLocalEditorPreparedRun>;\n saveAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<boolean>;\n discardAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<boolean>;\n openScope(input: PlayableLocalEditorLifecycleScopeInput): Promise<void>;\n addScopeResource(\n scopeId: string,\n disposer: FpsEditorLifecycleResourceDisposer,\n ): FpsEditorLifecycleResourceDisposer;\n closeScope(scopeId: string): Promise<void>;\n dispose(context?: PlayableLocalEditorLifecycleOperationContext): Promise<void>;\n runWithAssetLoadingOverlay<T>(operation: () => Promise<T>): Promise<T>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/marker-scene/facade.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sCAAsC,EACtC,uCAAuC,EACvC,wCAAwC,EACxC,+BAA+B,EAC/B,sCAAsC,EACtC,4BAA4B,GAE7B,MAAM,wBAAwB,CAAC;AAWhC,OAAO,EACL,gCAAgC,EAChC,0CAA0C,EAC1C,yCAAyC,EACzC,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,GAE3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,wCAAwC,EACxC,kCAAkC,GACnC,MAAM,gBAAgB,CAAC;AAmCxB,MAAM,UAAU,0CAA0C,CAIxD,KAIC;IAED,MAAM,oBAAoB,GAAG,CAAC,QAAoB,EAAE,EAAE,CAAC,CACrD,KAAK,CAAC,6BAA6B,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC,CAClF,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,QAAmB,EAAsB,EAAE;QACjE,MAAM,KAAK,GAAG,+BAA+B,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO;YAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACvE,KAAK,MAAM,MAAM,IAAI,mCAAmC,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClF,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO;YACL,GAAG,KAAK;YACR,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;SACnC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,cAAc;QACd,oBAAoB;QACpB,sBAAsB,CAAC,QAAQ,EAAE,OAAO;YACtC,MAAM,iBAAiB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,OAAO,EAAE;gBAClF,0BAA0B;aAC3B,CAAiC,CAAC;YACnC,IAAI,CAAC,wCAAwC,CAC3C,QAAQ,EACR,iBAAiB,EACjB,cAAc,CAAC,QAAQ,CAAC,EACxB;gBACE,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB;gBACpD,kBAAkB,EAAE,UAAU,CAAC,EAAE,CAAC,6BAA6B,CAAC,UAAsD,CAAC;aACxH,CACF,EAAE,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAiC,CAAC;gBACpG,KAAK,EAAE,sCAAsC,CAAC,iBAAiB,CAAC;gBAChE,GAAG,uCAAuC,CAAC,iBAAiB,CAAC;aAC9D,CAAC;QACJ,CAAC;QACD,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU;YAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;YACnG,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5D,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,oBAAoB,GAAG,cAAc;gBACzC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI;gBAC/F,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,cAAc,IAAI,CAAC,oBAAoB;gBAAE,OAAO,IAAI,CAAC;YACzD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/G,MAAM,aAAa,GAAG,iCAAiC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7F,MAAM,YAAY,GAAG,0CAA0C,CAC7D,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,CAAC,QAAQ,EACtB,KAAK,CAAC,OAAO,CACd,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,QAAQ;gBACR,KAAK,EAAE;oBACL,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,YAAY;iBACvB;aACF,CAAC;QACJ,CAAC;QACD,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ;YAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;YACnG,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,gCAAgC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9F,IAAI,YAAY,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,aAAa,GAAG,iCAAiC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7F,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzH,MAAM,QAAQ,GAAG,yCAAyC,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAC7H,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,QAAQ;gBACR,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM,IAAI,SAAS;oBAC3B,QAAQ;iBACT;aACF,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY;YAClD,OAAO,4BAA4B,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC;QACD,sBAAsB,CAAC,QAAQ,EAAE,OAAO;YACtC,MAAM,oBAAoB,GAAG,wCAAwC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAqB,CAAC;YAC5H,IAAI,oBAAoB;gBAAE,OAAO,oBAAoB,CAAC;YACtD,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9E,OAAO;gBACL,GAAG,QAAQ;gBACX,KAAK,EAAE;oBACL,GAAG,QAAQ,CAAC,KAAK;oBACjB,WAAW,EAAE,SAAS;iBACvB;aACF,CAAC;QACJ,CAAC;QACD,uBAAuB,CAAC,QAAQ;YAC9B,OAAO,kCAAkC,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAc,CAAC;QAClF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,QAA8B;IAE9B,OAAO,QAAQ,EAAE,KAAK,CAAC,WAAoD,CAAC;AAC9E,CAAC"}
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/marker-scene/facade.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n cloneMarkerGraphCommand,\n createEditorSceneMarkerGraphPatchLabel,\n getEditorSceneMarkerGraphPatchSelection,\n isEditorSceneMarkerGraphCommandSupported,\n normalizeEditorSceneMarkerGraph,\n normalizeEditorSceneMarkerGraphCommand,\n reduceEditorSceneMarkerGraph,\n type EditorCoreMarkerGraphCommand,\n} from '@fps-games/editor-core';\nimport type {\n SpatialMarkerGraph,\n SpatialMarkerNode,\n SpatialMarkerTypeDefinition,\n} from '@fps-games/editor-protocol';\n\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n createSceneObjectMarkerTargetRef,\n createSpatialMarkerGeometryForPresentation,\n createSpatialMarkerGeometryForTargetPatch,\n isEditorSceneMarkerGameObject,\n resolveMarkerNodeKindForType,\n sanitizeMarkerGameObjectId,\n type EditorSceneMarkerSceneOptions,\n} from './geometry';\nimport {\n createSpatialMarkerFromGameObject,\n createSpatialMarkersFromGameObjects,\n reduceEditorSceneMarkerGameObjectCommand,\n syncEditorSceneMarkerGraphDocument,\n} from './game-objects';\n\nexport interface PlayableEditorSceneMarkerGraphFacadePatchResult<TPatch> {\n patch: TPatch;\n label: string;\n changedId?: string;\n changedIds?: string[];\n selectId?: string | null;\n}\n\nexport interface PlayableEditorSceneMarkerGraphFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TPatch = unknown,\n> {\n getMarkerGraph(document: TDocument): SpatialMarkerGraph;\n getMarkerTypeCatalog(document?: TDocument): SpatialMarkerTypeDefinition[];\n createMarkerGraphPatch(\n document: TDocument,\n command: EditorCoreMarkerGraphCommand,\n ): PlayableEditorSceneMarkerGraphFacadePatchResult<TPatch> | null;\n createMarkerTypeUpdateCommand(\n document: TDocument,\n markerId: string,\n markerType: string,\n ): EditorCoreMarkerGraphCommand | null;\n createMarkerTargetUpdateCommand(\n document: TDocument,\n markerId: string,\n objectId: string,\n ): EditorCoreMarkerGraphCommand | null;\n resolveMarkerKind(document: TDocument, markerType: string, authoredKind?: string): string;\n reduceMarkerGraphPatch(document: TDocument, command: EditorCoreMarkerGraphCommand): TDocument;\n syncMarkerGraphDocument(document: TDocument): TDocument;\n}\n\nexport function createPlayableEditorSceneMarkerGraphFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TPatch = unknown,\n>(\n input: {\n options: EditorSceneMarkerSceneOptions;\n createPatch: (command: EditorCoreMarkerGraphCommand) => TPatch;\n getMarkerTypeCatalogFromGraph: (graph?: SpatialMarkerGraph | null) => SpatialMarkerTypeDefinition[];\n },\n): PlayableEditorSceneMarkerGraphFacade<TDocument, TPatch> {\n const getMarkerTypeCatalog = (document?: TDocument) => (\n input.getMarkerTypeCatalogFromGraph(readPlayableEditorSceneMarkerGraph(document))\n );\n const getMarkerGraph = (document: TDocument): SpatialMarkerGraph => {\n const graph = normalizeEditorSceneMarkerGraph(readPlayableEditorSceneMarkerGraph(document));\n const markersById = new Map<string, SpatialMarkerNode>();\n for (const marker of graph.markers) markersById.set(marker.id, marker);\n for (const marker of createSpatialMarkersFromGameObjects(document, input.options)) {\n markersById.set(marker.id, marker);\n }\n return {\n ...graph,\n markers: [...markersById.values()],\n };\n };\n return {\n getMarkerGraph,\n getMarkerTypeCatalog,\n createMarkerGraphPatch(document, command) {\n const normalizedCommand = normalizeEditorSceneMarkerGraphCommand(document, command, {\n sanitizeMarkerGameObjectId,\n }) as EditorCoreMarkerGraphCommand;\n if (!isEditorSceneMarkerGraphCommandSupported(\n document,\n normalizedCommand,\n getMarkerGraph(document),\n {\n builtInMarkerTypes: input.options.builtInMarkerTypes,\n isMarkerGameObject: gameObject => isEditorSceneMarkerGameObject(gameObject as EditorSceneGameObject | null | undefined),\n },\n )) {\n return null;\n }\n return {\n patch: input.createPatch(cloneMarkerGraphCommand(normalizedCommand) as EditorCoreMarkerGraphCommand),\n label: createEditorSceneMarkerGraphPatchLabel(normalizedCommand),\n ...getEditorSceneMarkerGraphPatchSelection(normalizedCommand),\n };\n },\n createMarkerTypeUpdateCommand(document, markerId, markerType) {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const nextMarkerType = markerType.trim();\n const markerTypeDefinition = nextMarkerType\n ? getMarkerTypeCatalog(document).find(definition => definition.type === nextMarkerType) ?? null\n : null;\n if (nextMarkerType && !markerTypeDefinition) return null;\n const nextKind = resolveMarkerNodeKindForType(document, nextMarkerType, gameObject.marker.kind, input.options);\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, input.options);\n const nextGeometry = createSpatialMarkerGeometryForPresentation(\n document,\n gameObject,\n nextKind,\n currentMarker.geometry,\n input.options,\n );\n return {\n type: 'marker.update',\n markerId,\n patch: {\n markerType: nextMarkerType,\n kind: nextKind,\n geometry: nextGeometry,\n },\n };\n },\n createMarkerTargetUpdateCommand(document, markerId, objectId) {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const nextObjectId = objectId.trim();\n const target = nextObjectId ? createSceneObjectMarkerTargetRef(document, nextObjectId) : null;\n if (nextObjectId && !target) return null;\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, input.options);\n const markerKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, input.options);\n const geometry = createSpatialMarkerGeometryForTargetPatch(document, gameObject, currentMarker.geometry, markerKind, target);\n return {\n type: 'marker.update',\n markerId,\n patch: {\n target: target ?? undefined,\n geometry,\n },\n };\n },\n resolveMarkerKind(document, markerType, authoredKind) {\n return resolveMarkerNodeKindForType(document, markerType, authoredKind, input.options);\n },\n reduceMarkerGraphPatch(document, command) {\n const markerObjectDocument = reduceEditorSceneMarkerGameObjectCommand(document, command, input.options) as TDocument | null;\n if (markerObjectDocument) return markerObjectDocument;\n const graph = getMarkerGraph(document);\n const nextGraph = reduceEditorSceneMarkerGraph(graph, command, input.options);\n return {\n ...document,\n scene: {\n ...document.scene,\n markerGraph: nextGraph,\n },\n };\n },\n syncMarkerGraphDocument(document) {\n return syncEditorSceneMarkerGraphDocument(document, input.options) as TDocument;\n },\n };\n}\n\nfunction readPlayableEditorSceneMarkerGraph(\n document?: EditorSceneDocument,\n): SpatialMarkerGraph | null | undefined {\n return document?.scene.markerGraph as SpatialMarkerGraph | null | undefined;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-objects.js","sourceRoot":"","sources":["../../src/marker-scene/game-objects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"game-objects.js","sourceRoot":"","sources":["../../src/marker-scene/game-objects.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n areMarkerGraphsEqual,\n collectEditorSceneGameObjectSubtreeIds,\n cloneMarker,\n isDeletedRelationEndpoint,\n isRelationEndpointValid,\n isTargetRefValid,\n normalizeEditorSceneMarkerGraph,\n rewriteMarkerRelationIds,\n rewriteSpatialMarkerTargetRefs,\n withEditorSceneMarkerGraph,\n type EditorCoreMarkerGraphCommand,\n} from '@fps-games/editor-core';\nimport type {\n SpatialMarkerGeometry,\n SpatialMarkerGraph,\n SpatialMarkerNode,\n} from '@fps-games/editor-protocol';\n\nimport type { EditorSceneDocument, EditorSceneGameObject, EditorSceneMarkerConfig, EditorSceneVec3 } from '../document/index';\nimport {\n addVec3,\n cloneVec3,\n createDefaultMarkerScaleForKind,\n createEditorSceneMarkerGeometry,\n createMarkerSemanticFrameFromTransform,\n createObjectBoundSemanticFrame,\n createSpatialMarkerGeometryForPresentation,\n createVec3,\n getEditorSceneGameObjectWorldTrsTransform,\n isEditorSceneMarkerGameObject,\n normalizeMarkerBoxSize,\n readMarkerGameObjectScale,\n readSpatialMarkerTransformPosition,\n readSpatialMarkerTransformRotation,\n readSpatialMarkerTransformScale,\n resolveMarkerGeometryKindForPresentation,\n resolveMarkerNodeKindForType,\n sanitizeMarkerGameObjectId,\n shouldApplyMarkerDefaultScaleOnPresentationChange,\n shouldPreserveTransformForMarkerGeometry,\n toEditorSceneLocalTrsTransformForParent,\n type EditorSceneMarkerSceneOptions,\n} from './geometry';\n\nexport function syncEditorSceneMarkerGraphDocument(\n document: EditorSceneDocument,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument {\n const normalizedMarkerObjects = normalizeEditorSceneMarkerGameObjects(document, options);\n if (normalizedMarkerObjects !== document) return syncEditorSceneMarkerGraphDocument(normalizedMarkerObjects, options);\n const migrated = migrateEditorSceneMarkerGraphMarkersToGameObjects(document);\n if (migrated !== document) return syncEditorSceneMarkerGraphDocument(migrated, options);\n const originalGraph = readEditorSceneMarkerGraph(document);\n if (!originalGraph) return document;\n const graph = normalizeEditorSceneMarkerGraph(originalGraph);\n const nextGraph = syncEditorSceneMarkerGraph(document, graph);\n return areMarkerGraphsEqual(originalGraph, nextGraph)\n ? document\n : withEditorSceneMarkerGraph(document, nextGraph);\n}\n\nexport function migrateEditorSceneMarkerGraphMarkersToGameObjects(document: EditorSceneDocument): EditorSceneDocument {\n const authoredGraph = readEditorSceneMarkerGraph(document);\n const graph = authoredGraph ? normalizeEditorSceneMarkerGraph(authoredGraph) : null;\n if (!graph || graph.markers.length === 0) return document;\n\n const existingIds = new Set(document.scene.gameObjects.map(gameObject => gameObject.id));\n const markerIdMap = new Map<string, string>();\n const markerGameObjectPlans: Array<{ marker: SpatialMarkerNode; gameObjectId: string }> = [];\n\n for (const marker of graph.markers) {\n if (document.scene.gameObjects.some(gameObject => gameObject.id === marker.id && isEditorSceneMarkerGameObject(gameObject))) {\n markerIdMap.set(marker.id, marker.id);\n continue;\n }\n const gameObjectId = existingIds.has(marker.id)\n ? createUniqueMarkerGameObjectId(marker.id, existingIds)\n : marker.id;\n existingIds.add(gameObjectId);\n markerIdMap.set(marker.id, gameObjectId);\n markerGameObjectPlans.push({ marker, gameObjectId });\n }\n const markerGameObjects = markerGameObjectPlans.map(plan => (\n createMarkerGameObjectFromSpatialMarker(document, rewriteSpatialMarkerTargetRefs(plan.marker, markerIdMap), plan.gameObjectId, null)\n ));\n\n const nextGraph = normalizeEditorSceneMarkerGraph({\n ...graph,\n markers: [],\n relations: graph.relations.map(relation => rewriteMarkerRelationIds(relation, markerIdMap)),\n });\n\n return {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: [...document.scene.gameObjects, ...markerGameObjects],\n markerGraph: nextGraph,\n },\n };\n}\n\nexport function syncEditorSceneMarkerGraph(\n document: EditorSceneDocument,\n graph: SpatialMarkerGraph,\n): SpatialMarkerGraph {\n const objectIds = new Set(document.scene.gameObjects.map(gameObject => gameObject.id));\n const markers = graph.markers.filter(marker => isMarkerSceneObjectTargetValid(marker, objectIds));\n const markerIds = new Set([\n ...markers.map(marker => marker.id),\n ...document.scene.gameObjects.filter(isEditorSceneMarkerGameObject).map(gameObject => gameObject.id),\n ]);\n const relations = graph.relations.filter(relation => (\n isRelationEndpointValid(relation.from, objectIds, markerIds)\n && isRelationEndpointValid(relation.to, objectIds, markerIds)\n ));\n return {\n ...graph,\n markers,\n relations,\n };\n}\n\nfunction isMarkerSceneObjectTargetValid(marker: SpatialMarkerNode, objectIds: Set<string>): boolean {\n if (!isTargetRefValid(marker.target, objectIds)) return false;\n switch (marker.geometry.kind) {\n case 'object-bounds':\n return isTargetRefValid(marker.geometry.target, objectIds);\n case 'point':\n return isTargetRefValid(marker.geometry.target, objectIds);\n case 'box':\n case 'polyhedron':\n return true;\n }\n}\n\nexport function reduceEditorSceneMarkerGameObjectCommand(\n document: EditorSceneDocument,\n command: EditorCoreMarkerGraphCommand,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument | null {\n switch (command.type) {\n case 'marker.create-box':\n return createEditorSceneMarkerGameObjectDocument(document, command.marker, command.parentId ?? null);\n case 'marker.update':\n return updateEditorSceneMarkerGameObject(document, command.markerId, command.patch, options);\n case 'marker.delete':\n return deleteEditorSceneMarkerGameObject(document, command.markerId);\n default:\n return null;\n }\n}\n\nexport function createEditorSceneMarkerGameObjectDocument(\n document: EditorSceneDocument,\n marker: SpatialMarkerNode,\n parentId: string | null,\n): EditorSceneDocument | null {\n if (document.scene.gameObjects.some(gameObject => gameObject.id === marker.id)) return null;\n const markerGraph = normalizeEditorSceneMarkerGraph(readEditorSceneMarkerGraph(document));\n const markerGameObject = createMarkerGameObjectFromSpatialMarker(document, marker, marker.id, parentId);\n const nextDocument = {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: [...document.scene.gameObjects, markerGameObject],\n },\n };\n return withEditorSceneMarkerGraph(nextDocument, {\n ...markerGraph,\n markers: markerGraph.markers.filter(candidate => candidate.id !== marker.id),\n });\n}\n\nexport function updateEditorSceneMarkerGameObject(\n document: EditorSceneDocument,\n markerId: string,\n patch: Partial<Omit<SpatialMarkerNode, 'id'>>,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument | null {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, options);\n const nextMarker = cloneMarker({\n ...currentMarker,\n ...patch,\n id: currentMarker.id,\n geometry: patch.geometry ?? currentMarker.geometry,\n });\n const nextGameObject = patchMarkerGameObjectFromSpatialMarker(document, gameObject, nextMarker, options);\n return {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: document.scene.gameObjects.map(candidate => (\n candidate.id === markerId ? nextGameObject : candidate\n )),\n },\n };\n}\n\nexport function deleteEditorSceneMarkerGameObject(\n document: EditorSceneDocument,\n markerId: string,\n): EditorSceneDocument | null {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const deleteIds = collectEditorSceneGameObjectSubtreeIds(document, markerId);\n const graph = normalizeEditorSceneMarkerGraph(readEditorSceneMarkerGraph(document));\n return {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: document.scene.gameObjects.filter(candidate => !deleteIds.has(candidate.id)),\n markerGraph: {\n ...graph,\n markers: [],\n relations: graph.relations.filter(relation => (\n !isDeletedRelationEndpoint(relation.from, deleteIds)\n && !isDeletedRelationEndpoint(relation.to, deleteIds)\n )),\n },\n },\n };\n}\n\nexport function normalizeEditorSceneMarkerGameObjects(\n document: EditorSceneDocument,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument {\n let changed = false;\n const gameObjects = document.scene.gameObjects.map((gameObject) => {\n if (!isEditorSceneMarkerGameObject(gameObject)) return gameObject;\n const normalized = normalizeEditorSceneMarkerGameObject(document, gameObject, options);\n if (normalized !== gameObject) changed = true;\n return normalized;\n });\n return changed\n ? {\n ...document,\n scene: {\n ...document.scene,\n gameObjects,\n },\n }\n : document;\n}\n\nexport function normalizeEditorSceneMarkerGameObject(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneGameObject {\n return normalizeEditorSceneMarkerPresentation(document, gameObject, options);\n}\n\nexport function createMarkerGameObjectFromSpatialMarker(\n document: EditorSceneDocument,\n marker: SpatialMarkerNode,\n gameObjectId: string,\n parentId: string | null,\n): EditorSceneGameObject {\n const fallbackScale = createDefaultMarkerScaleForKind(marker.kind);\n const markerTransform = {\n position: readSpatialMarkerTransformPosition(marker.geometry),\n rotation: readSpatialMarkerTransformRotation(marker.geometry),\n scale: readSpatialMarkerTransformScale(marker.geometry, fallbackScale),\n };\n const localTransform = parentId\n ? toEditorSceneLocalTrsTransformForParent(document, parentId, markerTransform) ?? markerTransform\n : markerTransform;\n return {\n id: gameObjectId,\n name: marker.label || marker.id,\n kind: 'transform',\n ...(parentId ? { parentId } : {}),\n active: true,\n marker: createEditorSceneMarkerConfig(marker),\n components: [{ type: 'Transform', ...localTransform }],\n };\n}\n\nexport function patchMarkerGameObjectFromSpatialMarker(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n marker: SpatialMarkerNode,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneGameObject {\n const currentWorldScale = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id)?.scale ?? readMarkerGameObjectScale(gameObject);\n const scaleFallback = shouldApplyMarkerDefaultScaleOnPresentationChange(document, gameObject, marker, options)\n ? createDefaultMarkerScaleForKind(marker.kind)\n : currentWorldScale;\n return {\n ...gameObject,\n name: marker.label || gameObject.name || marker.id,\n kind: 'transform',\n marker: createEditorSceneMarkerConfig(marker),\n components: patchMarkerGameObjectTransformComponents(document, gameObject, gameObject.components, marker.geometry, scaleFallback),\n };\n}\n\nexport function patchMarkerGameObjectTransformComponents(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n components: EditorSceneGameObject['components'],\n geometry: SpatialMarkerGeometry,\n fallbackScale?: EditorSceneVec3,\n): EditorSceneGameObject['components'] {\n const currentScale = fallbackScale ?? readMarkerGameObjectScale(gameObject);\n const currentWorldTransform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n const worldTransform = {\n position: shouldPreserveTransformForMarkerGeometry(geometry)\n ? cloneVec3(currentWorldTransform?.position ?? readSpatialMarkerTransformPosition(geometry))\n : readSpatialMarkerTransformPosition(geometry),\n rotation: shouldPreserveTransformForMarkerGeometry(geometry)\n ? cloneVec3(currentWorldTransform?.rotation ?? readSpatialMarkerTransformRotation(geometry))\n : readSpatialMarkerTransformRotation(geometry),\n scale: readSpatialMarkerTransformScale(geometry, currentScale),\n };\n const localTransform = toEditorSceneLocalTrsTransformForParent(document, gameObject.parentId, worldTransform) ?? worldTransform;\n let patched = false;\n const nextComponents = components.map((component) => {\n if (component.type !== 'Transform') return component;\n patched = true;\n return {\n ...component,\n position: localTransform.position,\n rotation: localTransform.rotation,\n scale: localTransform.scale,\n };\n });\n return patched\n ? nextComponents\n : [\n ...nextComponents,\n {\n type: 'Transform',\n position: localTransform.position,\n rotation: localTransform.rotation,\n scale: localTransform.scale,\n },\n ];\n}\n\nexport function normalizeEditorSceneMarkerPresentation(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneGameObject {\n if (gameObject.marker.geometry.kind === 'polyhedron') return gameObject;\n const nextKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, options);\n const nextGeometryKind = resolveMarkerGeometryKindForPresentation(gameObject.marker, nextKind);\n if ((gameObject.marker.kind ?? 'point') === nextKind && gameObject.marker.geometry.kind === nextGeometryKind) {\n return gameObject;\n }\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, options);\n const nextMarker = cloneMarker({\n ...currentMarker,\n kind: nextKind,\n markerType: gameObject.marker.type.trim(),\n geometry: createSpatialMarkerGeometryForPresentation(document, gameObject, nextKind, currentMarker.geometry, options),\n });\n return patchMarkerGameObjectFromSpatialMarker(document, gameObject, nextMarker, options);\n}\n\nexport function createSpatialMarkersFromGameObjects(\n document: EditorSceneDocument,\n options: EditorSceneMarkerSceneOptions = {},\n): SpatialMarkerNode[] {\n return document.scene.gameObjects\n .filter(isEditorSceneMarkerGameObject)\n .map(gameObject => createSpatialMarkerFromGameObject(document, gameObject, options));\n}\n\nexport function createSpatialMarkerFromGameObject(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n options: EditorSceneMarkerSceneOptions = {},\n): SpatialMarkerNode {\n const marker = gameObject.marker!;\n const metadata = marker.metadata ? structuredClone(marker.metadata) : {};\n const targetSemanticFrame = marker.geometry.kind === 'object-bounds'\n ? createObjectBoundSemanticFrame(document, marker)\n : null;\n const semanticFrame = targetSemanticFrame\n ?? (marker.semanticFrame\n ? structuredClone(marker.semanticFrame)\n : createMarkerSemanticFrameFromTransform(document, gameObject));\n if (marker.color) metadata.color = { ...marker.color } as any;\n if (marker.note !== undefined) metadata.note = marker.note;\n return {\n id: gameObject.id,\n kind: resolveMarkerNodeKindForType(document, marker.type, marker.kind, options),\n markerType: marker.type,\n label: gameObject.name ?? gameObject.id,\n geometry: createSpatialMarkerGeometryFromGameObject(document, gameObject),\n ...(marker.target ? { target: structuredClone(marker.target) } : {}),\n ...(semanticFrame ? { semanticFrame } : {}),\n ...(marker.tags?.length ? { tags: [...marker.tags] } : {}),\n ...(Object.keys(metadata).length > 0 ? { metadata: metadata as any } : {}),\n };\n}\n\nexport function createSpatialMarkerGeometryFromGameObject(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n): SpatialMarkerGeometry {\n const marker = gameObject.marker!;\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n const position = transform?.position ?? createVec3(0, 0, 0);\n const rotation = transform?.rotation ?? createVec3(0, 0, 0);\n const scale = transform?.scale ?? readMarkerGameObjectScale(gameObject);\n switch (marker.geometry.kind) {\n case 'box':\n return {\n kind: 'box',\n coordinateSpace: 'world',\n center: cloneVec3(position),\n size: normalizeMarkerBoxSize(scale),\n rotation: cloneVec3(rotation),\n };\n case 'point':\n if ((marker.geometry.coordinateSpace ?? 'world') === 'world') {\n return {\n kind: 'point',\n coordinateSpace: 'world',\n position: marker.geometry.offset\n ? addVec3(position, marker.geometry.offset)\n : cloneVec3(position),\n ...(marker.geometry.target ? { target: structuredClone(marker.geometry.target) } : {}),\n };\n }\n return {\n kind: 'point',\n coordinateSpace: 'local',\n position: marker.geometry.position\n ? cloneVec3(marker.geometry.position)\n : cloneVec3(position),\n ...(marker.geometry.target ? { target: structuredClone(marker.geometry.target) } : {}),\n };\n case 'object-bounds':\n return {\n kind: 'object-bounds',\n target: structuredClone(marker.geometry.target),\n };\n case 'polyhedron':\n return {\n kind: 'polyhedron',\n coordinateSpace: marker.geometry.coordinateSpace ?? 'world',\n vertices: marker.geometry.vertices.map(cloneVec3),\n ...(marker.geometry.faces ? { faces: marker.geometry.faces.map(face => [...face]) } : {}),\n };\n }\n}\n\nexport function createEditorSceneMarkerConfig(marker: SpatialMarkerNode): EditorSceneMarkerConfig {\n const metadata = marker.metadata ? structuredClone(marker.metadata) : {};\n const color = readMarkerMetadataColor(metadata.color);\n const hasStringNote = typeof metadata.note === 'string';\n const note = hasStringNote ? metadata.note as string : undefined;\n if (color) delete metadata.color;\n if (hasStringNote) delete metadata.note;\n return {\n schemaVersion: 1,\n type: marker.markerType,\n ...(marker.kind ? { kind: marker.kind } : {}),\n ...(marker.tags?.length ? { tags: [...marker.tags] } : {}),\n ...(note !== undefined ? { note } : {}),\n ...(color ? { color } : {}),\n ...(marker.target ? { target: structuredClone(marker.target) } : {}),\n ...(marker.semanticFrame ? { semanticFrame: structuredClone(marker.semanticFrame) } : {}),\n geometry: createEditorSceneMarkerGeometry(marker.geometry),\n ...(Object.keys(metadata).length > 0 ? { metadata: metadata as any } : {}),\n };\n}\n\nexport function createUniqueMarkerGameObjectId(baseId: string, existingIds: Set<string>): string {\n const safeBase = sanitizeMarkerGameObjectId(baseId) || 'marker';\n let index = 1;\n let candidate = `${safeBase}-marker`;\n while (existingIds.has(candidate)) {\n index += 1;\n candidate = `${safeBase}-marker-${index}`;\n }\n return candidate;\n}\n\nfunction readMarkerMetadataColor(value: unknown): EditorSceneMarkerConfig['color'] | null {\n if (!value || typeof value !== 'object') return null;\n const candidate = value as Record<string, unknown>;\n const r = readColorChannel(candidate.r);\n const g = readColorChannel(candidate.g);\n const b = readColorChannel(candidate.b);\n return r == null || g == null || b == null ? null : { r, g, b };\n}\n\nfunction readColorChannel(value: unknown): number | null {\n if (typeof value !== 'number' || !Number.isFinite(value)) return null;\n return value >= 0 && value <= 1 ? value : null;\n}\n\nfunction readEditorSceneMarkerGraph(document: EditorSceneDocument): SpatialMarkerGraph | null {\n return ((document.scene as { markerGraph?: SpatialMarkerGraph | null }).markerGraph) ?? null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/marker-scene/geometry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/marker-scene/geometry.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isEditorTransformTrsSnapshot,\n getEditorSceneMarkerTypeCatalogFromGraph,\n type EditorCoreMarkerGraphTypeCatalogOptions,\n type EditorTransformTrsSnapshot,\n} from '@fps-games/editor-core';\nimport type {\n SpatialMarkerGeometry,\n SpatialMarkerGraph,\n SpatialMarkerLocalFrame,\n SpatialMarkerNode,\n SpatialMarkerTargetRef,\n} from '@fps-games/editor-protocol';\n\nimport type { EditorSceneDocument, EditorSceneGameObject, EditorSceneMarkerConfig, EditorSceneVec3 } from '../document/index';\nimport {\n getEditorSceneGameObjectWorldTransform,\n toEditorSceneLocalTransformForParent,\n} from '../session/transform';\n\nexport interface EditorSceneMarkerSceneOptions extends EditorCoreMarkerGraphTypeCatalogOptions {}\n\nexport function isEditorSceneMarkerGameObject(\n gameObject: EditorSceneGameObject | null | undefined,\n): gameObject is EditorSceneGameObject & { marker: EditorSceneMarkerConfig } {\n return !!gameObject?.marker;\n}\n\nexport function shouldPreserveTransformForMarkerGeometry(geometry: SpatialMarkerGeometry): boolean {\n return (geometry.kind === 'point' && geometry.coordinateSpace !== 'world') || geometry.kind === 'object-bounds';\n}\n\nexport function readMarkerGameObjectScale(gameObject: EditorSceneGameObject): EditorSceneVec3 {\n for (const component of gameObject.components) {\n if (component.type !== 'Transform') continue;\n const scale = (component as { scale?: unknown }).scale;\n return isVec3Like(scale) ? cloneVec3(scale) : createVec3(1, 1, 1);\n }\n return createVec3(1, 1, 1);\n}\n\nexport function getEditorSceneGameObjectWorldTrsTransform(\n document: EditorSceneDocument,\n gameObjectId: string,\n): EditorTransformTrsSnapshot | null {\n const transform = getEditorSceneGameObjectWorldTransform(document, gameObjectId);\n return transform && isEditorTransformTrsSnapshot(transform) ? transform : null;\n}\n\nexport function toEditorSceneLocalTrsTransformForParent(\n document: EditorSceneDocument,\n parentId: string | null | undefined,\n worldTransform: EditorTransformTrsSnapshot,\n): EditorTransformTrsSnapshot | null {\n const localTransform = toEditorSceneLocalTransformForParent(document, parentId ?? undefined, worldTransform);\n return localTransform && isEditorTransformTrsSnapshot(localTransform) ? localTransform : null;\n}\n\nexport function createMarkerSemanticFrameFromTransform(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n): SpatialMarkerLocalFrame | null {\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n if (!transform) return null;\n return {\n origin: cloneVec3(transform.position),\n right: rotateVec3ByEuler(createVec3(1, 0, 0), transform.rotation),\n up: rotateVec3ByEuler(createVec3(0, 1, 0), transform.rotation),\n forward: rotateVec3ByEuler(createVec3(0, 0, 1), transform.rotation),\n label: gameObject.name ?? gameObject.id,\n };\n}\n\nexport function createObjectBoundSemanticFrame(\n document: EditorSceneDocument,\n marker: EditorSceneMarkerConfig,\n): SpatialMarkerLocalFrame | null {\n const target = readMarkerConfigTarget(marker);\n if (target?.kind !== 'scene-object') return null;\n const targetObject = document.scene.gameObjects.find(candidate => candidate.id === target.id) ?? null;\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, target.id);\n if (!targetObject || !transform) return null;\n return {\n origin: cloneVec3(transform.position),\n right: rotateVec3ByEuler(createVec3(1, 0, 0), transform.rotation),\n up: rotateVec3ByEuler(createVec3(0, 1, 0), transform.rotation),\n forward: rotateVec3ByEuler(createVec3(0, 0, 1), transform.rotation),\n label: target.label || targetObject.name || target.id,\n };\n}\n\nexport function resolveMarkerNodeKindForType(\n document: EditorSceneDocument,\n markerType: string,\n authoredKind: string | undefined,\n options: EditorSceneMarkerSceneOptions = {},\n): string {\n const typeId = markerType.trim();\n const definitionKind = typeId\n ? getEditorSceneMarkerTypeCatalogFromGraph(readEditorSceneMarkerGraph(document), options).find(definition => definition.type === typeId)?.kind\n : undefined;\n return normalizeMarkerNodeKind(definitionKind ?? authoredKind ?? (typeId ? undefined : 'point'));\n}\n\nexport function normalizeMarkerNodeKind(kind: string | undefined): string {\n const normalized = kind?.trim();\n if (!normalized) return 'point';\n if (normalized === 'object-bound' || normalized === 'object-bounds') return 'object';\n return normalized;\n}\n\nexport function resolveMarkerGeometryKindForPresentation(\n marker: EditorSceneMarkerConfig,\n markerKind: string,\n): SpatialMarkerGeometry['kind'] {\n if (isRegionMarkerKind(markerKind)) return 'box';\n if (isObjectMarkerKind(markerKind) && readMarkerConfigTarget(marker)) return 'object-bounds';\n return 'point';\n}\n\nexport function createSpatialMarkerGeometryForPresentation(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n markerKind: string,\n currentGeometry?: SpatialMarkerGeometry,\n options: EditorSceneMarkerSceneOptions = {},\n): SpatialMarkerGeometry {\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n const position = cloneVec3(transform?.position ?? createVec3(0, 0, 0));\n const rotation = cloneVec3(transform?.rotation ?? createVec3(0, 0, 0));\n const scale = shouldApplyMarkerDefaultScaleForKind(document, gameObject, markerKind, options)\n ? createDefaultMarkerScaleForKind(markerKind)\n : cloneVec3(transform?.scale ?? readMarkerGameObjectScale(gameObject));\n if (isRegionMarkerKind(markerKind)) {\n return {\n kind: 'box',\n coordinateSpace: 'world',\n center: position,\n size: normalizeMarkerBoxSize(scale),\n rotation,\n };\n }\n const target = readMarkerConfigTarget(gameObject.marker);\n if (isObjectMarkerKind(markerKind) && target) {\n return {\n kind: 'object-bounds',\n target,\n };\n }\n if (currentGeometry?.kind === 'point') return structuredClone(currentGeometry);\n return {\n kind: 'point',\n coordinateSpace: 'world',\n position,\n ...(target ? { target } : {}),\n };\n}\n\nexport function createSpatialMarkerGeometryForTargetPatch(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n geometry: SpatialMarkerGeometry,\n markerKind: string,\n target: SpatialMarkerTargetRef | null,\n): SpatialMarkerGeometry {\n if (target) {\n if (isObjectMarkerKind(markerKind) || geometry.kind === 'object-bounds') {\n return {\n kind: 'object-bounds',\n target: structuredClone(target),\n };\n }\n if (geometry.kind === 'point') {\n return {\n ...structuredClone(geometry),\n target: structuredClone(target),\n };\n }\n return structuredClone(geometry);\n }\n if (geometry.kind === 'object-bounds') {\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n return {\n kind: 'point',\n coordinateSpace: 'world',\n position: cloneVec3(transform?.position ?? createVec3(0, 0, 0)),\n };\n }\n if (geometry.kind === 'point') {\n const nextGeometry = structuredClone(geometry);\n delete (nextGeometry as { target?: SpatialMarkerTargetRef }).target;\n return nextGeometry;\n }\n return structuredClone(geometry);\n}\n\nexport function createSceneObjectMarkerTargetRef(\n document: EditorSceneDocument,\n objectId: string,\n): SpatialMarkerTargetRef | null {\n const targetObject = document.scene.gameObjects.find(candidate => candidate.id === objectId) ?? null;\n if (!targetObject || isEditorSceneMarkerGameObject(targetObject)) return null;\n return {\n kind: 'scene-object',\n id: targetObject.id,\n label: targetObject.name || targetObject.id,\n };\n}\n\nexport function shouldApplyMarkerDefaultScaleForKind(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n nextKind: string,\n options: EditorSceneMarkerSceneOptions = {},\n): boolean {\n const previousKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, options);\n if (previousKind === nextKind) return false;\n const currentWorldScale = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id)?.scale ?? readMarkerGameObjectScale(gameObject);\n return isVec3ApproximatelyEqual(currentWorldScale, createDefaultMarkerScaleForKind(previousKind));\n}\n\nexport function shouldApplyMarkerDefaultScaleOnPresentationChange(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n marker: SpatialMarkerNode,\n options: EditorSceneMarkerSceneOptions = {},\n): boolean {\n if (!isEditorSceneMarkerGameObject(gameObject)) return false;\n const previousKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, options);\n const nextKind = normalizeMarkerNodeKind(marker.kind);\n if (previousKind === nextKind && gameObject.marker.geometry.kind === marker.geometry.kind) return false;\n const currentWorldScale = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id)?.scale ?? readMarkerGameObjectScale(gameObject);\n return isVec3ApproximatelyEqual(currentWorldScale, createDefaultMarkerScaleForKind(previousKind));\n}\n\nexport function createDefaultMarkerScaleForKind(kind: string | undefined): EditorSceneVec3 {\n return isRegionMarkerKind(kind)\n ? createVec3(4, 1, 4)\n : createVec3(0.5, 0.5, 0.5);\n}\n\nexport function isRegionMarkerKind(kind: string | undefined): boolean {\n return normalizeMarkerNodeKind(kind) === 'region';\n}\n\nexport function isObjectMarkerKind(kind: string | undefined): boolean {\n return normalizeMarkerNodeKind(kind) === 'object';\n}\n\nexport function readMarkerConfigTarget(marker: EditorSceneMarkerConfig): SpatialMarkerTargetRef | null {\n if (marker.target) return structuredClone(marker.target);\n if (marker.geometry.kind === 'point' && marker.geometry.target) return structuredClone(marker.geometry.target);\n if (marker.geometry.kind === 'object-bounds') return structuredClone(marker.geometry.target);\n return null;\n}\n\nexport function isVec3ApproximatelyEqual(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\nexport function createEditorSceneMarkerGeometry(geometry: SpatialMarkerGeometry): EditorSceneMarkerConfig['geometry'] {\n switch (geometry.kind) {\n case 'box':\n return {\n kind: 'box',\n };\n case 'point':\n return {\n kind: 'point',\n coordinateSpace: geometry.coordinateSpace,\n ...(geometry.coordinateSpace === 'local' ? { position: cloneVec3(geometry.position) } : {}),\n ...(geometry.target ? { target: structuredClone(geometry.target) } : {}),\n };\n case 'object-bounds':\n return {\n kind: 'object-bounds',\n target: structuredClone(geometry.target),\n };\n case 'polyhedron':\n return {\n kind: 'polyhedron',\n coordinateSpace: geometry.coordinateSpace,\n vertices: geometry.vertices.map(cloneVec3),\n ...(geometry.faces ? { faces: geometry.faces.map(face => [...face]) } : {}),\n };\n }\n}\n\nexport function readSpatialMarkerTransformPosition(geometry: SpatialMarkerGeometry): EditorSceneVec3 {\n switch (geometry.kind) {\n case 'box':\n return cloneVec3(geometry.center);\n case 'point':\n return geometry.coordinateSpace === 'world' ? cloneVec3(geometry.position) : createVec3(0, 0, 0);\n case 'polyhedron':\n return createBoundsCenter(geometry.vertices);\n case 'object-bounds':\n return createVec3(0, 0, 0);\n }\n}\n\nexport function readSpatialMarkerTransformRotation(geometry: SpatialMarkerGeometry): EditorSceneVec3 {\n return geometry.kind === 'box' && geometry.rotation\n ? cloneVec3(geometry.rotation)\n : createVec3(0, 0, 0);\n}\n\nexport function readSpatialMarkerTransformScale(\n geometry: SpatialMarkerGeometry,\n fallback: EditorSceneVec3,\n): EditorSceneVec3 {\n return geometry.kind === 'box'\n ? normalizeMarkerBoxSize(geometry.size)\n : cloneVec3(fallback);\n}\n\nexport function normalizeMarkerBoxSize(size: EditorSceneVec3): EditorSceneVec3 {\n return {\n x: Math.max(0.000001, Math.abs(size.x)),\n y: Math.max(0.000001, Math.abs(size.y)),\n z: Math.max(0.000001, Math.abs(size.z)),\n };\n}\n\nexport function sanitizeMarkerGameObjectId(value: string): string {\n return value.trim().replace(/[^a-zA-Z0-9_-]+/g, '-').replace(/^-+|-+$/g, '');\n}\n\nexport function cloneVec3(value: { x: number; y: number; z: number }): EditorSceneVec3 {\n return { x: value.x, y: value.y, z: value.z };\n}\n\nexport function isVec3Like(value: unknown): value is EditorSceneVec3 {\n if (!value || typeof value !== 'object') return false;\n const candidate = value as Partial<EditorSceneVec3>;\n return typeof candidate.x === 'number'\n && typeof candidate.y === 'number'\n && typeof candidate.z === 'number';\n}\n\nexport function createVec3(x: number, y: number, z: number): EditorSceneVec3 {\n return { x, y, z };\n}\n\nexport function addVec3(left: EditorSceneVec3, right: EditorSceneVec3): EditorSceneVec3 {\n return {\n x: left.x + right.x,\n y: left.y + right.y,\n z: left.z + right.z,\n };\n}\n\nexport function rotateVec3ByEuler(\n value: EditorSceneVec3,\n rotation: EditorSceneVec3,\n): EditorSceneVec3 {\n const cx = Math.cos(rotation.x);\n const sx = Math.sin(rotation.x);\n const cy = Math.cos(rotation.y);\n const sy = Math.sin(rotation.y);\n const cz = Math.cos(rotation.z);\n const sz = Math.sin(rotation.z);\n const afterX = {\n x: value.x,\n y: value.y * cx - value.z * sx,\n z: value.y * sx + value.z * cx,\n };\n const afterY = {\n x: afterX.x * cy + afterX.z * sy,\n y: afterX.y,\n z: -afterX.x * sy + afterX.z * cy,\n };\n return {\n x: afterY.x * cz - afterY.y * sz,\n y: afterY.x * sz + afterY.y * cz,\n z: afterY.z,\n };\n}\n\nexport function createBoundsCenter(points: readonly EditorSceneVec3[]): EditorSceneVec3 {\n if (points.length === 0) return createVec3(0, 0, 0);\n const min = {\n x: Math.min(...points.map(point => point.x)),\n y: Math.min(...points.map(point => point.y)),\n z: Math.min(...points.map(point => point.z)),\n };\n const max = {\n x: Math.max(...points.map(point => point.x)),\n y: Math.max(...points.map(point => point.y)),\n z: Math.max(...points.map(point => point.z)),\n };\n return {\n x: (min.x + max.x) / 2,\n y: (min.y + max.y) / 2,\n z: (min.z + max.z) / 2,\n };\n}\n\nfunction readEditorSceneMarkerGraph(document: EditorSceneDocument): SpatialMarkerGraph | null {\n return ((document.scene as { markerGraph?: SpatialMarkerGraph | null }).markerGraph) ?? null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/marker-scene/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/marker-scene/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC","sourcesContent":["export * from './geometry';\nexport * from './game-objects';\nexport * from './facade';\n"]}
|