@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":"transform-gizmo-controller.js","sourceRoot":"","sources":["../src/transform-gizmo-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform-gizmo-controller.js","sourceRoot":"","sources":["../src/transform-gizmo-controller.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,2CAA2C,EAC3C,+BAA+B,EAC/B,kCAAkC,EAClC,2BAA2B,EAC3B,qCAAqC,EACrC,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAwDlE,MAAM,UAAU,uCAAuC,CACrD,IAA4C,EAC5C,SAAyC;IAEzC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,aAAa;YAAE,OAAO,OAAO,CAAC;QAC9G,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,SAAS,KAAK,mBAAmB;YAAE,OAAO,SAAS,CAAC;QACxD,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAmED,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,MAAM,UAAU,qCAAqC,CACnD,OAA+C;IAE/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,YAAa,CAAC;IACvD,IAAI,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,4BAA4B,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAqD,EAAE,CAAC,CAAC;IAEjI,IAAI,IAAI,GAAwB,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC;IAChE,IAAI,KAAK,GAAyB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC;IAClE,IAAI,UAAU,GAAuC,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;IACxG,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,eAAe,GAAa,EAAE,CAAC;IACnC,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,iBAAiB,GAAG,sBAAsB,CAAC,2CAA2C,CAAC,CAAC;IAC5F,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,iBAAiB,GAAuB,EAAE,CAAC;IAC/C,IAAI,UAAU,GAAe,IAAI,CAAC;IAClC,IAAI,cAAc,GAAe,IAAI,CAAC;IACtC,IAAI,sBAAsB,GAAe,IAAI,CAAC;IAC9C,IAAI,eAAe,GAAe,IAAI,CAAC;IACvC,IAAI,uBAAuB,GAAe,IAAI,CAAC;IAC/C,IAAI,OAAO,GAAe,IAAI,CAAC;IAC/B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAA0C,CAAC;IAE1G,SAAS,kBAAkB;QACzB,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,OAAO,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACzC,OAAO,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC9C,OAAO,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,mBAAmB;QAC1B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,cAAc,IAAI,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,cAAc,CAAC;QACtF,OAAO,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC;IAED,SAAS,0BAA0B;QACjC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAClF,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,4BAA4B;QACnC,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,0BAA0B,EAAE;YAC9B,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,0BAA0B,CACjC,QAA6B,EAC7B,cAAiD;QAEjD,OAAO,kCAAkC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,sBAAsB,CAC7B,UAAkD,EAClD,gBAAoD;QAEpD,OAAO,qCAAqC,CAAC;YAC3C,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,gBAAgB;YAC5B,cAAc,EAAE,KAAK;YACrB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC,CAAC;IACL,CAAC;IAED,SAAS,uBAAuB,CAC9B,UAAkD,EAClD,gBAAoD;QAEpD,OAAO,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC5D,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAClC,MAAM,aAAa,GAAI,OAAO,CAAC,OAAe,CAAC,aAAa,CAAC;QAC7D,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,UAAU,GAAG,IAAI,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5E,UAAU,CAAC,QAAQ,GAAG;YACpB,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC9B,sBAAsB,EAAE,IAAI;SAC7B,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,sBAAsB,CAC7B,KAA2B,EAC3B,WAAgC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAEpD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACpC,KAAK,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,qBAAqB,CAAC,QAA6B;QAC1D,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO;QAC/B,KAAK,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,SAAS,kBAAkB;QACzB,KAAK,MAAM,OAAO,IAAI,iBAAiB;YAAE,OAAO,EAAE,CAAC;QACnD,iBAAiB,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,SAAS,WAAW,CAAC,UAAe,EAAE,QAAoB;QACxD,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM;YAAE,OAAO;QACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC;gBAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,wBAAwB,CAC/B,UAAkD,EAClD,KAAU;QAEV,MAAM,UAAU,GAAqC;YACnD,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,mBAAmB;YACnB,aAAa;YACb,aAAa;YACb,aAAa;SACd,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,gBAAgB,GAAG,uCAAuC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACxF,IAAI,CAAC,gBAAgB;gBAAE,SAAS;YAChC,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;YAClD,WAAW,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3F,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACpD,WAAW,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB;QAC5B,kBAAkB,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtE,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACxE,wBAAwB,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,oBAAoB;QAC3B,MAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,MAAM,MAAM,GAAoE;YAC9E,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,+BAA+B,EAAE,IAAI,EAAE;YACrF,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,+BAA+B,EAAE,IAAI,EAAE;YACrF,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,+BAA+B,EAAE,KAAK,EAAE;SACpF,CAAC;QACF,KAAK,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,MAAM,EAAE,CAAC;YAChE,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,iBAAiB,IAAI,CAAC,+BAA+B;gBAAE,SAAS;YACrE,IAAI,CAAC;gBACH,IACE,wCAAwC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EACzD,CAAC;oBACD,KAAK,CAAC,sCAAsC,GAAG,iBAAiB,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,KAAK,MAAM,IAAI,IAAI;gBACjB,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,iBAAiB;aACzB,EAAE,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,wCAAwC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;wBAC7D,IAAI,CAAC,sCAAsC,GAAG,iBAAiB,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,+BAA+B,CAAC,KAAU;QACjD,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,KAAK,OAAO,CAAC;QAC1C,MAAM,mBAAmB,GAAG,UAAU,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,MAAM,EAAE,UAAU;YACzF,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,UAAU,CAAC;QACf,OAAO,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC;IAC5F,CAAC;IAED,SAAS,qBAAqB;QAC5B,MAAM,aAAa,GAAG,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;QACrD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,KAAK,MAAM,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACtE,CAAC;IACH,CAAC;IAED,SAAS,sBAAsB;QAC7B,kBAAkB,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBACrC,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBACrC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC;oBAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YAChD,CAAC;YACD,oBAAoB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,oBAAoB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACnC,aAAa,CAAC,oBAAoB,GAAG,UAAU,KAAK,MAAM,CAAC;QAC3D,aAAa,CAAC,oBAAoB,GAAG,UAAU,KAAK,QAAQ,CAAC;QAC7D,aAAa,CAAC,iBAAiB,GAAG,UAAU,KAAK,OAAO,CAAC;QACzD,qBAAqB,EAAE,CAAC;QACxB,oBAAoB,EAAE,CAAC;QACvB,qBAAqB,EAAE,CAAC;QAExB,IAAI,MAAM,GAAe,IAAI,CAAC;QAC9B,MAAM,GAAG,0BAA0B,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5F,IAAI,CAAC;YAAC,aAAa,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACnE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;QACD,oBAAoB,EAAE,CAAC;IACzB,CAAC;IAED,SAAS,mBAAmB,CAAC,aAAkB;QAC7C,IAAI,gBAAgB;YAAE,OAAO;QAC7B,gBAAgB,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC1C,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC1C,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACvC,aAAa,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YACnC,aAAa,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAC3C,aAAa,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAC3C,aAAa,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,mEAAmE,EAAE,KAAK,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,SAAS,SAAS,CAChB,mBAAuD,UAAU,EACjE,SAA0C;QAE1C,IAAI,UAAU;YAAE,OAAO;QACvB,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,SAAS,GAAG,oBAAoB,CAAC;QACvC,oBAAoB,GAAG,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,EAAE,4BAA4B,EAAE,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAChH,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7F,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,UAAU,GAAG,IAAI,CAAC;QAClB,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,oBAAoB,CAC3B,UAAkD,EAClD,SAAmB,EACnB,gBAAoD,EACpD,SAAkB;QAElB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACrD,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;YACxI,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,KAAK;YACrB,KAAK,EAAE,eAAe,CAAC,cAAc;YACrC,eAAe;YACf,UAAU,EAAE,gBAAgB;YAC5B,gBAAgB;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAClD,eAAe,GAAG,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QACjD,cAAc,GAAG,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC7F,CAAC,CAAC,eAAe,CAAC,QAAQ;YAC1B,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,UAAU,EAAE,gBAAgB,CAAC;YAAE,OAAO,EAAE,CAAC;QACnF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,SAAS,mBAAmB,CAC1B,SAAmB,EACnB,UAAkD,EAClD,gBAAoD;QAEpD,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,CAAC;YACH,aAAa,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;YACrC,oBAAoB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,0EAA0E,EAAE,KAAK,CAAC,CAAC;YAC1G,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,SAAS,0BAA0B,CACjC,SAAmB,EACnB,UAAyD,EACzD,gBAAoD;QAEpD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClG,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC;YACtD,CAAC,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,cAAc,GAAG,UAAU;YAC/B,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,cAAc;YAC1G,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,KAAK,OAAO;YACxE,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,OAAO,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,uBAAuB,CAAC,MAAc;QAC7C,OAAO,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,SAAS,oBAAoB,CAAC,SAAqD;QACjF,OAAO,SAAS;YACd,CAAC,CAAC;gBACE,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,2BAA2B,CAAC,SAAS,CAAC;aACjD;YACH,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,SAAS,oBAAoB,CAC3B,UAAmD,EACnD,SAA4B;QAE5B,MAAM,SAAS,GAA0B,SAAS;aAC/C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aACzB,MAAM,CAAC,CAAC,SAAS,EAAwC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;aACxE,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE;gBACR,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,QAA6B,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;gBAC3G,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,QAA6B,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;gBAC3G,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,QAA6B,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;aAC5G;SACF,CAAC;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,SAAyC;QAChE,OAAO,SAAS,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC,QAAQ;YACpB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,2BAA2B,CAClC,UAAmD,EACnD,SAA4B;QAE5B,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACzB,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,CAAC,SAAS,IAAI,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,IAAI,CAAC;IACb,CAAC;IAED,SAAS,gBAAgB,CACvB,UAAkD,EAClD,SAAmB,EACnB,gBAAoD,EACpD,SAAS,GAAG,KAAK,EACjB,SAA0C;QAE1C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,cAAc,GAAG,2BAA2B,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACrF,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,uBAAuB,CAAC;gBAC7B,UAAU;gBACV,SAAS,EAAE,cAAc;gBACzB,gBAAgB;gBAChB,gBAAgB;gBAChB,MAAM,EAAE,uBAAuB;gBAC/B,cAAc,EAAE,cAAc;gBAC9B,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC;YACtD,CAAC,CAAC;gBACE,IAAI,EAAE,kBAA2B;gBACjC,QAAQ,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAE,CAAE,CAAC;aAC7E,CAAC;QACN,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACjG,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7E,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI;YAC/D,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;YACxI,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,KAAK;YACrB,KAAK,EAAE,eAAe,CAAC,cAAc;YACrC,eAAe;YACf,UAAU,EAAE,gBAAgB;YAC5B,KAAK;YACL,MAAM;YACN,gBAAgB;YAChB,SAAS;YACT,SAAS;YACT,UAAU,EAAE,wBAAwB,CAAC,KAAK,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,SAAS,uBAAuB,CAAC,KAQhC;QACC,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACtC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC;YAC/D,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzG,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI;YACjE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;YAC3I,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,cAAc,EAAE,KAAK;YACrB,KAAK,EAAE,eAAe,CAAC,cAAc;YACrC,eAAe;YACf,UAAU,EAAE,KAAK,CAAC,gBAAgB;YAClC,KAAK;YACL,MAAM;YACN,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,MAAM;YAC3B,eAAe,EAAE,KAAK,CAAC,cAAc;SACtC,CAAC;IACJ,CAAC;IAED,SAAS,UAAU;QACjB,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;QAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ;YACjC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;YACvF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,2BAA2B,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YACjF,IAAI,aAAa;gBAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,OAAO;QACd,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,UAAU,GAAG,IAAI,CAAC;QAClB,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,sBAAsB,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,SAAS,CAChB,IAAgB,EAChB,MAA2C,EAC3C,cAA6B;QAE7B,UAAU,GAAG,IAAI,CAAC;QAClB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,sBAAsB,EAAE,CAAC;QACzB,OAAO,CAAC,aAAa,EAAE,CAAC;YACtB,GAAG,IAAI;YACP,MAAM;YACN,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,IAAgB;QAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,IAAgB,EAChB,eAAwD;QAExD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,OAAO,CAAC,SAAS,EAAE,CAAC;gBAClB,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,OAAO,CAAC,SAAS,EAAE,CAAC;YAClB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,SAAS;iBACpB,GAAG,CAAC,CAAC,EAAE,EAAwC,EAAE;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;gBAClC,OAAO,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,MAAM,EAA2C,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACzE,CAAC,CAAC;IACL,CAAC;IAED,SAAS,qBAAqB,CAAC,IAAgB;QAC7C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,IAAI,CAAC,aAAa;gBAC1B,cAAc,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;aAC7C,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,2BAA2B,CAAC,UAAU,EAAE;YAC7D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAC9B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SAC5B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI;YACpC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAC9B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SAC5B,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC1H,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,SAAS,oBAAoB,CAC3B,IAAgB,EAChB,KAA0B;QAE1B,MAAM,UAAU,GAA4C,EAAE,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,SAAS;YACzB,UAAU,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,sBAAsB,CAC7B,IAAgB,EAChB,aAAkC;QAElC,MAAM,UAAU,GAA4C,EAAE,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC;gBACzC,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC1B,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YACtE,CAAC;YACD,UAAU,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,oBAAoB,CAC3B,IAAgB,EAChB,cAA0C,EAC1C,UAAsC;QAEtC,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACxF,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,SAAS,uBAAuB,CAAC,SAAqD;QACpF,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC5F,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;QACjE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,SAAS,4BAA4B,CACnC,SAAqD,EACrD,KAAa;QAEb,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5D,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5D,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS,qBAAqB,CAC5B,IAAgB,EAChB,UAA+B;QAE/B,MAAM,UAAU,GAA4C,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG;YAChB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC;gBACxC,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC1B,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YACtE,CAAC;YACD,UAAU,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,oBAAoB,CAC3B,IAAgB,EAChB,MAAc,EACd,KAA8B;QAE9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,OAAO,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,SAAS,wBAAwB,CAAC,KAA2B;QAC3D,OAAO,2BAA2B,CAAC,UAAU,EAAE;YAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAC9B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,SAAS,2BAA2B,CAClC,IAAS,EACT,QAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,IAAI,IAAI,EAAE,QAAQ,CAAC;QAC/E,OAAO;YACL,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ;YAC3D,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ;YACrD,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK;SACrD,CAAC;IACJ,CAAC;IAED,SAAS,YAAY,CAAC,KAAU;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACxG,OAAO;YACL,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,SAAS,OAAO,CAAC,IAAyB,EAAE,KAA0B;QACpE,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;SACpB,CAAC;IACJ,CAAC;IAED,SAAS,YAAY,CAAC,IAAyB,EAAE,KAA0B;QACzE,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;SACpB,CAAC;IACJ,CAAC;IAED,SAAS,SAAS,CAAC,KAA0B,EAAE,MAAc;QAC3D,OAAO;YACL,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM;YACnB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM;YACnB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,SAAS,OAAO,CAAC,IAAyB,EAAE,KAA0B;QACpE,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,UAAU,CAAC,IAAyB,EAAE,KAA0B;QACvE,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,SAAS,wBAAwB,CAAC,KAAmB;QACnD,IAAI,QAAQ,IAAI,UAAU,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAClF,MAAM,SAAS,GAAG,4BAA4B,EAAE,CAAC;QACjD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzC,IAAI,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACpE,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/E,OAAO,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAmB;QAC/C,IAAI,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/D,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,oBAAoB,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,SAAS;YAAE,oBAAoB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAmB;QAC7C,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,4BAA4B,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG;YACf,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU;SACX,CAAC;QACF,UAAU,GAAG,IAAI,CAAC;QAClB,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,uBAAuB,CAAC,KAAmB;QAClD,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;IAC/B,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAmB;QAC9C,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/F,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClG,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;YAC3B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;YACnE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACzC,IAAI,OAAO;YAAE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAmB;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/F,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClG,MAAM,UAAU,GAAG,YAAY;YAC7B,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACnF,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChF,UAAU,GAAG,IAAI,CAAC;QAClB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtC,sBAAsB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,wBAAwB,CAC/B,IAAgB,EAChB,UAAmD,EACnD,gBAAqC;QAErC,MAAM,aAAa,GAAG,2BAA2B,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,gBAAgB,CAAC;QACxF,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACrC,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,2BAA2B,CAClC,IAAgB,EAChB,UAAmD;QAEnD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;gBAAE,SAAS;YAChC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7H,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,yBAAyB,CAChC,OAAe,EACf,OAAe,EACf,UAA+B;QAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,IAAK,OAAO,CAAC,KAAa,CAAC,sBAAsB,IAAI,IAAI,CAAC;QACnG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAc,CAAC;QAC/C,MAAM,MAAM,GAAI,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QACxG,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/G,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClD,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,iBAAiB,CAAC,MAAW;QACpC,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,mBAAmB;YAAE,OAAO,mBAAmB,CAAC;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAc,CAAC;QAC/C,IAAI,CAAC,OAAO,IAAI,OAAO,MAAM,EAAE,YAAY,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,gBAAgB,CACvB,OAAe,EACf,OAAe,EACf,IAAyB;QAEzB,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,sBAAsB,CAAC,OAAe,EAAE,OAAe;QAC9D,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3E,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAC5B,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,SAAS,uBAAuB,CAAC,OAAe,EAAE,OAAe;QAC/D,IAAI,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnF,OAAO;YACL,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,SAAS,sBAAsB,CAAC,IAAS;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,QAAQ,EAAE,sBAAsB;gBAAE,OAAO,IAAI,CAAC;YAC1D,IAAI,OAAO,CAAC,QAAQ,EAAE,6BAA6B;gBAAE,OAAO,IAAI,CAAC;YACjE,IAAI,OAAO,CAAC,QAAQ,EAAE,qBAAqB;gBAAE,OAAO,IAAI,CAAC;YACzD,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,OAAe;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,IAAK,OAAO,CAAC,KAAa,CAAC,sBAAsB,IAAI,IAAI,CAAC;QACnG,MAAM,MAAM,GAAI,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAC5F,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5G,CAAC;IAED,SAAS,qBAAqB;QAC5B,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAC5C,MAAM,WAAW,GAAI,OAAO,CAAC,OAAe,CAAC,WAAW,CAAC;QACzD,MAAM,gBAAgB,GAAI,OAAO,CAAC,OAAe,CAAC,gBAAgB,CAAC;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAa,CAAC;QAC7C,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,EAAE,iBAAiB,CAAC;QACpE,IAAI,CAAC,WAAW,EAAE,YAAY,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC7D,eAAe,GAAG,WAAW,CAAC,YAAY,CACxC,yBAAyB,EACzB,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAChC,YAAY,CACb,CAAC;QACF,eAAe,CAAC,QAAQ,GAAG;YACzB,GAAG,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC;YACnC,sBAAsB,EAAE,IAAI;YAC5B,qBAAqB,EAAE,IAAI;SAC5B,CAAC;QACF,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC;QACnC,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;YAC/B,uBAAuB,GAAG,IAAI,gBAAgB,CAAC,kCAAkC,EAAE,YAAY,CAAC,CAAC;YACjG,uBAAuB,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACpE,uBAAuB,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACpE,uBAAuB,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACrE,eAAe,CAAC,QAAQ,GAAG,uBAAuB,CAAC;QACrD,CAAC;QACD,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,SAAS,yBAAyB,CAAC,OAAgB;QACjD,IAAI,CAAC,eAAe;YAAE,OAAO;QAC7B,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC;QACpC,IAAI,CAAC;YAAC,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACzD,CAAC;IAED,SAAS,kBAAkB,CAAC,GAA8B;QACxD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO;QAChC,MAAM,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9E,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,eAAe,CAAC,OAAe,EAAE,OAAe;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QAC7B,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC;QAC9D,MAAM,WAAW,GAAG,OAAO,YAAY,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9F,IAAI,WAAW,EAAE,GAAG,IAAI,WAAW,CAAC,UAAU;YAAE,OAAO,WAAW,CAAC,UAAU,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,OAAO,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAED,SAAS,oBAAoB,CAAC,OAAe,EAAE,OAAe;QAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QAC7B,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC;QAC9D,MAAM,IAAI,GAAG,OAAO,YAAY,EAAE,IAAI,KAAK,UAAU;YACnD,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,IAAI,EAAE,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC;IAED,SAAS,oBAAoB;QAC3B,IAAI,cAAc;YAAE,OAAO,cAAc,CAAC;QAC1C,MAAM,WAAW,GAAI,OAAO,CAAC,OAAe,CAAC,WAAW,CAAC;QACzD,MAAM,gBAAgB,GAAI,OAAO,CAAC,OAAe,CAAC,gBAAgB,CAAC;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAa,CAAC;QAC7C,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,EAAE,iBAAiB,CAAC;QACpE,IAAI,CAAC,WAAW,EAAE,YAAY,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC7D,cAAc,GAAG,WAAW,CAAC,YAAY,CACvC,iCAAiC,EACjC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAChC,YAAY,CACb,CAAC;QACF,cAAc,CAAC,QAAQ,GAAG;YACxB,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,sBAAsB,EAAE,IAAI;YAC5B,6BAA6B,EAAE,IAAI;SACpC,CAAC;QACF,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;YAC/B,sBAAsB,GAAG,IAAI,gBAAgB,CAAC,0CAA0C,EAAE,YAAY,CAAC,CAAC;YACxG,sBAAsB,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAChE,sBAAsB,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACjE,sBAAsB,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACnE,cAAc,CAAC,QAAQ,GAAG,sBAAsB,CAAC;QACnD,CAAC;QACD,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,SAAS,wBAAwB,CAAC,OAAgB;QAChD,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC;YAAC,cAAc,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACxD,CAAC;IAED,SAAS,yBAAyB,CAAC,QAA6B;QAC9D,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO;QAChC,MAAM,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,oBAAoB;QAC3B,IAAI,IAAI,KAAK,MAAM,IAAI,UAAU,EAAE,CAAC;YAClC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,4BAA4B,EAAE,CAAC;QACjD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YAChC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ;eAC3B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,WAAW,CAAC,IAAS;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAC;QACzC,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,oBAAoB,CAAC,OAAO,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpC,IAAI,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC7D,IAAI,OAAO,CAAC,QAAQ,EAAE,sBAAsB;gBAAE,OAAO,KAAK,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACpE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,oBAAoB,CAAC,IAAS;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,QAAQ,EAAE,6BAA6B;gBAAE,OAAO,IAAI,CAAC;YACjE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,wBAAwB;QAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAO,CAAC;QAC7B,MAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,KAAK,MAAM;YACjC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa;YACrC,CAAC,CAAC,UAAU,KAAK,QAAQ;gBACvB,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa;gBACrC,CAAC,CAAC,UAAU,KAAK,OAAO;oBACtB,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU;oBAClC,CAAC,CAAC,IAAI,CAAC;QACb,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAU,EAAE,KAAe;QACpD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QACvC,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,YAAY;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACnH,IAAI,KAAK,CAAC,GAAG,CAAC;gBAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAoC;QAClD,QAAQ;YACN,OAAO;gBACL,IAAI;gBACJ,KAAK;gBACL,cAAc;gBACd,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;gBAC3C,cAAc,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI;gBAC1C,UAAU;aACX,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,QAAQ;YACd,IAAI,QAAQ;gBAAE,OAAO;YACrB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU;oBAAE,sBAAsB,EAAE,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,UAAU,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,GAAG,QAAQ,CAAC;YAChB,UAAU,GAAG,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;YACpE,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,QAAQ,CAAC,SAAS;YAChB,IAAI,QAAQ;gBAAE,OAAO;YACrB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU;oBAAE,sBAAsB,EAAE,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,UAAU,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,GAAG,SAAS,CAAC;YAClB,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,aAAa,CAAC,cAAc;YAC1B,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC;YAC9E,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU;oBAAE,sBAAsB,EAAE,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,UAAU,CAAC,UAAU,EAAE,CAAC;YACxB,UAAU,GAAG,UAAU,CAAC;YACxB,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,oBAAoB,CAAC,QAAQ;YAC3B,IAAI,QAAQ;gBAAE,OAAO;YACrB,iBAAiB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,UAAU;gBAAE,UAAU,EAAE,CAAC;QAC/B,CAAC;QACD,kBAAkB,CAAC,KAAK;YACtB,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC3C,oBAAoB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,eAAe,CAAC,UAAU;YACxB,IAAI,QAAQ;gBAAE,OAAO;YACrB,IAAI,cAAc,KAAK,UAAU,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC7F,UAAU,CAAC,UAAU,EAAE,CAAC;YACxB,cAAc,GAAG,UAAU,CAAC;YAC5B,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,YAAY,CAAC,SAAS;YACpB,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,2BAA2B,CAAC;YAClF,MAAM,WAAW,GAAG,cAAc;gBAChC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;YACxC,IACE,cAAc,KAAK,YAAY;mBAC5B,eAAe,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;mBAC7C,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,EAClE,CAAC;gBACD,OAAO;YACT,CAAC;YACD,UAAU,CAAC,UAAU,EAAE,CAAC;YACxB,cAAc,GAAG,YAAY,CAAC;YAC9B,eAAe,GAAG,WAAW,CAAC;YAC9B,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,gBAAgB;YACd,IAAI,QAAQ;gBAAE,OAAO;YACrB,IAAI,UAAU;gBAAE,OAAO;YACvB,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,oBAAoB;QACpB,wBAAwB;QACxB,kBAAkB;QAClB,mBAAmB;QACnB,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;QAClB,UAAU;YACR,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,sBAAsB,EAAE,CAAC;YACzB,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO;YACrB,UAAU,CAAC,UAAU,EAAE,CAAC;YACxB,kBAAkB,EAAE,CAAC;YACrB,IAAI,CAAC;gBAAC,OAAO,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC/C,IAAI,CAAC;gBAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACtC,IAAI,CAAC;gBAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACzC,IAAI,CAAC;gBAAC,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC7C,IAAI,CAAC;gBAAC,sBAAsB,EAAE,OAAO,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACrD,IAAI,CAAC;gBAAC,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC9C,IAAI,CAAC;gBAAC,uBAAuB,EAAE,OAAO,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACtD,UAAU,GAAG,IAAI,CAAC;YAClB,cAAc,GAAG,IAAI,CAAC;YACtB,sBAAsB,GAAG,IAAI,CAAC;YAC9B,eAAe,GAAG,IAAI,CAAC;YACvB,uBAAuB,GAAG,IAAI,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC;YACf,gBAAgB,GAAG,KAAK,CAAC;YACzB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;KACF,CAAC;IAEF,sBAAsB,EAAE,CAAC;IACzB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAA0C;IAE1C,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;YAC9B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAChC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB;YAClD,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;SACnC;QACD,aAAa,EAAE,QAAQ,CAAC,aAAa;KACtC,CAAC;AACJ,CAAC","sourcesContent":["import type {\n EditorPlacementHit,\n EditorPlacementMode,\n EditorTransformOperationSettings,\n EditorTransformOperationBlockReason,\n EditorTransformCanonicalConstraint,\n EditorTransformDocumentCapabilities,\n EditorSelectionState,\n EditorTransformBatchCommit,\n EditorTransformConstraint,\n EditorTransformGizmoCommit,\n EditorTransformGizmoState,\n EditorTransformOperationPolicy,\n EditorTransformPivot,\n EditorTransformSnapshot,\n EditorTransformSpace,\n EditorTransformTargetSnapshot,\n EditorTransformTrsSnapshot,\n EditorTransformTool,\n EditorTransformVec3,\n} from '@fps-games/editor-core';\nimport {\n DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS,\n isEditorTransformMatrixSnapshot,\n normalizeEditorTransformConstraint,\n readEditorTransformPosition,\n resolveEditorTransformOperationPolicy,\n snapEditorTransformSnapshot,\n} from '@fps-games/editor-core';\nimport type {\n BabylonRuntimeGlobal,\n RuntimeScene,\n} from './types';\nimport type { BabylonEditorProjection } from './projection';\nimport { createBabylonTransformSolver } from './transform-solver';\n\nexport interface BabylonTransformGizmoDragEvent {\n nodeId: string | null;\n targetIds: string[];\n activeId: string | null;\n tool: Exclude<EditorTransformTool, 'select'>;\n requestedSpace: EditorTransformSpace;\n space: EditorTransformSpace;\n operationPolicy: EditorTransformOperationPolicy;\n constraint: EditorTransformCanonicalConstraint;\n pivot: EditorTransformPivot;\n before: EditorTransformSnapshot | null;\n beforeTransforms: Record<string, EditorTransformSnapshot>;\n duplicate: boolean;\n}\n\ninterface BabylonTransformGizmoPolicyMetadata {\n requestedSpace?: EditorTransformSpace;\n operationPolicy?: EditorTransformOperationPolicy;\n}\n\nexport type BabylonTransformGizmoCommit =\n | (EditorTransformGizmoCommit & BabylonTransformGizmoPolicyMetadata)\n | (EditorTransformBatchCommit & BabylonTransformGizmoPolicyMetadata);\n\nexport interface BabylonTransformGizmoDuplicateDragInput {\n targetIds: string[];\n activeId: string | null;\n tool: Exclude<EditorTransformTool, 'select'>;\n requestedSpace: EditorTransformSpace;\n space: EditorTransformSpace;\n operationPolicy: EditorTransformOperationPolicy;\n constraint: EditorTransformCanonicalConstraint;\n beforeTransforms: Record<string, EditorTransformSnapshot>;\n}\n\nexport interface BabylonTransformGizmoDuplicateDragResult {\n targetIds: string[];\n activeId?: string | null;\n}\n\nexport interface BabylonTransformGizmoBlockEvent extends BabylonTransformGizmoDragEvent {\n reason: EditorTransformOperationBlockReason;\n failedTargetId: string | null;\n}\n\nexport type BabylonTransformGizmoHandleKey =\n | 'xGizmo'\n | 'yGizmo'\n | 'zGizmo'\n | 'xPlaneGizmo'\n | 'yPlaneGizmo'\n | 'zPlaneGizmo'\n | 'uniformScaleGizmo';\n\nexport function resolveBabylonTransformHandleConstraint(\n tool: Exclude<EditorTransformTool, 'select'>,\n handleKey: BabylonTransformGizmoHandleKey,\n): EditorTransformCanonicalConstraint | null {\n if (tool === 'move') {\n if (handleKey === 'xPlaneGizmo' || handleKey === 'yPlaneGizmo' || handleKey === 'zPlaneGizmo') return 'plane';\n if (handleKey === 'xGizmo' || handleKey === 'yGizmo' || handleKey === 'zGizmo') return 'axis';\n return null;\n }\n if (tool === 'rotate') {\n return handleKey === 'xGizmo' || handleKey === 'yGizmo' || handleKey === 'zGizmo' ? 'axis' : null;\n }\n if (tool === 'scale') {\n if (handleKey === 'uniformScaleGizmo') return 'uniform';\n return handleKey === 'xGizmo' || handleKey === 'yGizmo' || handleKey === 'zGizmo' ? 'axis' : null;\n }\n return null;\n}\n\nexport interface BabylonTransformGizmoControllerOptions {\n babylon: BabylonRuntimeGlobal;\n scene: RuntimeScene;\n projection: BabylonEditorProjection;\n initialTool?: EditorTransformTool;\n initialSpace?: EditorTransformSpace;\n documentCapabilities?: Partial<EditorTransformDocumentCapabilities>;\n onDragStart?: (event: BabylonTransformGizmoDragEvent) => void;\n onDragUpdate?: (event: BabylonTransformGizmoDragEvent & { current: EditorTransformSnapshot }) => void;\n onDragEnd?: (event: BabylonTransformGizmoCommit) => void;\n onDragCancel?: (event: BabylonTransformGizmoDragEvent) => void;\n onDragBlocked?: (event: BabylonTransformGizmoBlockEvent) => void;\n onDuplicateDragStart?: (input: BabylonTransformGizmoDuplicateDragInput) => BabylonTransformGizmoDuplicateDragResult | null;\n logger?: Pick<Console, 'warn'>;\n}\n\nexport interface BabylonTransformGizmoController {\n getState(): EditorTransformGizmoState;\n setTool(tool: EditorTransformTool): void;\n setSpace(space: EditorTransformSpace): void;\n setConstraint(constraint: EditorTransformConstraint): void;\n setOperationSettings(settings: EditorTransformOperationSettings): void;\n preparePointerDrag(event: PointerEvent): void;\n setSelectedNode(nodeId: string | null): void;\n setSelection(selection: EditorSelectionState): void;\n refreshSelection(): void;\n isGizmoDragCandidate(event: PointerEvent): boolean;\n isViewPlaneMoveCandidate(event: PointerEvent): boolean;\n beginViewPlaneMove(event: PointerEvent): boolean;\n updateViewPlaneMove(event: PointerEvent): boolean;\n endViewPlaneMove(event: PointerEvent): boolean;\n pickPlacementHit(clientX: number, clientY: number, mode: EditorPlacementMode): EditorPlacementHit | null;\n setPlacementMarker(hit: EditorPlacementHit | null): void;\n cancelDrag(): void;\n dispose(): void;\n}\n\ninterface ActiveDrag {\n nodeId: string | null;\n targetIds: string[];\n activeId: string | null;\n tool: Exclude<EditorTransformTool, 'select'>;\n requestedSpace: EditorTransformSpace;\n space: EditorTransformSpace;\n operationPolicy: EditorTransformOperationPolicy;\n constraint: EditorTransformCanonicalConstraint;\n pivot: EditorTransformPivot;\n before: EditorTransformSnapshot | null;\n beforeTransforms: Record<string, EditorTransformSnapshot>;\n duplicate: boolean;\n handleKey?: BabylonTransformGizmoHandleKey;\n proxyStart?: EditorTransformTrsSnapshot;\n blockedReason?: EditorTransformOperationBlockReason;\n blockedTargetId?: string | null;\n viewPlane?: {\n pointerId: number;\n startPoint: EditorTransformVec3;\n };\n}\n\ntype ObserverDisposer = () => void;\ntype PreviewBatchTransformResult =\n | { ok: true; transforms: Record<string, EditorTransformSnapshot> }\n | { ok: false; reason: EditorTransformOperationBlockReason; failedTargetId: string | null };\n\nconst LARGE_SELECTION_GIZMO_LIMIT = 200;\n\nexport function createBabylonTransformGizmoController(\n options: BabylonTransformGizmoControllerOptions,\n): BabylonTransformGizmoController {\n const GizmoManagerCtor = options.babylon.GizmoManager!;\n if (!GizmoManagerCtor) throw new Error('Babylon runtime missing GizmoManager');\n const transformSolver = createBabylonTransformSolver({ babylon: options.babylon as BabylonRuntimeGlobal & Record<string, any> });\n\n let tool: EditorTransformTool = options.initialTool ?? 'select';\n let space: EditorTransformSpace = options.initialSpace ?? 'world';\n let constraint: EditorTransformCanonicalConstraint = normalizeConstraintForTool(tool, 'axis') ?? 'axis';\n let selectedNodeId: string | null = null;\n let selectedNodeIds: string[] = [];\n let activeDrag: ActiveDrag | null = null;\n let disposed = false;\n let operationSettings = cloneOperationSettings(DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS);\n let pendingDuplicateDrag = false;\n let observerDisposers: ObserverDisposer[] = [];\n let pivotProxy: any | null = null;\n let freeMoveHandle: any | null = null;\n let freeMoveHandleMaterial: any | null = null;\n let placementMarker: any | null = null;\n let placementMarkerMaterial: any | null = null;\n let manager: any | null = null;\n let managerPrewarmed = false;\n const canvas = options.scene.getEngine?.().getRenderingCanvas?.() as HTMLCanvasElement | null | undefined;\n\n function ensureGizmoManager(): any | null {\n if (manager) return manager;\n manager = new GizmoManagerCtor(options.scene);\n manager.usePointerToAttachGizmos = false;\n manager.clearGizmoOnEmptyPointerEvent = false;\n manager.boundingBoxGizmoEnabled = false;\n return manager;\n }\n\n function activeTransformTool(): Exclude<EditorTransformTool, 'select'> | null {\n return tool === 'select' ? null : tool;\n }\n\n function getActiveTargetId(): string | null {\n if (selectedNodeId && selectedNodeIds.includes(selectedNodeId)) return selectedNodeId;\n return selectedNodeIds[selectedNodeIds.length - 1] ?? null;\n }\n\n function getBatchTransformTargetIds(): string[] {\n if ((tool === 'select' || tool == null) || selectedNodeIds.length <= 1) return [];\n return selectedNodeIds.filter(nodeId => !!options.projection.getAttachableRoot(nodeId));\n }\n\n function getCurrentTransformTargetIds(): string[] {\n return selectedNodeIds.length > 1\n ? getBatchTransformTargetIds()\n : [getActiveTargetId()].filter((nodeId): nodeId is string => !!nodeId);\n }\n\n function normalizeConstraintForTool(\n nextTool: EditorTransformTool,\n nextConstraint?: EditorTransformConstraint | null,\n ): EditorTransformCanonicalConstraint | undefined {\n return normalizeEditorTransformConstraint(nextTool, nextConstraint);\n }\n\n function resolveOperationPolicy(\n activeTool: Exclude<EditorTransformTool, 'select'>,\n activeConstraint: EditorTransformCanonicalConstraint,\n ): EditorTransformOperationPolicy {\n return resolveEditorTransformOperationPolicy({\n tool: activeTool,\n constraint: activeConstraint,\n requestedSpace: space,\n documentCapabilities: options.documentCapabilities,\n });\n }\n\n function resolveAttachConstraint(\n activeTool: Exclude<EditorTransformTool, 'select'>,\n activeConstraint: EditorTransformCanonicalConstraint,\n ): EditorTransformCanonicalConstraint {\n return activeTool === 'scale' ? 'axis' : activeConstraint;\n }\n\n function ensurePivotProxy(): any | null {\n if (pivotProxy) return pivotProxy;\n const TransformNode = (options.babylon as any).TransformNode;\n if (!TransformNode) return null;\n pivotProxy = new TransformNode('editor.selectionPivotProxy', options.scene);\n pivotProxy.metadata = {\n ...(pivotProxy.metadata ?? {}),\n editorProjectionHelper: true,\n };\n return pivotProxy;\n }\n\n function setPivotProxyTransform(\n pivot: EditorTransformPivot,\n rotation: EditorTransformVec3 = { x: 0, y: 0, z: 0 },\n ): any | null {\n const proxy = ensurePivotProxy();\n const Vector3 = options.babylon.Vector3;\n if (!proxy || !Vector3) return null;\n proxy.position = new Vector3(pivot.position.x, pivot.position.y, pivot.position.z);\n proxy.rotation = new Vector3(rotation.x, rotation.y, rotation.z);\n proxy.scaling = new Vector3(1, 1, 1);\n return proxy;\n }\n\n function setPivotProxyPosition(position: EditorTransformVec3): void {\n const proxy = ensurePivotProxy();\n const Vector3 = options.babylon.Vector3;\n if (!proxy || !Vector3) return;\n proxy.position = new Vector3(position.x, position.y, position.z);\n }\n\n function clearDragObservers(): void {\n for (const dispose of observerDisposers) dispose();\n observerDisposers = [];\n }\n\n function addObserver(observable: any, callback: () => void): void {\n if (!observable?.add || !observable?.remove) return;\n const observer = observable.add(callback);\n observerDisposers.push(() => {\n try { observable.remove(observer); } catch {}\n });\n }\n\n function registerDragObserversFor(\n activeTool: Exclude<EditorTransformTool, 'select'>,\n gizmo: any,\n ): void {\n const handleKeys: BabylonTransformGizmoHandleKey[] = [\n 'xGizmo',\n 'yGizmo',\n 'zGizmo',\n 'uniformScaleGizmo',\n 'xPlaneGizmo',\n 'yPlaneGizmo',\n 'zPlaneGizmo',\n ];\n for (const handleKey of handleKeys) {\n const activeConstraint = resolveBabylonTransformHandleConstraint(activeTool, handleKey);\n if (!activeConstraint) continue;\n const behavior = gizmo?.[handleKey]?.dragBehavior;\n addObserver(behavior?.onDragStartObservable, () => beginDrag(activeConstraint, handleKey));\n addObserver(behavior?.onDragObservable, updateDrag);\n addObserver(behavior?.onDragEndObservable, endDrag);\n }\n }\n\n function registerDragObservers(): void {\n clearDragObservers();\n const activeManager = manager;\n if (!activeManager) return;\n registerDragObserversFor('move', activeManager.gizmos?.positionGizmo);\n registerDragObserversFor('rotate', activeManager.gizmos?.rotationGizmo);\n registerDragObserversFor('scale', activeManager.gizmos?.scaleGizmo);\n }\n\n function applySpacePreference(): void {\n const activeManager = manager;\n if (!activeManager) return;\n const gizmos: Array<{ gizmo: any; supportsWorldRotationPreference: boolean }> = [\n { gizmo: activeManager.gizmos?.positionGizmo, supportsWorldRotationPreference: true },\n { gizmo: activeManager.gizmos?.rotationGizmo, supportsWorldRotationPreference: true },\n { gizmo: activeManager.gizmos?.scaleGizmo, supportsWorldRotationPreference: false },\n ];\n for (const { gizmo, supportsWorldRotationPreference } of gizmos) {\n const matchAttachedMesh = shouldMatchAttachedMeshForGizmo(gizmo);\n if (!matchAttachedMesh && !supportsWorldRotationPreference) continue;\n try {\n if (\n 'updateGizmoRotationToMatchAttachedMesh' in (gizmo ?? {})\n ) {\n gizmo.updateGizmoRotationToMatchAttachedMesh = matchAttachedMesh;\n }\n } catch {}\n for (const axis of [\n gizmo?.xGizmo,\n gizmo?.yGizmo,\n gizmo?.zGizmo,\n gizmo?.xPlaneGizmo,\n gizmo?.yPlaneGizmo,\n gizmo?.zPlaneGizmo,\n gizmo?.uniformScaleGizmo,\n ]) {\n try {\n if ('updateGizmoRotationToMatchAttachedMesh' in (axis ?? {})) {\n axis.updateGizmoRotationToMatchAttachedMesh = matchAttachedMesh;\n }\n } catch {}\n }\n }\n }\n\n function shouldMatchAttachedMeshForGizmo(gizmo: any): boolean {\n const activeTool = activeTransformTool();\n if (!activeTool) return space === 'local';\n const operationConstraint = activeTool === 'scale' && gizmo === manager?.gizmos?.scaleGizmo\n ? 'axis'\n : constraint;\n return resolveOperationPolicy(activeTool, operationConstraint).effectiveSpace === 'local';\n }\n\n function applyHandlePreference(): void {\n const positionGizmo = manager?.gizmos?.positionGizmo;\n if (positionGizmo) {\n try { positionGizmo.planarGizmoEnabled = tool === 'move'; } catch {}\n }\n }\n\n function attachCurrentSelection(): void {\n clearDragObservers();\n const activeTool = activeTransformTool();\n if (!activeTool) {\n if (manager) {\n manager.positionGizmoEnabled = false;\n manager.rotationGizmoEnabled = false;\n manager.scaleGizmoEnabled = false;\n try { manager.attachToNode?.(null); } catch {}\n }\n updateFreeMoveHandle();\n return;\n }\n const activeManager = ensureGizmoManager();\n if (!activeManager) {\n updateFreeMoveHandle();\n return;\n }\n prewarmGizmoManager(activeManager);\n activeManager.positionGizmoEnabled = activeTool === 'move';\n activeManager.rotationGizmoEnabled = activeTool === 'rotate';\n activeManager.scaleGizmoEnabled = activeTool === 'scale';\n applyHandlePreference();\n applySpacePreference();\n registerDragObservers();\n\n let target: any | null = null;\n target = attachNativeTransformProxy(getCurrentTransformTargetIds(), activeTool, constraint);\n try { activeManager.attachToNode?.(target ?? null); } catch (error) {\n options.logger?.warn?.('[BabylonTransformGizmoController] failed to attach gizmo', error);\n }\n updateFreeMoveHandle();\n }\n\n function prewarmGizmoManager(activeManager: any): void {\n if (managerPrewarmed) return;\n managerPrewarmed = true;\n try {\n activeManager.positionGizmoEnabled = true;\n activeManager.rotationGizmoEnabled = true;\n activeManager.scaleGizmoEnabled = true;\n activeManager.attachToNode?.(null);\n activeManager.positionGizmoEnabled = false;\n activeManager.rotationGizmoEnabled = false;\n activeManager.scaleGizmoEnabled = false;\n } catch (error) {\n options.logger?.warn?.('[BabylonTransformGizmoController] failed to prewarm gizmo manager', error);\n }\n }\n\n function beginDrag(\n activeConstraint: EditorTransformCanonicalConstraint = constraint,\n handleKey?: BabylonTransformGizmoHandleKey,\n ): void {\n if (activeDrag) return;\n const activeTool = activeTransformTool();\n if (!activeTool) return;\n const duplicate = pendingDuplicateDrag;\n pendingDuplicateDrag = false;\n const targetIds = resolveDragTargetIds(activeTool, getCurrentTransformTargetIds(), activeConstraint, duplicate);\n const drag = createActiveDrag(activeTool, targetIds, activeConstraint, duplicate, handleKey);\n if (!drag) return;\n activeDrag = drag;\n options.onDragStart?.(activeDrag);\n }\n\n function resolveDragTargetIds(\n activeTool: Exclude<EditorTransformTool, 'select'>,\n targetIds: string[],\n activeConstraint: EditorTransformCanonicalConstraint,\n duplicate: boolean,\n ): string[] {\n if (!duplicate || targetIds.length === 0) return targetIds;\n const beforeTransforms = options.projection.readNodeTransforms(targetIds);\n const validTargetIds = targetIds.filter(nodeId => !!beforeTransforms[nodeId]);\n if (validTargetIds.length === 0) return [];\n const operationPolicy = resolveOperationPolicy(activeTool, activeConstraint);\n const duplicateResult = options.onDuplicateDragStart?.({\n targetIds: validTargetIds,\n activeId: selectedNodeId && validTargetIds.includes(selectedNodeId) ? selectedNodeId : validTargetIds[validTargetIds.length - 1] ?? null,\n tool: activeTool,\n requestedSpace: space,\n space: operationPolicy.effectiveSpace,\n operationPolicy,\n constraint: activeConstraint,\n beforeTransforms,\n });\n if (!duplicateResult?.targetIds.length) return [];\n selectedNodeIds = [...duplicateResult.targetIds];\n selectedNodeId = duplicateResult.activeId && selectedNodeIds.includes(duplicateResult.activeId)\n ? duplicateResult.activeId\n : selectedNodeIds[selectedNodeIds.length - 1] ?? null;\n if (!attachDragTargetIds(selectedNodeIds, activeTool, activeConstraint)) return [];\n return selectedNodeIds;\n }\n\n function attachDragTargetIds(\n targetIds: string[],\n activeTool: Exclude<EditorTransformTool, 'select'>,\n activeConstraint: EditorTransformCanonicalConstraint,\n ): boolean {\n const target = attachNativeTransformProxy(targetIds, activeTool, activeConstraint);\n if (!target) return false;\n const activeManager = ensureGizmoManager();\n if (!activeManager) return false;\n try {\n activeManager.attachToNode?.(target);\n updateFreeMoveHandle();\n return true;\n } catch (error) {\n options.logger?.warn?.('[BabylonTransformGizmoController] failed to attach duplicate drag target', error);\n return false;\n }\n }\n\n function attachNativeTransformProxy(\n targetIds: string[],\n activeTool: Exclude<EditorTransformTool, 'select'> | null,\n activeConstraint: EditorTransformCanonicalConstraint,\n ): any | null {\n const validTargetIds = targetIds.filter(nodeId => !!options.projection.getAttachableRoot(nodeId));\n if (validTargetIds.length === 0) return null;\n const pivot = validTargetIds.length > 1\n ? options.projection.getSelectionPivot(validTargetIds)\n : createSingleTargetPivot(validTargetIds[0]!);\n if (!pivot) return null;\n const effectiveSpace = activeTool\n ? resolveOperationPolicy(activeTool, resolveAttachConstraint(activeTool, activeConstraint)).effectiveSpace\n : space;\n const rotation = validTargetIds.length === 1 && effectiveSpace === 'local'\n ? readTrsRotation(options.projection.readNodeTransform(validTargetIds[0]!))\n : { x: 0, y: 0, z: 0 };\n return setPivotProxyTransform(pivot, rotation);\n }\n\n function createSingleTargetPivot(nodeId: string): EditorTransformPivot | null {\n return createTransformPivot(options.projection.readNodeTransform(nodeId));\n }\n\n function createTransformPivot(transform: EditorTransformSnapshot | null | undefined): EditorTransformPivot | null {\n return transform\n ? {\n mode: 'selection-center',\n position: readEditorTransformPosition(transform),\n }\n : null;\n }\n\n function createSelectionPivot(\n transforms: Record<string, EditorTransformSnapshot>,\n targetIds: readonly string[],\n ): EditorTransformPivot | null {\n const positions: EditorTransformVec3[] = targetIds\n .map(id => transforms[id])\n .filter((transform): transform is EditorTransformSnapshot => !!transform)\n .map(readEditorTransformPosition);\n if (positions.length === 0) return null;\n return {\n mode: 'selection-center',\n position: {\n x: positions.reduce((sum: number, position: EditorTransformVec3) => sum + position.x, 0) / positions.length,\n y: positions.reduce((sum: number, position: EditorTransformVec3) => sum + position.y, 0) / positions.length,\n z: positions.reduce((sum: number, position: EditorTransformVec3) => sum + position.z, 0) / positions.length,\n },\n };\n }\n\n function readTrsRotation(transform: EditorTransformSnapshot | null): EditorTransformVec3 {\n return transform && !isEditorTransformMatrixSnapshot(transform)\n ? transform.rotation\n : { x: 0, y: 0, z: 0 };\n }\n\n function findMatrixTransformTargetId(\n transforms: Record<string, EditorTransformSnapshot>,\n targetIds: readonly string[],\n ): string | null {\n return targetIds.find(id => {\n const transform = transforms[id];\n return !!transform && isEditorTransformMatrixSnapshot(transform);\n }) ?? null;\n }\n\n function createActiveDrag(\n activeTool: Exclude<EditorTransformTool, 'select'>,\n targetIds: string[],\n activeConstraint: EditorTransformCanonicalConstraint,\n duplicate = false,\n handleKey?: BabylonTransformGizmoHandleKey,\n ): ActiveDrag | null {\n if (targetIds.length === 0) return null;\n const beforeTransforms = options.projection.readNodeTransforms(targetIds);\n const validTargetIds = targetIds.filter(nodeId => !!beforeTransforms[nodeId]);\n if (validTargetIds.length === 0) return null;\n const matrixTargetId = findMatrixTransformTargetId(beforeTransforms, validTargetIds);\n if (matrixTargetId) {\n return createBlockedActiveDrag({\n activeTool,\n targetIds: validTargetIds,\n activeConstraint,\n beforeTransforms,\n reason: 'unsupported-transform',\n failedTargetId: matrixTargetId,\n duplicate,\n });\n }\n const pivot = validTargetIds.length > 1\n ? options.projection.getSelectionPivot(validTargetIds)\n : {\n mode: 'selection-center' as const,\n position: readEditorTransformPosition(beforeTransforms[validTargetIds[0]!]!),\n };\n if (!pivot) return null;\n const before = validTargetIds.length === 1 ? beforeTransforms[validTargetIds[0]!] ?? null : null;\n const operationPolicy = resolveOperationPolicy(activeTool, activeConstraint);\n return {\n nodeId: validTargetIds.length === 1 ? validTargetIds[0]! : null,\n targetIds: validTargetIds,\n activeId: selectedNodeId && validTargetIds.includes(selectedNodeId) ? selectedNodeId : validTargetIds[validTargetIds.length - 1] ?? null,\n tool: activeTool,\n requestedSpace: space,\n space: operationPolicy.effectiveSpace,\n operationPolicy,\n constraint: activeConstraint,\n pivot,\n before,\n beforeTransforms,\n duplicate,\n handleKey,\n proxyStart: readNativeProxyTransform(pivot),\n };\n }\n\n function createBlockedActiveDrag(input: {\n activeTool: Exclude<EditorTransformTool, 'select'>;\n targetIds: string[];\n activeConstraint: EditorTransformCanonicalConstraint;\n beforeTransforms: Record<string, EditorTransformSnapshot>;\n reason: EditorTransformOperationBlockReason;\n failedTargetId: string | null;\n duplicate: boolean;\n }): ActiveDrag | null {\n const operationPolicy = resolveOperationPolicy(input.activeTool, input.activeConstraint);\n const pivot = input.targetIds.length > 1\n ? createSelectionPivot(input.beforeTransforms, input.targetIds)\n : createTransformPivot(input.beforeTransforms[input.targetIds[0]!] ?? null);\n if (!pivot) return null;\n const before = input.targetIds.length === 1 ? input.beforeTransforms[input.targetIds[0]!] ?? null : null;\n return {\n nodeId: input.targetIds.length === 1 ? input.targetIds[0]! : null,\n targetIds: input.targetIds,\n activeId: selectedNodeId && input.targetIds.includes(selectedNodeId) ? selectedNodeId : input.targetIds[input.targetIds.length - 1] ?? null,\n tool: input.activeTool,\n requestedSpace: space,\n space: operationPolicy.effectiveSpace,\n operationPolicy,\n constraint: input.activeConstraint,\n pivot,\n before,\n beforeTransforms: input.beforeTransforms,\n duplicate: input.duplicate,\n blockedReason: input.reason,\n blockedTargetId: input.failedTargetId,\n };\n }\n\n function updateDrag(): void {\n if (!activeDrag) return;\n const preview = previewBatchTransform(activeDrag);\n if (!preview.ok) {\n blockDrag(activeDrag, preview.reason, preview.failedTargetId);\n return;\n }\n const currentTransforms = preview.transforms;\n const current = activeDrag.activeId\n ? currentTransforms[activeDrag.activeId] ?? Object.values(currentTransforms)[0] ?? null\n : Object.values(currentTransforms)[0] ?? null;\n if (!current) return;\n if (activeDrag.tool === 'move') {\n const pivotPosition = resolvePreviewPivotPosition(activeDrag, currentTransforms);\n if (pivotPosition) setFreeMoveHandlePosition(pivotPosition);\n }\n options.onDragUpdate?.({ ...activeDrag, current });\n }\n\n function endDrag(): void {\n const drag = activeDrag;\n if (!drag) return;\n const preview = previewBatchTransform(drag);\n if (!preview.ok) {\n blockDrag(drag, preview.reason, preview.failedTargetId);\n return;\n }\n activeDrag = null;\n emitTransformCommit(drag, preview.transforms);\n attachCurrentSelection();\n }\n\n function blockDrag(\n drag: ActiveDrag,\n reason: EditorTransformOperationBlockReason,\n failedTargetId: string | null,\n ): void {\n activeDrag = null;\n restoreDragPreview(drag);\n attachCurrentSelection();\n options.onDragBlocked?.({\n ...drag,\n reason,\n failedTargetId,\n });\n }\n\n function restoreDragPreview(drag: ActiveDrag): void {\n if (drag.targetIds.length > 1) {\n options.projection.setNodeTransformsPreview(drag.beforeTransforms);\n } else if (drag.nodeId && drag.before) {\n options.projection.setNodeTransformPreview(drag.nodeId, drag.before);\n }\n }\n\n function emitTransformCommit(\n drag: ActiveDrag,\n afterTransforms: Record<string, EditorTransformSnapshot>,\n ): void {\n if (drag.targetIds.length === 1) {\n const nodeId = drag.targetIds[0]!;\n const before = drag.beforeTransforms[nodeId];\n const after = afterTransforms[nodeId];\n if (!before || !after) {\n options.onDragCancel?.(drag);\n return;\n }\n options.onDragEnd?.({\n nodeId,\n tool: drag.tool,\n requestedSpace: drag.requestedSpace,\n space: drag.space,\n operationPolicy: drag.operationPolicy,\n constraint: drag.constraint,\n before,\n after,\n });\n return;\n }\n options.onDragEnd?.({\n targetIds: drag.targetIds,\n activeId: drag.activeId,\n tool: drag.tool,\n requestedSpace: drag.requestedSpace,\n space: drag.space,\n operationPolicy: drag.operationPolicy,\n constraint: drag.constraint,\n pivot: drag.pivot,\n targets: drag.targetIds\n .map((id): EditorTransformTargetSnapshot | null => {\n const before = drag.beforeTransforms[id];\n const after = afterTransforms[id];\n return before && after ? { id, before, after } : null;\n })\n .filter((target): target is EditorTransformTargetSnapshot => !!target),\n });\n }\n\n function previewBatchTransform(drag: ActiveDrag): PreviewBatchTransformResult {\n if (drag.blockedReason) {\n return {\n ok: false,\n reason: drag.blockedReason,\n failedTargetId: drag.blockedTargetId ?? null,\n };\n }\n const pivotTransform = readProjectionLikeTransform(pivotProxy, {\n position: drag.pivot.position,\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n });\n const proxyStart = drag.proxyStart ?? {\n position: drag.pivot.position,\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n };\n if (drag.tool === 'move') {\n return { ok: true, transforms: previewMoveWithDelta(drag, subtractVec3(pivotTransform.position, proxyStart.position)) };\n }\n if (drag.tool === 'rotate') {\n return previewRotateWithDelta(drag, resolveRotationDelta(drag, pivotTransform, proxyStart));\n }\n if (drag.tool === 'scale') {\n return previewScaleWithDelta(drag, divideVec3(pivotTransform.scale, proxyStart.scale));\n }\n return { ok: true, transforms: {} };\n }\n\n function previewMoveWithDelta(\n drag: ActiveDrag,\n delta: EditorTransformVec3,\n ): Record<string, EditorTransformSnapshot> {\n const transforms: Record<string, EditorTransformSnapshot> = {};\n for (const nodeId of drag.targetIds) {\n const before = drag.beforeTransforms[nodeId];\n if (!before) continue;\n const result = transformSolver.solveMove({ before, delta });\n if (!result.ok) continue;\n transforms[nodeId] = applySnapToTransform(drag, nodeId, result.transform);\n }\n options.projection.setNodeTransformsPreview(transforms);\n return transforms;\n }\n\n function previewRotateWithDelta(\n drag: ActiveDrag,\n rotationDelta: EditorTransformVec3,\n ): PreviewBatchTransformResult {\n const transforms: Record<string, EditorTransformSnapshot> = {};\n for (const nodeId of drag.targetIds) {\n const before = drag.beforeTransforms[nodeId];\n if (!before) continue;\n const result = transformSolver.solveRotate({\n before,\n pivot: drag.pivot.position,\n delta: rotationDelta,\n space: drag.space,\n });\n if (!result.ok) {\n return { ok: false, reason: result.reason, failedTargetId: nodeId };\n }\n transforms[nodeId] = applySnapToTransform(drag, nodeId, result.transform);\n }\n options.projection.setNodeTransformsPreview(transforms);\n return { ok: true, transforms };\n }\n\n function resolveRotationDelta(\n drag: ActiveDrag,\n pivotTransform: EditorTransformTrsSnapshot,\n proxyStart: EditorTransformTrsSnapshot,\n ): EditorTransformVec3 {\n const angleDelta = readRotationHandleAngle(drag.handleKey);\n if (angleDelta != null) return rotationDeltaFromHandleAngle(drag.handleKey, angleDelta);\n return subtractVec3(pivotTransform.rotation, proxyStart.rotation);\n }\n\n function readRotationHandleAngle(handleKey: BabylonTransformGizmoHandleKey | undefined): number | null {\n if (handleKey !== 'xGizmo' && handleKey !== 'yGizmo' && handleKey !== 'zGizmo') return null;\n const angle = manager?.gizmos?.rotationGizmo?.[handleKey]?.angle;\n return Number.isFinite(angle) ? Number(angle) : null;\n }\n\n function rotationDeltaFromHandleAngle(\n handleKey: BabylonTransformGizmoHandleKey | undefined,\n angle: number,\n ): EditorTransformVec3 {\n if (handleKey === 'xGizmo') return { x: angle, y: 0, z: 0 };\n if (handleKey === 'yGizmo') return { x: 0, y: angle, z: 0 };\n if (handleKey === 'zGizmo') return { x: 0, y: 0, z: angle };\n return { x: 0, y: 0, z: 0 };\n }\n\n function previewScaleWithDelta(\n drag: ActiveDrag,\n scaleDelta: EditorTransformVec3,\n ): PreviewBatchTransformResult {\n const transforms: Record<string, EditorTransformSnapshot> = {};\n const safeScale = {\n x: Number.isFinite(scaleDelta.x) ? scaleDelta.x : 1,\n y: Number.isFinite(scaleDelta.y) ? scaleDelta.y : 1,\n z: Number.isFinite(scaleDelta.z) ? scaleDelta.z : 1,\n };\n for (const nodeId of drag.targetIds) {\n const before = drag.beforeTransforms[nodeId];\n if (!before) continue;\n const result = transformSolver.solveScale({\n before,\n pivot: drag.pivot.position,\n delta: safeScale,\n space: drag.space,\n });\n if (!result.ok) {\n return { ok: false, reason: result.reason, failedTargetId: nodeId };\n }\n transforms[nodeId] = applySnapToTransform(drag, nodeId, result.transform);\n }\n options.projection.setNodeTransformsPreview(transforms);\n return { ok: true, transforms };\n }\n\n function applySnapToTransform(\n drag: ActiveDrag,\n nodeId: string,\n after: EditorTransformSnapshot,\n ): EditorTransformSnapshot {\n if (!operationSettings.snap.enabled) return after;\n const before = drag.beforeTransforms[nodeId];\n if (!before) return after;\n return snapEditorTransformSnapshot(before, after, drag.tool, operationSettings.snap);\n }\n\n function readNativeProxyTransform(pivot: EditorTransformPivot): EditorTransformTrsSnapshot {\n return readProjectionLikeTransform(pivotProxy, {\n position: pivot.position,\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n });\n }\n\n function readProjectionLikeTransform(\n node: any,\n fallback: EditorTransformTrsSnapshot,\n ): EditorTransformTrsSnapshot {\n const rotation = node?.rotationQuaternion?.toEulerAngles?.() ?? node?.rotation;\n return {\n position: readVec3Like(node?.position) ?? fallback.position,\n rotation: readVec3Like(rotation) ?? fallback.rotation,\n scale: readVec3Like(node?.scaling) ?? fallback.scale,\n };\n }\n\n function readVec3Like(value: any): EditorTransformVec3 | null {\n if (!Number.isFinite(value?.x) || !Number.isFinite(value?.y) || !Number.isFinite(value?.z)) return null;\n return {\n x: Number(value.x),\n y: Number(value.y),\n z: Number(value.z),\n };\n }\n\n function addVec3(left: EditorTransformVec3, right: EditorTransformVec3): EditorTransformVec3 {\n return {\n x: left.x + right.x,\n y: left.y + right.y,\n z: left.z + right.z,\n };\n }\n\n function subtractVec3(left: EditorTransformVec3, right: EditorTransformVec3): EditorTransformVec3 {\n return {\n x: left.x - right.x,\n y: left.y - right.y,\n z: left.z - right.z,\n };\n }\n\n function scaleVec3(value: EditorTransformVec3, factor: number): EditorTransformVec3 {\n return {\n x: value.x * factor,\n y: value.y * factor,\n z: value.z * factor,\n };\n }\n\n function dotVec3(left: EditorTransformVec3, right: EditorTransformVec3): number {\n return left.x * right.x + left.y * right.y + left.z * right.z;\n }\n\n function divideVec3(left: EditorTransformVec3, right: EditorTransformVec3): EditorTransformVec3 {\n return {\n x: Math.abs(right.x) > 0.000001 ? left.x / right.x : 1,\n y: Math.abs(right.y) > 0.000001 ? left.y / right.y : 1,\n z: Math.abs(right.z) > 0.000001 ? left.z / right.z : 1,\n };\n }\n\n function isViewPlaneMoveCandidate(event: PointerEvent): boolean {\n if (disposed || activeDrag || tool !== 'move' || event.button !== 0) return false;\n const targetIds = getCurrentTransformTargetIds();\n if (targetIds.length === 0) return false;\n if (pickFreeMoveHandleAt(event.clientX, event.clientY)) return true;\n if (constraint !== 'free') return false;\n const pickedId = options.projection.pickNodeIdAt(event.clientX, event.clientY);\n return !!pickedId && targetIds.includes(pickedId);\n }\n\n function isGizmoDragCandidate(event: PointerEvent): boolean {\n if (disposed || activeDrag || event.button !== 0) return false;\n const activeTool = activeTransformTool();\n if (!activeTool) return false;\n const picked = pickGizmoMeshAt(event.clientX, event.clientY);\n if (isFreeMoveHandleNode(picked)) return false;\n const candidate = !!picked && isGizmoNode(picked);\n if (candidate) pendingDuplicateDrag = isDuplicateDragModifier(event);\n return candidate;\n }\n\n function beginViewPlaneMove(event: PointerEvent): boolean {\n if (!isViewPlaneMoveCandidate(event)) return false;\n const duplicate = isDuplicateDragModifier(event);\n const targetIds = resolveDragTargetIds('move', getCurrentTransformTargetIds(), 'free', duplicate);\n const drag = createActiveDrag('move', targetIds, 'free', duplicate);\n if (!drag) return false;\n const startPoint = projectPointerToViewPlane(event.clientX, event.clientY, drag.pivot.position);\n if (!startPoint) return false;\n drag.viewPlane = {\n pointerId: event.pointerId,\n startPoint,\n };\n activeDrag = drag;\n options.onDragStart?.(drag);\n return true;\n }\n\n function isDuplicateDragModifier(event: PointerEvent): boolean {\n return event.altKey === true;\n }\n\n function updateViewPlaneMove(event: PointerEvent): boolean {\n const drag = activeDrag;\n if (!drag?.viewPlane || drag.viewPlane.pointerId !== event.pointerId || disposed) return false;\n if (drag.blockedReason) {\n blockDrag(drag, drag.blockedReason, drag.blockedTargetId ?? null);\n return true;\n }\n const currentPoint = projectPointerToViewPlane(event.clientX, event.clientY, drag.pivot.position);\n if (!currentPoint) return false;\n const delta = subtractVec3(currentPoint, drag.viewPlane.startPoint);\n const transforms = previewMoveWithDelta(drag, delta);\n syncFreeMovePreviewPivot(drag, transforms, addVec3(drag.pivot.position, delta));\n const current = drag.activeId\n ? transforms[drag.activeId] ?? Object.values(transforms)[0] ?? null\n : Object.values(transforms)[0] ?? null;\n if (current) options.onDragUpdate?.({ ...drag, current });\n return true;\n }\n\n function endViewPlaneMove(event: PointerEvent): boolean {\n const drag = activeDrag;\n if (!drag?.viewPlane || drag.viewPlane.pointerId !== event.pointerId || disposed) return false;\n if (drag.blockedReason) {\n blockDrag(drag, drag.blockedReason, drag.blockedTargetId ?? null);\n return true;\n }\n const currentPoint = projectPointerToViewPlane(event.clientX, event.clientY, drag.pivot.position);\n const transforms = currentPoint\n ? previewMoveWithDelta(drag, subtractVec3(currentPoint, drag.viewPlane.startPoint))\n : previewMoveWithDelta(drag, { x: 0, y: 0, z: 0 });\n syncFreeMovePreviewPivot(drag, transforms, currentPoint ?? drag.pivot.position);\n activeDrag = null;\n emitTransformCommit(drag, transforms);\n attachCurrentSelection();\n return true;\n }\n\n function syncFreeMovePreviewPivot(\n drag: ActiveDrag,\n transforms: Record<string, EditorTransformSnapshot>,\n fallbackPosition: EditorTransformVec3,\n ): void {\n const pivotPosition = resolvePreviewPivotPosition(drag, transforms) ?? fallbackPosition;\n setPivotProxyPosition(pivotPosition);\n setFreeMoveHandlePosition(pivotPosition);\n }\n\n function resolvePreviewPivotPosition(\n drag: ActiveDrag,\n transforms: Record<string, EditorTransformSnapshot>,\n ): EditorTransformVec3 | null {\n for (const nodeId of drag.targetIds) {\n const before = drag.beforeTransforms[nodeId];\n const after = transforms[nodeId];\n if (!before || !after) continue;\n return addVec3(drag.pivot.position, subtractVec3(readEditorTransformPosition(after), readEditorTransformPosition(before)));\n }\n return null;\n }\n\n function projectPointerToViewPlane(\n clientX: number,\n clientY: number,\n planePoint: EditorTransformVec3,\n ): EditorTransformVec3 | null {\n const camera = options.scene.activeCamera ?? (options.scene as any).cameraToUseForPointers ?? null;\n const Vector3 = options.babylon.Vector3 as any;\n const Matrix = (options.babylon as any).Matrix;\n if (!canvas || !camera || !Vector3 || !Matrix?.Identity || !options.scene.createPickingRay) return null;\n const rect = canvas.getBoundingClientRect();\n const ray = options.scene.createPickingRay(clientX - rect.left, clientY - rect.top, Matrix.Identity(), camera);\n const origin = readVec3Like(ray?.origin);\n const direction = readVec3Like(ray?.direction);\n const normal = readCameraForward(camera);\n if (!origin || !direction || !normal) return null;\n const denominator = dotVec3(direction, normal);\n if (Math.abs(denominator) < 0.000001) return null;\n const t = dotVec3(subtractVec3(planePoint, origin), normal) / denominator;\n if (!Number.isFinite(t)) return null;\n return addVec3(origin, scaleVec3(direction, t));\n }\n\n function readCameraForward(camera: any): EditorTransformVec3 | null {\n const forwardRayDirection = readVec3Like(camera?.getForwardRay?.()?.direction);\n if (forwardRayDirection) return forwardRayDirection;\n const Vector3 = options.babylon.Vector3 as any;\n if (!Vector3 || typeof camera?.getDirection !== 'function') return null;\n const forwardZ = options.scene.useRightHandedSystem ? -1 : 1;\n return readVec3Like(camera.getDirection(new Vector3(0, 0, forwardZ)));\n }\n\n function pickPlacementHit(\n clientX: number,\n clientY: number,\n mode: EditorPlacementMode,\n ): EditorPlacementHit | null {\n if (mode === 'off') return null;\n if (mode === 'ground') return pickGroundPlacementHit(clientX, clientY);\n return pickSurfacePlacementHit(clientX, clientY);\n }\n\n function pickGroundPlacementHit(clientX: number, clientY: number): EditorPlacementHit | null {\n const ray = createScenePointerRay(clientX, clientY);\n const origin = readVec3Like(ray?.origin);\n const direction = readVec3Like(ray?.direction);\n if (!origin || !direction || Math.abs(direction.y) < 0.000001) return null;\n const t = -origin.y / direction.y;\n if (!Number.isFinite(t) || t < 0) return null;\n return {\n mode: 'ground',\n position: addVec3(origin, scaleVec3(direction, t)),\n normal: { x: 0, y: 1, z: 0 },\n nodeId: null,\n };\n }\n\n function pickSurfacePlacementHit(clientX: number, clientY: number): EditorPlacementHit | null {\n if (!canvas || typeof options.scene.pick !== 'function') return null;\n const rect = canvas.getBoundingClientRect();\n const pick = options.scene.pick(clientX - rect.left, clientY - rect.top, (mesh: any) => !isPlacementPickIgnored(mesh));\n const point = readVec3Like(pick?.pickedPoint);\n if (!pick?.hit || !point) return null;\n const normal = readVec3Like(pick?.getNormal?.(true)) ?? readVec3Like(pick?.normal);\n return {\n mode: 'surface',\n position: point,\n normal: normal ?? undefined,\n nodeId: options.projection.resolveProjectionNodeId(pick.pickedMesh ?? null),\n };\n }\n\n function isPlacementPickIgnored(node: any): boolean {\n let current = node;\n while (current) {\n if (current.metadata?.editorProjectionHelper) return true;\n if (current.metadata?.editorTransformFreeMoveHandle) return true;\n if (current.metadata?.editorPlacementMarker) return true;\n current = current.parent ?? null;\n }\n return false;\n }\n\n function createScenePointerRay(clientX: number, clientY: number): any | null {\n const camera = options.scene.activeCamera ?? (options.scene as any).cameraToUseForPointers ?? null;\n const Matrix = (options.babylon as any).Matrix;\n if (!canvas || !camera || !Matrix?.Identity || !options.scene.createPickingRay) return null;\n const rect = canvas.getBoundingClientRect();\n return options.scene.createPickingRay(clientX - rect.left, clientY - rect.top, Matrix.Identity(), camera);\n }\n\n function ensurePlacementMarker(): any | null {\n if (placementMarker) return placementMarker;\n const MeshBuilder = (options.babylon as any).MeshBuilder;\n const StandardMaterial = (options.babylon as any).StandardMaterial;\n const Color3 = options.babylon.Color3 as any;\n const activeManager = ensureGizmoManager();\n const utilityScene = activeManager?.utilityLayer?.utilityLayerScene;\n if (!MeshBuilder?.CreateSphere || !utilityScene) return null;\n placementMarker = MeshBuilder.CreateSphere(\n 'editor.placement.marker',\n { diameter: 0.32, segments: 16 },\n utilityScene,\n );\n placementMarker.metadata = {\n ...(placementMarker.metadata ?? {}),\n editorProjectionHelper: true,\n editorPlacementMarker: true,\n };\n placementMarker.isPickable = false;\n if (StandardMaterial && Color3) {\n placementMarkerMaterial = new StandardMaterial('editor.placement.marker.material', utilityScene);\n placementMarkerMaterial.diffuseColor = new Color3(0.18, 0.86, 0.78);\n placementMarkerMaterial.emissiveColor = new Color3(0.1, 0.62, 0.56);\n placementMarkerMaterial.specularColor = new Color3(0.04, 0.18, 0.16);\n placementMarker.material = placementMarkerMaterial;\n }\n setPlacementMarkerVisible(false);\n return placementMarker;\n }\n\n function setPlacementMarkerVisible(visible: boolean): void {\n if (!placementMarker) return;\n placementMarker.isVisible = visible;\n try { placementMarker.setEnabled?.(visible); } catch {}\n }\n\n function setPlacementMarker(hit: EditorPlacementHit | null): void {\n if (!hit) {\n setPlacementMarkerVisible(false);\n return;\n }\n const marker = ensurePlacementMarker();\n const Vector3 = options.babylon.Vector3;\n if (!marker || !Vector3) return;\n marker.position = new Vector3(hit.position.x, hit.position.y, hit.position.z);\n setPlacementMarkerVisible(true);\n }\n\n function pickGizmoMeshAt(clientX: number, clientY: number): any | null {\n if (!canvas) return null;\n const rect = canvas.getBoundingClientRect();\n const x = clientX - rect.left;\n const y = clientY - rect.top;\n const utilityScene = manager?.utilityLayer?.utilityLayerScene;\n const utilityPick = typeof utilityScene?.pick === 'function' ? utilityScene.pick(x, y) : null;\n if (utilityPick?.hit && utilityPick.pickedMesh) return utilityPick.pickedMesh;\n const scenePick = typeof options.scene.pick === 'function' ? options.scene.pick(x, y) : null;\n return scenePick?.hit ? scenePick.pickedMesh ?? null : null;\n }\n\n function pickFreeMoveHandleAt(clientX: number, clientY: number): any | null {\n if (!canvas || !freeMoveHandle) return null;\n const rect = canvas.getBoundingClientRect();\n const x = clientX - rect.left;\n const y = clientY - rect.top;\n const utilityScene = manager?.utilityLayer?.utilityLayerScene;\n const pick = typeof utilityScene?.pick === 'function'\n ? utilityScene.pick(x, y, (mesh: any) => isFreeMoveHandleNode(mesh))\n : null;\n return pick?.hit && isFreeMoveHandleNode(pick.pickedMesh) ? pick.pickedMesh : null;\n }\n\n function ensureFreeMoveHandle(): any | null {\n if (freeMoveHandle) return freeMoveHandle;\n const MeshBuilder = (options.babylon as any).MeshBuilder;\n const StandardMaterial = (options.babylon as any).StandardMaterial;\n const Color3 = options.babylon.Color3 as any;\n const activeManager = ensureGizmoManager();\n const utilityScene = activeManager?.utilityLayer?.utilityLayerScene;\n if (!MeshBuilder?.CreateSphere || !utilityScene) return null;\n freeMoveHandle = MeshBuilder.CreateSphere(\n 'editor.transform.freeMoveHandle',\n { diameter: 0.22, segments: 12 },\n utilityScene,\n );\n freeMoveHandle.metadata = {\n ...(freeMoveHandle.metadata ?? {}),\n editorProjectionHelper: true,\n editorTransformFreeMoveHandle: true,\n };\n freeMoveHandle.isPickable = true;\n if (StandardMaterial && Color3) {\n freeMoveHandleMaterial = new StandardMaterial('editor.transform.freeMoveHandle.material', utilityScene);\n freeMoveHandleMaterial.diffuseColor = new Color3(1, 0.82, 0.28);\n freeMoveHandleMaterial.emissiveColor = new Color3(1, 0.68, 0.18);\n freeMoveHandleMaterial.specularColor = new Color3(0.2, 0.18, 0.08);\n freeMoveHandle.material = freeMoveHandleMaterial;\n }\n setFreeMoveHandleVisible(false);\n return freeMoveHandle;\n }\n\n function setFreeMoveHandleVisible(visible: boolean): void {\n if (!freeMoveHandle) return;\n freeMoveHandle.isVisible = visible;\n try { freeMoveHandle.setEnabled?.(visible); } catch {}\n }\n\n function setFreeMoveHandlePosition(position: EditorTransformVec3): void {\n const handle = ensureFreeMoveHandle();\n const Vector3 = options.babylon.Vector3;\n if (!handle || !Vector3) return;\n handle.position = new Vector3(position.x, position.y, position.z);\n setFreeMoveHandleVisible(true);\n }\n\n function updateFreeMoveHandle(): void {\n if (tool !== 'move' || activeDrag) {\n setFreeMoveHandleVisible(false);\n return;\n }\n const targetIds = getCurrentTransformTargetIds();\n if (targetIds.length === 0) {\n setFreeMoveHandleVisible(false);\n return;\n }\n const pivot = targetIds.length > 1\n ? options.projection.getSelectionPivot(targetIds)\n : null;\n const position = pivot?.position\n ?? (targetIds[0] ? createTransformPivot(options.projection.readNodeTransform(targetIds[0]))?.position : null);\n if (!position) {\n setFreeMoveHandleVisible(false);\n return;\n }\n setFreeMoveHandlePosition(position);\n }\n\n function isGizmoNode(node: any): boolean {\n let current = node;\n const roots = collectCurrentGizmoRoots();\n while (current) {\n if (isFreeMoveHandleNode(current)) return false;\n if (roots.has(current)) return true;\n if (current.metadata?.editorProjection?.nodeId) return false;\n if (current.metadata?.editorProjectionHelper) return false;\n const name = String(current.name ?? current.id ?? '').toLowerCase();\n if (name.includes('gizmo')) return true;\n current = current.parent ?? null;\n }\n return false;\n }\n\n function isFreeMoveHandleNode(node: any): boolean {\n let current = node;\n while (current) {\n if (current.metadata?.editorTransformFreeMoveHandle) return true;\n current = current.parent ?? null;\n }\n return false;\n }\n\n function collectCurrentGizmoRoots(): Set<any> {\n const roots = new Set<any>();\n const activeManager = manager;\n if (!activeManager) return roots;\n const activeTool = activeTransformTool();\n const gizmo = activeTool === 'move'\n ? activeManager.gizmos?.positionGizmo\n : activeTool === 'rotate'\n ? activeManager.gizmos?.rotationGizmo\n : activeTool === 'scale'\n ? activeManager.gizmos?.scaleGizmo\n : null;\n collectGizmoRoots(gizmo, roots);\n return roots;\n }\n\n function collectGizmoRoots(value: any, roots: Set<any>): void {\n if (!value || roots.has(value)) return;\n if (value._rootMesh) roots.add(value._rootMesh);\n if (value.rootMesh) roots.add(value.rootMesh);\n if (value.attachedMesh) roots.add(value.attachedMesh);\n for (const key of ['xGizmo', 'yGizmo', 'zGizmo', 'xPlaneGizmo', 'yPlaneGizmo', 'zPlaneGizmo', 'uniformScaleGizmo']) {\n if (value[key]) collectGizmoRoots(value[key], roots);\n }\n }\n\n const controller: BabylonTransformGizmoController = {\n getState() {\n return {\n tool,\n space,\n selectedNodeId,\n dragPhase: activeDrag ? 'dragging' : 'idle',\n draggingNodeId: activeDrag?.nodeId ?? null,\n constraint,\n };\n },\n setTool(nextTool) {\n if (disposed) return;\n if (tool === nextTool) {\n if (!activeDrag) attachCurrentSelection();\n return;\n }\n controller.cancelDrag();\n tool = nextTool;\n constraint = normalizeConstraintForTool(tool, constraint) ?? 'axis';\n attachCurrentSelection();\n },\n setSpace(nextSpace) {\n if (disposed) return;\n if (space === nextSpace) {\n if (!activeDrag) attachCurrentSelection();\n return;\n }\n controller.cancelDrag();\n space = nextSpace;\n attachCurrentSelection();\n },\n setConstraint(nextConstraint) {\n if (disposed) return;\n const normalized = normalizeConstraintForTool(tool, nextConstraint) ?? 'axis';\n if (constraint === normalized) {\n if (!activeDrag) attachCurrentSelection();\n return;\n }\n controller.cancelDrag();\n constraint = normalized;\n attachCurrentSelection();\n },\n setOperationSettings(settings) {\n if (disposed) return;\n operationSettings = cloneOperationSettings(settings);\n if (activeDrag) updateDrag();\n },\n preparePointerDrag(event) {\n if (disposed || event.button !== 0) return;\n pendingDuplicateDrag = isDuplicateDragModifier(event);\n },\n setSelectedNode(nextNodeId) {\n if (disposed) return;\n if (selectedNodeId === nextNodeId && selectedNodeIds.length === (nextNodeId ? 1 : 0)) return;\n controller.cancelDrag();\n selectedNodeId = nextNodeId;\n selectedNodeIds = nextNodeId ? [nextNodeId] : [];\n attachCurrentSelection();\n },\n setSelection(selection) {\n if (disposed) return;\n const largeSelection = selection.selectedIds.length > LARGE_SELECTION_GIZMO_LIMIT;\n const nextNodeIds = largeSelection\n ? [selection.activeId].filter((id): id is string => !!id)\n : [...selection.selectedIds];\n const nextActiveId = selection.activeId;\n if (\n selectedNodeId === nextActiveId\n && selectedNodeIds.length === nextNodeIds.length\n && selectedNodeIds.every((id, index) => id === nextNodeIds[index])\n ) {\n return;\n }\n controller.cancelDrag();\n selectedNodeId = nextActiveId;\n selectedNodeIds = nextNodeIds;\n attachCurrentSelection();\n },\n refreshSelection() {\n if (disposed) return;\n if (activeDrag) return;\n attachCurrentSelection();\n },\n isGizmoDragCandidate,\n isViewPlaneMoveCandidate,\n beginViewPlaneMove,\n updateViewPlaneMove,\n endViewPlaneMove,\n pickPlacementHit,\n setPlacementMarker,\n cancelDrag() {\n const drag = activeDrag;\n if (!drag) return;\n activeDrag = null;\n if (drag.targetIds.length > 1) {\n options.projection.setNodeTransformsPreview(drag.beforeTransforms);\n } else if (drag.nodeId && drag.before) {\n options.projection.setNodeTransformPreview(drag.nodeId, drag.before);\n }\n attachCurrentSelection();\n options.onDragCancel?.(drag);\n },\n dispose() {\n if (disposed) return;\n controller.cancelDrag();\n clearDragObservers();\n try { manager?.attachToNode?.(null); } catch {}\n try { manager?.dispose?.(); } catch {}\n try { pivotProxy?.dispose?.(); } catch {}\n try { freeMoveHandle?.dispose?.(); } catch {}\n try { freeMoveHandleMaterial?.dispose?.(); } catch {}\n try { placementMarker?.dispose?.(); } catch {}\n try { placementMarkerMaterial?.dispose?.(); } catch {}\n pivotProxy = null;\n freeMoveHandle = null;\n freeMoveHandleMaterial = null;\n placementMarker = null;\n placementMarkerMaterial = null;\n manager = null;\n managerPrewarmed = false;\n disposed = true;\n },\n };\n\n attachCurrentSelection();\n return controller;\n}\n\nfunction cloneOperationSettings(\n settings: EditorTransformOperationSettings,\n): EditorTransformOperationSettings {\n return {\n snap: {\n enabled: settings.snap.enabled,\n moveStep: settings.snap.moveStep,\n rotateStepDegrees: settings.snap.rotateStepDegrees,\n scaleStep: settings.snap.scaleStep,\n },\n placementMode: settings.placementMode,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-solver.js","sourceRoot":"","sources":["../src/transform-solver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform-solver.js","sourceRoot":"","sources":["../src/transform-solver.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorTransformOperationBlockReason,\n EditorTransformSnapshot,\n EditorTransformSpace,\n EditorTransformTrsSnapshot,\n EditorTransformVec3,\n} from '@fps-games/editor-core';\nimport {\n isEditorTransformMatrixSnapshot,\n} from '@fps-games/editor-core';\nimport type { BabylonRuntimeGlobal } from './types';\n\nexport interface BabylonTransformSolverOptions {\n babylon: BabylonRuntimeGlobal & Record<string, any>;\n epsilon?: number;\n}\n\nexport interface BabylonTransformDeltaInput {\n before: EditorTransformSnapshot;\n pivot: EditorTransformVec3;\n delta: EditorTransformVec3;\n space: EditorTransformSpace;\n}\n\ntype BabylonTransformTrsDeltaInput = Omit<BabylonTransformDeltaInput, 'before'> & {\n before: EditorTransformTrsSnapshot;\n};\n\nexport type BabylonTransformSolverResult =\n | {\n ok: true;\n transform: EditorTransformSnapshot;\n matrix: any;\n }\n | {\n ok: false;\n reason: EditorTransformOperationBlockReason;\n matrix: any;\n };\n\nexport interface BabylonTransformSolver {\n composeTransformMatrix(transform: EditorTransformSnapshot): any;\n decomposeRepresentableWorldMatrix(matrix: any): BabylonTransformSolverResult;\n solveMove(input: Pick<BabylonTransformDeltaInput, 'before' | 'delta'>): BabylonTransformSolverResult;\n solveRotate(input: BabylonTransformDeltaInput): BabylonTransformSolverResult;\n solveScale(input: BabylonTransformDeltaInput): BabylonTransformSolverResult;\n}\n\nconst DEFAULT_EPSILON = 0.00001;\n\nexport function createBabylonTransformSolver(\n options: BabylonTransformSolverOptions,\n): BabylonTransformSolver {\n const Vector3Ctor = options.babylon.Vector3;\n const Quaternion = (options.babylon as any).Quaternion;\n const Matrix = (options.babylon as any).Matrix;\n if (!Vector3Ctor || !Quaternion || !Matrix) {\n throw new Error('Babylon runtime missing transform solver constructors');\n }\n const Vector3 = Vector3Ctor as NonNullable<BabylonRuntimeGlobal['Vector3']>;\n const epsilon = options.epsilon ?? DEFAULT_EPSILON;\n\n function vec3(value: EditorTransformVec3): any {\n return new Vector3(value.x, value.y, value.z);\n }\n\n function composeTransformMatrix(transform: EditorTransformSnapshot): any {\n if (isEditorTransformMatrixSnapshot(transform)) {\n return Matrix.FromArray?.(transform.matrix) ?? Matrix.Identity();\n }\n return Matrix.Compose(\n vec3(transform.scale),\n Quaternion.FromEulerAngles(transform.rotation.x, transform.rotation.y, transform.rotation.z),\n vec3(transform.position),\n );\n }\n\n function decomposeRepresentableWorldMatrix(matrix: any): BabylonTransformSolverResult {\n const scale = new Vector3(1, 1, 1);\n const rotation = new Quaternion();\n const position = new Vector3(0, 0, 0);\n if (!matrix?.decompose?.(scale, rotation, position)) {\n return { ok: false, reason: 'non-trs-representable', matrix };\n }\n const transform = {\n position: readVec3(position),\n rotation: readVec3(rotation.toEulerAngles()),\n scale: readVec3(scale),\n };\n if (!isFiniteTransform(transform)) {\n return { ok: false, reason: 'non-trs-representable', matrix };\n }\n const recomposed = composeTransformMatrix(transform);\n return matricesAlmostEqual(matrix, recomposed, epsilon)\n ? { ok: true, transform, matrix }\n : { ok: false, reason: 'non-trs-representable', matrix };\n }\n\n function solveMove(\n input: Pick<BabylonTransformDeltaInput, 'before' | 'delta'>,\n ): BabylonTransformSolverResult {\n if (isEditorTransformMatrixSnapshot(input.before)) {\n return { ok: false, reason: 'unsupported-transform', matrix: composeTransformMatrix(input.before) };\n }\n const transform = {\n position: addVec3(input.before.position, input.delta),\n rotation: input.before.rotation,\n scale: input.before.scale,\n };\n return {\n ok: true,\n transform,\n matrix: composeTransformMatrix(transform),\n };\n }\n\n function solveRotate(input: BabylonTransformDeltaInput): BabylonTransformSolverResult {\n if (isEditorTransformMatrixSnapshot(input.before)) {\n return { ok: false, reason: 'unsupported-transform', matrix: composeTransformMatrix(input.before) };\n }\n const matrix = composeRotatedTransformMatrix({ ...input, before: input.before });\n return decomposeRepresentableWorldMatrix(matrix);\n }\n\n function solveScale(input: BabylonTransformDeltaInput): BabylonTransformSolverResult {\n if (isEditorTransformMatrixSnapshot(input.before)) {\n return { ok: false, reason: 'unsupported-transform', matrix: composeTransformMatrix(input.before) };\n }\n const matrix = applyDeltaMatrix(input.before, input.pivot, Matrix.Scaling(input.delta.x, input.delta.y, input.delta.z), input.space);\n return decomposeRepresentableWorldMatrix(matrix);\n }\n\n function composeRotatedTransformMatrix(input: BabylonTransformTrsDeltaInput): any {\n const beforeRotation = Quaternion.FromEulerAngles(input.before.rotation.x, input.before.rotation.y, input.before.rotation.z);\n const deltaRotation = Quaternion.FromEulerAngles(input.delta.x, input.delta.y, input.delta.z);\n const rotation = input.space === 'world'\n ? deltaRotation.multiply(beforeRotation)\n : beforeRotation.multiply(deltaRotation);\n const position = input.space === 'world'\n ? rotatePositionAroundPivot(input.before.position, input.pivot, deltaRotation)\n : input.before.position;\n return Matrix.Compose(vec3(input.before.scale), rotation, vec3(position));\n }\n\n function rotatePositionAroundPivot(\n position: EditorTransformVec3,\n pivot: EditorTransformVec3,\n rotation: any,\n ): EditorTransformVec3 {\n const rotated = Matrix.Translation(position.x - pivot.x, position.y - pivot.y, position.z - pivot.z)\n .multiply(Matrix.Compose(new Vector3(1, 1, 1), rotation, new Vector3(0, 0, 0)));\n return {\n x: Number(rotated.m?.[12] ?? 0) + pivot.x,\n y: Number(rotated.m?.[13] ?? 0) + pivot.y,\n z: Number(rotated.m?.[14] ?? 0) + pivot.z,\n };\n }\n\n function applyDeltaMatrix(\n before: EditorTransformSnapshot,\n pivot: EditorTransformVec3,\n deltaMatrix: any,\n space: EditorTransformSpace,\n ): any {\n const beforeMatrix = composeTransformMatrix(before);\n if (space === 'local') return deltaMatrix.multiply(beforeMatrix);\n return beforeMatrix\n .multiply(Matrix.Translation(-pivot.x, -pivot.y, -pivot.z))\n .multiply(deltaMatrix)\n .multiply(Matrix.Translation(pivot.x, pivot.y, pivot.z));\n }\n\n return {\n composeTransformMatrix,\n decomposeRepresentableWorldMatrix,\n solveMove,\n solveRotate,\n solveScale,\n };\n}\n\nfunction readVec3(value: any): EditorTransformVec3 {\n return {\n x: Number(value.x),\n y: Number(value.y),\n z: Number(value.z),\n };\n}\n\nfunction addVec3(left: EditorTransformVec3, right: EditorTransformVec3): EditorTransformVec3 {\n return {\n x: left.x + right.x,\n y: left.y + right.y,\n z: left.z + right.z,\n };\n}\n\nfunction isFiniteTransform(transform: EditorTransformSnapshot): boolean {\n if (isEditorTransformMatrixSnapshot(transform)) return false;\n return isFiniteVec3(transform.position) && isFiniteVec3(transform.rotation) && isFiniteVec3(transform.scale);\n}\n\nfunction isFiniteVec3(value: EditorTransformVec3): boolean {\n return Number.isFinite(value.x) && Number.isFinite(value.y) && Number.isFinite(value.z);\n}\n\nfunction matricesAlmostEqual(left: any, right: any, epsilon: number): boolean {\n const leftValues = typeof left.asArray === 'function' ? left.asArray() : [];\n const rightValues = typeof right.asArray === 'function' ? right.asArray() : [];\n return leftValues.length === rightValues.length\n && leftValues.every((value: number, index: number) => Math.abs(value - rightValues[index]) <= epsilon);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { BrowserHost } from '@fps-games/editor-browser';\nimport type {\n EditorRuntimeChange,\n EditorTool,\n MaterialProp,\n MaterialRuntimeKind,\n MaterialValue,\n OutlineProp,\n OutlineValue,\n PersistentBinding,\n RuntimeProp,\n} from '@fps-games/editor-protocol';\n\nexport type RuntimeScene = any;\nexport type RuntimeCamera = any;\nexport type RuntimeNode = any;\n\nexport type BabylonRuntimeGlobal = {\n Scene?: new (engine: any) => RuntimeScene;\n UniversalCamera?: new (name: string, position: any, scene: RuntimeScene) => RuntimeCamera;\n ArcRotateCamera?: new (\n name: string,\n alpha: number,\n beta: number,\n radius: number,\n target: any,\n scene: RuntimeScene,\n ) => RuntimeCamera;\n Camera?: {\n PERSPECTIVE_CAMERA?: number;\n ORTHOGRAPHIC_CAMERA?: number;\n };\n Vector3?: new (x: number, y: number, z: number) => any;\n Matrix?: {\n FromArray: (array: readonly number[]) => any;\n Identity?: () => any;\n };\n Color3?: new (r: number, g: number, b: number) => any;\n Color4?: new (r: number, g: number, b: number, a: number) => any;\n TransformNode?: new (name: string, scene?: RuntimeScene) => any;\n HemisphericLight?: new (name: string, direction: any, scene: RuntimeScene) => any;\n DirectionalLight?: new (name: string, direction: any, scene: RuntimeScene) => any;\n Texture?: new (url: string, scene: RuntimeScene, noMipmap?: boolean, invertY?: boolean) => any;\n MaterialPluginBase?: new (\n material: any,\n name: string,\n priority: number,\n defines?: Record<string, unknown>,\n addToPluginList?: boolean,\n enable?: boolean,\n resolveIncludes?: boolean,\n ) => any;\n GizmoManager?: new (scene: RuntimeScene) => any;\n UtilityLayerRenderer?: any;\n PointerDragBehavior?: any;\n MeshBuilder?: {\n CreateBox?: (name: string, options: Record<string, unknown>, scene: RuntimeScene) => any;\n CreateSphere?: (name: string, options: Record<string, unknown>, scene: RuntimeScene) => any;\n CreatePlane?: (name: string, options: Record<string, unknown>, scene: RuntimeScene) => any;\n CreateGround?: (name: string, options: Record<string, unknown>, scene: RuntimeScene) => any;\n CreateCapsule?: (name: string, options: Record<string, unknown>, scene: RuntimeScene) => any;\n };\n StandardMaterial?: new (name: string, scene: RuntimeScene) => any;\n PBRMaterial?: new (name: string, scene: RuntimeScene) => any;\n DynamicTexture?: new (\n name: string,\n options: { width: number; height: number } | number,\n scene: RuntimeScene,\n generateMipMaps?: boolean,\n ) => any;\n ShaderMaterial?: new (\n name: string,\n scene: RuntimeScene,\n shaderPath: string | Record<string, unknown>,\n options?: Record<string, unknown>,\n ) => any;\n Effect?: {\n ShadersStore?: Record<string, string>;\n };\n Inspector?: any;\n DebugLayerTab?: any;\n InstancedMesh?: any;\n RotationGizmo?: any;\n PlaneRotationGizmo?: any;\n};\n\nexport type EditorGameLike = {\n scene?: RuntimeScene | null;\n pause?: () => void;\n resume?: () => void;\n isPausedState?: () => boolean;\n enterPreview?: () => Promise<void> | void;\n exitPreview?: (save?: boolean) => Promise<void> | void;\n onEditEnter?: () => Promise<void> | void;\n onEditExit?: () => Promise<void> | void;\n};\n\nexport type ViewportNavigationButton = 'left' | 'middle' | 'right';\n\nexport interface EditorInputControllerApi {\n init(options: EditorInputOptions): void;\n dispose(): void;\n isViewportNavigationActive(): boolean;\n activeViewportNavigationButton(): ViewportNavigationButton | null;\n consumeViewportPointerDelta(): { dx: number; dy: number };\n pressedViewportMovementKeys(): Set<string>;\n resetViewportNavigation(): void;\n}\n\nexport interface EditorInputOptions {\n host?: BrowserHost;\n getCanvas: () => HTMLCanvasElement | null;\n isEditActive: () => boolean;\n onSetTool: (tool: EditorTool) => void;\n onFocusSelected: () => void;\n onUndo?: () => void;\n onRedo?: () => void;\n onDuplicateSelected?: () => void | Promise<void>;\n}\n\nexport type RuntimeTransformSnapshot = {\n position: { x: number; y: number; z: number };\n rotation: { x: number; y: number; z: number };\n scaling: { x: number; y: number; z: number };\n};\n\nexport type CanonicalTransformChange = {\n runtimeNode: RuntimeNode;\n binding: PersistentBinding | null;\n prop: RuntimeProp;\n before: RuntimeTransformSnapshot[RuntimeProp];\n after: RuntimeTransformSnapshot[RuntimeProp];\n};\n\nexport type CanonicalMaterialChange = {\n runtimeNode: RuntimeNode;\n binding: PersistentBinding;\n ownerNodePath: string;\n target: 'root' | 'childMaterial';\n materialName: string;\n materialType: string | null;\n materialRuntimeKind: MaterialRuntimeKind;\n path: MaterialProp;\n before: MaterialValue;\n after: MaterialValue;\n};\n\nexport type CanonicalOutlineChange = {\n runtimeNode: RuntimeNode;\n binding: PersistentBinding;\n ownerNodePath: string;\n target: 'root' | 'childOutline';\n shared: boolean;\n path: OutlineProp;\n before: OutlineValue;\n after: OutlineValue;\n};\n\nexport type BabylonRuntimeChange =\n | ({ kind: 'transform' } & CanonicalTransformChange)\n | ({ kind: 'material' } & CanonicalMaterialChange)\n | ({ kind: 'outline' } & CanonicalOutlineChange);\n\nexport type PersistedRuntimeChange = EditorRuntimeChange;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fps-games/editor-babylon",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.3",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "BabylonJS runtime integrations for fps-game-editor.",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@fps-games/babylon-renderer": "0.2.0-beta.
|
|
18
|
-
"@fps-games/editor-browser": "0.2.0-beta.
|
|
19
|
-
"@fps-games/editor-core": "0.2.0-beta.
|
|
20
|
-
"@fps-games/editor-protocol": "0.2.0-beta.
|
|
17
|
+
"@fps-games/babylon-renderer": "0.2.0-beta.3",
|
|
18
|
+
"@fps-games/editor-browser": "0.2.0-beta.3",
|
|
19
|
+
"@fps-games/editor-core": "0.2.0-beta.3",
|
|
20
|
+
"@fps-games/editor-protocol": "0.2.0-beta.3"
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/** Browser host adapter for editor runtimes running inside a project page. */\n\nexport * from './local-editor-ui';\nexport type {\n LocalEditorBrowserAgentBridgeStatus,\n LocalEditorBrowserAgentBridgeStatusKind,\n LocalEditorBrowserPerformanceMeshCategoryCounts,\n LocalEditorBrowserPerformanceMeshClassCounts,\n LocalEditorBrowserPerformanceProjectionRoleCounts,\n LocalEditorBrowserPerformanceStats,\n LocalEditorBrowserPluginPanelDiagnostic,\n LocalEditorBrowserPluginPanelItem,\n LocalEditorBrowserPluginPanelState,\n LocalEditorBrowserPluginLifecycleState,\n LocalEditorBrowserPrefabComparisonPreviewInteraction,\n LocalEditorBrowserInspectorActionInput,\n LocalEditorBrowserPrefabComparisonPreviewSurface,\n LocalEditorBrowserPrefabStageComparisonPreview,\n LocalEditorBrowserPrefabStageComparisonPreviewMode,\n LocalEditorBrowserPrefabStageComparisonPreviewStatus,\n LocalEditorBrowserPrefabStageImportStats,\n LocalEditorBrowserPrefabStageState,\n LocalEditorBrowserPrefabStageStructureItem,\n LocalEditorBrowserPrefabStageStructureItemKind,\n LocalEditorBrowserPreviewCommandSurface,\n LocalEditorBrowserPreviewScope,\n LocalEditorBrowserPreviewScopeKind,\n LocalEditorBrowserPreviewTarget,\n LocalEditorBrowserUi,\n LocalEditorBrowserUiPreviewState,\n LocalEditorBrowserMarkerRelationActionInput,\n LocalEditorBrowserMarkerRelationEndpointItem,\n LocalEditorBrowserMarkerRelationEndpointInput,\n LocalEditorBrowserMarkerRelationItem,\n LocalEditorBrowserMarkerRelationPickState,\n LocalEditorBrowserMarkerRelationTypeItem,\n LocalEditorBrowserSceneGraphCreateMarkerIntent,\n} from './local-editor-ui-types';\nexport * from './runtime-debug-panel-shell';\nexport * from './runtime-camera-debug-panel';\nexport * from './runtime-lighting-debug-panel';\nexport * from './plugin-contributions';\nexport {\n toTransformOperationPolicyStatusLabel,\n} from './local-editor-ui-shared';\nexport {\n createLocalEditorModalDialog,\n} from './local-editor-ui-modal-dialog';\nexport type {\n LocalEditorModalDialogController,\n LocalEditorModalDialogInput,\n LocalEditorModalDialogOptions,\n LocalEditorModalDialogTone,\n} from './local-editor-ui-modal-dialog';\nexport {\n resolveLocalEditorAssetBrowserTab,\n resolveLocalEditorBrowserAssetKind,\n} from './local-editor-ui-asset-kind';\nexport {\n createLocalEditorPrefabStageTitle,\n findLocalEditorPrefabStageStructureItem,\n formatLocalEditorPrefabStageComparisonPreviewStatus,\n flattenLocalEditorPrefabStageStructureItems,\n LOCAL_EDITOR_PREFAB_COMPARISON_COLUMN_AUTO_COLLAPSE_WIDTH_PX,\n LOCAL_EDITOR_PREFAB_COMPARISON_COLUMN_WIDTH_PX,\n resolveLocalEditorPreviewToolSupport,\n resolveLocalEditorRightDockVisibility,\n resolveLocalEditorPrefabStageComparisonPreviewTone,\n resolveLocalEditorPrefabStageWorkbenchLayout,\n shouldLocalEditorClosePerformanceMonitor,\n shouldLocalEditorPrefabStageBlockHierarchyShortcut,\n shouldShowLocalEditorPrefabComparisonColumn,\n shouldToggleLocalEditorPrefabComparisonShortcut,\n type LocalEditorPreviewToolMatrixKey,\n type LocalEditorPreviewToolSupport,\n type LocalEditorPreviewToolSupportState,\n} from './local-editor-ui-prefab-stage';\nexport {\n createLocalEditorActiveHierarchyScope,\n createLocalEditorPrefabStageHierarchyScope,\n createLocalEditorSceneHierarchyScope,\n} from './local-editor-ui-hierarchy-scope';\nexport {\n resolveLocalEditorHierarchyCommandAdapter,\n type LocalEditorHierarchyCommandAdapter,\n type LocalEditorHierarchyCommandAdapterKind,\n} from './local-editor-ui-hierarchy-command-adapter';\nexport type {\n LocalEditorBrowserHierarchyCommandSurface,\n LocalEditorBrowserHierarchyScope,\n LocalEditorBrowserHierarchyScopeKind,\n LocalEditorBrowserHierarchyScopeNode,\n} from './local-editor-ui-types';\nexport type {\n LocalEditorBrowserResolvedAssetKind,\n} from './local-editor-ui-asset-kind';\nexport {\n resolveLocalEditorHierarchyDragOperation,\n resolveLocalEditorHierarchyDropSlot,\n type LocalEditorHierarchyDragLayout,\n type LocalEditorHierarchyDragLayoutRow,\n type LocalEditorHierarchyDragOperation,\n type LocalEditorHierarchyDropPreview,\n type LocalEditorHierarchyDropSlot,\n type LocalEditorHierarchyDropSlotKind,\n} from './local-editor-ui-hierarchy-drag-policy';\nexport {\n resolveLocalEditorHierarchyAutoScroll,\n type LocalEditorHierarchyAutoScrollInput,\n type LocalEditorHierarchyAutoScrollResolution,\n} from './local-editor-ui-hierarchy-auto-scroll';\nexport {\n normalizeLocalEditorWorkbenchLayout,\n normalizeLocalEditorWorkbenchUserLayout,\n resolveLocalEditorWorkbenchDockDisplay,\n resolveLocalEditorWorkbenchVisibility,\n} from './local-editor-ui-workbench';\nexport type {\n LocalEditorWorkbenchDockDisplay,\n LocalEditorWorkbenchLayoutControllerOptions,\n LocalEditorWorkbenchLayoutState,\n LocalEditorWorkbenchOverlayState,\n LocalEditorWorkbenchVisibility,\n LocalEditorWorkbenchViewport,\n} from './local-editor-ui-workbench';\n\nexport type BrowserEventTargetLike = Pick<EventTarget, 'addEventListener' | 'removeEventListener'>;\n\nexport interface BrowserHostOptions {\n window?: Window;\n document?: Document;\n canvas?: HTMLCanvasElement | string | null;\n}\n\nexport interface BrowserHost {\n window: Window;\n document: Document;\n canvas: HTMLCanvasElement | null;\n isIframe: boolean;\n searchParams: URLSearchParams;\n hasFocus(): boolean;\n getActiveElement(): Element | null;\n resolveCanvas(canvas?: HTMLCanvasElement | string | null): HTMLCanvasElement | null;\n addWindowEvent<K extends keyof WindowEventMap>(\n type: K,\n listener: (event: WindowEventMap[K]) => void,\n options?: boolean | AddEventListenerOptions,\n ): () => void;\n addDocumentEvent<K extends keyof DocumentEventMap>(\n type: K,\n listener: (event: DocumentEventMap[K]) => void,\n options?: boolean | AddEventListenerOptions,\n ): () => void;\n requestAnimationFrame(callback: FrameRequestCallback): number;\n cancelAnimationFrame(handle: number): void;\n setTimeout(callback: () => void, timeoutMs: number): number;\n clearTimeout(handle: number): void;\n}\n\nfunction getDefaultWindow(): Window {\n if (typeof window === 'undefined') {\n throw new Error('createBrowserHost requires a browser Window. Pass options.window in non-browser environments.');\n }\n return window;\n}\n\nfunction resolveDocument(win: Window, doc?: Document): Document {\n return doc ?? win.document;\n}\n\nexport function isIframeWindow(win: Window): boolean {\n try {\n return win.self !== win.top;\n } catch {\n return true;\n }\n}\n\nexport function resolveCanvasElement(\n doc: Document,\n canvas?: HTMLCanvasElement | string | null,\n): HTMLCanvasElement | null {\n if (!canvas) return null;\n if (typeof canvas !== 'string') return canvas;\n return doc.getElementById(canvas) as HTMLCanvasElement | null;\n}\n\nexport function createBrowserHost(options: BrowserHostOptions = {}): BrowserHost {\n const win = options.window ?? getDefaultWindow();\n const doc = resolveDocument(win, options.document);\n const resolveCanvas = (canvas = options.canvas ?? null) => resolveCanvasElement(doc, canvas);\n\n return {\n window: win,\n document: doc,\n canvas: resolveCanvas(),\n isIframe: isIframeWindow(win),\n searchParams: new URLSearchParams(win.location?.search ?? ''),\n hasFocus: () => doc.hasFocus(),\n getActiveElement: () => doc.activeElement,\n resolveCanvas,\n addWindowEvent(type, listener, eventOptions) {\n win.addEventListener(type, listener as EventListener, eventOptions);\n return () => win.removeEventListener(type, listener as EventListener, eventOptions);\n },\n addDocumentEvent(type, listener, eventOptions) {\n doc.addEventListener(type, listener as EventListener, eventOptions);\n return () => doc.removeEventListener(type, listener as EventListener, eventOptions);\n },\n requestAnimationFrame: callback => win.requestAnimationFrame(callback),\n cancelAnimationFrame: handle => win.cancelAnimationFrame(handle),\n setTimeout: (callback, timeoutMs) => win.setTimeout(callback, timeoutMs),\n clearTimeout: handle => win.clearTimeout(handle),\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-editor-inspector-clipboard.js","sourceRoot":"","sources":["../src/local-editor-inspector-clipboard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-editor-inspector-clipboard.js","sourceRoot":"","sources":["../src/local-editor-inspector-clipboard.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n LocalEditorBrowserInspectorProperty,\n} from './local-editor-ui-types';\nimport {\n LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES,\n isLocalEditorBrowserInspectorTransformVectorGroupPath,\n resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties,\n} from './local-editor-inspector-groups';\n\nconst INSPECTOR_GROUP_VALUE_CLIPBOARD_KIND = 'fps.inspector.group-value';\nconst INSPECTOR_GROUP_VALUE_CLIPBOARD_VERSION = 1;\n\nexport interface LocalEditorBrowserInspectorVec3ClipboardValue {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface LocalEditorBrowserInspectorGroupValueClipboardPayload {\n kind: typeof INSPECTOR_GROUP_VALUE_CLIPBOARD_KIND;\n version: typeof INSPECTOR_GROUP_VALUE_CLIPBOARD_VERSION;\n groupPath: string;\n valueType: 'vec3';\n value: LocalEditorBrowserInspectorVec3ClipboardValue;\n}\n\nexport function createLocalEditorBrowserInspectorGroupValueClipboardPayload(\n payload: Omit<LocalEditorBrowserInspectorGroupValueClipboardPayload, 'kind' | 'version'>,\n): string {\n return JSON.stringify({\n kind: INSPECTOR_GROUP_VALUE_CLIPBOARD_KIND,\n version: INSPECTOR_GROUP_VALUE_CLIPBOARD_VERSION,\n ...payload,\n }, null, 2);\n}\n\nexport function parseLocalEditorBrowserInspectorGroupValueClipboardPayload(\n text: string,\n): LocalEditorBrowserInspectorGroupValueClipboardPayload | null {\n let parsed: unknown;\n try {\n parsed = JSON.parse(text);\n } catch {\n return null;\n }\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return null;\n const record = parsed as Record<string, unknown>;\n if (record.kind !== INSPECTOR_GROUP_VALUE_CLIPBOARD_KIND) return null;\n if (record.version !== INSPECTOR_GROUP_VALUE_CLIPBOARD_VERSION) return null;\n if (record.valueType !== 'vec3') return null;\n if (typeof record.groupPath !== 'string' || !isLocalEditorBrowserInspectorTransformVectorGroupPath(record.groupPath)) return null;\n const value = readInspectorClipboardVec3(record.value);\n if (!value) return null;\n return {\n kind: INSPECTOR_GROUP_VALUE_CLIPBOARD_KIND,\n version: INSPECTOR_GROUP_VALUE_CLIPBOARD_VERSION,\n groupPath: record.groupPath,\n valueType: 'vec3',\n value,\n };\n}\n\nexport function createLocalEditorBrowserInspectorVectorCopyPayload<TDocument>(\n properties: LocalEditorBrowserInspectorProperty<TDocument>[],\n): string | null {\n const groupPath = resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties(properties);\n if (!groupPath || properties.some(property => property.mixed)) return null;\n const value = readInspectorPropertiesVec3(properties, groupPath);\n if (!value) return null;\n return createLocalEditorBrowserInspectorGroupValueClipboardPayload({\n groupPath,\n valueType: 'vec3',\n value,\n });\n}\n\nfunction readInspectorPropertiesVec3<TDocument>(\n properties: LocalEditorBrowserInspectorProperty<TDocument>[],\n groupPath: string,\n): LocalEditorBrowserInspectorVec3ClipboardValue | null {\n const values = new Map<string, number>();\n for (const property of properties) {\n const axis = property.path.slice(groupPath.length + 1);\n if (axis !== 'x' && axis !== 'y' && axis !== 'z') return null;\n if (typeof property.value !== 'number' || !Number.isFinite(property.value)) return null;\n values.set(axis, property.value);\n }\n if (!LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.every(axis => values.has(axis))) return null;\n return {\n x: values.get('x')!,\n y: values.get('y')!,\n z: values.get('z')!,\n };\n}\n\nfunction readInspectorClipboardVec3(value: unknown): LocalEditorBrowserInspectorVec3ClipboardValue | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n const record = value as Record<string, unknown>;\n if (!isFiniteNumber(record.x) || !isFiniteNumber(record.y) || !isFiniteNumber(record.z)) return null;\n return {\n x: record.x,\n y: record.y,\n z: record.z,\n };\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\nexport {\n resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath,\n resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties,\n} from './local-editor-inspector-groups';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-editor-inspector-groups.js","sourceRoot":"","sources":["../src/local-editor-inspector-groups.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAIjF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,oBAAoB;IACpB,oBAAoB;IACpB,iBAAiB;CAClB,CAAC,CAAC;AAOH,MAAM,UAAU,qDAAqD,CAAC,KAAa;IACjF,OAAO,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,iEAAiE,CAC/E,YAAgC;IAEhC,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAoD,CAAC;IAC3E,OAAO,SAAS,IAAI,IAAI,IAAI,qDAAqD,CAAC,SAAS,CAAC;QAC1F,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;QACrB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,iEAAiE,CAC/E,YAAgC;IAEhC,OAAO,iEAAiE,CAAC,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,+DAA+D,CAC7E,UAA4D;IAE5D,MAAM,SAAS,GAAG,iEAAiE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACzG,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC5D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,iEAAiE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,wCAAwC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,CAAC"}
|
|
1
|
+
{"version":3,"file":"local-editor-inspector-groups.js","sourceRoot":"","sources":["../src/local-editor-inspector-groups.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAIjF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,oBAAoB;IACpB,oBAAoB;IACpB,iBAAiB;CAClB,CAAC,CAAC;AAOH,MAAM,UAAU,qDAAqD,CAAC,KAAa;IACjF,OAAO,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,iEAAiE,CAC/E,YAAgC;IAEhC,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAoD,CAAC;IAC3E,OAAO,SAAS,IAAI,IAAI,IAAI,qDAAqD,CAAC,SAAS,CAAC;QAC1F,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;QACrB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,iEAAiE,CAC/E,YAAgC;IAEhC,OAAO,iEAAiE,CAAC,YAAY,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,+DAA+D,CAC7E,UAA4D;IAE5D,MAAM,SAAS,GAAG,iEAAiE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACzG,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC5D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,iEAAiE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,wCAAwC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,CAAC","sourcesContent":["import type {\n LocalEditorBrowserInspectorProperty,\n} from './local-editor-ui-types';\n\nexport const LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES = ['x', 'y', 'z'] as const;\n\nexport type LocalEditorBrowserInspectorVec3Axis = typeof LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES[number];\n\nconst TRANSFORM_VEC3_GROUP_PATHS = new Set([\n 'transform.position',\n 'transform.rotation',\n 'transform.scale',\n]);\n\nexport interface LocalEditorBrowserInspectorVectorGroupAxis {\n groupPath: string;\n axis: LocalEditorBrowserInspectorVec3Axis;\n}\n\nexport function isLocalEditorBrowserInspectorTransformVectorGroupPath(value: string): boolean {\n return TRANSFORM_VEC3_GROUP_PATHS.has(value);\n}\n\nexport function resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath(\n propertyPath: string | undefined,\n): LocalEditorBrowserInspectorVectorGroupAxis | null {\n const match = propertyPath?.match(/^(transform\\.(?:position|rotation|scale))\\.([xyz])$/);\n const groupPath = match?.[1] ?? null;\n const axis = match?.[2] as LocalEditorBrowserInspectorVec3Axis | undefined;\n return groupPath && axis && isLocalEditorBrowserInspectorTransformVectorGroupPath(groupPath)\n ? { groupPath, axis }\n : null;\n}\n\nexport function resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath(\n propertyPath: string | undefined,\n): string | null {\n return resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath(propertyPath)?.groupPath ?? null;\n}\n\nexport function resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties<TDocument>(\n properties: LocalEditorBrowserInspectorProperty<TDocument>[],\n): string | null {\n const groupPath = resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath(properties[0]?.path);\n if (!groupPath) return null;\n const axes = new Set<LocalEditorBrowserInspectorVec3Axis>();\n for (const property of properties) {\n const resolved = resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath(property.path);\n if (!resolved || resolved.groupPath !== groupPath) return null;\n axes.add(resolved.axis);\n }\n return LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.every(axis => axes.has(axis)) ? groupPath : null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-editor-rendering-actions.js","sourceRoot":"","sources":["../src/local-editor-rendering-actions.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,8BAA8B,CAC5C,cAAwE,EACxE,QAAgB;IAEhB,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC3F,IAAI,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAChD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QACrD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YACnF,IAAI,YAAY;gBAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"local-editor-rendering-actions.js","sourceRoot":"","sources":["../src/local-editor-rendering-actions.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,8BAA8B,CAC5C,cAAwE,EACxE,QAAgB;IAEhB,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC3F,IAAI,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAChD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QACrD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YACnF,IAAI,YAAY;gBAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type {\n LocalEditorBrowserRenderingPanelAction,\n LocalEditorBrowserRenderingPanelState,\n LocalEditorBrowserRenderingSection,\n LocalEditorBrowserRenderingSystem,\n} from './local-editor-ui-types';\n\nexport interface LocalEditorRenderingActionMatch {\n action: LocalEditorBrowserRenderingPanelAction;\n section?: LocalEditorBrowserRenderingSection;\n system?: LocalEditorBrowserRenderingSystem;\n}\n\nexport function findLocalEditorRenderingAction(\n renderingPanel: LocalEditorBrowserRenderingPanelState | null | undefined,\n actionId: string,\n): LocalEditorRenderingActionMatch | null {\n const panelAction = (renderingPanel?.actions ?? []).find(action => action.id === actionId);\n if (panelAction) return { action: panelAction };\n for (const section of renderingPanel?.sections ?? []) {\n for (const system of section.systems) {\n const systemAction = (system.actions ?? []).find(action => action.id === actionId);\n if (systemAction) return { action: systemAction, section, system };\n }\n }\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-editor-root-ownership.js","sourceRoot":"","sources":["../src/local-editor-root-ownership.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,8BAA8B,CAC5C,IAA+B;IAE/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAa,CAAC;IAC3C,OAAO;QACL,MAAM,CAAC,KAAK;YACV,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS;YACP,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,yCAAyC,CAAkC,CAAC;gBACpG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtB,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"local-editor-root-ownership.js","sourceRoot":"","sources":["../src/local-editor-root-ownership.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,8BAA8B,CAC5C,IAA+B;IAE/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAa,CAAC;IAC3C,OAAO;QACL,MAAM,CAAC,KAAK;YACV,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS;YACP,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,yCAAyC,CAAkC,CAAC;gBACpG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtB,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["export interface LocalEditorRootOwnership {\n append<TNode extends ChildNode>(child: TNode): TNode;\n removeAll(): void;\n}\n\nexport function createLocalEditorRootOwnership(\n root: Pick<Node, 'appendChild'>,\n): LocalEditorRootOwnership {\n const ownedChildren = new Set<ChildNode>();\n return {\n append(child) {\n ownedChildren.add(child);\n root.appendChild(child);\n return child;\n },\n removeAll() {\n const errors: unknown[] = [];\n for (const child of ownedChildren) {\n try {\n child.remove();\n ownedChildren.delete(child);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length > 0) {\n const error = new Error('Local Editor owned root cleanup failed.') as Error & { errors: unknown[] };\n error.errors = errors;\n throw error;\n }\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-editor-ui-asset-kind.js","sourceRoot":"","sources":["../src/local-editor-ui-asset-kind.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kCAAkC,CAChD,KAAoC;IAEpC,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9D,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAC5I,IAAI,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IACvG,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACnJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,KAAoC;IAEpC,MAAM,IAAI,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC1C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"local-editor-ui-asset-kind.js","sourceRoot":"","sources":["../src/local-editor-ui-asset-kind.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kCAAkC,CAChD,KAAoC;IAEpC,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9D,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAC5I,IAAI,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IACvG,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACnJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,KAAoC;IAEpC,MAAM,IAAI,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC1C,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import type {\n LocalEditorAssetBrowserTab,\n LocalEditorBrowserUiAssetItem,\n} from './local-editor-ui-types';\n\nexport type LocalEditorBrowserResolvedAssetKind = 'model' | 'prefab' | 'material' | 'texture';\n\nexport function resolveLocalEditorBrowserAssetKind(\n asset: LocalEditorBrowserUiAssetItem,\n): LocalEditorBrowserResolvedAssetKind {\n const kind = `${asset.kind ?? ''}`.trim().toLowerCase();\n const id = `${asset.id ?? ''}`.trim().toLowerCase();\n const assetId = `${asset.assetId ?? ''}`.trim().toLowerCase();\n if (kind === 'prefab' || kind === 'prefabs' || id.startsWith('prefab:') || assetId.startsWith('prefab:') || !!asset.prefab) return 'prefab';\n if (kind === 'material' || id.startsWith('material:') || assetId.startsWith('mat_')) return 'material';\n if (kind === 'texture' || kind === 'image' || kind === 'textures' || id.startsWith('texture:') || assetId.startsWith('texture_')) return 'texture';\n return 'model';\n}\n\nexport function resolveLocalEditorAssetBrowserTab(\n asset: LocalEditorBrowserUiAssetItem,\n): Exclude<LocalEditorAssetBrowserTab, 'all'> {\n const kind = resolveLocalEditorBrowserAssetKind(asset);\n if (kind === 'material') return 'materials';\n if (kind === 'prefab') return 'prefabs';\n if (kind === 'texture') return 'textures';\n return 'models';\n}\n"]}
|