@fps-games/editor 0.2.0-beta.1 → 0.2.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-bridge/capabilities/assets.js.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/selection.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/transform.js.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
- package/dist/agent-bridge/capability-sources.js.map +1 -1
- package/dist/agent-bridge/diagnostics.js.map +1 -1
- package/dist/agent-bridge/index.js.map +1 -1
- package/dist/agent-bridge/register.js.map +1 -1
- package/dist/agent-bridge/shared.js.map +1 -1
- package/dist/agent-bridge/source-types.js.map +1 -1
- package/dist/authoring-apply.js.map +1 -1
- package/dist/build-info.json +48 -48
- package/dist/editor-plugin-agent-capabilities.js.map +1 -1
- package/dist/editor-plugin-hierarchy-command.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
- package/dist/local-editor-agent-actions.js.map +1 -1
- package/dist/local-editor-agent-bridge-transport.js.map +1 -1
- package/dist/local-editor-agent-bridge.js.map +1 -1
- package/dist/local-editor-agent-context.js.map +1 -1
- package/dist/local-editor-harness.d.ts +57 -1
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +129 -0
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-marker-graph.js.map +1 -1
- package/dist/local-editor-performance-stats.js.map +1 -1
- package/dist/local-editor-plugin-inspector.js.map +1 -1
- package/dist/local-editor-plugin-panel.js.map +1 -1
- package/dist/local-editor-scene-render-scheduler.js.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
- package/dist/playable-babylon-facade.js.map +1 -1
- package/dist/playable-babylon-outline-inspector.js.map +1 -1
- package/dist/playable-babylon-outline-runtime.js.map +1 -1
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +36 -0
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-rendering.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +50 -3
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-runtime.js.map +1 -1
- package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
- package/dist/playable-sdk-vite.js.map +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.d.ts.map +1 -1
- package/dist/playable-standard-project.js +8 -3
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/static-shadow-cpu-worker.js.map +1 -1
- package/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
- package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +4 -4
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +17 -2
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +24 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +6 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +83 -23
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts +22 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +108 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +4 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +54 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +3 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +10 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +82 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +11 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +46 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +25 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +37 -20
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +10 -17
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/package.json +3 -3
- package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
- package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +5 -1
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +5 -5
- package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +27 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/runtime-preview/nodes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/runtime-preview/nodes.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n resolveArtistMaterialProfile,\n resolveSceneMaterialAssetKind,\n type ArtistMaterialSlotBinding,\n type ArtistMaterialProfile,\n type MaterialSlotSourceDescriptor,\n type SceneMaterialAssetConfig,\n type SceneNodeMaterialBindingConfig,\n} from '@fps-games/editor-protocol';\nimport {\n cloneEditorTransformSnapshot,\n} from '@fps-games/editor-core';\nimport {\n findEditorSceneModelRenderer,\n findEditorSceneTransform,\n type EditorSceneCameraRig,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n} from '../document/index';\nimport {\n isEditorSceneCameraGameObject,\n isEditorSceneLightGameObject,\n isEditorSceneRootGameObjectId,\n} from '../session/index';\n\ntype RuntimePreviewMaterialSlotBoundingBox = {\n min?: [number, number, number];\n max?: [number, number, number];\n};\n\ntype RuntimePreviewMaterialSlotSourceDescriptor = MaterialSlotSourceDescriptor & {\n triangleCount?: number;\n boundingBox?: RuntimePreviewMaterialSlotBoundingBox;\n};\nimport {\n readEditorSceneGameObjectLocalTransform,\n} from '../session/transform';\nimport {\n normalizeEditorSceneMaterialSlotOwnerPath,\n} from '../material-binding/paths';\nimport {\n resolveEditorShadowPlan,\n} from '../shadow-system/resolver';\nimport type {\n EditorShadowResolvedPlan,\n} from '@fps-games/playable-rendering';\nimport {\n readEditorSceneMaterialSlotDescriptor,\n} from '../material-binding/binding';\nimport type {\n EditorSceneMaterialSlotDescriptor,\n} from '../material-binding/types';\nimport type {\n EditorSceneRuntimePreviewAsset,\n EditorSceneRuntimePreviewMainCameraRig,\n EditorSceneRuntimePreviewNode,\n EditorSceneRuntimePreviewOutline,\n} from './types';\n\nexport function createEditorSceneRuntimePreviewNodes<TDocument extends EditorSceneDocument>(\n editorScene: TDocument,\n): Array<EditorSceneRuntimePreviewNode> {\n return editorScene.scene.gameObjects.map((gameObject) => (\n createEditorSceneRuntimePreviewNode(editorScene, gameObject)\n ));\n}\n\nexport function createEditorSceneRuntimePreviewNode<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n editorScene: TDocument,\n gameObject: TGameObject,\n): EditorSceneRuntimePreviewNode {\n const transform = findEditorSceneTransform(gameObject);\n const localTransform = transform ? readEditorSceneGameObjectLocalTransform(gameObject) : null;\n const renderer = findEditorSceneModelRenderer(gameObject);\n const asset = renderer\n ? editorScene.assets.find((entry) => entry.id === renderer.assetId)\n : undefined;\n const runtimeKind = isEditorSceneCameraGameObject(gameObject)\n ? 'camera'\n : isEditorSceneLightGameObject(gameObject)\n ? 'light'\n : undefined;\n const rendering = createEditorSceneRuntimePreviewRendering(gameObject);\n const outline = readEditorSceneRuntimePreviewOutline(gameObject.overrides);\n const materialProjection = createEditorSceneRuntimePreviewMaterialProjection(editorScene, gameObject, asset);\n const shadowPlan = createEditorSceneRuntimePreviewShadowPlan(editorScene, gameObject);\n\n return {\n id: gameObject.id,\n name: gameObject.name ?? gameObject.id,\n parentId: gameObject.parentId ?? null,\n active: gameObject.active,\n ...(isEditorSceneRootGameObjectId(gameObject.id) ? { helperKind: 'root' as const } : {}),\n ...(runtimeKind ? { runtimeKind } : {}),\n ...(gameObject.shadow ? { shadow: structuredClone(gameObject.shadow) } : {}),\n ...(shadowPlan ? { shadowPlan } : {}),\n ...(rendering ? { rendering } : {}),\n ...(gameObject.camera ? { camera: structuredClone(gameObject.camera) } : {}),\n ...(gameObject.light ? { light: structuredClone(gameObject.light) } : {}),\n transform: localTransform ? cloneEditorTransformSnapshot(localTransform) : undefined,\n asset: asset ? createEditorSceneRuntimePreviewModelAsset(asset) : null,\n primitive: gameObject.primitive\n ? { shape: gameObject.primitive.shape }\n : null,\n ...(outline ? { outline } : {}),\n ...materialProjection,\n };\n}\n\nfunction createEditorSceneRuntimePreviewShadowPlan(\n editorScene: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n): EditorShadowResolvedPlan | undefined {\n const plan = resolveEditorShadowPlan({\n document: editorScene,\n casterId: gameObject.id,\n });\n const hasAuthoringShadow = !!gameObject.shadow;\n return hasAuthoringShadow || plan.backend !== 'none' || plan.diagnostics.length > 0\n ? plan\n : undefined;\n}\n\nfunction createEditorSceneRuntimePreviewRendering(gameObject: EditorSceneGameObject): EditorSceneRuntimePreviewNode['rendering'] | undefined {\n const rendering = gameObject.rendering && typeof gameObject.rendering === 'object' && !Array.isArray(gameObject.rendering)\n ? gameObject.rendering\n : undefined;\n const renderingGroupId = rendering?.renderingGroupId;\n const alphaIndex = typeof rendering?.alphaIndex === 'number' && Number.isFinite(rendering.alphaIndex)\n ? rendering.alphaIndex\n : undefined;\n const previewRendering: NonNullable<EditorSceneRuntimePreviewNode['rendering']> = {};\n if (renderingGroupId === 0 || renderingGroupId === 1 || renderingGroupId === 2 || renderingGroupId === 3) {\n previewRendering.renderingGroupId = renderingGroupId;\n }\n if (typeof alphaIndex === 'number' && Number.isFinite(alphaIndex)) previewRendering.alphaIndex = alphaIndex;\n return Object.keys(previewRendering).length > 0 ? previewRendering : undefined;\n}\n\nexport function createEditorSceneRuntimePreviewMainCameraRig<\n TDocument extends EditorSceneDocument,\n TCameraRig extends EditorSceneCameraRig,\n>(\n editorScene: TDocument,\n defaultCamera: TCameraRig,\n): EditorSceneRuntimePreviewMainCameraRig<TCameraRig> | null {\n const camera = editorScene.scene.gameObjects.find(isEditorSceneCameraGameObject);\n if (!camera || camera.active === false) return null;\n return {\n settings: {\n ...defaultCamera,\n ...(camera.camera ?? {}),\n },\n };\n}\n\nfunction createEditorSceneRuntimePreviewModelAsset(asset: EditorSceneDocument['assets'][number]): EditorSceneRuntimePreviewAsset {\n return {\n id: asset.id,\n transform: asset.defaults && typeof asset.defaults === 'object'\n ? (asset.defaults as Record<string, unknown>).transform\n : undefined,\n metadata: {\n ...(asset.metadata ?? {}),\n assetId: asset.id,\n ...(asset.guid ? { guid: asset.guid } : {}),\n type: 'model',\n ...(asset.external ? { external: structuredClone(asset.external) } : {}),\n },\n };\n}\n\nfunction readEditorSceneRuntimePreviewOutline(overrides: unknown): EditorSceneRuntimePreviewOutline | null {\n if (!overrides || typeof overrides !== 'object' || Array.isArray(overrides)) return null;\n const outlineSource = (overrides as Record<string, unknown>).outline;\n if (!outlineSource || typeof outlineSource !== 'object' || Array.isArray(outlineSource)) return null;\n const source = outlineSource as Record<string, unknown>;\n const outline: EditorSceneRuntimePreviewOutline = {};\n if (source.strategy === 'babylon-default') outline.strategy = source.strategy;\n if (typeof source.renderOutline === 'boolean') outline.renderOutline = source.renderOutline;\n if (typeof source.outlineWidth === 'number' && Number.isFinite(source.outlineWidth)) outline.outlineWidth = source.outlineWidth;\n const color = readEditorSceneRuntimePreviewOutlineColor(source.outlineColor);\n if (color) outline.outlineColor = color;\n return Object.keys(outline).length > 0 ? outline : null;\n}\n\nfunction readEditorSceneRuntimePreviewOutlineColor(value: unknown): EditorSceneRuntimePreviewOutline['outlineColor'] | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n const source = value as Record<string, unknown>;\n const { r, g, b } = source;\n if (typeof r !== 'number' || typeof g !== 'number' || typeof b !== 'number') return null;\n if (![r, g, b].every(component => Number.isFinite(component))) return null;\n return { r, g, b };\n}\n\nfunction createEditorSceneRuntimePreviewMaterialProjection(\n editorScene: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n asset: EditorSceneDocument['assets'][number] | undefined,\n): Pick<\n EditorSceneRuntimePreviewNode,\n 'artistMaterialKind' | 'artistMaterialProfile' | 'artistMaterialSlotBindings'\n> {\n const materialAssets = readEditorSceneRuntimePreviewMaterialAssets(editorScene);\n const overrides = readEditorSceneRuntimePreviewMaterialOverrides(gameObject);\n const root = resolveRuntimePreviewMaterialProfile(materialAssets, overrides?.materialBinding);\n const slotBindings = createEditorSceneRuntimePreviewMaterialSlotBindings(materialAssets, overrides, asset);\n return {\n ...(root.profile ? { artistMaterialProfile: root.profile } : {}),\n ...(root.materialAsset ? { artistMaterialKind: resolveSceneMaterialAssetKind(root.materialAsset) } : {}),\n ...(slotBindings.length > 0 ? { artistMaterialSlotBindings: slotBindings } : {}),\n };\n}\n\nfunction createEditorSceneRuntimePreviewMaterialSlotBindings(\n materialAssets: readonly SceneMaterialAssetConfig[],\n overrides: RuntimePreviewMaterialOverrides | null,\n asset: EditorSceneDocument['assets'][number] | undefined,\n): ArtistMaterialSlotBinding[] {\n const slotBindings: ArtistMaterialSlotBinding[] = [];\n const slotsBySlotId = readRuntimePreviewMaterialSlotsBySlotId(asset);\n for (const [slotId, binding] of Object.entries(overrides?.materialSlotBindings ?? {})) {\n const resolved = resolveRuntimePreviewMaterialProfile(materialAssets, binding);\n if (!resolved.profile) continue;\n const fallbackSlotId = slotId.trim();\n if (!fallbackSlotId) continue;\n const slot = slotsBySlotId.get(fallbackSlotId);\n if (!slot) throw new Error(`schema.invalidReference: materialSlotBindings.${fallbackSlotId}`);\n slotBindings.push(createRuntimePreviewArtistMaterialSlotBinding(slot, resolved.profile, resolved.materialAsset));\n }\n return slotBindings;\n}\n\nfunction createRuntimePreviewArtistMaterialSlotBinding(\n slot: EditorSceneMaterialSlotDescriptor | MaterialSlotSourceDescriptor,\n profile: ArtistMaterialProfile,\n materialAsset: SceneMaterialAssetConfig | null,\n): ArtistMaterialSlotBinding {\n const sourceSlot = createRuntimePreviewMaterialSlotSourceDescriptor(slot);\n return {\n slot: sourceSlot,\n profile,\n ...(materialAsset ? { materialKind: resolveSceneMaterialAssetKind(materialAsset) } : {}),\n };\n}\n\nfunction createRuntimePreviewMaterialSlotSourceDescriptor(\n slot: EditorSceneMaterialSlotDescriptor | MaterialSlotSourceDescriptor,\n): MaterialSlotSourceDescriptor {\n const triangleCount = readRuntimePreviewMaterialSlotTriangleCount(slot);\n const boundingBox = readRuntimePreviewMaterialSlotBoundingBox(slot);\n const descriptor: RuntimePreviewMaterialSlotSourceDescriptor = {\n slotId: slot.slotId,\n ownerNodePath: slot.ownerNodePath,\n ...(slot.label ? { label: slot.label } : {}),\n ...(slot.nodeIndex != null ? { nodeIndex: slot.nodeIndex } : {}),\n ...(slot.nodeIndexPath && slot.nodeIndexPath.length > 0 ? { nodeIndexPath: [...slot.nodeIndexPath] } : {}),\n ...(slot.meshIndex != null ? { meshIndex: slot.meshIndex } : {}),\n ...(slot.primitiveIndex != null ? { primitiveIndex: slot.primitiveIndex } : {}),\n ...(slot.sourceMaterialIndex != null ? { sourceMaterialIndex: slot.sourceMaterialIndex } : {}),\n ...(slot.sourceMaterialIndices && slot.sourceMaterialIndices.length > 0\n ? { sourceMaterialIndices: [...slot.sourceMaterialIndices] }\n : {}),\n ...(slot.materialName ? { materialName: slot.materialName } : {}),\n ...(slot.materialNames && slot.materialNames.length > 0 ? { materialNames: [...slot.materialNames] } : {}),\n ...(triangleCount != null ? { triangleCount } : {}),\n ...(boundingBox ? { boundingBox } : {}),\n };\n return descriptor;\n}\n\nfunction readRuntimePreviewMaterialSlotTriangleCount(slot: unknown): number | undefined {\n const value = slot && typeof slot === 'object' ? (slot as Record<string, unknown>).triangleCount : undefined;\n return typeof value === 'number' && Number.isFinite(value) ? value : undefined;\n}\n\nfunction readRuntimePreviewMaterialSlotBoundingBox(slot: unknown): RuntimePreviewMaterialSlotBoundingBox | undefined {\n const value = slot && typeof slot === 'object' ? (slot as Record<string, unknown>).boundingBox : undefined;\n if (!value || typeof value !== 'object' || Array.isArray(value)) return undefined;\n const record = value as Record<string, unknown>;\n const min = readRuntimePreviewVec3Tuple(record.min);\n const max = readRuntimePreviewVec3Tuple(record.max);\n if (!min && !max) return undefined;\n return {\n ...(min ? { min } : {}),\n ...(max ? { max } : {}),\n };\n}\n\nfunction readRuntimePreviewVec3Tuple(value: unknown): [number, number, number] | null {\n if (!Array.isArray(value) || value.length < 3) return null;\n const [x, y, z] = value;\n return typeof x === 'number' && Number.isFinite(x)\n && typeof y === 'number' && Number.isFinite(y)\n && typeof z === 'number' && Number.isFinite(z)\n ? [x, y, z]\n : null;\n}\n\nfunction resolveRuntimePreviewMaterialProfile(\n materialAssets: readonly SceneMaterialAssetConfig[],\n binding: SceneNodeMaterialBindingConfig | null | undefined,\n): { profile?: ArtistMaterialProfile; materialAsset: SceneMaterialAssetConfig | null } {\n const result = resolveArtistMaterialProfile({\n materialAssets,\n binding,\n });\n return {\n ...(Object.keys(result.profile).length > 0 ? { profile: result.profile } : {}),\n materialAsset: result.materialAsset,\n };\n}\n\nfunction readEditorSceneRuntimePreviewMaterialAssets(\n editorScene: EditorSceneDocument,\n): readonly SceneMaterialAssetConfig[] {\n const materialAssets = editorScene.scene.materialAssets;\n return Array.isArray(materialAssets) ? materialAssets as SceneMaterialAssetConfig[] : [];\n}\n\nfunction readEditorSceneRuntimePreviewMaterialOverrides(\n gameObject: EditorSceneGameObject,\n): RuntimePreviewMaterialOverrides | null {\n const overrides = gameObject.overrides;\n return overrides && typeof overrides === 'object' && !Array.isArray(overrides)\n ? overrides as RuntimePreviewMaterialOverrides\n : null;\n}\n\nfunction readRuntimePreviewMaterialSlotsBySlotId(\n asset: EditorSceneDocument['assets'][number] | undefined,\n): Map<string, EditorSceneMaterialSlotDescriptor> {\n const slotsBySlotId = new Map<string, EditorSceneMaterialSlotDescriptor>();\n const rawSlots = Array.isArray(asset?.metadata?.materialSlots) ? asset.metadata.materialSlots : [];\n for (const rawSlot of rawSlots) {\n const slot = readEditorSceneMaterialSlotDescriptor(rawSlot);\n if (slot?.slotId) slotsBySlotId.set(slot.slotId, slot);\n }\n return slotsBySlotId;\n}\n\ntype RuntimePreviewMaterialOverrides = {\n materialBinding?: SceneNodeMaterialBindingConfig;\n materialSlotBindings?: Record<string, SceneNodeMaterialBindingConfig | undefined>;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runtime-preview/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runtime-preview/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ArtistMaterialSlotBinding,\n ArtistMaterialProfile,\n SceneMaterialAssetKind,\n} from '@fps-games/editor-protocol';\nimport type {\n EditorTransformSnapshot,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneCameraRig,\n EditorSceneColorRgb,\n EditorSceneGameObjectRendering,\n} from '../document/index';\nimport type {\n EditorShadowResolvedPlan,\n EditorShadowSettings,\n} from '@fps-games/playable-rendering';\n\nexport type EditorSceneRuntimePreviewKind = 'model' | 'texture';\n\nexport interface EditorSceneRuntimePreviewAsset {\n id: string;\n transform?: unknown;\n metadata?: Record<string, unknown>;\n}\n\nexport interface EditorSceneRuntimePreviewPrimitive<TShape extends string = string> {\n shape: TShape;\n}\n\nexport interface EditorSceneRuntimePreviewOutline {\n strategy?: 'babylon-default';\n renderOutline?: boolean;\n outlineWidth?: number;\n outlineColor?: EditorSceneColorRgb;\n}\n\nexport interface EditorSceneRuntimePreviewNode<TShape extends string = string> {\n id: string;\n name: string;\n parentId: string | null;\n active?: boolean;\n helperKind?: 'root';\n runtimeKind?: 'camera' | 'light';\n shadow?: EditorShadowSettings;\n shadowPlan?: EditorShadowResolvedPlan;\n rendering?: EditorSceneGameObjectRendering;\n camera?: EditorSceneCameraRig;\n light?: unknown;\n transform?: EditorTransformSnapshot;\n asset: EditorSceneRuntimePreviewAsset | null;\n primitive: EditorSceneRuntimePreviewPrimitive<TShape> | null;\n outline?: EditorSceneRuntimePreviewOutline | null;\n artistMaterialKind?: SceneMaterialAssetKind;\n artistMaterialProfile?: ArtistMaterialProfile;\n artistMaterialSlotBindings?: ArtistMaterialSlotBinding[];\n}\n\nexport interface EditorSceneRuntimePreviewMainCameraRig<TCameraRig = EditorSceneCameraRig> {\n settings: TCameraRig;\n}\n\nexport type EditorSceneRuntimePreviewAssetsModule = Record<string, unknown>;\n\nexport type EditorSceneRuntimePreviewImportPlanKind = 'model';\n\nexport type EditorSceneRuntimePreviewImportPlan = EditorSceneRuntimePreviewModelImportPlan;\n\nexport interface EditorSceneRuntimePreviewImportPlanBase {\n kind: EditorSceneRuntimePreviewImportPlanKind;\n assetId: string;\n assetKind: EditorSceneRuntimePreviewKind;\n url: string;\n diagnostic: EditorSceneRuntimePreviewMissingAssetUrlDiagnostic | null;\n}\n\nexport interface EditorSceneRuntimePreviewModelImportPlan extends EditorSceneRuntimePreviewImportPlanBase {\n kind: 'model';\n assetKind: 'model';\n}\n\nexport interface EditorSceneRuntimePreviewMissingAssetUrlDiagnostic {\n assetId: string;\n kind: EditorSceneRuntimePreviewKind;\n type: EditorSceneRuntimePreviewKind | null;\n relativePath?: unknown;\n external?: unknown;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CompilePlayableEditorSceneResult, PlayableEditorSceneCompilerBaseConfig, PlayableEditorSceneCompilerDocument, PlayableEditorSceneCompilerOptions } from './types';
|
|
2
2
|
export declare const PLAYABLE_EDITOR_SCENE_COMPILER_ID = "@fps-games/editor.playable-sdk.scene-compiler";
|
|
3
|
-
export declare const PLAYABLE_EDITOR_SCENE_COMPILER_VERSION = "
|
|
3
|
+
export declare const PLAYABLE_EDITOR_SCENE_COMPILER_VERSION = "2";
|
|
4
4
|
export declare function compileEditorSceneDocumentToSceneConfig<TDocument extends PlayableEditorSceneCompilerDocument, TSceneConfig extends PlayableEditorSceneCompilerBaseConfig>(editorDocument: TDocument, baseSceneConfig: TSceneConfig, options?: PlayableEditorSceneCompilerOptions<TDocument['scene']['gameObjects'][number]>): CompilePlayableEditorSceneResult<TSceneConfig>;
|
|
5
5
|
//# sourceMappingURL=compiler.d.ts.map
|
|
@@ -6,7 +6,7 @@ import { getEditorSceneAuthoringSourceRef, } from '../authoring/index.js';
|
|
|
6
6
|
import { assertPlayableEditorSceneDocumentContract } from './validation.js';
|
|
7
7
|
import { assertEditorSceneStaticShadowArtifactContract } from '../static-shadows/index.js';
|
|
8
8
|
export const PLAYABLE_EDITOR_SCENE_COMPILER_ID = '@fps-games/editor.playable-sdk.scene-compiler';
|
|
9
|
-
export const PLAYABLE_EDITOR_SCENE_COMPILER_VERSION = '
|
|
9
|
+
export const PLAYABLE_EDITOR_SCENE_COMPILER_VERSION = '2';
|
|
10
10
|
export function compileEditorSceneDocumentToSceneConfig(editorDocument, baseSceneConfig, options = {}) {
|
|
11
11
|
assertPlayableEditorSceneDocumentContract(editorDocument);
|
|
12
12
|
const baseSceneRecord = baseSceneConfig;
|
|
@@ -24,7 +24,7 @@ export function compileEditorSceneDocumentToSceneConfig(editorDocument, baseScen
|
|
|
24
24
|
compilerVersion: PLAYABLE_EDITOR_SCENE_COMPILER_VERSION,
|
|
25
25
|
compiledAt: new Date().toISOString(),
|
|
26
26
|
};
|
|
27
|
-
nextSceneConfig.schemaVersion =
|
|
27
|
+
nextSceneConfig.schemaVersion = 3;
|
|
28
28
|
nextSceneConfig.meta = {
|
|
29
29
|
...(nextSceneConfig.meta ?? {}),
|
|
30
30
|
generatedFrom,
|
|
@@ -173,18 +173,90 @@ function isEditorSceneModelAsset(asset) {
|
|
|
173
173
|
return asset.type === 'glb';
|
|
174
174
|
}
|
|
175
175
|
function compileAsset(asset) {
|
|
176
|
+
const url = readEditorSceneRuntimeAssetUrl(asset);
|
|
177
|
+
const materialSlots = compileEditorSceneRuntimeMaterialSlots(asset);
|
|
178
|
+
const external = compileEditorSceneRuntimeAssetExternal(asset.external);
|
|
176
179
|
return {
|
|
177
180
|
id: asset.id,
|
|
178
181
|
type: asset.type,
|
|
179
182
|
...(asset.guid ? { guid: asset.guid } : {}),
|
|
180
|
-
...(
|
|
181
|
-
...(asset.
|
|
183
|
+
...(url ? { url } : {}),
|
|
184
|
+
...(typeof asset.warmupCount === 'number' && Number.isInteger(asset.warmupCount) && asset.warmupCount >= 0
|
|
185
|
+
? { warmupCount: asset.warmupCount }
|
|
186
|
+
: {}),
|
|
187
|
+
...(typeof asset.singleton === 'boolean' ? { singleton: asset.singleton } : {}),
|
|
182
188
|
...(typeof asset.materialMode === 'string' ? { materialMode: asset.materialMode } : {}),
|
|
183
189
|
...(asset.defaults ? { defaults: structuredClone(asset.defaults) } : {}),
|
|
184
|
-
...(
|
|
185
|
-
...(
|
|
190
|
+
...(external ? { external } : {}),
|
|
191
|
+
...(materialSlots.length > 0 ? { materialSlots } : {}),
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function compileEditorSceneRuntimeAssetExternal(value) {
|
|
195
|
+
const external = isRecord(value) ? value : undefined;
|
|
196
|
+
const platformAssetId = readNonEmptyString(external?.platformAssetId);
|
|
197
|
+
const assetUrl = readNonEmptyString(external?.assetUrl);
|
|
198
|
+
if (!platformAssetId && !assetUrl)
|
|
199
|
+
return undefined;
|
|
200
|
+
return {
|
|
201
|
+
...(platformAssetId ? { platformAssetId } : {}),
|
|
202
|
+
...(assetUrl ? { assetUrl } : {}),
|
|
186
203
|
};
|
|
187
204
|
}
|
|
205
|
+
function readEditorSceneRuntimeAssetUrl(asset) {
|
|
206
|
+
const metadata = isRecord(asset.metadata) ? asset.metadata : undefined;
|
|
207
|
+
const external = isRecord(asset.external) ? asset.external : undefined;
|
|
208
|
+
return readNonEmptyString(metadata?.url)
|
|
209
|
+
?? readNonEmptyString(external?.assetUrl)
|
|
210
|
+
?? undefined;
|
|
211
|
+
}
|
|
212
|
+
function compileEditorSceneRuntimeMaterialSlots(asset) {
|
|
213
|
+
const metadata = isRecord(asset.metadata) ? asset.metadata : undefined;
|
|
214
|
+
const rawSlots = Array.isArray(metadata?.materialSlots) ? metadata.materialSlots : [];
|
|
215
|
+
const sourceMeshNames = readEditorSceneAssetAnalysisMeshNames(metadata?.assetAnalysis);
|
|
216
|
+
return rawSlots.flatMap((rawSlot) => {
|
|
217
|
+
if (!isRecord(rawSlot))
|
|
218
|
+
return [];
|
|
219
|
+
const slotId = readNonEmptyString(rawSlot.slotId);
|
|
220
|
+
const ownerNodePath = readNonEmptyString(rawSlot.ownerNodePath);
|
|
221
|
+
if (!slotId || !ownerNodePath)
|
|
222
|
+
return [];
|
|
223
|
+
const meshIndex = readNonNegativeInteger(rawSlot.meshIndex);
|
|
224
|
+
const primitiveIndex = readNonNegativeInteger(rawSlot.primitiveIndex);
|
|
225
|
+
const sourceMaterialIndices = readUniqueNonNegativeIntegerArray([
|
|
226
|
+
...(Array.isArray(rawSlot.sourceMaterialIndices) ? rawSlot.sourceMaterialIndices : []),
|
|
227
|
+
rawSlot.sourceMaterialIndex,
|
|
228
|
+
]);
|
|
229
|
+
const label = readNonEmptyString(rawSlot.label);
|
|
230
|
+
const sourceMeshName = readNonEmptyString(rawSlot.sourceMeshName)
|
|
231
|
+
?? (meshIndex == null ? undefined : sourceMeshNames.get(meshIndex));
|
|
232
|
+
return [{
|
|
233
|
+
slotId,
|
|
234
|
+
ownerNodePath,
|
|
235
|
+
...(label ? { label } : {}),
|
|
236
|
+
...(meshIndex == null ? {} : { meshIndex }),
|
|
237
|
+
...(primitiveIndex == null ? {} : { primitiveIndex }),
|
|
238
|
+
...(sourceMaterialIndices.length > 0 ? { sourceMaterialIndices } : {}),
|
|
239
|
+
...(sourceMeshName ? { sourceMeshName } : {}),
|
|
240
|
+
}];
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
function readEditorSceneAssetAnalysisMeshNames(value) {
|
|
244
|
+
const analysis = isRecord(value) ? value : undefined;
|
|
245
|
+
const meshes = Array.isArray(analysis?.meshes) ? analysis.meshes : [];
|
|
246
|
+
return new Map(meshes.flatMap((mesh) => {
|
|
247
|
+
if (!isRecord(mesh))
|
|
248
|
+
return [];
|
|
249
|
+
const meshIndex = readNonNegativeInteger(mesh.meshIndex);
|
|
250
|
+
const name = readNonEmptyString(mesh.name);
|
|
251
|
+
return meshIndex == null || !name ? [] : [[meshIndex, name]];
|
|
252
|
+
}));
|
|
253
|
+
}
|
|
254
|
+
function readUniqueNonNegativeIntegerArray(values) {
|
|
255
|
+
return [...new Set(values.filter((value) => (typeof value === 'number' && Number.isInteger(value) && value >= 0)))];
|
|
256
|
+
}
|
|
257
|
+
function readNonNegativeInteger(value) {
|
|
258
|
+
return typeof value === 'number' && Number.isInteger(value) && value >= 0 ? value : undefined;
|
|
259
|
+
}
|
|
188
260
|
function compileGameObjectToRuntimeNodes(gameObject, sourceRef, editorDocument, options) {
|
|
189
261
|
const relation = resolveEditorScenePrefabInstanceRelation(editorDocument, gameObject.id);
|
|
190
262
|
if (relation.definition && isExplicitEditorScenePrefabCompositionAsset(relation.definition)) {
|
|
@@ -831,6 +903,10 @@ function isEditorScenePrefabMaterialOverrideKey(key) {
|
|
|
831
903
|
function isRecord(value) {
|
|
832
904
|
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
833
905
|
}
|
|
906
|
+
function readNonEmptyString(value) {
|
|
907
|
+
const trimmed = typeof value === 'string' ? value.trim() : '';
|
|
908
|
+
return trimmed || undefined;
|
|
909
|
+
}
|
|
834
910
|
function compileEditorSceneCamera(camera) {
|
|
835
911
|
const compiled = structuredClone(camera);
|
|
836
912
|
delete compiled.inspectorLanguage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/scene-compiler/compiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/scene-compiler/compiler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n findEditorSceneModelRenderer,\n findEditorSceneTransform,\n EDITOR_SCENE_PREFAB_COMPOSITION_VERSION,\n isEditorScenePrefabAsset,\n mergeEditorSceneMaterialBindingOverrides,\n mergeEditorScenePrefabOverrides,\n readEditorSceneNodeKind,\n readEditorScenePrefabNodes,\n readEditorScenePrefabRootNodeId,\n resolveEditorSceneGameObjectRendering,\n resolveEditorScenePrefabInstanceRelation,\n type EditorSceneAsset,\n type EditorSceneCameraRig,\n type EditorSceneLight,\n type EditorScenePrefabNode,\n type EditorSceneTransformComponent,\n} from '../document';\nimport {\n resolveEditorSceneMaterialAssetIntegrity,\n type EditorSceneMaterialAsset,\n} from '../material-binding';\nimport {\n resolveEditorShadowPlan,\n} from '../shadow-system';\nimport {\n mergeEditorShadowSettings,\n readEditorShadowSettingsResult,\n type EditorShadowResolvedPlan,\n type EditorShadowSettings,\n} from '@fps-games/playable-rendering';\nimport {\n getEditorSceneAuthoringSourceRef,\n} from '../authoring';\nimport type {\n CompilePlayableEditorSceneResult,\n PlayableEditorRuntimeGroupNode,\n PlayableEditorRuntimeInstanceNode,\n PlayableEditorRuntimeNodeVisualOverrides,\n PlayableEditorRuntimePrimitiveNode,\n PlayableEditorRuntimeSceneAssetConfig,\n PlayableEditorRuntimeSceneConfig,\n PlayableEditorRuntimeSceneNode,\n PlayableEditorRuntimeTransformNode,\n PlayableEditorSceneCompilerBaseConfig,\n PlayableEditorSceneCompilerDocument,\n PlayableEditorSceneCompilerGameObject,\n PlayableEditorSceneCompilerOptions,\n PlayableEditorSceneRuntimeSourceBinding,\n RuntimeMaterialBindingConfig,\n} from './types';\nimport { assertPlayableEditorSceneDocumentContract } from './validation';\nimport { assertEditorSceneStaticShadowArtifactContract } from '../static-shadows';\n\nexport const PLAYABLE_EDITOR_SCENE_COMPILER_ID = '@fps-games/editor.playable-sdk.scene-compiler';\nexport const PLAYABLE_EDITOR_SCENE_COMPILER_VERSION = '2';\n\nexport function compileEditorSceneDocumentToSceneConfig<\n TDocument extends PlayableEditorSceneCompilerDocument,\n TSceneConfig extends PlayableEditorSceneCompilerBaseConfig,\n>(\n editorDocument: TDocument,\n baseSceneConfig: TSceneConfig,\n options: PlayableEditorSceneCompilerOptions<TDocument['scene']['gameObjects'][number]> = {},\n): CompilePlayableEditorSceneResult<TSceneConfig> {\n assertPlayableEditorSceneDocumentContract(editorDocument);\n const baseSceneRecord = baseSceneConfig as PlayableEditorSceneCompilerBaseConfig & { staticShadows?: unknown };\n if (Object.prototype.hasOwnProperty.call(baseSceneRecord, 'staticShadows') && baseSceneRecord.staticShadows != null) {\n assertEditorSceneStaticShadowArtifactContract(baseSceneRecord.staticShadows, '$.staticShadows');\n }\n const nextSceneConfig = structuredClone(baseSceneConfig) as TSceneConfig;\n const previousScene = isRecord(nextSceneConfig.scene)\n ? nextSceneConfig.scene as Partial<NonNullable<PlayableEditorRuntimeSceneConfig['scene']>>\n : undefined;\n const sourceRef = getEditorSceneAuthoringSourceRef(editorDocument);\n const generatedFrom = {\n ...sourceRef,\n compilerId: PLAYABLE_EDITOR_SCENE_COMPILER_ID,\n compilerVersion: PLAYABLE_EDITOR_SCENE_COMPILER_VERSION,\n compiledAt: new Date().toISOString(),\n };\n nextSceneConfig.schemaVersion = 3;\n nextSceneConfig.meta = {\n ...(nextSceneConfig.meta ?? {}),\n generatedFrom,\n };\n\n const rootId = previousScene?.rootId || 'root';\n const compiledGameObjects = editorDocument.scene.gameObjects\n .filter((gameObject) => gameObject.id !== rootId);\n const materialAssets = resolveCompiledEditorSceneMaterialAssets(editorDocument);\n const documentWithResolvedMaterialAssets = {\n ...editorDocument,\n scene: {\n ...editorDocument.scene,\n materialAssets,\n },\n };\n const compiledNodes = compiledGameObjects.flatMap(gameObject => compileGameObjectToRuntimeNodes(\n gameObject,\n sourceRef,\n documentWithResolvedMaterialAssets,\n options,\n ));\n const compiledScene: NonNullable<PlayableEditorRuntimeSceneConfig['scene']> = {\n rootId,\n assets: documentWithResolvedMaterialAssets.assets\n .filter(isEditorSceneModelAsset)\n .map(compileAsset),\n nodes: compiledNodes,\n materialAssets,\n materials: previousScene?.materials ?? [],\n textures: previousScene?.textures ?? [],\n };\n nextSceneConfig.scene = compiledScene as TSceneConfig['scene'];\n\n return {\n sceneConfig: nextSceneConfig,\n summary: {\n assetCount: compiledScene.assets.length,\n gameObjectCount: editorDocument.scene.gameObjects.length,\n nodeCount: compiledScene.nodes.length,\n },\n };\n}\n\nfunction resolveCompiledEditorSceneMaterialAssets(\n editorDocument: PlayableEditorSceneCompilerDocument,\n): EditorSceneMaterialAsset[] {\n const materialAssets: EditorSceneMaterialAsset[] = structuredClone(editorDocument.scene.materialAssets ?? []);\n const integrity = resolveEditorSceneMaterialAssetIntegrity(\n createEditorSceneCompilerMaterialIntegrityDocument(editorDocument, materialAssets),\n );\n if (!integrity.ok) {\n throw new Error(`editor_scene_material_assets_missing: ${integrity.missingMaterialAssetIds.join(', ')}`);\n }\n return materialAssets;\n}\n\nfunction createEditorSceneCompilerMaterialIntegrityDocument(\n editorDocument: PlayableEditorSceneCompilerDocument,\n materialAssets: EditorSceneMaterialAsset[],\n): PlayableEditorSceneCompilerDocument {\n const documentWithMaterialAssets: PlayableEditorSceneCompilerDocument = {\n ...editorDocument,\n scene: {\n ...editorDocument.scene,\n materialAssets,\n },\n };\n return {\n ...documentWithMaterialAssets,\n scene: {\n ...documentWithMaterialAssets.scene,\n gameObjects: [\n ...documentWithMaterialAssets.scene.gameObjects.map((gameObject) => {\n const visualOverrides = compileEditorSceneVisualOverrides(gameObject, documentWithMaterialAssets);\n if (visualOverrides) {\n return {\n ...gameObject,\n overrides: visualOverrides,\n };\n }\n if (!('overrides' in gameObject)) return gameObject;\n const next = { ...gameObject };\n delete next.overrides;\n return next;\n }),\n ...createEditorSceneCompilerPrefabMaterialIntegrityGameObjects(documentWithMaterialAssets),\n ],\n },\n };\n}\n\nfunction createEditorSceneCompilerPrefabMaterialIntegrityGameObjects(\n editorDocument: PlayableEditorSceneCompilerDocument,\n): PlayableEditorSceneCompilerGameObject[] {\n const gameObjects: PlayableEditorSceneCompilerGameObject[] = [];\n for (const gameObject of editorDocument.scene.gameObjects) {\n const relation = resolveEditorScenePrefabInstanceRelation(editorDocument, gameObject.id);\n if (!relation.definition || !isExplicitEditorScenePrefabCompositionAsset(relation.definition)) continue;\n gameObjects.push(...createEditorSceneCompilerPrefabCompositionMaterialIntegrityGameObjects({\n editorDocument,\n prefabAsset: relation.definition,\n hostGameObject: gameObject,\n instanceOverrides: gameObject.overrides,\n visitedPrefabIds: new Set<string>(),\n }));\n }\n return gameObjects;\n}\n\nfunction createEditorSceneCompilerPrefabCompositionMaterialIntegrityGameObjects(input: {\n editorDocument: PlayableEditorSceneCompilerDocument;\n prefabAsset: EditorSceneAsset;\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n instanceOverrides?: unknown;\n visitedPrefabIds: Set<string>;\n}): PlayableEditorSceneCompilerGameObject[] {\n if (input.visitedPrefabIds.has(input.prefabAsset.id)) return [];\n input.visitedPrefabIds.add(input.prefabAsset.id);\n const nodes = orderEditorScenePrefabNodesForCompile(\n readEditorScenePrefabNodes(input.prefabAsset),\n readEditorScenePrefabRootNodeId(input.prefabAsset) ?? '',\n );\n const rootNode = nodes.find(node => node.id === readEditorScenePrefabRootNodeId(input.prefabAsset));\n if (!rootNode) {\n input.visitedPrefabIds.delete(input.prefabAsset.id);\n return [];\n }\n const primaryModelNodeId = findEditorScenePrefabPrimaryModelNodeId(nodes, input.prefabAsset);\n const gameObjects: PlayableEditorSceneCompilerGameObject[] = [];\n for (const node of nodes) {\n if (node.kind === 'prefabInstance' && node.childPrefabId) {\n const childPrefab = input.editorDocument.assets.find(asset => asset.id === node.childPrefabId);\n if (childPrefab && isExplicitEditorScenePrefabCompositionAsset(childPrefab)) {\n gameObjects.push(...createEditorSceneCompilerPrefabCompositionMaterialIntegrityGameObjects({\n editorDocument: input.editorDocument,\n prefabAsset: childPrefab,\n hostGameObject: input.hostGameObject,\n instanceOverrides: node.overrides,\n visitedPrefabIds: new Set(input.visitedPrefabIds),\n }));\n continue;\n }\n continue;\n }\n\n const syntheticGameObject = createEditorSceneCompilerPrefabCompositionMaterialGameObject(input.hostGameObject, node);\n if (!syntheticGameObject) continue;\n const asset = node.kind === 'model' && node.sourceAssetId\n ? input.editorDocument.assets.find(asset => asset.id === node.sourceAssetId)\n : undefined;\n const overrides = compileEditorScenePrefabCompositionVisualOverrides({\n hostGameObject: syntheticGameObject,\n prefabAsset: input.prefabAsset,\n rootNode,\n node,\n asset,\n editorDocument: input.editorDocument,\n instanceOverrides: node.id === primaryModelNodeId ? input.instanceOverrides : undefined,\n });\n if (!overrides) continue;\n gameObjects.push({\n ...syntheticGameObject,\n overrides,\n });\n }\n input.visitedPrefabIds.delete(input.prefabAsset.id);\n return gameObjects;\n}\n\ntype EditorSceneModelAsset = EditorSceneAsset & { type: 'glb' };\n\nfunction isEditorSceneModelAsset(asset: EditorSceneAsset): asset is EditorSceneModelAsset {\n return asset.type === 'glb';\n}\n\nfunction compileAsset(asset: EditorSceneModelAsset): PlayableEditorRuntimeSceneAssetConfig {\n const url = readEditorSceneRuntimeAssetUrl(asset);\n const materialSlots = compileEditorSceneRuntimeMaterialSlots(asset);\n const external = compileEditorSceneRuntimeAssetExternal(asset.external);\n return {\n id: asset.id,\n type: asset.type,\n ...(asset.guid ? { guid: asset.guid } : {}),\n ...(url ? { url } : {}),\n ...(typeof asset.warmupCount === 'number' && Number.isInteger(asset.warmupCount) && asset.warmupCount >= 0\n ? { warmupCount: asset.warmupCount }\n : {}),\n ...(typeof asset.singleton === 'boolean' ? { singleton: asset.singleton } : {}),\n ...(typeof asset.materialMode === 'string' ? { materialMode: asset.materialMode } : {}),\n ...(asset.defaults ? { defaults: structuredClone(asset.defaults) } : {}),\n ...(external ? { external } : {}),\n ...(materialSlots.length > 0 ? { materialSlots } : {}),\n };\n}\n\nfunction compileEditorSceneRuntimeAssetExternal(value: unknown): Record<string, string> | undefined {\n const external = isRecord(value) ? value : undefined;\n const platformAssetId = readNonEmptyString(external?.platformAssetId);\n const assetUrl = readNonEmptyString(external?.assetUrl);\n if (!platformAssetId && !assetUrl) return undefined;\n return {\n ...(platformAssetId ? { platformAssetId } : {}),\n ...(assetUrl ? { assetUrl } : {}),\n };\n}\n\nfunction readEditorSceneRuntimeAssetUrl(asset: EditorSceneModelAsset): string | undefined {\n const metadata = isRecord(asset.metadata) ? asset.metadata : undefined;\n const external = isRecord(asset.external) ? asset.external : undefined;\n return readNonEmptyString(metadata?.url)\n ?? readNonEmptyString(external?.assetUrl)\n ?? undefined;\n}\n\nfunction compileEditorSceneRuntimeMaterialSlots(\n asset: EditorSceneModelAsset,\n): NonNullable<PlayableEditorRuntimeSceneAssetConfig['materialSlots']> {\n const metadata = isRecord(asset.metadata) ? asset.metadata : undefined;\n const rawSlots = Array.isArray(metadata?.materialSlots) ? metadata.materialSlots : [];\n const sourceMeshNames = readEditorSceneAssetAnalysisMeshNames(metadata?.assetAnalysis);\n return rawSlots.flatMap((rawSlot) => {\n if (!isRecord(rawSlot)) return [];\n const slotId = readNonEmptyString(rawSlot.slotId);\n const ownerNodePath = readNonEmptyString(rawSlot.ownerNodePath);\n if (!slotId || !ownerNodePath) return [];\n const meshIndex = readNonNegativeInteger(rawSlot.meshIndex);\n const primitiveIndex = readNonNegativeInteger(rawSlot.primitiveIndex);\n const sourceMaterialIndices = readUniqueNonNegativeIntegerArray([\n ...(Array.isArray(rawSlot.sourceMaterialIndices) ? rawSlot.sourceMaterialIndices : []),\n rawSlot.sourceMaterialIndex,\n ]);\n const label = readNonEmptyString(rawSlot.label);\n const sourceMeshName = readNonEmptyString(rawSlot.sourceMeshName)\n ?? (meshIndex == null ? undefined : sourceMeshNames.get(meshIndex));\n return [{\n slotId,\n ownerNodePath,\n ...(label ? { label } : {}),\n ...(meshIndex == null ? {} : { meshIndex }),\n ...(primitiveIndex == null ? {} : { primitiveIndex }),\n ...(sourceMaterialIndices.length > 0 ? { sourceMaterialIndices } : {}),\n ...(sourceMeshName ? { sourceMeshName } : {}),\n }];\n });\n}\n\nfunction readEditorSceneAssetAnalysisMeshNames(value: unknown): Map<number, string> {\n const analysis = isRecord(value) ? value : undefined;\n const meshes = Array.isArray(analysis?.meshes) ? analysis.meshes : [];\n return new Map(meshes.flatMap((mesh) => {\n if (!isRecord(mesh)) return [];\n const meshIndex = readNonNegativeInteger(mesh.meshIndex);\n const name = readNonEmptyString(mesh.name);\n return meshIndex == null || !name ? [] : [[meshIndex, name] as const];\n }));\n}\n\nfunction readUniqueNonNegativeIntegerArray(values: unknown[]): number[] {\n return [...new Set(values.filter((value): value is number => (\n typeof value === 'number' && Number.isInteger(value) && value >= 0\n )))];\n}\n\nfunction readNonNegativeInteger(value: unknown): number | undefined {\n return typeof value === 'number' && Number.isInteger(value) && value >= 0 ? value : undefined;\n}\n\nfunction compileGameObjectToRuntimeNodes(\n gameObject: PlayableEditorSceneCompilerGameObject,\n sourceRef: PlayableEditorSceneRuntimeSourceBinding,\n editorDocument: PlayableEditorSceneCompilerDocument,\n options: PlayableEditorSceneCompilerOptions,\n): PlayableEditorRuntimeSceneNode[] {\n const relation = resolveEditorScenePrefabInstanceRelation(\n editorDocument,\n gameObject.id,\n );\n if (relation.definition && isExplicitEditorScenePrefabCompositionAsset(relation.definition)) {\n return compileEditorScenePrefabCompositionInstance(\n gameObject,\n relation.definition,\n sourceRef,\n editorDocument,\n new Set<string>(),\n );\n }\n return [compileGameObject(gameObject, sourceRef, editorDocument, options)];\n}\n\nfunction compileGameObject(\n gameObject: PlayableEditorSceneCompilerGameObject,\n sourceRef: PlayableEditorSceneRuntimeSourceBinding,\n editorDocument: PlayableEditorSceneCompilerDocument,\n options: PlayableEditorSceneCompilerOptions = {},\n): PlayableEditorRuntimeSceneNode {\n const transform = findEditorSceneTransform(gameObject);\n const modelRenderer = findEditorSceneModelRenderer(gameObject);\n const primitiveRenderer = findEditorScenePrimitiveRenderer(gameObject);\n const nodeKind = readEditorSceneNodeKind(gameObject);\n const visualOverrides = compileEditorSceneVisualOverrides(gameObject, editorDocument);\n const rendering = resolveEditorSceneGameObjectRendering(gameObject);\n const source: PlayableEditorSceneRuntimeSourceBinding = {\n sourceId: sourceRef.sourceId,\n sourceType: sourceRef.sourceType,\n revision: sourceRef.revision,\n ...(gameObject.guid ? { objectGuid: gameObject.guid } : {}),\n objectId: gameObject.id,\n component: modelRenderer ? 'ModelRenderer' : (primitiveRenderer || nodeKind === 'primitive') ? 'PrimitiveRenderer' : nodeKind === 'transform' ? 'Transform' : 'GameObject',\n };\n const base = {\n id: gameObject.id,\n ...(gameObject.name ? { name: gameObject.name } : {}),\n ...(gameObject.parentId ? { parentId: gameObject.parentId } : {}),\n ...(gameObject.active === false ? { enabled: false } : {}),\n ...(gameObject.shadow ? { shadow: structuredClone(gameObject.shadow) } : {}),\n ...compileEditorSceneGameObjectShadowPlan(editorDocument, gameObject),\n ...(rendering ? { rendering } : {}),\n source,\n ...(transform && 'position' in transform\n ? {\n transform: {\n position: transform.position,\n rotation: transform.rotation,\n ...(transform.scale ? { scale: transform.scale } : {}),\n },\n }\n : {}),\n };\n\n if (nodeKind === 'primitive') {\n return {\n ...base,\n kind: 'primitive',\n primitive: {\n shape: primitiveRenderer?.shape ?? 'cube',\n },\n ...(visualOverrides ? { overrides: visualOverrides } : {}),\n } satisfies PlayableEditorRuntimePrimitiveNode;\n }\n\n if (!modelRenderer) {\n if (nodeKind === 'transform') {\n return {\n ...base,\n kind: 'transform',\n ...(typeof gameObject.transformType === 'string' ? { transformType: gameObject.transformType } : {}),\n ...(gameObject.camera ? { camera: compileEditorSceneCamera(gameObject.camera) } : {}),\n ...(gameObject.light ? { light: compileEditorSceneLight(gameObject.light) } : {}),\n ...(gameObject.marker ? {\n marker: {\n label: gameObject.name || gameObject.id,\n ...structuredClone(gameObject.marker),\n },\n } : {}),\n ...readEditorSceneCompilerCustomTransformRuntimeData(gameObject, options),\n ...(visualOverrides ? { overrides: visualOverrides } : {}),\n } satisfies PlayableEditorRuntimeTransformNode;\n }\n return {\n ...base,\n kind: 'group',\n };\n }\n\n return {\n ...base,\n kind: 'instance',\n instance: {\n assetId: modelRenderer.assetId,\n },\n ...(visualOverrides ? { overrides: visualOverrides } : {}),\n } satisfies PlayableEditorRuntimeInstanceNode;\n}\n\nfunction compileEditorScenePrefabCompositionInstance(\n gameObject: PlayableEditorSceneCompilerGameObject,\n prefabAsset: EditorSceneAsset,\n sourceRef: PlayableEditorSceneRuntimeSourceBinding,\n editorDocument: PlayableEditorSceneCompilerDocument,\n visitedPrefabIds: Set<string>,\n): PlayableEditorRuntimeSceneNode[] {\n return compileEditorScenePrefabCompositionNodes({\n prefabAsset,\n sourceRef,\n editorDocument,\n hostGameObject: gameObject,\n rootRuntimeId: gameObject.id,\n rootParentId: gameObject.parentId,\n rootName: gameObject.name ?? prefabAsset.displayName ?? prefabAsset.id,\n rootTransform: findEditorSceneTransform(gameObject) ?? undefined,\n rootActive: gameObject.active,\n rootShadow: gameObject.shadow,\n instanceOverrides: gameObject.overrides,\n propertyPathPrefix: `assets.${prefabAsset.id}.prefab.nodes`,\n visitedPrefabIds,\n });\n}\n\nfunction compileEditorScenePrefabCompositionNodes(input: {\n prefabAsset: EditorSceneAsset;\n sourceRef: PlayableEditorSceneRuntimeSourceBinding;\n editorDocument: PlayableEditorSceneCompilerDocument;\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n rootRuntimeId: string;\n rootParentId?: string;\n rootName?: string;\n rootTransform?: EditorSceneTransformComponent;\n rootActive?: boolean;\n rootShadow?: PlayableEditorSceneCompilerGameObject['shadow'];\n instanceOverrides?: unknown;\n propertyPathPrefix: string;\n visitedPrefabIds: Set<string>;\n}): PlayableEditorRuntimeSceneNode[] {\n if (input.visitedPrefabIds.has(input.prefabAsset.id)) {\n return [compileEditorScenePrefabPlaceholderNode({\n id: input.rootRuntimeId,\n name: input.rootName ?? input.prefabAsset.displayName ?? input.prefabAsset.id,\n parentId: input.rootParentId,\n transform: input.rootTransform,\n editorDocument: input.editorDocument,\n sourceRef: input.sourceRef,\n hostGameObject: input.hostGameObject,\n component: 'PrefabCycle',\n propertyPath: input.propertyPathPrefix,\n })];\n }\n input.visitedPrefabIds.add(input.prefabAsset.id);\n\n const prefabNodes = readEditorScenePrefabNodes(input.prefabAsset);\n const rootNodeId = readEditorScenePrefabRootNodeId(input.prefabAsset);\n const rootNode = rootNodeId\n ? prefabNodes.find(node => node.id === rootNodeId)\n : null;\n if (!rootNode || prefabNodes.length === 0) {\n input.visitedPrefabIds.delete(input.prefabAsset.id);\n return [compileEditorScenePrefabPlaceholderNode({\n id: input.rootRuntimeId,\n name: input.rootName ?? input.prefabAsset.displayName ?? input.prefabAsset.id,\n parentId: input.rootParentId,\n transform: input.rootTransform,\n editorDocument: input.editorDocument,\n sourceRef: input.sourceRef,\n hostGameObject: input.hostGameObject,\n component: 'Prefab',\n propertyPath: input.propertyPathPrefix,\n })];\n }\n\n const runtimeIdForNode = (node: EditorScenePrefabNode): string =>\n node.id === rootNode.id ? input.rootRuntimeId : `${input.rootRuntimeId}:${node.id}`;\n const orderedNodes = orderEditorScenePrefabNodesForCompile(prefabNodes, rootNode.id);\n const primaryModelNodeId = findEditorScenePrefabPrimaryModelNodeId(orderedNodes, input.prefabAsset);\n const compiledNodes: PlayableEditorRuntimeSceneNode[] = [];\n for (const node of orderedNodes) {\n const runtimeId = runtimeIdForNode(node);\n const parentId = node.id === rootNode.id\n ? input.rootParentId\n : runtimeIdForNode(prefabNodes.find(candidate => candidate.id === node.parentId) ?? rootNode);\n if (node.kind === 'prefabInstance' && node.childPrefabId) {\n const childPrefab = input.editorDocument.assets.find(asset => asset.id === node.childPrefabId);\n if (childPrefab && isExplicitEditorScenePrefabCompositionAsset(childPrefab)) {\n const isRootPrefabInstance = node.id === rootNode.id;\n compiledNodes.push(...compileEditorScenePrefabCompositionNodes({\n prefabAsset: childPrefab,\n sourceRef: input.sourceRef,\n editorDocument: input.editorDocument,\n hostGameObject: input.hostGameObject,\n rootRuntimeId: runtimeId,\n rootParentId: parentId,\n rootName: isRootPrefabInstance\n ? (input.rootName ?? node.name ?? childPrefab.displayName ?? childPrefab.id)\n : (node.name ?? childPrefab.displayName ?? childPrefab.id),\n rootTransform: isRootPrefabInstance ? (input.rootTransform ?? node.transform) : node.transform,\n rootActive: isRootPrefabInstance\n ? (input.rootActive ?? node.defaults?.active ?? input.prefabAsset.prefab?.defaults?.active)\n : node.defaults?.active,\n rootShadow: isRootPrefabInstance\n ? mergeEditorShadowSettings(input.prefabAsset.prefab?.defaults?.shadow, node.defaults?.shadow, input.rootShadow)\n : node.defaults?.shadow,\n instanceOverrides: isRootPrefabInstance\n ? mergeEditorSceneCompilerVisualOverrides(\n mergeEditorSceneCompilerVisualOverrides(\n readEditorSceneCompilerVisualOverrides(input.prefabAsset.prefab?.overrides),\n readEditorSceneCompilerVisualOverrides(node.overrides),\n ),\n readEditorSceneCompilerVisualOverrides(input.instanceOverrides),\n )\n : node.overrides,\n propertyPathPrefix: `${input.propertyPathPrefix}.${node.id}.childPrefab.nodes`,\n visitedPrefabIds: new Set(input.visitedPrefabIds),\n }));\n continue;\n }\n compiledNodes.push(compileEditorScenePrefabPlaceholderNode({\n id: runtimeId,\n name: node.name ?? node.childPrefabId ?? 'Prefab Instance',\n parentId,\n transform: node.transform,\n sourceRef: input.sourceRef,\n editorDocument: input.editorDocument,\n hostGameObject: input.hostGameObject,\n component: 'UnsupportedPrefabInstance',\n propertyPath: `${input.propertyPathPrefix}.${node.id}`,\n }));\n continue;\n }\n compiledNodes.push(compileEditorScenePrefabCompositionNode({\n node,\n rootNode,\n prefabAsset: input.prefabAsset,\n runtimeId,\n parentId,\n sourceRef: input.sourceRef,\n editorDocument: input.editorDocument,\n hostGameObject: input.hostGameObject,\n rootRuntimeName: input.rootName,\n rootRuntimeTransform: input.rootTransform,\n rootRuntimeActive: input.rootActive,\n rootRuntimeShadow: input.rootShadow,\n instanceOverrides: node.id === primaryModelNodeId ? input.instanceOverrides : undefined,\n propertyPath: `${input.propertyPathPrefix}.${node.id}`,\n }));\n }\n input.visitedPrefabIds.delete(input.prefabAsset.id);\n return compileEditorScenePrefabScopedShadowPlans({\n compiledNodes,\n editorDocument: input.editorDocument,\n hostGameObject: input.hostGameObject,\n });\n}\n\nfunction compileEditorScenePrefabCompositionNode(input: {\n node: EditorScenePrefabNode;\n rootNode: EditorScenePrefabNode;\n prefabAsset: EditorSceneAsset;\n runtimeId: string;\n parentId?: string;\n sourceRef: PlayableEditorSceneRuntimeSourceBinding;\n editorDocument: PlayableEditorSceneCompilerDocument;\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n rootRuntimeName?: string;\n rootRuntimeTransform?: EditorSceneTransformComponent;\n rootRuntimeActive?: boolean;\n rootRuntimeShadow?: PlayableEditorSceneCompilerGameObject['shadow'];\n instanceOverrides?: unknown;\n propertyPath: string;\n}): PlayableEditorRuntimeSceneNode {\n const isRoot = input.node.id === input.rootNode.id;\n const transform = isRoot\n ? (input.rootRuntimeTransform ?? input.node.transform)\n : input.node.transform;\n const sourceAsset = input.node.kind === 'model' && input.node.sourceAssetId\n ? input.editorDocument.assets.find(asset => asset.id === input.node.sourceAssetId)\n : undefined;\n const base = compileEditorScenePrefabRuntimeNodeBase({\n id: input.runtimeId,\n name: isRoot\n ? (input.rootRuntimeName ?? input.node.name ?? input.prefabAsset.displayName ?? input.prefabAsset.id)\n : input.node.name,\n parentId: input.parentId,\n transform,\n active: isRoot\n ? (input.rootRuntimeActive ?? input.node.defaults?.active ?? input.prefabAsset.prefab?.defaults?.active)\n : input.node.defaults?.active,\n shadow: isRoot\n ? mergeEditorShadowSettings(input.prefabAsset.prefab?.defaults?.shadow, input.node.defaults?.shadow, input.rootRuntimeShadow)\n : mergeEditorShadowSettings(input.prefabAsset.prefab?.defaults?.shadow, input.node.defaults?.shadow),\n sourceAsset,\n editorDocument: input.editorDocument,\n sourceRef: input.sourceRef,\n hostGameObject: input.hostGameObject,\n component: input.node.kind === 'model'\n ? 'PrefabModel'\n : input.node.kind === 'primitive'\n ? 'PrefabPrimitive'\n : input.node.kind === 'light'\n ? 'PrefabLight'\n : 'PrefabNode',\n propertyPath: input.propertyPath,\n });\n\n if (input.node.kind === 'model' && input.node.sourceAssetId) {\n const visualOverrides = compileEditorScenePrefabCompositionVisualOverrides({\n hostGameObject: input.hostGameObject,\n prefabAsset: input.prefabAsset,\n rootNode: input.rootNode,\n node: input.node,\n asset: sourceAsset,\n editorDocument: input.editorDocument,\n instanceOverrides: input.instanceOverrides,\n });\n return {\n ...base,\n kind: 'instance',\n instance: {\n assetId: input.node.sourceAssetId,\n },\n ...(visualOverrides ? { overrides: visualOverrides } : {}),\n } satisfies PlayableEditorRuntimeInstanceNode;\n }\n\n if (input.node.kind === 'primitive') {\n const visualOverrides = compileEditorScenePrefabCompositionVisualOverrides({\n hostGameObject: input.hostGameObject,\n prefabAsset: input.prefabAsset,\n rootNode: input.rootNode,\n node: input.node,\n asset: undefined,\n editorDocument: input.editorDocument,\n instanceOverrides: input.instanceOverrides,\n });\n return {\n ...base,\n kind: 'primitive',\n primitive: {\n shape: input.node.primitive?.shape ?? 'cube',\n },\n ...(visualOverrides ? { overrides: visualOverrides } : {}),\n } satisfies PlayableEditorRuntimePrimitiveNode;\n }\n\n if (input.node.kind === 'light') {\n return {\n ...base,\n kind: 'transform',\n transformType: 'light',\n ...(input.node.light ? { light: compileEditorSceneLight(input.node.light) } : {}),\n } satisfies PlayableEditorRuntimeTransformNode;\n }\n\n return {\n ...base,\n kind: 'group',\n } satisfies PlayableEditorRuntimeGroupNode;\n}\n\nfunction compileEditorScenePrefabPlaceholderNode(input: {\n id: string;\n name?: string;\n parentId?: string;\n transform?: EditorSceneTransformComponent;\n editorDocument?: PlayableEditorSceneCompilerDocument;\n sourceRef: PlayableEditorSceneRuntimeSourceBinding;\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n component: string;\n propertyPath: string;\n}): PlayableEditorRuntimeGroupNode {\n return {\n ...compileEditorScenePrefabRuntimeNodeBase({\n id: input.id,\n name: input.name,\n parentId: input.parentId,\n transform: input.transform,\n editorDocument: input.editorDocument,\n sourceRef: input.sourceRef,\n hostGameObject: input.hostGameObject,\n component: input.component,\n propertyPath: input.propertyPath,\n }),\n kind: 'group',\n };\n}\n\nfunction readEditorSceneCompilerCustomTransformRuntimeData(\n gameObject: PlayableEditorSceneCompilerGameObject,\n options: PlayableEditorSceneCompilerOptions,\n): Record<string, unknown> {\n const data = options.readCustomTransformRuntimeData?.(gameObject);\n return data && typeof data === 'object' && !Array.isArray(data)\n ? structuredClone(data)\n : {};\n}\n\nfunction compileEditorScenePrefabRuntimeNodeBase(input: {\n id: string;\n name?: string;\n parentId?: string;\n transform?: EditorSceneTransformComponent;\n active?: boolean;\n shadow?: EditorShadowSettings;\n sourceAsset?: EditorSceneAsset;\n editorDocument?: PlayableEditorSceneCompilerDocument;\n sourceRef: PlayableEditorSceneRuntimeSourceBinding;\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n component: string;\n propertyPath: string;\n}): Omit<PlayableEditorRuntimeSceneNode, 'kind'> {\n return {\n id: input.id,\n ...(input.name ? { name: input.name } : {}),\n ...(input.parentId ? { parentId: input.parentId } : {}),\n ...(input.active === false ? { enabled: false } : {}),\n ...(input.shadow ? { shadow: structuredClone(input.shadow) } : {}),\n ...compileEditorScenePrefabRuntimeShadowPlan(input),\n source: {\n sourceId: input.sourceRef.sourceId,\n sourceType: input.sourceRef.sourceType,\n revision: input.sourceRef.revision,\n ...(input.hostGameObject.guid ? { objectGuid: input.hostGameObject.guid } : {}),\n objectId: input.hostGameObject.id,\n component: input.component,\n propertyPath: input.propertyPath,\n },\n ...(input.transform && 'position' in input.transform\n ? {\n transform: {\n position: input.transform.position,\n rotation: input.transform.rotation,\n ...(input.transform.scale ? { scale: input.transform.scale } : {}),\n },\n }\n : {}),\n };\n}\n\nfunction compileEditorSceneGameObjectShadowPlan(\n editorDocument: PlayableEditorSceneCompilerDocument,\n gameObject: PlayableEditorSceneCompilerGameObject,\n): { shadowPlan?: EditorShadowResolvedPlan } {\n const plan = resolveEditorShadowPlan({\n document: editorDocument,\n casterId: gameObject.id,\n });\n return shouldEmitEditorSceneRuntimeShadowPlan(plan, !!gameObject.shadow)\n ? { shadowPlan: plan }\n : {};\n}\n\nfunction compileEditorScenePrefabRuntimeShadowPlan(input: {\n id: string;\n shadow?: EditorShadowSettings;\n sourceAsset?: EditorSceneAsset;\n editorDocument?: PlayableEditorSceneCompilerDocument;\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n}): { shadowPlan?: EditorShadowResolvedPlan } {\n if (!input.editorDocument) return {};\n const readable = readEditorShadowSettingsResult(input.shadow);\n const source = readEditorSceneCompilerAssetShadowSettings(input.sourceAsset);\n const hasAuthoringShadow = !!input.shadow || !!readable.shadow || !!source.shadow;\n if (!hasAuthoringShadow && readable.diagnostics.length === 0 && source.diagnostics.length === 0) return {};\n const plan = resolveEditorShadowPlan({\n document: input.editorDocument,\n casterId: input.hostGameObject.id,\n settings: {\n source: source.shadow,\n instance: readable.shadow,\n },\n });\n const remappedPlan: EditorShadowResolvedPlan = {\n ...plan,\n casterId: input.id,\n diagnostics: [\n ...source.diagnostics,\n ...readable.diagnostics,\n ...plan.diagnostics,\n ].map(diagnostic => ({\n ...diagnostic,\n casterId: diagnostic.casterId === input.hostGameObject.id || !diagnostic.casterId\n ? input.id\n : diagnostic.casterId,\n })),\n };\n return shouldEmitEditorSceneRuntimeShadowPlan(remappedPlan, hasAuthoringShadow)\n ? { shadowPlan: remappedPlan }\n : {};\n}\n\nfunction readEditorSceneCompilerAssetShadowSettings(asset: EditorSceneAsset | undefined): {\n shadow?: EditorShadowSettings;\n diagnostics: EditorShadowResolvedPlan['diagnostics'];\n} {\n if (!asset) return { diagnostics: [] };\n const defaults = asset?.defaults && typeof asset.defaults === 'object' && !Array.isArray(asset.defaults)\n ? asset.defaults as { shadow?: unknown }\n : undefined;\n if (!defaults) return { diagnostics: [] };\n const result = readEditorShadowSettingsResult(defaults.shadow);\n return {\n shadow: result.shadow,\n diagnostics: result.diagnostics.map(diagnostic => ({\n ...diagnostic,\n details: {\n ...(diagnostic.details ?? {}),\n source: 'asset',\n assetId: asset.id,\n },\n })),\n };\n}\n\nfunction shouldEmitEditorSceneRuntimeShadowPlan(\n plan: EditorShadowResolvedPlan,\n hasAuthoringShadow: boolean,\n): boolean {\n return hasAuthoringShadow || plan.backend !== 'none' || plan.diagnostics.length > 0;\n}\n\nfunction compileEditorScenePrefabScopedShadowPlans(input: {\n compiledNodes: PlayableEditorRuntimeSceneNode[];\n editorDocument: PlayableEditorSceneCompilerDocument;\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n}): PlayableEditorRuntimeSceneNode[] {\n if (input.compiledNodes.length === 0) return input.compiledNodes;\n const compiledNodeIds = new Set(input.compiledNodes.map(node => node.id));\n const shadowDocument: PlayableEditorSceneCompilerDocument = {\n ...input.editorDocument,\n scene: {\n ...input.editorDocument.scene,\n gameObjects: [\n ...input.editorDocument.scene.gameObjects.filter(gameObject => !compiledNodeIds.has(gameObject.id)),\n ...input.compiledNodes.map(node => createEditorSceneGameObjectFromRuntimeNode(node)),\n ],\n },\n };\n const internalReceiverIds = input.compiledNodes\n .filter((node) => node.shadow?.receive === 'enabled')\n .map(node => node.id);\n const internalLightId = input.compiledNodes\n .map(node => createEditorSceneGameObjectFromRuntimeNode(node))\n .find(gameObject => gameObject.light?.type === 'directional' && gameObject.active !== false)\n ?.id;\n return input.compiledNodes.map((node) => {\n const plan = resolveEditorShadowPlan({\n document: shadowDocument,\n casterId: node.id,\n explicitReceiverIds: internalReceiverIds,\n ...(internalLightId ? { defaultLightId: internalLightId } : {}),\n });\n const hasAuthoringShadow = !!node.shadow;\n if (!shouldEmitEditorSceneRuntimeShadowPlan(plan, hasAuthoringShadow)) {\n if (!node.shadowPlan) return node;\n const next = { ...node };\n delete next.shadowPlan;\n return next;\n }\n return {\n ...node,\n shadowPlan: plan,\n };\n });\n}\n\nfunction createEditorSceneGameObjectFromRuntimeNode(\n node: PlayableEditorRuntimeSceneNode,\n): PlayableEditorSceneCompilerGameObject {\n const components: PlayableEditorSceneCompilerGameObject['components'] = [];\n if (node.transform) {\n components.push({\n type: 'Transform',\n position: node.transform.position,\n rotation: node.transform.rotation,\n ...(node.transform.scale ? { scale: node.transform.scale } : {}),\n });\n }\n if (node.kind === 'instance') {\n components.push({\n type: 'ModelRenderer',\n assetId: node.instance.assetId,\n });\n }\n return {\n id: node.id,\n ...(node.name ? { name: node.name } : {}),\n kind: node.kind,\n ...(node.parentId ? { parentId: node.parentId } : {}),\n ...(node.enabled === false ? { active: false } : {}),\n ...(node.shadow ? { shadow: structuredClone(node.shadow) } : {}),\n ...(node.kind === 'primitive' ? { primitive: { shape: node.primitive.shape } } : {}),\n ...(node.kind === 'transform' && node.transformType ? { transformType: node.transformType } : {}),\n ...(node.kind === 'transform' && node.light ? { light: node.light } : {}),\n ...(node.kind === 'transform' && node.camera ? { camera: node.camera } : {}),\n ...(node.kind === 'transform' && node.marker ? { marker: structuredClone(node.marker) } : {}),\n components,\n };\n}\n\nfunction compileEditorScenePrefabCompositionVisualOverrides(input: {\n hostGameObject: PlayableEditorSceneCompilerGameObject;\n prefabAsset: EditorSceneAsset;\n rootNode: EditorScenePrefabNode;\n node: EditorScenePrefabNode;\n asset: EditorSceneAsset | undefined;\n editorDocument: PlayableEditorSceneCompilerDocument;\n instanceOverrides?: unknown;\n}): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n const materialHostGameObject = input.node.kind === 'model' && input.node.sourceAssetId\n ? createEditorSceneCompilerPrefabModelGameObject(input.hostGameObject, input.node, input.node.sourceAssetId)\n : input.hostGameObject;\n const targetAssetId = input.asset?.id;\n const prefabOverrides = mergeEditorScenePrefabOverrideList([\n filterEditorSceneCompilerOverrideLayer(\n readEditorSceneCompilerVisualOverrides(input.prefabAsset.prefab?.overrides),\n input.prefabAsset.prefab?.sourceAssetId,\n input.asset,\n ),\n filterEditorSceneCompilerOverrideLayer(\n readEditorSceneCompilerVisualOverrides(input.rootNode.overrides),\n input.rootNode.kind === 'model' ? input.rootNode.sourceAssetId : input.prefabAsset.prefab?.sourceAssetId,\n input.asset,\n ),\n input.node.id === input.rootNode.id\n ? undefined\n : filterEditorSceneCompilerOverrideLayer(\n readEditorSceneCompilerVisualOverrides(input.node.overrides),\n input.node.kind === 'model' ? input.node.sourceAssetId : targetAssetId,\n input.asset,\n ),\n ]);\n const instanceOverrides = readEditorSceneCompilerVisualOverrides(input.instanceOverrides);\n return filterEditorSceneCompilerMaterialSlotBindings(\n mergeEditorSceneCompilerVisualOverrides(prefabOverrides, instanceOverrides),\n input.asset,\n );\n}\n\nfunction filterEditorSceneCompilerOverrideLayer(\n overrides: PlayableEditorRuntimeNodeVisualOverrides | undefined,\n ownerAssetId: string | undefined,\n targetAsset: EditorSceneAsset | undefined,\n): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n return filterEditorSceneCompilerMaterialSlotBindings(\n overrides,\n ownerAssetId && ownerAssetId === targetAsset?.id ? targetAsset : undefined,\n );\n}\n\nfunction filterEditorSceneCompilerMaterialSlotBindings(\n overrides: PlayableEditorRuntimeNodeVisualOverrides | undefined,\n asset: EditorSceneAsset | undefined,\n): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n if (!overrides?.materialSlotBindings) return overrides;\n const materialSlots = isRecord(asset?.metadata) && Array.isArray(asset.metadata.materialSlots)\n ? asset.metadata.materialSlots\n : [];\n const allowedSlotIds = new Set(materialSlots.flatMap((slot) => {\n const slotId = isRecord(slot) && typeof slot.slotId === 'string' ? slot.slotId.trim() : '';\n return slotId ? [slotId] : [];\n }));\n const materialSlotBindings = Object.fromEntries(\n Object.entries(overrides.materialSlotBindings).filter(([slotId]) => allowedSlotIds.has(slotId)),\n );\n const next = structuredClone(overrides);\n if (Object.keys(materialSlotBindings).length > 0) next.materialSlotBindings = materialSlotBindings;\n else delete next.materialSlotBindings;\n return Object.keys(next).length > 0 ? next : undefined;\n}\n\nfunction createEditorSceneCompilerPrefabModelGameObject(\n hostGameObject: PlayableEditorSceneCompilerGameObject,\n node: EditorScenePrefabNode,\n assetId: string,\n): PlayableEditorSceneCompilerGameObject {\n return {\n id: `${hostGameObject.id}:${node.id}`,\n ...(node.name ? { name: node.name } : {}),\n kind: 'instance',\n components: [\n ...(node.transform ? [node.transform] : []),\n {\n type: 'ModelRenderer',\n assetId,\n },\n ],\n };\n}\n\nfunction createEditorSceneCompilerPrefabPrimitiveGameObject(\n hostGameObject: PlayableEditorSceneCompilerGameObject,\n node: EditorScenePrefabNode,\n): PlayableEditorSceneCompilerGameObject {\n return {\n id: `${hostGameObject.id}:${node.id}`,\n ...(node.name ? { name: node.name } : {}),\n kind: 'primitive',\n primitive: { shape: node.primitive?.shape ?? 'cube' },\n components: [\n ...(node.transform ? [node.transform] : []),\n ],\n };\n}\n\nfunction createEditorSceneCompilerPrefabCompositionMaterialGameObject(\n hostGameObject: PlayableEditorSceneCompilerGameObject,\n node: EditorScenePrefabNode,\n): PlayableEditorSceneCompilerGameObject | null {\n if (node.kind === 'model' && node.sourceAssetId) {\n return createEditorSceneCompilerPrefabModelGameObject(hostGameObject, node, node.sourceAssetId);\n }\n if (node.kind === 'primitive') {\n return createEditorSceneCompilerPrefabPrimitiveGameObject(hostGameObject, node);\n }\n return null;\n}\n\nfunction mergeEditorScenePrefabOverrideList(\n overridesList: Array<unknown | undefined>,\n): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n let next: PlayableEditorRuntimeNodeVisualOverrides | undefined;\n for (const overrides of overridesList) {\n const readable = readEditorSceneCompilerVisualOverrides(overrides);\n if (!readable) continue;\n next = mergeEditorSceneCompilerVisualOverrides(next, readable);\n }\n return next;\n}\n\nfunction orderEditorScenePrefabNodesForCompile(\n nodes: readonly EditorScenePrefabNode[],\n rootNodeId: string,\n): EditorScenePrefabNode[] {\n const byParentId = new Map<string, EditorScenePrefabNode[]>();\n for (const node of nodes) {\n if (!node.parentId) continue;\n const children = byParentId.get(node.parentId) ?? [];\n children.push(node);\n byParentId.set(node.parentId, children);\n }\n const ordered: EditorScenePrefabNode[] = [];\n const visited = new Set<string>();\n const visit = (node: EditorScenePrefabNode) => {\n if (visited.has(node.id)) return;\n visited.add(node.id);\n ordered.push(node);\n for (const child of byParentId.get(node.id) ?? []) visit(child);\n };\n const root = nodes.find(node => node.id === rootNodeId);\n if (root) visit(root);\n for (const node of nodes) visit(node);\n return ordered;\n}\n\nfunction findEditorScenePrefabPrimaryModelNodeId(\n nodes: readonly EditorScenePrefabNode[],\n prefabAsset: EditorSceneAsset,\n): string | undefined {\n const sourceAssetId = prefabAsset.prefab?.sourceAssetId;\n return nodes.find(node => node.kind === 'model' && node.sourceAssetId === sourceAssetId)?.id\n ?? nodes.find(node => node.kind === 'model')?.id;\n}\n\nfunction isExplicitEditorScenePrefabCompositionAsset(\n asset: EditorSceneAsset | null | undefined,\n): asset is EditorSceneAsset & { prefab: NonNullable<EditorSceneAsset['prefab']> } {\n return isEditorScenePrefabAsset(asset)\n && asset.prefab.compositionVersion === EDITOR_SCENE_PREFAB_COMPOSITION_VERSION\n && Array.isArray(asset.prefab.nodes)\n && asset.prefab.nodes.length > 0\n && !!readEditorScenePrefabRootNodeId(asset);\n}\n\nfunction findEditorScenePrimitiveRenderer(\n gameObject: PlayableEditorSceneCompilerGameObject,\n): PlayableEditorSceneCompilerGameObject['primitive'] | null {\n return gameObject.primitive ?? null;\n}\n\nfunction compileEditorSceneVisualOverrides(\n gameObject: PlayableEditorSceneCompilerGameObject,\n editorDocument: PlayableEditorSceneCompilerDocument,\n): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n const nodeKind = readEditorSceneNodeKind(gameObject);\n if (nodeKind !== 'instance' && nodeKind !== 'transform' && nodeKind !== 'primitive') return undefined;\n const modelRenderer = findEditorSceneModelRenderer(gameObject);\n const asset = modelRenderer ? editorDocument.assets.find((entry) => entry.id === modelRenderer.assetId) : undefined;\n return resolveEditorSceneCompileVisualOverrides(gameObject, editorDocument, asset);\n}\n\nfunction resolveEditorSceneCompileVisualOverrides(\n gameObject: PlayableEditorSceneCompilerGameObject,\n editorDocument: PlayableEditorSceneCompilerDocument,\n asset: EditorSceneAsset | undefined,\n): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n const instanceOverrides = readEditorSceneCompilerVisualOverrides(gameObject.overrides);\n const relation = resolveEditorScenePrefabInstanceRelation(\n editorDocument,\n gameObject.id,\n );\n const prefabOverrides = readEditorSceneCompilerVisualOverrides(relation.definition?.prefab?.overrides);\n return mergeEditorSceneCompilerVisualOverrides(prefabOverrides, instanceOverrides);\n}\n\nfunction mergeEditorSceneCompilerVisualOverrides(\n base: PlayableEditorRuntimeNodeVisualOverrides | undefined,\n override: PlayableEditorRuntimeNodeVisualOverrides | undefined,\n): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n let next = mergeEditorScenePrefabOverrides(\n base,\n override,\n ) as PlayableEditorRuntimeNodeVisualOverrides | undefined;\n for (const source of [base, override]) {\n if (!source) continue;\n for (const [key, value] of Object.entries(source)) {\n if (isEditorScenePrefabMaterialOverrideKey(key) || value === undefined) continue;\n next ??= {};\n next[key] = structuredClone(value);\n }\n }\n return next && Object.keys(next).length > 0 ? next : undefined;\n}\n\nfunction readEditorSceneCompilerVisualOverrides(value: unknown): PlayableEditorRuntimeNodeVisualOverrides | undefined {\n if (!isRecord(value)) return undefined;\n const next = structuredClone(value) as PlayableEditorRuntimeNodeVisualOverrides;\n return Object.keys(next).length > 0 ? next : undefined;\n}\n\nfunction isEditorScenePrefabMaterialOverrideKey(key: string): boolean {\n return key === 'materialBinding'\n || key === 'materialSlotBindings';\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction readNonEmptyString(value: unknown): string | undefined {\n const trimmed = typeof value === 'string' ? value.trim() : '';\n return trimmed || undefined;\n}\n\nfunction compileEditorSceneCamera(camera: EditorSceneCameraRig): EditorSceneCameraRig {\n const compiled = structuredClone(camera) as EditorSceneCameraRig & { inspectorLanguage?: unknown };\n delete compiled.inspectorLanguage;\n return compiled;\n}\n\nfunction compileEditorSceneLight(light: EditorSceneLight): EditorSceneLight {\n const compiled = structuredClone(light) as EditorSceneLight & { inspectorLanguage?: unknown };\n delete compiled.inspectorLanguage;\n return compiled;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scene-compiler/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scene-compiler/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC","sourcesContent":["export * from './types';\nexport * from './compiler';\nexport * from './validation';\n"]}
|
|
@@ -17,14 +17,22 @@ export interface PlayableEditorRuntimeSceneAssetConfig<TDefaults = unknown, TExt
|
|
|
17
17
|
id: string;
|
|
18
18
|
guid?: string;
|
|
19
19
|
type: 'glb';
|
|
20
|
+
url?: string;
|
|
20
21
|
external?: TExternal;
|
|
21
|
-
displayName?: string;
|
|
22
|
-
category?: string;
|
|
23
22
|
warmupCount?: number;
|
|
24
23
|
singleton?: boolean;
|
|
25
24
|
materialMode?: TMaterialMode;
|
|
26
25
|
defaults?: TDefaults;
|
|
27
|
-
|
|
26
|
+
materialSlots?: PlayableEditorRuntimeMaterialSlotConfig[];
|
|
27
|
+
}
|
|
28
|
+
export interface PlayableEditorRuntimeMaterialSlotConfig {
|
|
29
|
+
slotId: string;
|
|
30
|
+
ownerNodePath: string;
|
|
31
|
+
label?: string;
|
|
32
|
+
meshIndex?: number;
|
|
33
|
+
primitiveIndex?: number;
|
|
34
|
+
sourceMaterialIndices?: number[];
|
|
35
|
+
sourceMeshName?: string;
|
|
28
36
|
}
|
|
29
37
|
export interface PlayableEditorRuntimeNodeRenderingConfig {
|
|
30
38
|
renderingGroupId?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scene-compiler/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC5B,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,gCAAgC,EAChC,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,6CAA8C,SAAQ,kBAAkB;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uCAAwC,SAAQ,kBAAkB;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qCAAqC,CACpD,SAAS,GAAG,OAAO,EACnB,SAAS,GAAG,OAAO,EACnB,aAAa,SAAS,MAAM,GAAG,MAAM;IAErC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scene-compiler/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/scene-compiler/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/scene-compiler/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { AuthoringSourceRef } from '@fps-games/editor-core';\nimport type {\n EditorSceneAsset,\n EditorSceneCameraRig,\n EditorSceneColorRgb,\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneLight,\n EditorSceneMarkerConfig,\n EditorSceneNodeKind,\n EditorScenePrimitiveRenderer,\n EditorSceneVec3,\n} from '../document';\nimport type {\n EditorSceneArtistMaterialProfile,\n EditorSceneMaterialAsset,\n EditorSceneMaterialBinding,\n EditorSceneMaterialOverrides,\n} from '../material-binding';\nimport type {\n EditorShadowResolvedPlan,\n EditorShadowSettings,\n} from '@fps-games/playable-rendering';\n\nexport interface PlayableEditorSceneCompiledArtifactProvenance extends AuthoringSourceRef {\n compilerId: string;\n compilerVersion: string;\n compiledAt: string;\n}\n\nexport interface PlayableEditorSceneRuntimeSourceBinding extends AuthoringSourceRef {\n objectGuid?: string;\n objectId?: string;\n component?: string;\n propertyPath?: string;\n}\n\nexport interface PlayableEditorRuntimeSceneAssetConfig<\n TDefaults = unknown,\n TExternal = unknown,\n TMaterialMode extends string = string,\n> {\n id: string;\n guid?: string;\n type: 'glb';\n url?: string;\n external?: TExternal;\n warmupCount?: number;\n singleton?: boolean;\n materialMode?: TMaterialMode;\n defaults?: TDefaults;\n materialSlots?: PlayableEditorRuntimeMaterialSlotConfig[];\n}\n\nexport interface PlayableEditorRuntimeMaterialSlotConfig {\n slotId: string;\n ownerNodePath: string;\n label?: string;\n meshIndex?: number;\n primitiveIndex?: number;\n sourceMaterialIndices?: number[];\n sourceMeshName?: string;\n}\n\nexport interface PlayableEditorRuntimeNodeRenderingConfig {\n renderingGroupId?: number;\n alphaIndex?: number;\n}\n\nexport interface PlayableEditorRuntimeTransformConfig {\n position: EditorSceneVec3;\n rotation: EditorSceneVec3;\n scale?: EditorSceneVec3;\n}\n\nexport interface PlayableEditorRuntimeNodeBase {\n id: string;\n name?: string;\n kind: 'group' | 'instance' | 'transform' | 'primitive';\n parentId?: string;\n enabled?: boolean;\n shadow?: EditorShadowSettings;\n shadowPlan?: EditorShadowResolvedPlan;\n rendering?: PlayableEditorRuntimeNodeRenderingConfig;\n transform?: PlayableEditorRuntimeTransformConfig;\n source?: PlayableEditorSceneRuntimeSourceBinding;\n}\n\nexport interface PlayableEditorRuntimeGroupNode extends PlayableEditorRuntimeNodeBase {\n kind: 'group';\n}\n\nexport interface PlayableEditorRuntimeMaterialBindingConfig<TOverride = EditorSceneArtistMaterialProfile> {\n materialAssetId?: string | null;\n override?: TOverride;\n}\n\nexport interface PlayableEditorRuntimeNodeVisualOverrides {\n materialBinding?: PlayableEditorRuntimeMaterialBindingConfig;\n materialSlotBindings?: Record<string, PlayableEditorRuntimeMaterialBindingConfig | undefined>;\n material?: unknown;\n childTransforms?: Record<string, unknown>;\n outline?: unknown;\n childOutlines?: Record<string, unknown>;\n [key: string]: unknown;\n}\n\nexport interface PlayableEditorRuntimeInstanceNode extends PlayableEditorRuntimeNodeBase {\n kind: 'instance';\n instance: {\n assetId: string;\n };\n overrides?: PlayableEditorRuntimeNodeVisualOverrides;\n}\n\nexport interface PlayableEditorRuntimePrimitiveNode extends PlayableEditorRuntimeNodeBase {\n kind: 'primitive';\n primitive: {\n shape: string;\n };\n overrides?: PlayableEditorRuntimeNodeVisualOverrides;\n}\n\nexport interface PlayableEditorRuntimeTransformNode extends PlayableEditorRuntimeNodeBase {\n kind: 'transform';\n transformType?: string;\n overrides?: PlayableEditorRuntimeNodeVisualOverrides;\n marker?: EditorSceneMarkerConfig & { label: string };\n camera?: EditorSceneCameraRig;\n light?: EditorSceneLight;\n [key: string]: unknown;\n}\n\nexport type PlayableEditorRuntimeSceneNode =\n | PlayableEditorRuntimeGroupNode\n | PlayableEditorRuntimeInstanceNode\n | PlayableEditorRuntimePrimitiveNode\n | PlayableEditorRuntimeTransformNode;\n\nexport interface PlayableEditorRuntimeSharedMaterialConfig {\n id: string;\n scope?: string;\n assetId?: string;\n nodeId?: string;\n materialName: string;\n ownerNodePath?: string;\n type?: string;\n properties: unknown;\n [key: string]: unknown;\n}\n\nexport interface PlayableEditorRuntimeSceneDocument<\n TAssetConfig extends PlayableEditorRuntimeSceneAssetConfig = PlayableEditorRuntimeSceneAssetConfig,\n TNodeConfig extends PlayableEditorRuntimeSceneNode = PlayableEditorRuntimeSceneNode,\n TMaterialAsset extends EditorSceneMaterialAsset = EditorSceneMaterialAsset,\n> {\n rootId: string;\n assets: TAssetConfig[];\n nodes: TNodeConfig[];\n materialAssets?: TMaterialAsset[];\n materials: PlayableEditorRuntimeSharedMaterialConfig[];\n textures: Record<string, unknown>[];\n [key: string]: unknown;\n}\n\nexport interface PlayableEditorRuntimeSceneConfig<\n TScene extends PlayableEditorRuntimeSceneDocument = PlayableEditorRuntimeSceneDocument,\n> {\n schemaVersion?: number;\n meta?: Record<string, unknown> & {\n generatedFrom?: PlayableEditorSceneCompiledArtifactProvenance;\n };\n scene?: TScene;\n [key: string]: unknown;\n}\n\nexport interface PlayableEditorSceneCompilerBaseConfig {\n schemaVersion?: number;\n meta?: Record<string, unknown> & {\n generatedFrom?: PlayableEditorSceneCompiledArtifactProvenance;\n };\n scene?: unknown;\n}\n\nexport type PlayableEditorSceneCompilerAsset<\n TDefaults = unknown,\n TExternal = unknown,\n TMaterialMode extends string = string,\n> = EditorSceneAsset<TDefaults, TExternal, TMaterialMode>;\n\nexport type PlayableEditorSceneCompilerGameObject<\n TPrimitiveShape extends string = string,\n TVisualOverrides = EditorSceneMaterialOverrides,\n> = EditorSceneGameObject<TPrimitiveShape> & {\n kind?: Extract<EditorSceneNodeKind, 'group' | 'instance' | 'transform' | 'primitive'>;\n primitive?: EditorScenePrimitiveRenderer<TPrimitiveShape>;\n overrides?: TVisualOverrides;\n};\n\nexport type PlayableEditorSceneCompilerDocument<\n TGameObject extends PlayableEditorSceneCompilerGameObject = PlayableEditorSceneCompilerGameObject,\n TAsset extends PlayableEditorSceneCompilerAsset = PlayableEditorSceneCompilerAsset,\n TMaterialAsset extends EditorSceneMaterialAsset = EditorSceneMaterialAsset,\n> = EditorSceneDocument<TGameObject, TAsset> & {\n scene: EditorSceneDocument<TGameObject, TAsset>['scene'] & {\n materialAssets?: TMaterialAsset[];\n };\n};\n\nexport interface PlayableEditorSceneCompilerOptions<\n TGameObject extends PlayableEditorSceneCompilerGameObject = PlayableEditorSceneCompilerGameObject,\n> {\n readCustomTransformRuntimeData?: (gameObject: TGameObject) => Record<string, unknown> | null | undefined;\n}\n\nexport interface CompiledPlayableEditorSceneSummary {\n assetCount: number;\n gameObjectCount: number;\n nodeCount: number;\n}\n\nexport interface CompilePlayableEditorSceneResult<\n TSceneConfig extends PlayableEditorSceneCompilerBaseConfig = PlayableEditorRuntimeSceneConfig,\n> {\n sceneConfig: TSceneConfig;\n summary: CompiledPlayableEditorSceneSummary;\n}\n\nexport type RuntimeMaterialBindingConfig = EditorSceneMaterialBinding<EditorSceneArtistMaterialProfile>;\n\nexport type RuntimeColorRgb = EditorSceneColorRgb;\n"]}
|