@fps-games/editor 0.2.0-beta.4 → 0.2.1-beta.1
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/editor-state.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.js +12 -6
- package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
- package/dist/agent-bridge/capabilities/hierarchy.d.ts +4 -0
- package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +1 -0
- package/dist/agent-bridge/capabilities/hierarchy.js +209 -0
- package/dist/agent-bridge/capabilities/hierarchy.js.map +1 -0
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js +208 -73
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +3 -4
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +24 -23
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js +829 -66
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.js +3 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.js +22 -9
- package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
- package/dist/agent-bridge/capability-sources.d.ts.map +1 -1
- package/dist/agent-bridge/capability-sources.js +2 -0
- package/dist/agent-bridge/capability-sources.js.map +1 -1
- package/dist/agent-bridge/register.d.ts.map +1 -1
- package/dist/agent-bridge/register.js +194 -0
- package/dist/agent-bridge/register.js.map +1 -1
- package/dist/agent-bridge/shared.d.ts +231 -11
- package/dist/agent-bridge/shared.d.ts.map +1 -1
- package/dist/agent-bridge/shared.js +162 -20
- package/dist/agent-bridge/shared.js.map +1 -1
- package/dist/agent-bridge/source-types.d.ts +17 -1
- package/dist/agent-bridge/source-types.d.ts.map +1 -1
- package/dist/agent-bridge/source-types.js.map +1 -1
- package/dist/build-info.json +57 -42
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/babylon-preview-engine.d.ts +3 -0
- package/dist/internal/babylon-preview-engine.d.ts.map +1 -0
- package/dist/internal/babylon-preview-engine.js +11 -0
- package/dist/internal/babylon-preview-engine.js.map +1 -0
- package/dist/internal/product-local-editor-cleanup.d.ts +5 -0
- package/dist/internal/product-local-editor-cleanup.d.ts.map +1 -0
- package/dist/internal/product-local-editor-cleanup.js +20 -0
- package/dist/internal/product-local-editor-cleanup.js.map +1 -0
- package/dist/local-editor-agent-actions.d.ts +2 -4
- package/dist/local-editor-agent-actions.d.ts.map +1 -1
- package/dist/local-editor-agent-actions.js +56 -32
- package/dist/local-editor-agent-actions.js.map +1 -1
- package/dist/local-editor-agent-context.d.ts +5 -5
- package/dist/local-editor-agent-context.d.ts.map +1 -1
- package/dist/local-editor-agent-context.js.map +1 -1
- package/dist/local-editor-harness.d.ts +340 -35
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +3834 -1321
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-marker-graph.d.ts +15 -15
- package/dist/local-editor-marker-graph.d.ts.map +1 -1
- package/dist/local-editor-marker-graph.js +3 -0
- package/dist/local-editor-marker-graph.js.map +1 -1
- package/dist/local-editor-performance-stats.d.ts +3 -2
- package/dist/local-editor-performance-stats.d.ts.map +1 -1
- package/dist/local-editor-performance-stats.js.map +1 -1
- package/dist/local-editor-prefab-stage-transaction.d.ts +19 -0
- package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -0
- package/dist/local-editor-prefab-stage-transaction.js +45 -0
- package/dist/local-editor-prefab-stage-transaction.js.map +1 -0
- package/dist/local-editor-scene-view-interaction-runtime.d.ts +3 -1
- package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js +24 -0
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/local-editor-tools.d.ts +18 -0
- package/dist/local-editor-tools.d.ts.map +1 -0
- package/dist/local-editor-tools.js +53 -0
- package/dist/local-editor-tools.js.map +1 -0
- package/dist/playable-babylon-rendering.d.ts +9 -0
- package/dist/playable-babylon-rendering.d.ts.map +1 -1
- package/dist/playable-babylon-rendering.js +162 -6
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-entry.d.ts +68 -0
- package/dist/playable-local-editor-entry.d.ts.map +1 -0
- package/dist/playable-local-editor-entry.js +424 -0
- package/dist/playable-local-editor-entry.js.map +1 -0
- package/dist/playable-local-editor-host.d.ts +51 -29
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js +23 -11
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.d.ts +10 -12
- package/dist/playable-product-local-editor.d.ts.map +1 -1
- package/dist/playable-product-local-editor.js +178 -85
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.d.ts +4 -1
- package/dist/playable-product-projection-preview.d.ts.map +1 -1
- package/dist/playable-product-projection-preview.js +122 -5
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-rendering.d.ts +12 -0
- package/dist/playable-product-rendering.d.ts.map +1 -1
- package/dist/playable-product-rendering.js +128 -6
- package/dist/playable-product-rendering.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts +24 -7
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +172 -15
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-project-mode.d.ts +17 -0
- package/dist/playable-project-mode.d.ts.map +1 -0
- package/dist/playable-project-mode.js +2 -0
- package/dist/playable-project-mode.js.map +1 -0
- package/dist/playable-runtime-babylon.d.ts +3 -6
- package/dist/playable-runtime-babylon.d.ts.map +1 -1
- package/dist/playable-runtime-babylon.js +1 -5
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-sdk.d.ts +16 -9
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js +6 -4
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.d.ts +23 -14
- package/dist/playable-standard-project.d.ts.map +1 -1
- package/dist/playable-standard-project.js +53 -19
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/vite-client.d.ts +4 -0
- package/node_modules/@babel/helper-string-parser/lib/index.js +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/identifier.js +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/index.js +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/keyword.js +0 -1
- package/node_modules/@babel/parser/lib/index.js +0 -1
- package/node_modules/@babel/types/lib/asserts/assertNode.js +0 -1
- package/node_modules/@babel/types/lib/asserts/generated/index.js +0 -1
- package/node_modules/@babel/types/lib/ast-types/generated/index.js +0 -1
- package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +0 -1
- package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +0 -1
- package/node_modules/@babel/types/lib/builders/generated/index.js +0 -1
- package/node_modules/@babel/types/lib/builders/generated/lowercase.js +0 -1
- package/node_modules/@babel/types/lib/builders/generated/uppercase.js +0 -1
- package/node_modules/@babel/types/lib/builders/productions.js +0 -1
- package/node_modules/@babel/types/lib/builders/react/buildChildren.js +0 -1
- package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +0 -1
- package/node_modules/@babel/types/lib/builders/validateNode.js +0 -1
- package/node_modules/@babel/types/lib/clone/clone.js +0 -1
- package/node_modules/@babel/types/lib/clone/cloneDeep.js +0 -1
- package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +0 -1
- package/node_modules/@babel/types/lib/clone/cloneNode.js +0 -1
- package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +0 -1
- package/node_modules/@babel/types/lib/comments/addComment.js +0 -1
- package/node_modules/@babel/types/lib/comments/addComments.js +0 -1
- package/node_modules/@babel/types/lib/comments/inheritInnerComments.js +0 -1
- package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +0 -1
- package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +0 -1
- package/node_modules/@babel/types/lib/comments/inheritsComments.js +0 -1
- package/node_modules/@babel/types/lib/comments/removeComments.js +0 -1
- package/node_modules/@babel/types/lib/constants/generated/index.js +0 -1
- package/node_modules/@babel/types/lib/constants/index.js +0 -1
- package/node_modules/@babel/types/lib/converters/ensureBlock.js +0 -1
- package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +0 -1
- package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +0 -1
- package/node_modules/@babel/types/lib/converters/toBlock.js +0 -1
- package/node_modules/@babel/types/lib/converters/toComputedKey.js +0 -1
- package/node_modules/@babel/types/lib/converters/toExpression.js +0 -1
- package/node_modules/@babel/types/lib/converters/toIdentifier.js +0 -1
- package/node_modules/@babel/types/lib/converters/toKeyAlias.js +0 -1
- package/node_modules/@babel/types/lib/converters/toSequenceExpression.js +0 -1
- package/node_modules/@babel/types/lib/converters/toStatement.js +0 -1
- package/node_modules/@babel/types/lib/converters/valueToNode.js +0 -1
- package/node_modules/@babel/types/lib/definitions/core.js +0 -1
- package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js +0 -1
- package/node_modules/@babel/types/lib/definitions/experimental.js +0 -1
- package/node_modules/@babel/types/lib/definitions/flow.js +0 -1
- package/node_modules/@babel/types/lib/definitions/index.js +0 -1
- package/node_modules/@babel/types/lib/definitions/jsx.js +0 -1
- package/node_modules/@babel/types/lib/definitions/misc.js +0 -1
- package/node_modules/@babel/types/lib/definitions/placeholders.js +0 -1
- package/node_modules/@babel/types/lib/definitions/typescript.js +0 -1
- package/node_modules/@babel/types/lib/definitions/utils.js +0 -1
- package/node_modules/@babel/types/lib/index.js +0 -1
- package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +0 -1
- package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +0 -1
- package/node_modules/@babel/types/lib/modifications/inherits.js +0 -1
- package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +0 -1
- package/node_modules/@babel/types/lib/modifications/removeProperties.js +0 -1
- package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +0 -1
- package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +0 -1
- package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js +0 -1
- package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +0 -1
- package/node_modules/@babel/types/lib/retrievers/getFunctionName.js +0 -1
- package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +0 -1
- package/node_modules/@babel/types/lib/traverse/traverse.js +0 -1
- package/node_modules/@babel/types/lib/traverse/traverseFast.js +0 -1
- package/node_modules/@babel/types/lib/utils/deprecationWarning.js +0 -1
- package/node_modules/@babel/types/lib/utils/inherit.js +0 -1
- package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +0 -1
- package/node_modules/@babel/types/lib/utils/shallowEqual.js +0 -1
- package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +0 -1
- package/node_modules/@babel/types/lib/validators/generated/index.js +0 -1
- package/node_modules/@babel/types/lib/validators/is.js +0 -1
- package/node_modules/@babel/types/lib/validators/isBinding.js +0 -1
- package/node_modules/@babel/types/lib/validators/isBlockScoped.js +0 -1
- package/node_modules/@babel/types/lib/validators/isImmutable.js +0 -1
- package/node_modules/@babel/types/lib/validators/isLet.js +0 -1
- package/node_modules/@babel/types/lib/validators/isNode.js +0 -1
- package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +0 -1
- package/node_modules/@babel/types/lib/validators/isPlaceholderType.js +0 -1
- package/node_modules/@babel/types/lib/validators/isReferenced.js +0 -1
- package/node_modules/@babel/types/lib/validators/isScope.js +0 -1
- package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +0 -1
- package/node_modules/@babel/types/lib/validators/isType.js +0 -1
- package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +0 -1
- package/node_modules/@babel/types/lib/validators/isValidIdentifier.js +0 -1
- package/node_modules/@babel/types/lib/validators/isVar.js +0 -1
- package/node_modules/@babel/types/lib/validators/matchesPattern.js +0 -1
- package/node_modules/@babel/types/lib/validators/react/isCompatTag.js +0 -1
- package/node_modules/@babel/types/lib/validators/react/isReactComponent.js +0 -1
- package/node_modules/@babel/types/lib/validators/validate.js +0 -1
- package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.d.ts +69 -0
- package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.js +132 -0
- package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.d.ts +8 -0
- package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.js +7 -0
- package/node_modules/@babylonjs/loaders/BVH/bvhLoader.d.ts +14 -0
- package/node_modules/@babylonjs/loaders/BVH/bvhLoader.js +328 -0
- package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.d.ts +9 -0
- package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.js +1 -0
- package/node_modules/@babylonjs/loaders/BVH/index.d.ts +2 -0
- package/node_modules/@babylonjs/loaders/BVH/index.js +3 -0
- package/node_modules/@babylonjs/loaders/OBJ/index.d.ts +4 -0
- package/node_modules/@babylonjs/loaders/OBJ/index.js +4 -0
- package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.d.ts +41 -0
- package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.js +230 -0
- package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.d.ts +136 -0
- package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.js +317 -0
- package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.d.ts +4 -0
- package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.js +4 -0
- package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.d.ts +47 -0
- package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.js +1 -0
- package/node_modules/@babylonjs/loaders/OBJ/solidParser.d.ts +175 -0
- package/node_modules/@babylonjs/loaders/OBJ/solidParser.js +903 -0
- package/node_modules/@babylonjs/loaders/SPLAT/index.d.ts +2 -0
- package/node_modules/@babylonjs/loaders/SPLAT/index.js +3 -0
- package/node_modules/@babylonjs/loaders/SPLAT/sog.d.ts +84 -0
- package/node_modules/@babylonjs/loaders/SPLAT/sog.js +294 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.d.ts +26 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.js +10 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.d.ts +100 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.js +536 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.d.ts +20 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.js +15 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.d.ts +33 -0
- package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.js +1 -0
- package/node_modules/@babylonjs/loaders/SPLAT/spz.d.ts +11 -0
- package/node_modules/@babylonjs/loaders/SPLAT/spz.js +168 -0
- package/node_modules/@babylonjs/loaders/STL/index.d.ts +1 -0
- package/node_modules/@babylonjs/loaders/STL/index.js +1 -0
- package/node_modules/@babylonjs/loaders/STL/stlFileLoader.d.ts +78 -0
- package/node_modules/@babylonjs/loaders/STL/stlFileLoader.js +238 -0
- package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.d.ts +8 -0
- package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.js +7 -0
- package/node_modules/@babylonjs/loaders/bvh/license.md +21 -0
- package/node_modules/@babylonjs/loaders/dynamic.d.ts +5 -0
- package/node_modules/@babylonjs/loaders/dynamic.js +56 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.d.ts +16 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.js +64 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.d.ts +144 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.js +1841 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.d.ts +412 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.js +95 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.d.ts +71 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.js +254 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.d.ts +13 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.js +130 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/index.d.ts +5 -0
- package/node_modules/@babylonjs/loaders/glTF/1.0/index.js +5 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.d.ts +41 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.js +93 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.d.ts +41 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.js +83 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +48 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.js +115 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +39 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +94 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +39 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.js +50 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.d.ts +34 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.js +38 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.d.ts +33 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.js +37 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +53 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.js +73 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.d.ts +47 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.d.ts +1 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.js +251 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.js +77 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +47 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +92 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.d.ts +355 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js +1678 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.d.ts +33 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.js +19 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.d.ts +3 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.js +3 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.d.ts +70 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js +438 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.d.ts +38 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.js +150 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +41 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.js +91 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.js +65 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.js +79 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.d.ts +49 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.js +119 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.js +58 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js +69 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.js +56 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +47 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.js +77 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.d.ts +46 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.js +54 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.js +68 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +80 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.js +73 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.js +76 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.js +303 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.js +66 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.d.ts +112 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.js +262 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.js +82 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.d.ts +45 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.js +109 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +29 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.js +22 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.d.ts +31 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.js +189 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.d.ts +30 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.js +123 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.d.ts +30 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.js +66 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +33 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.js +37 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.d.ts +37 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.js +58 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +39 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.js +47 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +56 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.js +228 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.d.ts +104 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.js +337 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +27 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.js +39 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +27 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.js +38 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.d.ts +4 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.js +212 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.d.ts +45 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.js +100 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.d.ts +43 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.js +44 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.d.ts +306 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.js +884 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.d.ts +450 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.js +2485 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.d.ts +42 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.js +79 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.d.ts +165 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.js +1 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.d.ts +25 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.js +32 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.d.ts +262 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.js +1 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/index.d.ts +8 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/index.js +9 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.d.ts +364 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.js +1 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.d.ts +674 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.js +1034 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.d.ts +705 -0
- package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.js +1126 -0
- package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.d.ts +553 -0
- package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.js +998 -0
- package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.d.ts +15 -0
- package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.js +17 -0
- package/node_modules/@babylonjs/loaders/glTF/glTFValidation.d.ts +35 -0
- package/node_modules/@babylonjs/loaders/glTF/glTFValidation.js +131 -0
- package/node_modules/@babylonjs/loaders/glTF/index.d.ts +5 -0
- package/node_modules/@babylonjs/loaders/glTF/index.js +6 -0
- package/node_modules/@babylonjs/loaders/index.d.ts +6 -0
- package/node_modules/@babylonjs/loaders/index.js +7 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.d.ts +1 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.js +15 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.d.ts +1 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.js +13 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.d.ts +2 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.js +18 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.d.ts +2 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.js +15 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.d.ts +2 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.js +3 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.d.ts +2 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.js +34 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.d.ts +2 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.js +3 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.d.ts +3 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.js +4 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.d.ts +1 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.js +15 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.d.ts +1 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.js +15 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy.d.ts +8 -0
- package/node_modules/@babylonjs/loaders/legacy/legacy.js +10 -0
- package/node_modules/@babylonjs/loaders/license.md +71 -0
- package/node_modules/@babylonjs/loaders/package.json +49 -0
- package/node_modules/@babylonjs/loaders/readme.md +23 -0
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts +22 -0
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js +187 -0
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +3 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.js +3 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts +19 -0
- package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js +212 -0
- package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts +17 -2
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.js +192 -17
- 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.d.ts +2 -0
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +139 -3
- 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/types.d.ts +4 -0
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts.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/shadows/dynamic-shadow-system.d.ts +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js +1 -0
- 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/shadow-generator-shaders.d.ts +14 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js +14 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts +59 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js +725 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts +136 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js +2735 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
- package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +2 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js +2 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts +2 -0
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js +59 -6
- package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js +81 -11
- package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +2 -8
- 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.d.ts +17 -5
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js +300 -362
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts +4 -0
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +76 -10
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts +46 -0
- package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js +304 -0
- package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts +85 -0
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +1600 -0
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts +11 -3
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +105 -15
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts +25 -0
- package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js +44 -0
- package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/package.json +6 -5
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +8 -11
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +6 -9
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts +2 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js +36 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts +2 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js +17 -0
- 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-ui-asset-kind.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js +6 -0
- 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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js +157 -77
- 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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js +27 -21
- 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-formal-surface-visibility.d.ts +19 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +44 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +36 -6
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +829 -866
- 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.d.ts +8 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js +1 -7
- 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-view-adapter.d.ts +7 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js +20 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +6 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +266 -114
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +5 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +3 -17
- 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.d.ts +14 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js +44 -62
- 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-panels.d.ts +10 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +591 -639
- 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-prefab-stage.d.ts +8 -36
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js +25 -103
- 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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js +29 -110
- 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.d.ts +1 -3
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +6 -90
- 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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js +9 -54
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +16 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +44 -39
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts +4 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js +44 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js +35 -44
- 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-theme.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js +40 -24
- 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.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js +2 -20
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +52 -341
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts +4 -14
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js +33 -119
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +5 -10
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +595 -544
- 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.d.ts +2 -3
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js +0 -180
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts +5 -0
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js +5 -0
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/package.json +15 -4
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts +22 -0
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js +226 -0
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -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 +94 -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 +24 -2
- 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 +70 -10
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts +112 -0
- package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-tools.js +613 -0
- package/node_modules/@fps-games/editor-core/dist/editor-tools.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/inspector.d.ts +46 -0
- package/node_modules/@fps-games/editor-core/dist/inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.js +62 -0
- package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts +1 -0
- package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +14 -6
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +14 -3
- 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.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js +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 +14 -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 +49 -1
- 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-library/catalog.js +58 -2
- 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.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +48 -6
- 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/document/helpers.d.ts +28 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +314 -6
- 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.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js +2 -0
- 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/prefab-instance-identity.d.ts +11 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js +27 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js +285 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +7 -3
- 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/index.d.ts +3 -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 +6 -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/document-sections.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +23 -81
- 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/local-harness/editor-entry-manifest.d.ts +41 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js +93 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts +29 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js +77 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts +51 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js +105 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts +60 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js +287 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +6 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.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 +1 -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 +53 -17
- 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.d.ts +16 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +10 -6
- 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 +5 -3
- 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 +2 -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 +134 -66
- 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/project-asset-commands.d.ts +11 -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 +21 -14
- 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/types.d.ts +17 -9
- 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/mutation/field-patch.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +20 -0
- 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/reducer.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js +49 -10
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +2 -2
- 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 -0
- 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/prefab-stage/action-patches.d.ts +7 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js +130 -20
- 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.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js +12 -3
- 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/derived-markers.d.ts +11 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js +136 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js +1 -0
- 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/projection.d.ts +36 -51
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js +40 -65
- 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/stage-inspector.d.ts +5 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +207 -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/product/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +3 -0
- 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 +18 -7
- 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 +110 -18
- 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-source.d.ts +5 -0
- 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 +6 -0
- 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-scene-assembly.d.ts +5 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +22 -2
- 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/panel.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js +144 -0
- 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/types.d.ts +16 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts.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/nodes.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +1 -0
- 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.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.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 +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +241 -13
- 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.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js +1 -0
- 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/shadow-map-experiment-migration.d.ts +31 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js +170 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +153 -13
- 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 +17 -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 +1295 -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/client.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +14 -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/driver.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js +57 -34
- 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/protocol.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js +4 -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 +4 -0
- 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/serialized-property/inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js +20 -198
- 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/session/hierarchy-facade.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js +5 -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/patches.d.ts +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +144 -8
- 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/reducer-core.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js +30 -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/types.d.ts +6 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts.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/upgrade-doctor/inspectors.js +31 -3
- 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/vite/editor-scene-workflow.d.ts +5 -2
- 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 +40 -4
- 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/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +116 -3
- 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 +2 -1
- 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 +1 -0
- 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 +17 -1
- 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 +50 -2
- 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.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +7 -5
- 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-scene-authoring.d.ts +5 -6
- 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 +31 -17
- 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/types.d.ts +6 -0
- 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 +6 -6
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +417 -2
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js +692 -2
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts +55 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js +2 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +3 -18
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js +5 -0
- package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/vite.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-tooling/dist/vite.js +151 -5
- 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/editor-ui/dist/editor-ui-controls.d.ts +107 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js +770 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts +21 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js +172 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts +14 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js +32 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts +3 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js +653 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts +3 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.js +3 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/index.d.ts +5 -0
- package/node_modules/@fps-games/editor-ui/dist/index.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/index.js +5 -0
- package/node_modules/@fps-games/editor-ui/dist/index.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts +7 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js +29 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts +2 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js +95 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts +28 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js +387 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/package.json +23 -0
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/playable-contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.js +1 -0
- package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts +116 -0
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.js +403 -0
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.js.map +1 -0
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.d.ts +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.js +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js +5 -25
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts +61 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js +176 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts +84 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js +362 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts +167 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js +484 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js.map +1 -0
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts +5 -0
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +1 -0
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/package.json +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-hierarchy/dist/editor.d.ts +6 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js +16 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts +7 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js +47 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +306 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +1237 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts +8 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js +32 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +2 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +2 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/package.json +57 -0
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- 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/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/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/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-shadow-map-experiment/dist/reference.d.ts +8 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js +35 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts +11 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js +14 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +2 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +2 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +53 -0
- 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/node_modules/@playcanvas/observer/LICENSE +19 -0
- package/node_modules/@playcanvas/observer/README.md +72 -0
- package/node_modules/@playcanvas/observer/dist/index.cjs +2033 -0
- package/node_modules/@playcanvas/observer/dist/index.js +2039 -0
- package/node_modules/@playcanvas/observer/dist/index.mjs +2026 -0
- package/node_modules/@playcanvas/observer/package.json +78 -0
- package/node_modules/@playcanvas/observer/types/event-handle.d.ts +41 -0
- package/node_modules/@playcanvas/observer/types/events.d.ts +162 -0
- package/node_modules/@playcanvas/observer/types/history.d.ts +123 -0
- package/node_modules/@playcanvas/observer/types/index.d.ts +15 -0
- package/node_modules/@playcanvas/observer/types/observer-history.d.ts +32 -0
- package/node_modules/@playcanvas/observer/types/observer-list.d.ts +39 -0
- package/node_modules/@playcanvas/observer/types/observer.d.ts +157 -0
- package/node_modules/@playcanvas/observer/types/utils.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/LICENSE +19 -0
- package/node_modules/@playcanvas/pcui/README.md +164 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/Math/color-value.mjs +77 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingBase/index.mjs +215 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/class.mjs +19 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/ArrayInput/index.mjs +498 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/BooleanInput/index.mjs +122 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Button/index.mjs +119 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Canvas/index.mjs +104 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Code/index.mjs +43 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/ColorPicker/index.mjs +619 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Container/index.mjs +642 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Divider/index.mjs +20 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Element/index.mjs +829 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/GradientPicker/index.mjs +1136 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/GridView/index.mjs +448 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/GridViewItem/index.mjs +152 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/InfoBox/index.mjs +90 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/InputElement/index.mjs +186 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Label/index.mjs +124 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/LabelGroup/index.mjs +74 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Menu/index.mjs +174 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/MenuItem/index.mjs +223 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/NumericInput/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Overlay/index.mjs +108 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Panel/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Progress/index.mjs +45 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/RadioButton/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/SelectInput/index.mjs +1085 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/SliderInput/index.mjs +333 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Spinner/index.mjs +34 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TextAreaInput/index.mjs +50 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TextInput/index.mjs +98 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeView/index.mjs +1131 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeViewItem/index.mjs +500 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/VectorInput/index.mjs +366 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/helpers/search.mjs +194 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/helpers/utils.mjs +43 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/index.mjs +56 -0
- package/node_modules/@playcanvas/pcui/dist/pcui-theme-green.scss +2798 -0
- package/node_modules/@playcanvas/pcui/dist/pcui-theme-grey.scss +2798 -0
- package/node_modules/@playcanvas/pcui/package.json +150 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/Math/color-value.mjs +77 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingBase/index.mjs +215 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/class.mjs +19 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/index.mjs +498 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/index.mjs +122 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/index.mjs +119 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/index.mjs +104 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/index.mjs +43 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/index.mjs +619 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/component.mjs +36 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/index.mjs +642 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/index.mjs +20 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/component.mjs +107 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/index.mjs +829 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/index.mjs +1136 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/component.mjs +38 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/index.mjs +448 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/index.mjs +152 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/index.mjs +90 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InputElement/index.mjs +186 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/index.mjs +124 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/component.mjs +42 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/index.mjs +74 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/component.mjs +23 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/index.mjs +174 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/MenuItem/index.mjs +223 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/index.mjs +108 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/component.mjs +32 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/index.mjs +45 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/component.mjs +21 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/index.mjs +1085 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/component.mjs +12 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/index.mjs +333 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/index.mjs +34 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/index.mjs +50 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/component.mjs +23 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/index.mjs +98 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/component.mjs +52 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/index.mjs +1131 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/component.mjs +33 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/index.mjs +500 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/index.mjs +366 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/search.mjs +194 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/utils.mjs +43 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/index.mjs +39 -0
- package/node_modules/@playcanvas/pcui/react/package.json +18 -0
- package/node_modules/@playcanvas/pcui/react/types/Math/color-value.d.ts +3 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingBase/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingElementToObservers/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingObserversToElement/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingTwoWay/index.d.ts +54 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/index.d.ts +5 -0
- package/node_modules/@playcanvas/pcui/react/types/class.d.ts +17 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/index.d.ts +140 -0
- package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/index.d.ts +41 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Button/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Button/index.d.ts +75 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Canvas/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Canvas/index.d.ts +61 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Code/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Code/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/index.d.ts +99 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Container/component.d.ts +15 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Container/index.d.ts +292 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Divider/component.d.ts +10 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Divider/index.d.ts +13 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Element/component.d.ts +23 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Element/index.d.ts +671 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/index.d.ts +152 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridView/component.d.ts +14 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridView/index.d.ts +103 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/index.d.ts +82 -0
- package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/index.d.ts +71 -0
- package/node_modules/@playcanvas/pcui/react/types/components/InputElement/index.d.ts +84 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Label/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Label/index.d.ts +85 -0
- package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/component.d.ts +10 -0
- package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/index.d.ts +62 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Menu/component.d.ts +14 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Menu/index.d.ts +70 -0
- package/node_modules/@playcanvas/pcui/react/types/components/MenuItem/index.d.ts +139 -0
- package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/index.d.ts +173 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Overlay/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Overlay/index.d.ts +53 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Panel/component.d.ts +16 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Panel/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Progress/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Progress/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/component.d.ts +12 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/index.d.ts +278 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/component.d.ts +10 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/index.d.ts +133 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Spinner/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Spinner/index.d.ts +27 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextInput/component.d.ts +12 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextInput/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeView/component.d.ts +17 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeView/index.d.ts +359 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/component.d.ts +13 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/index.d.ts +224 -0
- package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/index.d.ts +176 -0
- package/node_modules/@playcanvas/pcui/react/types/components/components.d.ts +30 -0
- package/node_modules/@playcanvas/pcui/react/types/components/index.d.ts +32 -0
- package/node_modules/@playcanvas/pcui/react/types/helpers/search.d.ts +31 -0
- package/node_modules/@playcanvas/pcui/react/types/helpers/utils.d.ts +2 -0
- package/node_modules/@playcanvas/pcui/react/types/index.d.ts +4 -0
- package/node_modules/@playcanvas/pcui/styles/dist/index.mjs +11 -0
- package/node_modules/@playcanvas/pcui/styles/package.json +17 -0
- package/node_modules/@playcanvas/pcui/types/Math/color-value.d.ts +3 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingBase/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingElementToObservers/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingObserversToElement/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingTwoWay/index.d.ts +54 -0
- package/node_modules/@playcanvas/pcui/types/binding/index.d.ts +5 -0
- package/node_modules/@playcanvas/pcui/types/class.d.ts +17 -0
- package/node_modules/@playcanvas/pcui/types/components/ArrayInput/index.d.ts +140 -0
- package/node_modules/@playcanvas/pcui/types/components/BooleanInput/index.d.ts +41 -0
- package/node_modules/@playcanvas/pcui/types/components/Button/index.d.ts +75 -0
- package/node_modules/@playcanvas/pcui/types/components/Canvas/index.d.ts +61 -0
- package/node_modules/@playcanvas/pcui/types/components/Code/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/types/components/ColorPicker/index.d.ts +99 -0
- package/node_modules/@playcanvas/pcui/types/components/Container/index.d.ts +292 -0
- package/node_modules/@playcanvas/pcui/types/components/Divider/index.d.ts +13 -0
- package/node_modules/@playcanvas/pcui/types/components/Element/index.d.ts +671 -0
- package/node_modules/@playcanvas/pcui/types/components/GradientPicker/index.d.ts +152 -0
- package/node_modules/@playcanvas/pcui/types/components/GridView/index.d.ts +103 -0
- package/node_modules/@playcanvas/pcui/types/components/GridViewItem/index.d.ts +82 -0
- package/node_modules/@playcanvas/pcui/types/components/InfoBox/index.d.ts +71 -0
- package/node_modules/@playcanvas/pcui/types/components/InputElement/index.d.ts +84 -0
- package/node_modules/@playcanvas/pcui/types/components/Label/index.d.ts +85 -0
- package/node_modules/@playcanvas/pcui/types/components/LabelGroup/index.d.ts +62 -0
- package/node_modules/@playcanvas/pcui/types/components/Menu/index.d.ts +70 -0
- package/node_modules/@playcanvas/pcui/types/components/MenuItem/index.d.ts +139 -0
- package/node_modules/@playcanvas/pcui/types/components/NumericInput/index.d.ts +173 -0
- package/node_modules/@playcanvas/pcui/types/components/Overlay/index.d.ts +53 -0
- package/node_modules/@playcanvas/pcui/types/components/Panel/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/types/components/Progress/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/types/components/RadioButton/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/types/components/SelectInput/index.d.ts +278 -0
- package/node_modules/@playcanvas/pcui/types/components/SliderInput/index.d.ts +133 -0
- package/node_modules/@playcanvas/pcui/types/components/Spinner/index.d.ts +27 -0
- package/node_modules/@playcanvas/pcui/types/components/TextAreaInput/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/types/components/TextInput/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/types/components/TreeView/index.d.ts +359 -0
- package/node_modules/@playcanvas/pcui/types/components/TreeViewItem/index.d.ts +224 -0
- package/node_modules/@playcanvas/pcui/types/components/VectorInput/index.d.ts +176 -0
- package/node_modules/@playcanvas/pcui/types/components/index.d.ts +32 -0
- package/node_modules/@playcanvas/pcui/types/helpers/search.d.ts +31 -0
- package/node_modules/@playcanvas/pcui/types/helpers/utils.d.ts +2 -0
- package/node_modules/@playcanvas/pcui/types/index.d.ts +20 -0
- package/node_modules/babylonjs-gltf2interface/babylon.glTF2Interface.d.ts +1655 -0
- package/node_modules/babylonjs-gltf2interface/license.md +71 -0
- package/node_modules/babylonjs-gltf2interface/package.json +26 -0
- package/package.json +31 -19
- package/dist/editor-plugin-hierarchy-command.d.ts +0 -19
- package/dist/editor-plugin-hierarchy-command.d.ts.map +0 -1
- package/dist/editor-plugin-hierarchy-command.js +0 -119
- package/dist/editor-plugin-hierarchy-command.js.map +0 -1
- package/node_modules/@babel/helper-string-parser/lib/index.js.map +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/index.js.map +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +0 -1
- package/node_modules/@babel/parser/lib/index.js.map +0 -1
- package/node_modules/@babel/types/lib/asserts/assertNode.js.map +0 -1
- package/node_modules/@babel/types/lib/asserts/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/ast-types/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/generated/lowercase.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/productions.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/validateNode.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/clone.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneDeep.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneNode.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/addComment.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/addComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritsComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/removeComments.js.map +0 -1
- package/node_modules/@babel/types/lib/constants/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/constants/index.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/ensureBlock.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toBlock.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toComputedKey.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toIdentifier.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toStatement.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/valueToNode.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/core.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/experimental.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/flow.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/index.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/jsx.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/misc.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/placeholders.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/typescript.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/utils.js.map +0 -1
- package/node_modules/@babel/types/lib/index.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/inherits.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/removeProperties.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getFunctionName.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +0 -1
- package/node_modules/@babel/types/lib/traverse/traverse.js.map +0 -1
- package/node_modules/@babel/types/lib/traverse/traverseFast.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/inherit.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/shallowEqual.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/is.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isBinding.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isImmutable.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isLet.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isNode.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isReferenced.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isScope.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isType.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isVar.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/matchesPattern.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/validate.js.map +0 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts +0 -37
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js +0 -451
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts +0 -49
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +0 -627
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts +0 -52
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js +0 -450
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts +0 -21
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js +0 -75
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +0 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +0 -186
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +0 -5
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +0 -98
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts +0 -63
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +0 -301
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +0 -1
|
@@ -7,29 +7,29 @@ import { createLocalEditorTooltipController } from './local-editor-ui-tooltip.js
|
|
|
7
7
|
import { createLocalEditorViewportRevealController } from './local-editor-ui-dock-panel.js';
|
|
8
8
|
import { createLocalEditorModalDialog } from './local-editor-ui-modal-dialog.js';
|
|
9
9
|
import { parseLocalEditorBrowserInspectorGroupValueClipboardPayload, } from './local-editor-inspector-clipboard.js';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
10
|
+
import { writeLocalEditorClipboardText } from './local-editor-clipboard.js';
|
|
11
|
+
import { LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES, resolveLocalEditorBrowserInspectorProportionalScaleValues, resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath, resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath, } from './local-editor-inspector-groups.js';
|
|
12
|
+
import { DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS, } from '@fps-games/editor-core';
|
|
13
|
+
import { createEditorUiLayerHost } from '@fps-games/editor-ui';
|
|
12
14
|
export { createLocalEditorViewportRevealController, isLocalEditorElementVisibleInViewport, resolveLocalEditorViewportRevealScrollTop, revealLocalEditorElementInViewport, } from './local-editor-ui-dock-panel.js';
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export { resolveLocalEditorHierarchySearchRows, } from './local-editor-ui-hierarchy-view.js';
|
|
16
|
-
export { createLocalEditorHierarchyAttachDialog, resolveLocalEditorHierarchyAttachTargets, } from './local-editor-ui-hierarchy-attach-dialog.js';
|
|
17
|
-
export { canLocalEditorHierarchyNodeHaveChildren, canLocalEditorHierarchyNodeDelete, canLocalEditorHierarchyNodeRename, canLocalEditorHierarchyNodeToggleEnabled, createLocalEditorHierarchyTreeModel, isLocalEditorHierarchyNodeSelectable, isLocalEditorHierarchyNodeMovable, } from './local-editor-ui-hierarchy-tree.js';
|
|
15
|
+
export { canUseHierarchyProviderReparent, createHierarchyEnabledOperationRequest, createLocalEditorHierarchyController, createHierarchyOperationMenuItems, createHierarchyToolbarCreateMenuItems, matchesHierarchyOperationShortcut, } from './local-editor-ui-hierarchy-controller.js';
|
|
16
|
+
export { createLocalEditorHierarchyViewAdapter, } from './local-editor-ui-hierarchy-view-adapter.js';
|
|
18
17
|
export { createLocalEditorContextMenuController, } from './local-editor-ui-context-menu.js';
|
|
19
18
|
export { createLocalEditorTooltipController, } from './local-editor-ui-tooltip.js';
|
|
20
19
|
import { createLocalEditorWorkbenchInputRouter } from './local-editor-ui-input-router.js';
|
|
21
20
|
import { createLocalEditorPanelRegistry } from './local-editor-ui-panel-registry.js';
|
|
21
|
+
import { createLocalEditorFormalSurfaceVisibilityController, disposeLocalEditorFormalSurfaces, shouldRenderLocalEditorInspectorPreview, } from './local-editor-ui-formal-surface-visibility.js';
|
|
22
22
|
import * as LocalEditorShared from './local-editor-ui-shared.js';
|
|
23
23
|
import { findLocalEditorRenderingAction } from './local-editor-rendering-actions.js';
|
|
24
24
|
import { createShortcutHelpPanel as createLocalEditorShortcutHelpPanel } from './local-editor-ui-shortcuts.js';
|
|
25
25
|
import { applyLocalEditorTheme, ensureLocalEditorTheme, LOCAL_EDITOR_THEME_CLASS, normalizeLocalEditorThemeName, } from './local-editor-ui-theme.js';
|
|
26
26
|
import { createDefaultLocalEditorWorkbenchLayout, createLocalEditorWorkbenchLayoutController, createLocalEditorWorkbench, createSceneHeaderToolbar, createWorkbenchPanelContent, } from './local-editor-ui-workbench.js';
|
|
27
27
|
import { createLocalEditorIcon, isLocalEditorIconName } from './local-editor-ui-icons.js';
|
|
28
|
-
import { createLocalEditorStatusCenterViewModel, resolveLocalEditorStatusDiagnostics, shouldCloseLocalEditorStatusCenter, } from './local-editor-ui-status-diagnostics.js';
|
|
29
|
-
import { formatLocalEditorStatusDiagnosticDetails } from './local-editor-ui-
|
|
28
|
+
import { createLocalEditorStatusCenterViewModel, resolveLocalEditorStatusDiagnosticLocatePlan, settleLocalEditorStatusDiagnosticRequest, resolveLocalEditorStatusDiagnostics, shouldCloseLocalEditorStatusCenter, } from './local-editor-ui-status-diagnostics.js';
|
|
29
|
+
import { formatLocalEditorStatusDiagnosticDetails } from './local-editor-ui-status-format.js';
|
|
30
30
|
import { resolveLocalEditorBrowserAssetKind, } from './local-editor-ui-asset-kind.js';
|
|
31
|
-
import { createLocalEditorPrefabStageTitle, findLocalEditorPrefabStageStructureItem,
|
|
32
|
-
export { applyLocalEditorBrowserInspectorControlBinding, createLocalEditorBrowserInspectorControlRegistry, formatLocalEditorBrowserInspectorNumberValue, formatLocalEditorBrowserInspectorValue, parseLocalEditorBrowserInspectorNumberValue, resolveLocalEditorBrowserInspectorSectionStatus, resolveLocalEditorBrowserInspectorControlRegistration, } from './local-editor-ui-panels.js';
|
|
31
|
+
import { createLocalEditorPrefabStageTitle, findLocalEditorPrefabStageStructureItem, resolveLocalEditorRightDockVisibility, resolveLocalEditorPrefabStageWorkbenchLayout, resolveLocalEditorPreviewToolSupport, shouldLocalEditorClosePerformanceMonitor, } from './local-editor-ui-prefab-stage.js';
|
|
32
|
+
export { applyLocalEditorBrowserInspectorControlBinding, createLocalEditorBrowserInspectorControlRegistry, formatLocalEditorBrowserInspectorNumberValue, formatLocalEditorBrowserInspectorValue, parseLocalEditorBrowserInspectorNumberValue, resolveLocalEditorBrowserInspectorSectionStatus, resolveLocalEditorBrowserInspectorControlRegistration, shouldShowPrefabModelAddAction, } from './local-editor-ui-panels.js';
|
|
33
33
|
export { createLocalEditorBrowserInspectorGroupValueClipboardPayload, createLocalEditorBrowserInspectorVectorCopyPayload, parseLocalEditorBrowserInspectorGroupValueClipboardPayload, } from './local-editor-inspector-clipboard.js';
|
|
34
34
|
export { LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES, isLocalEditorBrowserInspectorTransformVectorGroupPath, resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath, resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath, resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties, } from './local-editor-inspector-groups.js';
|
|
35
35
|
export { DEFAULT_LOCAL_EDITOR_THEME, LOCAL_EDITOR_THEME_CLASS, applyLocalEditorTheme, normalizeLocalEditorThemeName, } from './local-editor-ui-theme.js';
|
|
@@ -91,12 +91,6 @@ function isInspectorSerializedInputValue(value) {
|
|
|
91
91
|
|| typeof value === 'boolean'
|
|
92
92
|
|| (!!value && typeof value === 'object' && !Array.isArray(value));
|
|
93
93
|
}
|
|
94
|
-
const TRANSFORM_TOOL_ICONS = {
|
|
95
|
-
select: 'select',
|
|
96
|
-
move: 'move',
|
|
97
|
-
rotate: 'rotate',
|
|
98
|
-
scale: 'scale',
|
|
99
|
-
};
|
|
100
94
|
const TRANSFORM_SPACE_ICONS = {
|
|
101
95
|
world: 'world',
|
|
102
96
|
local: 'local',
|
|
@@ -165,12 +159,6 @@ const TRANSFORM_ACTION_LABELS = {
|
|
|
165
159
|
'distribute-y': '分布 Y',
|
|
166
160
|
'distribute-z': '分布 Z',
|
|
167
161
|
};
|
|
168
|
-
function createTransformToolTooltip(descriptor) {
|
|
169
|
-
const toolLabel = descriptor.shortcut
|
|
170
|
-
? `${descriptor.label}工具 (${descriptor.shortcut})`
|
|
171
|
-
: `${descriptor.label}工具`;
|
|
172
|
-
return `${toolLabel} · ${LocalEditorShared.toTransformMouseHint(descriptor.tool)}`;
|
|
173
|
-
}
|
|
174
162
|
function createToolbarIconButton(doc, label, icon, tooltip = label, toolbarRole = 'command') {
|
|
175
163
|
return LocalEditorShared.createButton(doc, label, {
|
|
176
164
|
icon,
|
|
@@ -185,6 +173,42 @@ function setToolbarButtonTooltip(button, tooltip) {
|
|
|
185
173
|
button.dataset.editorTooltip = tooltip;
|
|
186
174
|
button.setAttribute('aria-label', tooltip);
|
|
187
175
|
}
|
|
176
|
+
export function matchesContextActionShortcut(shortcut, event) {
|
|
177
|
+
if (!shortcut)
|
|
178
|
+
return false;
|
|
179
|
+
const parts = shortcut.toLowerCase().split('+').map(part => part.trim()).filter(Boolean);
|
|
180
|
+
const key = parts[parts.length - 1];
|
|
181
|
+
if (!key || event.key.toLowerCase() !== key)
|
|
182
|
+
return false;
|
|
183
|
+
const needsPrimary = parts.includes('mod');
|
|
184
|
+
if (needsPrimary !== (event.metaKey || event.ctrlKey))
|
|
185
|
+
return false;
|
|
186
|
+
if (parts.includes('shift') !== event.shiftKey)
|
|
187
|
+
return false;
|
|
188
|
+
if (parts.includes('alt') !== event.altKey)
|
|
189
|
+
return false;
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
function renderContextActionButtons(group, actions, busy) {
|
|
193
|
+
group.replaceChildren();
|
|
194
|
+
const visible = actions
|
|
195
|
+
.filter(action => action.availability.state !== 'hidden')
|
|
196
|
+
.sort((left, right) => left.order - right.order || left.id.localeCompare(right.id));
|
|
197
|
+
group.style.display = visible.length > 0 ? 'flex' : 'none';
|
|
198
|
+
for (const action of visible) {
|
|
199
|
+
const icon = isLocalEditorIconName(action.icon) ? action.icon : 'execute';
|
|
200
|
+
const tooltip = action.shortcut ? `${action.label} (${action.shortcut})` : action.label;
|
|
201
|
+
const button = createToolbarIconButton(group.ownerDocument, action.label, icon, tooltip);
|
|
202
|
+
button.dataset.editorContextAction = action.id;
|
|
203
|
+
button.disabled = busy || action.availability.state !== 'enabled';
|
|
204
|
+
if (action.availability.state === 'disabled' && action.availability.reason) {
|
|
205
|
+
setToolbarButtonTooltip(button, action.availability.reason);
|
|
206
|
+
}
|
|
207
|
+
if (action.danger)
|
|
208
|
+
button.style.color = 'var(--fps-editor-danger-strong)';
|
|
209
|
+
group.appendChild(button);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
188
212
|
function createAgentBridgeStatusTooltip(status) {
|
|
189
213
|
const label = formatAgentBridgeStatusLabel(status?.status);
|
|
190
214
|
const details = [
|
|
@@ -282,7 +306,8 @@ function createInspectorPropertyInputs(input, source, lockedVectorGroups) {
|
|
|
282
306
|
const propertyInput = createInspectorPropertyInput(input, source);
|
|
283
307
|
if (!propertyInput)
|
|
284
308
|
return null;
|
|
285
|
-
const
|
|
309
|
+
const vectorAxis = resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath(propertyInput.path);
|
|
310
|
+
const groupPath = vectorAxis?.groupPath ?? null;
|
|
286
311
|
const forceVectorLock = input.dataset.serializedForceVectorLock === 'true';
|
|
287
312
|
if (!groupPath || (!forceVectorLock && !lockedVectorGroups.has(groupPath)))
|
|
288
313
|
return [propertyInput];
|
|
@@ -290,9 +315,30 @@ function createInspectorPropertyInputs(input, source, lockedVectorGroups) {
|
|
|
290
315
|
return [propertyInput];
|
|
291
316
|
if (typeof propertyInput.value !== 'number' || !Number.isFinite(propertyInput.value))
|
|
292
317
|
return [propertyInput];
|
|
318
|
+
if (groupPath !== 'transform.scale' || !vectorAxis)
|
|
319
|
+
return [propertyInput];
|
|
320
|
+
const group = input.closest('[data-editor-inspector-vector-group-path="transform.scale"]');
|
|
321
|
+
const baseValue = {};
|
|
322
|
+
for (const field of group?.querySelectorAll('input[data-serialized-path]') ?? []) {
|
|
323
|
+
const fieldAxis = resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath(field.dataset.serializedPath);
|
|
324
|
+
const serializedBaseValue = field.dataset.serializedVectorBaseValue;
|
|
325
|
+
if (fieldAxis?.groupPath !== groupPath || serializedBaseValue == null)
|
|
326
|
+
continue;
|
|
327
|
+
const numericBaseValue = Number(serializedBaseValue);
|
|
328
|
+
if (Number.isFinite(numericBaseValue))
|
|
329
|
+
baseValue[fieldAxis.axis] = numericBaseValue;
|
|
330
|
+
}
|
|
331
|
+
if (!LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.every(axis => typeof baseValue[axis] === 'number')) {
|
|
332
|
+
return [propertyInput];
|
|
333
|
+
}
|
|
334
|
+
const serializedPrecision = Number(input.dataset.serializedNumberPrecision);
|
|
335
|
+
const scaleValues = resolveLocalEditorBrowserInspectorProportionalScaleValues(baseValue, vectorAxis.axis, propertyInput.value, Number.isInteger(serializedPrecision) ? serializedPrecision : 4);
|
|
336
|
+
if (!scaleValues)
|
|
337
|
+
return [propertyInput];
|
|
293
338
|
return LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.map(axis => ({
|
|
294
339
|
...propertyInput,
|
|
295
340
|
path: `${groupPath}.${axis}`,
|
|
341
|
+
value: scaleValues[axis],
|
|
296
342
|
}));
|
|
297
343
|
}
|
|
298
344
|
function createInspectorVectorPastePropertyInputs(input, payload) {
|
|
@@ -334,23 +380,22 @@ function applyInspectorVectorPasteToDom(input, payload) {
|
|
|
334
380
|
function applyInspectorLockedVectorInputToDom(input, propertyInputs) {
|
|
335
381
|
if (!(input instanceof HTMLInputElement))
|
|
336
382
|
return;
|
|
337
|
-
|
|
338
|
-
if (!first || propertyInputs.length !== LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.length)
|
|
383
|
+
if (propertyInputs.length !== LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.length)
|
|
339
384
|
return;
|
|
340
|
-
|
|
341
|
-
return;
|
|
342
|
-
const groupPath = resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath(first.path);
|
|
385
|
+
const groupPath = resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath(propertyInputs[0]?.path);
|
|
343
386
|
if (!groupPath)
|
|
344
387
|
return;
|
|
388
|
+
const values = new Map(propertyInputs.map(propertyInput => [propertyInput.path, propertyInput.value]));
|
|
345
389
|
const group = input.closest('[data-editor-inspector-vector-group-path]');
|
|
346
390
|
const fields = group
|
|
347
391
|
? Array.from(group.querySelectorAll('input[data-serialized-path]'))
|
|
348
392
|
: [input];
|
|
349
|
-
const formatted = LocalEditorPanels.formatLocalEditorBrowserInspectorNumberValue(first.value);
|
|
350
393
|
for (const field of fields) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
394
|
+
const path = field.dataset.serializedPath;
|
|
395
|
+
const value = path ? values.get(path) : undefined;
|
|
396
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
397
|
+
continue;
|
|
398
|
+
field.value = String(Object.is(value, -0) ? 0 : value);
|
|
354
399
|
}
|
|
355
400
|
}
|
|
356
401
|
function readRenderingInputValue(input, source) {
|
|
@@ -765,6 +810,9 @@ function consumeLocalEditorKeyboardCommittedValue(input) {
|
|
|
765
810
|
delete input.dataset.editorKeyboardCommittedValue;
|
|
766
811
|
return true;
|
|
767
812
|
}
|
|
813
|
+
function hasLocalEditorUiKeyboardCommitPending(input) {
|
|
814
|
+
return input.dataset.editorUiKeyboardCommitPending === 'true';
|
|
815
|
+
}
|
|
768
816
|
function isLocalEditorKeyboardCommitEvent(event, input) {
|
|
769
817
|
if (event.key !== 'Enter' || event.isComposing)
|
|
770
818
|
return false;
|
|
@@ -780,6 +828,7 @@ function commitLocalEditorInspectorInput(input, callbacks, lockedInspectorVector
|
|
|
780
828
|
const propertyInputs = createInspectorPropertyInputs(input, 'input', lockedInspectorVectorGroups);
|
|
781
829
|
if (!propertyInputs)
|
|
782
830
|
return false;
|
|
831
|
+
delete input.dataset.editorUiKeyboardCommitPending;
|
|
783
832
|
applyInspectorLockedVectorInputToDom(input, propertyInputs);
|
|
784
833
|
markLocalEditorKeyboardCommittedValue(input);
|
|
785
834
|
for (const propertyInput of propertyInputs)
|
|
@@ -1176,7 +1225,7 @@ const PREFAB_IMPORT_STATS_METRICS = [
|
|
|
1176
1225
|
];
|
|
1177
1226
|
function createSceneFrameRateOverlay(doc) {
|
|
1178
1227
|
const root = doc.createElement('div');
|
|
1179
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1228
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-overlay-card');
|
|
1180
1229
|
root.dataset.editorSceneFrameRateOverlay = 'true';
|
|
1181
1230
|
root.style.cssText = [
|
|
1182
1231
|
'position:absolute',
|
|
@@ -1266,7 +1315,7 @@ function renderSceneFrameRateOverlay(overlay, stats) {
|
|
|
1266
1315
|
}
|
|
1267
1316
|
function createPerformanceMonitorOverlay(doc) {
|
|
1268
1317
|
const root = doc.createElement('section');
|
|
1269
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1318
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-overlay-card');
|
|
1270
1319
|
root.dataset.editorPerformanceMonitorOverlay = 'true';
|
|
1271
1320
|
root.setAttribute('aria-label', '编辑器性能监控');
|
|
1272
1321
|
root.style.cssText = [
|
|
@@ -1394,7 +1443,7 @@ function renderPerformanceMonitorOverlay(overlay, stats, open) {
|
|
|
1394
1443
|
}
|
|
1395
1444
|
function createPrefabImportStatsOverlay(doc) {
|
|
1396
1445
|
const root = doc.createElement('section');
|
|
1397
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1446
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-overlay-card');
|
|
1398
1447
|
root.dataset.editorPrefabImportStatsOverlay = 'true';
|
|
1399
1448
|
root.setAttribute('aria-label', 'Prefab import diagnostics');
|
|
1400
1449
|
root.style.cssText = [
|
|
@@ -1505,7 +1554,7 @@ function renderPrefabImportStatsOverlay(overlay, stage) {
|
|
|
1505
1554
|
}
|
|
1506
1555
|
function createPrefabStagePreviewLayout(doc) {
|
|
1507
1556
|
const root = doc.createElement('section');
|
|
1508
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1557
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-prefab-stage-layout');
|
|
1509
1558
|
root.dataset.editorPrefabStagePreviewLayout = 'true';
|
|
1510
1559
|
root.setAttribute('aria-label', 'Prefab stage preview layout');
|
|
1511
1560
|
root.style.cssText = [
|
|
@@ -1532,215 +1581,8 @@ function createPrefabStagePreviewLayout(doc) {
|
|
|
1532
1581
|
'overflow:hidden',
|
|
1533
1582
|
'pointer-events:none',
|
|
1534
1583
|
].join(';');
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
comparisonColumn.setAttribute('aria-label', 'Prefab comparison previews');
|
|
1538
|
-
comparisonColumn.style.cssText = [
|
|
1539
|
-
'position:absolute',
|
|
1540
|
-
'top:0',
|
|
1541
|
-
'right:0',
|
|
1542
|
-
'bottom:0',
|
|
1543
|
-
`width:${LOCAL_EDITOR_PREFAB_COMPARISON_COLUMN_WIDTH_PX}px`,
|
|
1544
|
-
'display:none',
|
|
1545
|
-
'flex-direction:column',
|
|
1546
|
-
'box-sizing:border-box',
|
|
1547
|
-
'gap:10px',
|
|
1548
|
-
'padding:10px',
|
|
1549
|
-
'border-left:1px solid color-mix(in srgb, var(--fps-editor-divider) 82%, transparent)',
|
|
1550
|
-
'background:transparent',
|
|
1551
|
-
'box-shadow:none',
|
|
1552
|
-
'pointer-events:auto',
|
|
1553
|
-
'overflow:hidden',
|
|
1554
|
-
].join(';');
|
|
1555
|
-
root.append(mainRegion, comparisonColumn);
|
|
1556
|
-
return { root, mainRegion, comparisonColumn };
|
|
1557
|
-
}
|
|
1558
|
-
function createPrefabComparisonPreviewOverlay(doc) {
|
|
1559
|
-
const root = doc.createElement('section');
|
|
1560
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1561
|
-
root.dataset.editorPrefabComparisonPreviewOverlay = 'true';
|
|
1562
|
-
root.setAttribute('aria-label', 'Prefab clone and InstanceMesh comparison previews');
|
|
1563
|
-
root.style.cssText = [
|
|
1564
|
-
'display:none',
|
|
1565
|
-
'flex:1 1 auto',
|
|
1566
|
-
'min-height:0',
|
|
1567
|
-
'width:100%',
|
|
1568
|
-
'box-sizing:border-box',
|
|
1569
|
-
'grid-template-rows:minmax(0,1fr) minmax(0,1fr)',
|
|
1570
|
-
'gap:10px',
|
|
1571
|
-
'overflow:hidden',
|
|
1572
|
-
'font-family:var(--fps-editor-font)',
|
|
1573
|
-
'pointer-events:auto',
|
|
1574
|
-
].join(';');
|
|
1575
|
-
return { root, cards: new Map() };
|
|
1576
|
-
}
|
|
1577
|
-
function renderPrefabComparisonPreviewOverlay(overlay, stage) {
|
|
1578
|
-
const previews = stage?.comparisonPreviews ?? [];
|
|
1579
|
-
if (!stage || previews.length === 0) {
|
|
1580
|
-
overlay.root.style.display = 'none';
|
|
1581
|
-
return;
|
|
1582
|
-
}
|
|
1583
|
-
overlay.root.style.display = 'grid';
|
|
1584
|
-
const visibleIds = new Set();
|
|
1585
|
-
for (const preview of previews) {
|
|
1586
|
-
const card = getOrCreatePrefabComparisonPreviewCard(overlay, preview);
|
|
1587
|
-
visibleIds.add(preview.id);
|
|
1588
|
-
card.root.style.display = 'flex';
|
|
1589
|
-
card.title.textContent = preview.label;
|
|
1590
|
-
card.statusLabel.textContent = formatLocalEditorPrefabStageComparisonPreviewStatus(preview.status);
|
|
1591
|
-
card.statusLabel.style.color = getPrefabComparisonPreviewStatusColor(preview.status);
|
|
1592
|
-
card.surface.dataset.editorPrefabComparisonPreviewId = preview.id;
|
|
1593
|
-
card.surface.dataset.editorPrefabComparisonPreviewSurface = preview.projectionNodeId;
|
|
1594
|
-
card.surface.dataset.editorPrefabComparisonPreviewStatus = preview.status;
|
|
1595
|
-
card.surface.style.background = preview.status === 'ready'
|
|
1596
|
-
? 'transparent'
|
|
1597
|
-
: 'color-mix(in srgb, var(--fps-editor-field) 74%, transparent)';
|
|
1598
|
-
card.surface.textContent = preview.status === 'ready'
|
|
1599
|
-
? ''
|
|
1600
|
-
: preview.status === 'loading'
|
|
1601
|
-
? 'Preview loading'
|
|
1602
|
-
: 'Preview unavailable';
|
|
1603
|
-
card.root.title = [
|
|
1604
|
-
`${preview.label}: ${preview.status}`,
|
|
1605
|
-
`mode: ${preview.mode}`,
|
|
1606
|
-
`projection: ${preview.projectionNodeId}`,
|
|
1607
|
-
].join(' | ');
|
|
1608
|
-
}
|
|
1609
|
-
for (const [id, card] of overlay.cards) {
|
|
1610
|
-
if (!visibleIds.has(id))
|
|
1611
|
-
card.root.style.display = 'none';
|
|
1612
|
-
}
|
|
1613
|
-
}
|
|
1614
|
-
function readPrefabComparisonPreviewSurfaces(overlay) {
|
|
1615
|
-
if (overlay.root.style.display === 'none')
|
|
1616
|
-
return [];
|
|
1617
|
-
const surfaces = [];
|
|
1618
|
-
for (const [previewId, card] of overlay.cards) {
|
|
1619
|
-
if (card.root.style.display === 'none')
|
|
1620
|
-
continue;
|
|
1621
|
-
const projectionNodeId = card.surface.dataset.editorPrefabComparisonPreviewSurface;
|
|
1622
|
-
if (!projectionNodeId)
|
|
1623
|
-
continue;
|
|
1624
|
-
const rect = card.surface.getBoundingClientRect();
|
|
1625
|
-
if (rect.width < 1 || rect.height < 1)
|
|
1626
|
-
continue;
|
|
1627
|
-
surfaces.push({
|
|
1628
|
-
previewId,
|
|
1629
|
-
projectionNodeId,
|
|
1630
|
-
element: card.surface,
|
|
1631
|
-
rect,
|
|
1632
|
-
});
|
|
1633
|
-
}
|
|
1634
|
-
return surfaces;
|
|
1635
|
-
}
|
|
1636
|
-
function findPrefabComparisonPreviewSurface(target) {
|
|
1637
|
-
return target instanceof HTMLElement
|
|
1638
|
-
? target.closest('[data-editor-prefab-comparison-preview-surface]')
|
|
1639
|
-
: null;
|
|
1640
|
-
}
|
|
1641
|
-
function readPrefabComparisonPreviewSurfaceId(surface) {
|
|
1642
|
-
return surface.dataset.editorPrefabComparisonPreviewId
|
|
1643
|
-
?? surface.closest('[data-editor-prefab-comparison-preview]')?.dataset.editorPrefabComparisonPreview
|
|
1644
|
-
?? null;
|
|
1645
|
-
}
|
|
1646
|
-
function isPrefabComparisonPreviewSurfaceReady(surface) {
|
|
1647
|
-
return surface.dataset.editorPrefabComparisonPreviewStatus === 'ready';
|
|
1648
|
-
}
|
|
1649
|
-
function getOrCreatePrefabComparisonPreviewCard(overlay, preview) {
|
|
1650
|
-
const existing = overlay.cards.get(preview.id);
|
|
1651
|
-
if (existing)
|
|
1652
|
-
return existing;
|
|
1653
|
-
const doc = overlay.root.ownerDocument;
|
|
1654
|
-
const root = doc.createElement('article');
|
|
1655
|
-
root.dataset.editorPrefabComparisonPreview = preview.id;
|
|
1656
|
-
root.style.cssText = [
|
|
1657
|
-
'display:flex',
|
|
1658
|
-
'flex-direction:column',
|
|
1659
|
-
'min-width:0',
|
|
1660
|
-
'min-height:0',
|
|
1661
|
-
'flex:1 1 0',
|
|
1662
|
-
'box-sizing:border-box',
|
|
1663
|
-
'padding:8px',
|
|
1664
|
-
'border:1px solid color-mix(in srgb, var(--fps-editor-border) 78%, transparent)',
|
|
1665
|
-
'border-radius:6px',
|
|
1666
|
-
'background:transparent',
|
|
1667
|
-
'box-shadow:none',
|
|
1668
|
-
'color:var(--fps-editor-text)',
|
|
1669
|
-
'pointer-events:auto',
|
|
1670
|
-
'overflow:hidden',
|
|
1671
|
-
].join(';');
|
|
1672
|
-
const header = doc.createElement('div');
|
|
1673
|
-
header.style.cssText = [
|
|
1674
|
-
'display:flex',
|
|
1675
|
-
'align-items:center',
|
|
1676
|
-
'justify-content:space-between',
|
|
1677
|
-
'gap:8px',
|
|
1678
|
-
'margin-bottom:7px',
|
|
1679
|
-
'padding:6px 8px',
|
|
1680
|
-
'border:1px solid color-mix(in srgb, var(--fps-editor-border) 74%, transparent)',
|
|
1681
|
-
'border-radius:5px',
|
|
1682
|
-
'background:color-mix(in srgb, var(--fps-editor-chrome) 86%, transparent)',
|
|
1683
|
-
'box-shadow:0 6px 14px color-mix(in srgb, #000 18%, transparent)',
|
|
1684
|
-
].join(';');
|
|
1685
|
-
const title = doc.createElement('div');
|
|
1686
|
-
title.textContent = preview.label;
|
|
1687
|
-
title.style.cssText = [
|
|
1688
|
-
'min-width:0',
|
|
1689
|
-
'overflow:hidden',
|
|
1690
|
-
'text-overflow:ellipsis',
|
|
1691
|
-
'white-space:nowrap',
|
|
1692
|
-
'color:var(--fps-editor-text-strong)',
|
|
1693
|
-
'font-size:12px',
|
|
1694
|
-
'line-height:1.2',
|
|
1695
|
-
'font-weight:900',
|
|
1696
|
-
].join(';');
|
|
1697
|
-
const statusLabel = doc.createElement('span');
|
|
1698
|
-
statusLabel.textContent = 'UNAVAILABLE';
|
|
1699
|
-
statusLabel.style.cssText = [
|
|
1700
|
-
'flex:0 0 auto',
|
|
1701
|
-
'padding:2px 5px',
|
|
1702
|
-
'border:1px solid var(--fps-editor-border-soft)',
|
|
1703
|
-
'border-radius:4px',
|
|
1704
|
-
'background:color-mix(in srgb, var(--fps-editor-field) 72%, transparent)',
|
|
1705
|
-
'font-size:9px',
|
|
1706
|
-
'line-height:1',
|
|
1707
|
-
'font-weight:900',
|
|
1708
|
-
].join(';');
|
|
1709
|
-
header.append(title, statusLabel);
|
|
1710
|
-
const surface = doc.createElement('div');
|
|
1711
|
-
surface.style.cssText = [
|
|
1712
|
-
'display:flex',
|
|
1713
|
-
'flex:1 1 auto',
|
|
1714
|
-
'align-items:center',
|
|
1715
|
-
'justify-content:center',
|
|
1716
|
-
'width:100%',
|
|
1717
|
-
'min-height:0',
|
|
1718
|
-
'box-sizing:border-box',
|
|
1719
|
-
'border:1px solid color-mix(in srgb, var(--fps-editor-border-soft) 84%, transparent)',
|
|
1720
|
-
'border-radius:4px',
|
|
1721
|
-
'background:transparent',
|
|
1722
|
-
'overflow:hidden',
|
|
1723
|
-
'color:var(--fps-editor-muted)',
|
|
1724
|
-
'font-size:10px',
|
|
1725
|
-
'font-weight:800',
|
|
1726
|
-
'text-align:center',
|
|
1727
|
-
'touch-action:none',
|
|
1728
|
-
'user-select:none',
|
|
1729
|
-
'cursor:grab',
|
|
1730
|
-
].join(';');
|
|
1731
|
-
root.append(header, surface);
|
|
1732
|
-
overlay.root.appendChild(root);
|
|
1733
|
-
const card = { root, title, statusLabel, surface };
|
|
1734
|
-
overlay.cards.set(preview.id, card);
|
|
1735
|
-
return card;
|
|
1736
|
-
}
|
|
1737
|
-
function getPrefabComparisonPreviewStatusColor(status) {
|
|
1738
|
-
const tone = resolveLocalEditorPrefabStageComparisonPreviewTone(status);
|
|
1739
|
-
return tone === 'success'
|
|
1740
|
-
? 'var(--fps-editor-success)'
|
|
1741
|
-
: tone === 'warning'
|
|
1742
|
-
? 'var(--fps-editor-warn)'
|
|
1743
|
-
: 'var(--fps-editor-danger-strong)';
|
|
1584
|
+
root.append(mainRegion);
|
|
1585
|
+
return { root, mainRegion };
|
|
1744
1586
|
}
|
|
1745
1587
|
function formatPrefabImportStatsStatusLabel(status) {
|
|
1746
1588
|
return status === 'ready' ? 'READY' : status === 'loading' ? 'LOADING' : 'MISSING';
|
|
@@ -2381,8 +2223,22 @@ export function resolveAssetBrowserDoubleClickAction(state, asset) {
|
|
|
2381
2223
|
return 'asset.edit-prefab';
|
|
2382
2224
|
return null;
|
|
2383
2225
|
}
|
|
2384
|
-
function copyTextToClipboard(win, text) {
|
|
2385
|
-
void win
|
|
2226
|
+
function copyTextToClipboard(win, text, onResult) {
|
|
2227
|
+
void writeLocalEditorClipboardText(win, text).then(onResult ?? (() => undefined));
|
|
2228
|
+
}
|
|
2229
|
+
function copyEditorStatusText(button, win, text) {
|
|
2230
|
+
const idleLabel = button.getAttribute('aria-label') ?? '复制诊断';
|
|
2231
|
+
copyTextToClipboard(win, text, copied => {
|
|
2232
|
+
const resultLabel = copied ? '已复制' : '复制失败,请检查浏览器剪贴板权限';
|
|
2233
|
+
button.dataset.editorStatusCopyResult = copied ? 'success' : 'error';
|
|
2234
|
+
button.title = resultLabel;
|
|
2235
|
+
button.setAttribute('aria-label', resultLabel);
|
|
2236
|
+
win?.setTimeout(() => {
|
|
2237
|
+
delete button.dataset.editorStatusCopyResult;
|
|
2238
|
+
button.title = idleLabel;
|
|
2239
|
+
button.setAttribute('aria-label', idleLabel);
|
|
2240
|
+
}, 1600);
|
|
2241
|
+
});
|
|
2386
2242
|
}
|
|
2387
2243
|
function readInspectorAssetPickerOptions(property) {
|
|
2388
2244
|
const title = readControlOptionString(property, 'pickerTitle') || property.label;
|
|
@@ -2538,6 +2394,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2538
2394
|
const root = options.root ?? doc.body;
|
|
2539
2395
|
const callbacks = options.callbacks ?? {};
|
|
2540
2396
|
const localTestActionsEnabled = options.localTestActions === true;
|
|
2397
|
+
const gameModeEntryVisible = options.gameModeEntryVisible !== false;
|
|
2541
2398
|
ensureLocalEditorTheme(doc);
|
|
2542
2399
|
let activeTheme = normalizeLocalEditorThemeName(options.theme);
|
|
2543
2400
|
const inputRouter = createLocalEditorWorkbenchInputRouter(doc, {
|
|
@@ -2561,34 +2418,19 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2561
2418
|
});
|
|
2562
2419
|
construction.addCleanup('tooltip-controller', () => tooltipController.dispose());
|
|
2563
2420
|
let currentState = null;
|
|
2421
|
+
let pendingStatusDiagnosticRequest = null;
|
|
2564
2422
|
let inspectorFilter = '';
|
|
2565
2423
|
const lockedInspectorVectorGroups = new Set();
|
|
2566
2424
|
let assetBrowserTab = 'all';
|
|
2567
|
-
const
|
|
2425
|
+
const hierarchySurface = options.hierarchy?.surface;
|
|
2426
|
+
if (!hierarchySurface)
|
|
2427
|
+
throw new Error('Hierarchy surface is required by the Local Editor workbench.');
|
|
2428
|
+
const hierarchyKernel = options.hierarchy?.kernel ?? hierarchySurface.createKernel();
|
|
2429
|
+
const workbenchLayout = createDefaultLocalEditorWorkbenchLayout(hierarchySurface);
|
|
2568
2430
|
const panelRegistry = createLocalEditorPanelRegistry(workbenchLayout);
|
|
2569
2431
|
const hostChrome = doc.createElement('div');
|
|
2570
2432
|
hostChrome.dataset.editorWorkbenchRegion = 'top-bar';
|
|
2571
|
-
hostChrome.className = LOCAL_EDITOR_THEME_CLASS
|
|
2572
|
-
hostChrome.style.cssText = [
|
|
2573
|
-
'position:fixed',
|
|
2574
|
-
'top:12px',
|
|
2575
|
-
'left:50%',
|
|
2576
|
-
'transform:translateX(-50%)',
|
|
2577
|
-
'z-index:2147483640',
|
|
2578
|
-
'display:none',
|
|
2579
|
-
'align-items:center',
|
|
2580
|
-
'gap:8px',
|
|
2581
|
-
'height:34px',
|
|
2582
|
-
'padding:0 8px',
|
|
2583
|
-
'border:1px solid var(--fps-editor-border)',
|
|
2584
|
-
'border-radius:3px',
|
|
2585
|
-
'background:var(--fps-editor-chrome)',
|
|
2586
|
-
'box-shadow:var(--fps-editor-shadow-panel)',
|
|
2587
|
-
'font-family:var(--fps-editor-font)',
|
|
2588
|
-
'color:var(--fps-editor-text)',
|
|
2589
|
-
'font-size:12px',
|
|
2590
|
-
'pointer-events:auto',
|
|
2591
|
-
].join(';');
|
|
2433
|
+
hostChrome.className = `${LOCAL_EDITOR_THEME_CLASS} fps-editor-ui-host-chrome`;
|
|
2592
2434
|
const hostModeLabel = doc.createElement('span');
|
|
2593
2435
|
hostModeLabel.textContent = '本地宿主 · 游戏模式';
|
|
2594
2436
|
hostModeLabel.style.cssText = [
|
|
@@ -2624,7 +2466,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2624
2466
|
const localTestButton = createToolbarIconButton(doc, '本地测试', 'execute', '打开本地测试操作');
|
|
2625
2467
|
localTestButton.dataset.editorLocalTestToggle = 'true';
|
|
2626
2468
|
const localTestMenu = doc.createElement('div');
|
|
2627
|
-
localTestMenu.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2469
|
+
localTestMenu.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2628
2470
|
localTestMenu.dataset.editorLocalTestMenu = 'true';
|
|
2629
2471
|
localTestMenu.style.cssText = [
|
|
2630
2472
|
'position:fixed',
|
|
@@ -2646,6 +2488,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2646
2488
|
localTestMenu.appendChild(button);
|
|
2647
2489
|
}
|
|
2648
2490
|
const localTestGroup = doc.createElement('div');
|
|
2491
|
+
localTestGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2649
2492
|
localTestGroup.style.cssText = [
|
|
2650
2493
|
`display:${localTestActionsEnabled ? 'flex' : 'none'}`,
|
|
2651
2494
|
'align-items:center',
|
|
@@ -2657,7 +2500,6 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2657
2500
|
let helpOpen = false;
|
|
2658
2501
|
let editorStatusCenterOpen = false;
|
|
2659
2502
|
let performanceMonitorOpen = false;
|
|
2660
|
-
let prefabComparisonPreviewOpen = true;
|
|
2661
2503
|
let assetPreviewOpen = false;
|
|
2662
2504
|
let previewedAsset = null;
|
|
2663
2505
|
let assetPreviewMode = 'preview';
|
|
@@ -2665,14 +2507,14 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2665
2507
|
let assetPickerFilter = '';
|
|
2666
2508
|
let assetPickerInput = null;
|
|
2667
2509
|
let assetPickerProperty = null;
|
|
2668
|
-
let
|
|
2510
|
+
let hierarchyOperationInputRequest = null;
|
|
2669
2511
|
let prefabStageMainWorkbenchLayoutSnapshot = null;
|
|
2670
|
-
const editorStatusButton = createToolbarIconButton(doc, '
|
|
2512
|
+
const editorStatusButton = createToolbarIconButton(doc, '验证中心', 'status', '编辑器状态与验证中心');
|
|
2671
2513
|
editorStatusButton.dataset.editorStatusButton = 'true';
|
|
2672
2514
|
editorStatusButton.dataset.editorStatusToggle = 'true';
|
|
2673
2515
|
editorStatusButton.setAttribute('aria-expanded', 'false');
|
|
2674
2516
|
const editorStatusCenter = doc.createElement('div');
|
|
2675
|
-
editorStatusCenter.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2517
|
+
editorStatusCenter.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover', 'fps-editor-ui-status-center');
|
|
2676
2518
|
editorStatusCenter.dataset.editorStatusCenter = 'true';
|
|
2677
2519
|
editorStatusCenter.style.cssText = [
|
|
2678
2520
|
'position:fixed',
|
|
@@ -2691,19 +2533,29 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2691
2533
|
'pointer-events:auto',
|
|
2692
2534
|
].join(';');
|
|
2693
2535
|
const editorStatusCenterHeader = doc.createElement('div');
|
|
2694
|
-
editorStatusCenterHeader.
|
|
2536
|
+
editorStatusCenterHeader.className = 'fps-editor-ui-surface-header';
|
|
2695
2537
|
const editorStatusCenterTitle = doc.createElement('div');
|
|
2696
|
-
editorStatusCenterTitle.
|
|
2538
|
+
editorStatusCenterTitle.className = 'fps-editor-ui-surface-title';
|
|
2539
|
+
editorStatusCenterTitle.textContent = '验证中心';
|
|
2697
2540
|
editorStatusCenterTitle.style.cssText = 'font-size:13px;font-weight:900;color:var(--fps-editor-text-strong)';
|
|
2541
|
+
const editorStatusCenterActions = doc.createElement('div');
|
|
2542
|
+
editorStatusCenterActions.className = 'fps-editor-ui-surface-actions';
|
|
2698
2543
|
const editorStatusCopyAllButton = LocalEditorShared.createButton(doc, '复制全部', { icon: 'copy' });
|
|
2699
2544
|
editorStatusCopyAllButton.dataset.editorStatusCopyAll = 'true';
|
|
2700
2545
|
editorStatusCopyAllButton.style.cssText += ';min-height:26px;padding:3px 8px;font-size:11px';
|
|
2546
|
+
const editorStatusCloseButton = createToolbarIconButton(doc, '关闭', 'discard', '关闭验证中心');
|
|
2547
|
+
editorStatusCloseButton.dataset.editorStatusClose = 'true';
|
|
2548
|
+
editorStatusCloseButton.style.minWidth = '28px';
|
|
2549
|
+
editorStatusCenterActions.appendChild(editorStatusCopyAllButton);
|
|
2550
|
+
editorStatusCenterActions.appendChild(editorStatusCloseButton);
|
|
2701
2551
|
editorStatusCenterHeader.appendChild(editorStatusCenterTitle);
|
|
2702
|
-
editorStatusCenterHeader.appendChild(
|
|
2552
|
+
editorStatusCenterHeader.appendChild(editorStatusCenterActions);
|
|
2703
2553
|
const editorStatusCenterSummary = doc.createElement('div');
|
|
2554
|
+
editorStatusCenterSummary.className = 'fps-editor-ui-status-summary';
|
|
2704
2555
|
editorStatusCenterSummary.dataset.editorStatusSummary = 'true';
|
|
2705
2556
|
editorStatusCenterSummary.style.cssText = 'font-size:11px;line-height:1.45;color:var(--fps-editor-muted-strong)';
|
|
2706
2557
|
const editorStatusCenterList = doc.createElement('div');
|
|
2558
|
+
editorStatusCenterList.className = 'fps-editor-ui-status-list';
|
|
2707
2559
|
editorStatusCenterList.dataset.editorStatusList = 'true';
|
|
2708
2560
|
editorStatusCenterList.style.cssText = 'display:flex;flex-direction:column;gap:7px;overflow:auto;min-height:0';
|
|
2709
2561
|
editorStatusCenter.appendChild(editorStatusCenterHeader);
|
|
@@ -2713,6 +2565,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2713
2565
|
agentBridgeStatusButton.dataset.editorAgentBridgeStatusButton = 'true';
|
|
2714
2566
|
agentBridgeStatusButton.style.cursor = 'help';
|
|
2715
2567
|
const workbench = createLocalEditorWorkbench(doc);
|
|
2568
|
+
const editorUiLayerHost = createEditorUiLayerHost(doc, workbench.root);
|
|
2569
|
+
construction.addCleanup('editor-ui-layer-host', () => editorUiLayerHost.dispose());
|
|
2716
2570
|
const leftDockTabs = doc.createElement('div');
|
|
2717
2571
|
const hierarchyPanel = createWorkbenchPanelContent(doc);
|
|
2718
2572
|
const assetPanel = workbench.bottomDock;
|
|
@@ -2730,10 +2584,48 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2730
2584
|
workbench.rightDock.appendChild(pluginsPanel);
|
|
2731
2585
|
construction.appendRootChild(workbench.root);
|
|
2732
2586
|
tooltipSurfaces.add(workbench.root);
|
|
2587
|
+
const disposeRightDockFormalSurfaces = () => {
|
|
2588
|
+
disposeLocalEditorFormalSurfaces([
|
|
2589
|
+
() => LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel),
|
|
2590
|
+
() => LocalEditorPanels.disposeInspectorPanelUi(renderingPanel),
|
|
2591
|
+
]);
|
|
2592
|
+
};
|
|
2593
|
+
const rightDockFormalSurfaceVisibility = createLocalEditorFormalSurfaceVisibilityController({
|
|
2594
|
+
disposeHidden() {
|
|
2595
|
+
disposeRightDockFormalSurfaces();
|
|
2596
|
+
},
|
|
2597
|
+
rehydrateVisible() {
|
|
2598
|
+
disposeRightDockFormalSurfaces();
|
|
2599
|
+
if (currentState?.mode !== 'editor' || currentState.prefabStage)
|
|
2600
|
+
return;
|
|
2601
|
+
const activeRightTab = panelRegistry.getRightDockTab();
|
|
2602
|
+
if (activeRightTab === 'inspector') {
|
|
2603
|
+
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, currentState, inspectorFilter, {
|
|
2604
|
+
...options.inspector,
|
|
2605
|
+
layerHost: editorUiLayerHost,
|
|
2606
|
+
lockedVectorGroups: lockedInspectorVectorGroups,
|
|
2607
|
+
});
|
|
2608
|
+
}
|
|
2609
|
+
else if (activeRightTab === 'rendering') {
|
|
2610
|
+
LocalEditorPanels.renderRenderingPanel(doc, renderingPanel, currentState, { layerHost: editorUiLayerHost });
|
|
2611
|
+
}
|
|
2612
|
+
},
|
|
2613
|
+
});
|
|
2733
2614
|
const workbenchLayoutController = createLocalEditorWorkbenchLayoutController(doc, workbench, {
|
|
2734
|
-
|
|
2615
|
+
onBeforeApply(_layout, dockDisplay) {
|
|
2616
|
+
if (currentState?.mode === 'editor' && currentState.prefabStage)
|
|
2617
|
+
return;
|
|
2618
|
+
if (dockDisplay.rightDockVisible) {
|
|
2619
|
+
rightDockFormalSurfaceVisibility.apply(true);
|
|
2620
|
+
}
|
|
2621
|
+
},
|
|
2622
|
+
onAfterApply(layout, dockDisplay) {
|
|
2735
2623
|
if (currentState?.mode === 'editor' && currentState.prefabStage) {
|
|
2736
2624
|
applyPrefabStageWorkbenchLayoutOverride(layout);
|
|
2625
|
+
return;
|
|
2626
|
+
}
|
|
2627
|
+
if (!dockDisplay.rightDockVisible) {
|
|
2628
|
+
rightDockFormalSurfaceVisibility.apply(false);
|
|
2737
2629
|
}
|
|
2738
2630
|
},
|
|
2739
2631
|
});
|
|
@@ -2748,6 +2640,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2748
2640
|
let lastRenderedSelectedAssetId;
|
|
2749
2641
|
const sceneToolOverlay = createSceneHeaderToolbar(doc);
|
|
2750
2642
|
const sceneTitle = doc.createElement('div');
|
|
2643
|
+
sceneTitle.className = 'fps-editor-ui-surface-title';
|
|
2751
2644
|
sceneTitle.textContent = 'Preview';
|
|
2752
2645
|
sceneTitle.style.cssText = [
|
|
2753
2646
|
'height:100%',
|
|
@@ -2762,8 +2655,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2762
2655
|
'white-space:nowrap',
|
|
2763
2656
|
].join(';');
|
|
2764
2657
|
const sceneQuickActions = doc.createElement('div');
|
|
2658
|
+
sceneQuickActions.className = 'fps-editor-ui-toolbar-group';
|
|
2659
|
+
sceneQuickActions.dataset.editorUiFirst = 'true';
|
|
2765
2660
|
sceneQuickActions.style.cssText = 'display:flex;align-items:center;gap:4px';
|
|
2766
2661
|
const sceneUtilityActions = doc.createElement('div');
|
|
2662
|
+
sceneUtilityActions.className = 'fps-editor-ui-toolbar-group';
|
|
2767
2663
|
sceneUtilityActions.style.cssText = [
|
|
2768
2664
|
'display:flex',
|
|
2769
2665
|
'align-items:center',
|
|
@@ -2772,6 +2668,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2772
2668
|
'border-left:1px solid var(--fps-editor-divider)',
|
|
2773
2669
|
].join(';');
|
|
2774
2670
|
const toolGroup = doc.createElement('div');
|
|
2671
|
+
toolGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2775
2672
|
toolGroup.style.cssText = [
|
|
2776
2673
|
'display:flex',
|
|
2777
2674
|
'align-items:center',
|
|
@@ -2780,21 +2677,40 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2780
2677
|
'border-left:1px solid var(--fps-editor-divider)',
|
|
2781
2678
|
].join(';');
|
|
2782
2679
|
const toolButtons = new Map();
|
|
2783
|
-
const
|
|
2784
|
-
|
|
2785
|
-
const
|
|
2786
|
-
const button
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2680
|
+
const synchronizeToolButtons = (presentations) => {
|
|
2681
|
+
const primaryTools = presentations.filter(tool => tool.kind === 'primary');
|
|
2682
|
+
const nextIds = new Set(primaryTools.map(tool => tool.id));
|
|
2683
|
+
for (const [toolId, button] of toolButtons) {
|
|
2684
|
+
if (nextIds.has(toolId))
|
|
2685
|
+
continue;
|
|
2686
|
+
button.remove();
|
|
2687
|
+
toolButtons.delete(toolId);
|
|
2688
|
+
}
|
|
2689
|
+
for (const tool of primaryTools) {
|
|
2690
|
+
let button = toolButtons.get(tool.id);
|
|
2691
|
+
const tooltip = tool.shortcut ? `${tool.label}工具 (${tool.shortcut})` : `${tool.label}工具`;
|
|
2692
|
+
if (!button) {
|
|
2693
|
+
button = LocalEditorShared.createButton(doc, tool.label, {
|
|
2694
|
+
icon: tool.icon && isLocalEditorIconName(tool.icon) ? tool.icon : 'object',
|
|
2695
|
+
labelMode: 'icon-only',
|
|
2696
|
+
variant: 'toolbar-icon',
|
|
2697
|
+
tooltip,
|
|
2698
|
+
ariaLabel: tooltip,
|
|
2699
|
+
});
|
|
2700
|
+
button.dataset.editorToolId = tool.id;
|
|
2701
|
+
toolButtons.set(tool.id, button);
|
|
2702
|
+
}
|
|
2703
|
+
setToolbarButtonTooltip(button, tool.availability.state === 'enabled'
|
|
2704
|
+
? tooltip
|
|
2705
|
+
: `${tooltip} · ${tool.availability.reason}`);
|
|
2706
|
+
button.style.display = tool.availability.state === 'hidden' ? 'none' : 'inline-flex';
|
|
2707
|
+
button.disabled = tool.availability.state !== 'enabled';
|
|
2708
|
+
LocalEditorShared.applyButtonActiveState(button, tool.active);
|
|
2709
|
+
toolGroup.appendChild(button);
|
|
2710
|
+
}
|
|
2711
|
+
};
|
|
2797
2712
|
const spaceGroup = doc.createElement('div');
|
|
2713
|
+
spaceGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2798
2714
|
spaceGroup.style.cssText = [
|
|
2799
2715
|
'display:flex',
|
|
2800
2716
|
'align-items:center',
|
|
@@ -2811,6 +2727,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2811
2727
|
spaceGroup.appendChild(button);
|
|
2812
2728
|
}
|
|
2813
2729
|
const snapGroup = doc.createElement('div');
|
|
2730
|
+
snapGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2814
2731
|
snapGroup.style.cssText = [
|
|
2815
2732
|
'display:flex',
|
|
2816
2733
|
'align-items:center',
|
|
@@ -2821,7 +2738,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2821
2738
|
const snapButton = createToolbarIconButton(doc, '吸附设置', 'snap', '吸附设置', 'settings');
|
|
2822
2739
|
snapButton.dataset.transformSnapToggle = 'true';
|
|
2823
2740
|
const snapSettingsPopover = doc.createElement('div');
|
|
2824
|
-
snapSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2741
|
+
snapSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2825
2742
|
snapSettingsPopover.dataset.transformSnapSettingsPopover = 'true';
|
|
2826
2743
|
snapSettingsPopover.setAttribute('role', 'dialog');
|
|
2827
2744
|
snapSettingsPopover.setAttribute('aria-label', '吸附设置');
|
|
@@ -2903,6 +2820,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2903
2820
|
}
|
|
2904
2821
|
snapGroup.appendChild(snapButton);
|
|
2905
2822
|
const placementGroup = doc.createElement('div');
|
|
2823
|
+
placementGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2906
2824
|
placementGroup.style.cssText = [
|
|
2907
2825
|
'display:flex',
|
|
2908
2826
|
'align-items:center',
|
|
@@ -2913,7 +2831,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2913
2831
|
const placementButton = createToolbarIconButton(doc, '放置模式', PLACEMENT_MODE_ICONS.off, '放置模式', 'settings');
|
|
2914
2832
|
placementButton.dataset.placementModeToggle = 'true';
|
|
2915
2833
|
const placementSettingsPopover = doc.createElement('div');
|
|
2916
|
-
placementSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2834
|
+
placementSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2917
2835
|
placementSettingsPopover.dataset.placementSettingsPopover = 'true';
|
|
2918
2836
|
placementSettingsPopover.setAttribute('role', 'dialog');
|
|
2919
2837
|
placementSettingsPopover.setAttribute('aria-label', '放置模式');
|
|
@@ -2945,6 +2863,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2945
2863
|
}));
|
|
2946
2864
|
placementGroup.appendChild(placementButton);
|
|
2947
2865
|
const actionGroup = doc.createElement('div');
|
|
2866
|
+
actionGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2948
2867
|
actionGroup.style.cssText = [
|
|
2949
2868
|
'display:flex',
|
|
2950
2869
|
'align-items:center',
|
|
@@ -2955,7 +2874,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2955
2874
|
const transformActionButton = createToolbarIconButton(doc, '对齐与分布', 'arrange', '对齐与分布', 'settings');
|
|
2956
2875
|
transformActionButton.dataset.transformActionToggle = 'true';
|
|
2957
2876
|
const transformActionPopover = doc.createElement('div');
|
|
2958
|
-
transformActionPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2877
|
+
transformActionPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2959
2878
|
transformActionPopover.dataset.transformActionPopover = 'true';
|
|
2960
2879
|
transformActionPopover.setAttribute('role', 'dialog');
|
|
2961
2880
|
transformActionPopover.setAttribute('aria-label', '对齐与分布');
|
|
@@ -3010,6 +2929,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3010
2929
|
}
|
|
3011
2930
|
actionGroup.appendChild(transformActionButton);
|
|
3012
2931
|
const staticShadowBakeGroup = doc.createElement('div');
|
|
2932
|
+
staticShadowBakeGroup.className = 'fps-editor-ui-toolbar-group';
|
|
3013
2933
|
staticShadowBakeGroup.style.cssText = [
|
|
3014
2934
|
'display:none',
|
|
3015
2935
|
'align-items:center',
|
|
@@ -3022,7 +2942,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3022
2942
|
staticShadowBakeButton.dataset.editorRenderingAction = STATIC_SHADOW_BAKE_ACTION_ID;
|
|
3023
2943
|
staticShadowBakeGroup.appendChild(staticShadowBakeButton);
|
|
3024
2944
|
const staticShadowBakePopover = doc.createElement('div');
|
|
3025
|
-
staticShadowBakePopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2945
|
+
staticShadowBakePopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
3026
2946
|
staticShadowBakePopover.dataset.editorToolbarStaticShadowBakePopover = 'true';
|
|
3027
2947
|
staticShadowBakePopover.setAttribute('role', 'dialog');
|
|
3028
2948
|
staticShadowBakePopover.setAttribute('aria-label', '静态阴影烘焙进度');
|
|
@@ -3110,23 +3030,22 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3110
3030
|
performanceMonitorButton.dataset.performanceMonitorToggle = 'true';
|
|
3111
3031
|
const gridToggleButton = createToolbarIconButton(doc, '网格', 'grid', '显示 / 隐藏 Scene View 网格');
|
|
3112
3032
|
gridToggleButton.dataset.editorGridToggle = 'true';
|
|
3113
|
-
const prefabComparisonPreviewButton = createToolbarIconButton(doc, '对比预览', 'eye', 'Compare Previews (Shift+P)', 'toggle');
|
|
3114
|
-
prefabComparisonPreviewButton.dataset.prefabComparisonPreviewToggle = 'true';
|
|
3115
3033
|
const sceneHelpButton = createToolbarIconButton(doc, '快捷键', 'help', '快捷键与操作说明');
|
|
3116
3034
|
sceneQuickActions.appendChild(localTestGroup);
|
|
3117
|
-
const
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3035
|
+
const contextActionGroup = doc.createElement('div');
|
|
3036
|
+
contextActionGroup.className = 'fps-editor-ui-toolbar-group';
|
|
3037
|
+
contextActionGroup.dataset.editorContextActions = 'true';
|
|
3038
|
+
contextActionGroup.style.cssText = 'display:none;align-items:center;gap:4px';
|
|
3039
|
+
sceneQuickActions.appendChild(contextActionGroup);
|
|
3121
3040
|
sceneQuickActions.appendChild(undoButton);
|
|
3122
3041
|
sceneQuickActions.appendChild(redoButton);
|
|
3123
3042
|
sceneQuickActions.appendChild(dirtyBadge);
|
|
3124
3043
|
sceneUtilityActions.appendChild(performanceMonitorButton);
|
|
3125
3044
|
sceneUtilityActions.appendChild(gridToggleButton);
|
|
3126
|
-
sceneUtilityActions.appendChild(prefabComparisonPreviewButton);
|
|
3127
3045
|
sceneUtilityActions.appendChild(themeToggleButton);
|
|
3128
3046
|
sceneUtilityActions.appendChild(sceneHelpButton);
|
|
3129
3047
|
const cameraPreviewGroup = doc.createElement('div');
|
|
3048
|
+
cameraPreviewGroup.className = 'fps-editor-ui-toolbar-group';
|
|
3130
3049
|
cameraPreviewGroup.style.cssText = [
|
|
3131
3050
|
'display:flex',
|
|
3132
3051
|
'align-items:center',
|
|
@@ -3138,6 +3057,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3138
3057
|
sceneCameraButton.dataset.sceneCameraPreviewToggle = 'true';
|
|
3139
3058
|
cameraPreviewGroup.appendChild(sceneCameraButton);
|
|
3140
3059
|
const viewportToolsGroup = doc.createElement('div');
|
|
3060
|
+
viewportToolsGroup.className = 'fps-editor-ui-toolbar-group';
|
|
3141
3061
|
viewportToolsGroup.style.cssText = [
|
|
3142
3062
|
'display:flex',
|
|
3143
3063
|
'align-items:center',
|
|
@@ -3158,6 +3078,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3158
3078
|
const markerVisibilityButton = createToolbarIconButton(doc, '标记视图', 'view-overlay', '隐藏标记与关系线', 'toggle');
|
|
3159
3079
|
markerVisibilityButton.dataset.viewportMarkerVisibilityToggle = 'true';
|
|
3160
3080
|
viewportToolsGroup.appendChild(markerVisibilityButton);
|
|
3081
|
+
const showAllPrefabMarkersButton = createToolbarIconButton(doc, '全部 Prefab 标记', 'view-overlay', '显示所有 Prefab 实例的标记', 'toggle');
|
|
3082
|
+
showAllPrefabMarkersButton.dataset.viewportShowAllPrefabMarkersToggle = 'true';
|
|
3083
|
+
viewportToolsGroup.appendChild(showAllPrefabMarkersButton);
|
|
3161
3084
|
const overlaySettingsButton = createToolbarIconButton(doc, '视口信息层设置', 'view-overlay', '视口信息层设置', 'settings');
|
|
3162
3085
|
overlaySettingsButton.dataset.viewportOverlaySettingsToggle = 'true';
|
|
3163
3086
|
viewportToolsGroup.appendChild(overlaySettingsButton);
|
|
@@ -3168,7 +3091,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3168
3091
|
clearMeasurementButton.dataset.viewportMeasurementClear = 'true';
|
|
3169
3092
|
viewportToolsGroup.appendChild(clearMeasurementButton);
|
|
3170
3093
|
const overlaySettingsPopover = doc.createElement('div');
|
|
3171
|
-
overlaySettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
3094
|
+
overlaySettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
3172
3095
|
overlaySettingsPopover.dataset.viewportOverlaySettingsPopover = 'true';
|
|
3173
3096
|
overlaySettingsPopover.setAttribute('role', 'dialog');
|
|
3174
3097
|
overlaySettingsPopover.setAttribute('aria-label', '视口信息层设置');
|
|
@@ -3212,7 +3135,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3212
3135
|
toolbarOverflowButton.dataset.editorToolbarOverflowToggle = 'true';
|
|
3213
3136
|
toolbarOverflowButton.style.display = 'none';
|
|
3214
3137
|
const toolbarOverflowMenu = doc.createElement('div');
|
|
3215
|
-
toolbarOverflowMenu.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
3138
|
+
toolbarOverflowMenu.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
3216
3139
|
toolbarOverflowMenu.dataset.editorToolbarOverflowMenu = 'true';
|
|
3217
3140
|
toolbarOverflowMenu.style.cssText = [
|
|
3218
3141
|
'position:fixed',
|
|
@@ -3235,111 +3158,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3235
3158
|
const sceneFrameRateOverlay = createSceneFrameRateOverlay(doc);
|
|
3236
3159
|
const performanceMonitorOverlay = createPerformanceMonitorOverlay(doc);
|
|
3237
3160
|
const prefabImportStatsOverlay = createPrefabImportStatsOverlay(doc);
|
|
3238
|
-
const prefabComparisonPreviewOverlay = createPrefabComparisonPreviewOverlay(doc);
|
|
3239
3161
|
const prefabStagePreviewLayout = createPrefabStagePreviewLayout(doc);
|
|
3240
3162
|
prefabImportStatsOverlay.root.style.position = 'absolute';
|
|
3241
3163
|
prefabImportStatsOverlay.root.style.top = '10px';
|
|
3242
3164
|
prefabImportStatsOverlay.root.style.right = '14px';
|
|
3243
|
-
prefabComparisonPreviewOverlay.root.style.height = '100%';
|
|
3244
3165
|
prefabStagePreviewLayout.mainRegion.appendChild(prefabImportStatsOverlay.root);
|
|
3245
|
-
prefabStagePreviewLayout.comparisonColumn.appendChild(prefabComparisonPreviewOverlay.root);
|
|
3246
|
-
const emitPrefabComparisonPreviewInteraction = (input) => {
|
|
3247
|
-
if (currentState?.mode !== 'editor' || !currentState.prefabStage)
|
|
3248
|
-
return;
|
|
3249
|
-
callbacks.onPrefabComparisonPreviewInteraction?.(input);
|
|
3250
|
-
};
|
|
3251
|
-
const endPrefabComparisonPreviewDrag = (pointerId) => {
|
|
3252
|
-
const drag = prefabComparisonPreviewDrag;
|
|
3253
|
-
if (!drag || (pointerId != null && drag.pointerId !== pointerId))
|
|
3254
|
-
return;
|
|
3255
|
-
try {
|
|
3256
|
-
if (!drag.surface.hasPointerCapture || drag.surface.hasPointerCapture(drag.pointerId)) {
|
|
3257
|
-
drag.surface.releasePointerCapture?.(drag.pointerId);
|
|
3258
|
-
}
|
|
3259
|
-
}
|
|
3260
|
-
catch {
|
|
3261
|
-
// Pointer capture may already be released by the browser when this cleanup runs.
|
|
3262
|
-
}
|
|
3263
|
-
drag.surface.style.cursor = 'grab';
|
|
3264
|
-
prefabComparisonPreviewDrag = null;
|
|
3265
|
-
};
|
|
3266
|
-
const onPrefabComparisonPreviewPointerDown = (event) => {
|
|
3267
|
-
if (event.button !== 0 || currentState?.mode !== 'editor' || !currentState.prefabStage)
|
|
3268
|
-
return;
|
|
3269
|
-
const surface = findPrefabComparisonPreviewSurface(event.target);
|
|
3270
|
-
if (!surface || !isPrefabComparisonPreviewSurfaceReady(surface))
|
|
3271
|
-
return;
|
|
3272
|
-
const previewId = readPrefabComparisonPreviewSurfaceId(surface);
|
|
3273
|
-
if (!previewId)
|
|
3274
|
-
return;
|
|
3275
|
-
event.preventDefault();
|
|
3276
|
-
event.stopPropagation();
|
|
3277
|
-
endPrefabComparisonPreviewDrag();
|
|
3278
|
-
try {
|
|
3279
|
-
surface.setPointerCapture?.(event.pointerId);
|
|
3280
|
-
}
|
|
3281
|
-
catch {
|
|
3282
|
-
// Pointer capture is an input nicety; drag state still works through the overlay listener.
|
|
3283
|
-
}
|
|
3284
|
-
surface.style.cursor = 'grabbing';
|
|
3285
|
-
prefabComparisonPreviewDrag = {
|
|
3286
|
-
pointerId: event.pointerId,
|
|
3287
|
-
previewId,
|
|
3288
|
-
surface,
|
|
3289
|
-
lastClientX: event.clientX,
|
|
3290
|
-
lastClientY: event.clientY,
|
|
3291
|
-
};
|
|
3292
|
-
};
|
|
3293
|
-
const onPrefabComparisonPreviewPointerMove = (event) => {
|
|
3294
|
-
const drag = prefabComparisonPreviewDrag;
|
|
3295
|
-
if (!drag || drag.pointerId !== event.pointerId)
|
|
3296
|
-
return;
|
|
3297
|
-
event.preventDefault();
|
|
3298
|
-
event.stopPropagation();
|
|
3299
|
-
const deltaX = event.clientX - drag.lastClientX;
|
|
3300
|
-
const deltaY = event.clientY - drag.lastClientY;
|
|
3301
|
-
drag.lastClientX = event.clientX;
|
|
3302
|
-
drag.lastClientY = event.clientY;
|
|
3303
|
-
if (Math.abs(deltaX) < 0.001 && Math.abs(deltaY) < 0.001)
|
|
3304
|
-
return;
|
|
3305
|
-
emitPrefabComparisonPreviewInteraction({
|
|
3306
|
-
kind: 'orbit',
|
|
3307
|
-
previewId: drag.previewId,
|
|
3308
|
-
deltaX,
|
|
3309
|
-
deltaY,
|
|
3310
|
-
});
|
|
3311
|
-
};
|
|
3312
|
-
const onPrefabComparisonPreviewPointerEnd = (event) => {
|
|
3313
|
-
const drag = prefabComparisonPreviewDrag;
|
|
3314
|
-
if (!drag || drag.pointerId !== event.pointerId)
|
|
3315
|
-
return;
|
|
3316
|
-
event.preventDefault();
|
|
3317
|
-
event.stopPropagation();
|
|
3318
|
-
endPrefabComparisonPreviewDrag(event.pointerId);
|
|
3319
|
-
};
|
|
3320
|
-
const onPrefabComparisonPreviewWheel = (event) => {
|
|
3321
|
-
if (currentState?.mode !== 'editor' || !currentState.prefabStage)
|
|
3322
|
-
return;
|
|
3323
|
-
const surface = findPrefabComparisonPreviewSurface(event.target);
|
|
3324
|
-
if (!surface || !isPrefabComparisonPreviewSurfaceReady(surface))
|
|
3325
|
-
return;
|
|
3326
|
-
const previewId = readPrefabComparisonPreviewSurfaceId(surface);
|
|
3327
|
-
if (!previewId)
|
|
3328
|
-
return;
|
|
3329
|
-
event.preventDefault();
|
|
3330
|
-
event.stopPropagation();
|
|
3331
|
-
emitPrefabComparisonPreviewInteraction({
|
|
3332
|
-
kind: 'zoom',
|
|
3333
|
-
previewId,
|
|
3334
|
-
deltaY: event.deltaY,
|
|
3335
|
-
});
|
|
3336
|
-
};
|
|
3337
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointerdown', onPrefabComparisonPreviewPointerDown);
|
|
3338
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointermove', onPrefabComparisonPreviewPointerMove);
|
|
3339
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointerup', onPrefabComparisonPreviewPointerEnd);
|
|
3340
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointercancel', onPrefabComparisonPreviewPointerEnd);
|
|
3341
|
-
prefabComparisonPreviewOverlay.root.addEventListener('lostpointercapture', onPrefabComparisonPreviewPointerEnd);
|
|
3342
|
-
prefabComparisonPreviewOverlay.root.addEventListener('wheel', onPrefabComparisonPreviewWheel, { passive: false });
|
|
3343
3166
|
const spatialOverlay = createSpatialOverlay(doc);
|
|
3344
3167
|
const measurementOverlay = createMeasurementOverlay(doc);
|
|
3345
3168
|
sceneToolOverlay.appendChild(sceneTitle);
|
|
@@ -3397,7 +3220,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3397
3220
|
construction.appendRootChild(shortcutHelpPanel);
|
|
3398
3221
|
tooltipSurfaces.add(shortcutHelpPanel);
|
|
3399
3222
|
const assetPreviewModal = doc.createElement('div');
|
|
3400
|
-
assetPreviewModal.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
3223
|
+
assetPreviewModal.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-modal-root', 'fps-editor-ui-asset-preview-modal');
|
|
3401
3224
|
assetPreviewModal.dataset.editorAssetPreviewModal = 'true';
|
|
3402
3225
|
assetPreviewModal.dataset.editorWorkbenchRegion = 'modal';
|
|
3403
3226
|
assetPreviewModal.style.cssText = [
|
|
@@ -3414,6 +3237,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3414
3237
|
'pointer-events:auto',
|
|
3415
3238
|
].join(';');
|
|
3416
3239
|
const assetPreviewDialog = doc.createElement('div');
|
|
3240
|
+
assetPreviewDialog.className = 'fps-editor-ui-modal';
|
|
3417
3241
|
assetPreviewDialog.setAttribute('role', 'dialog');
|
|
3418
3242
|
assetPreviewDialog.setAttribute('aria-modal', 'true');
|
|
3419
3243
|
assetPreviewDialog.setAttribute('aria-label', '资产预览');
|
|
@@ -3431,8 +3255,10 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3431
3255
|
'overflow:auto',
|
|
3432
3256
|
].join(';');
|
|
3433
3257
|
const assetPreviewHeader = doc.createElement('div');
|
|
3258
|
+
assetPreviewHeader.className = 'fps-editor-ui-modal-header';
|
|
3434
3259
|
assetPreviewHeader.style.cssText = 'display:flex;align-items:center;justify-content:space-between;gap:12px';
|
|
3435
3260
|
const assetPreviewTitle = doc.createElement('h2');
|
|
3261
|
+
assetPreviewTitle.className = 'fps-editor-ui-modal-title';
|
|
3436
3262
|
assetPreviewTitle.style.cssText = [
|
|
3437
3263
|
'min-width:0',
|
|
3438
3264
|
'margin:0',
|
|
@@ -3474,7 +3300,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3474
3300
|
construction.appendRootChild(assetPreviewModal);
|
|
3475
3301
|
tooltipSurfaces.add(assetPreviewModal);
|
|
3476
3302
|
const assetPickerModal = doc.createElement('div');
|
|
3477
|
-
assetPickerModal.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
3303
|
+
assetPickerModal.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-modal-root', 'fps-editor-ui-asset-modal');
|
|
3478
3304
|
assetPickerModal.dataset.editorAssetPickerModal = 'true';
|
|
3479
3305
|
assetPickerModal.dataset.editorWorkbenchRegion = 'modal';
|
|
3480
3306
|
assetPickerModal.style.cssText = [
|
|
@@ -3491,6 +3317,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3491
3317
|
'pointer-events:auto',
|
|
3492
3318
|
].join(';');
|
|
3493
3319
|
const assetPickerDialog = doc.createElement('div');
|
|
3320
|
+
assetPickerDialog.className = 'fps-editor-ui-modal';
|
|
3494
3321
|
assetPickerDialog.setAttribute('role', 'dialog');
|
|
3495
3322
|
assetPickerDialog.setAttribute('aria-modal', 'true');
|
|
3496
3323
|
assetPickerDialog.setAttribute('aria-label', '资产选择');
|
|
@@ -3508,8 +3335,10 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3508
3335
|
'overflow:hidden',
|
|
3509
3336
|
].join(';');
|
|
3510
3337
|
const assetPickerHeader = doc.createElement('div');
|
|
3338
|
+
assetPickerHeader.className = 'fps-editor-ui-modal-header';
|
|
3511
3339
|
assetPickerHeader.style.cssText = 'display:flex;align-items:center;justify-content:space-between;gap:12px';
|
|
3512
3340
|
const assetPickerTitle = doc.createElement('h2');
|
|
3341
|
+
assetPickerTitle.className = 'fps-editor-ui-modal-title';
|
|
3513
3342
|
assetPickerTitle.style.cssText = [
|
|
3514
3343
|
'min-width:0',
|
|
3515
3344
|
'margin:0',
|
|
@@ -3525,6 +3354,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3525
3354
|
assetPickerHeader.appendChild(assetPickerTitle);
|
|
3526
3355
|
assetPickerHeader.appendChild(assetPickerCloseButton);
|
|
3527
3356
|
const assetPickerSearch = doc.createElement('input');
|
|
3357
|
+
assetPickerSearch.className = 'fps-editor-ui-modal-search';
|
|
3528
3358
|
assetPickerSearch.type = 'search';
|
|
3529
3359
|
assetPickerSearch.dataset.editorAssetPickerSearch = 'true';
|
|
3530
3360
|
assetPickerSearch.placeholder = '搜索资产';
|
|
@@ -3539,6 +3369,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3539
3369
|
'padding:0 8px',
|
|
3540
3370
|
].join(';');
|
|
3541
3371
|
const assetPickerList = doc.createElement('div');
|
|
3372
|
+
assetPickerList.className = 'fps-editor-ui-modal-grid';
|
|
3542
3373
|
assetPickerList.style.cssText = [
|
|
3543
3374
|
'min-height:180px',
|
|
3544
3375
|
'max-height:min(430px,calc(100vh - 196px))',
|
|
@@ -3563,7 +3394,6 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3563
3394
|
applyLocalEditorTheme(performanceMonitorOverlay.root, activeTheme);
|
|
3564
3395
|
applyLocalEditorTheme(prefabStagePreviewLayout.root, activeTheme);
|
|
3565
3396
|
applyLocalEditorTheme(prefabImportStatsOverlay.root, activeTheme);
|
|
3566
|
-
applyLocalEditorTheme(prefabComparisonPreviewOverlay.root, activeTheme);
|
|
3567
3397
|
applyLocalEditorTheme(shortcutHelpPanel, activeTheme);
|
|
3568
3398
|
applyLocalEditorTheme(assetPreviewModal, activeTheme);
|
|
3569
3399
|
applyLocalEditorTheme(assetPickerModal, activeTheme);
|
|
@@ -3612,37 +3442,145 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3612
3442
|
if (viewModel.diagnostics.length === 0) {
|
|
3613
3443
|
const empty = doc.createElement('div');
|
|
3614
3444
|
empty.dataset.editorStatusEmpty = 'true';
|
|
3615
|
-
empty.textContent = '
|
|
3445
|
+
empty.textContent = '当前没有诊断信息。';
|
|
3616
3446
|
empty.style.cssText = 'padding:14px 8px;text-align:center;color:var(--fps-editor-muted);font-size:12px';
|
|
3617
3447
|
editorStatusCenterList.appendChild(empty);
|
|
3618
3448
|
return;
|
|
3619
3449
|
}
|
|
3450
|
+
const currentScopeId = state?.prefabStage
|
|
3451
|
+
? `prefab-stage:${state.prefabStage.assetId}`
|
|
3452
|
+
: 'scene';
|
|
3453
|
+
let previousGroup = '';
|
|
3620
3454
|
viewModel.entries.forEach(({ diagnostic, copyText }, index) => {
|
|
3455
|
+
const group = `${diagnostic.severity}\u0000${diagnostic.phase ?? 'edit'}\u0000${diagnostic.source}`;
|
|
3456
|
+
if (group !== previousGroup) {
|
|
3457
|
+
const groupHeader = doc.createElement('div');
|
|
3458
|
+
groupHeader.dataset.editorStatusGroup = group;
|
|
3459
|
+
groupHeader.textContent = `${diagnostic.severity === 'error' ? '错误' : diagnostic.severity === 'warning' ? '警告' : '信息'} · ${diagnostic.phase ?? 'edit'} · ${diagnostic.source}`;
|
|
3460
|
+
groupHeader.style.cssText = 'padding:5px 2px 1px;font-size:10px;font-weight:900;color:var(--fps-editor-muted-strong);text-transform:uppercase';
|
|
3461
|
+
editorStatusCenterList.appendChild(groupHeader);
|
|
3462
|
+
previousGroup = group;
|
|
3463
|
+
}
|
|
3621
3464
|
const item = doc.createElement('div');
|
|
3622
3465
|
item.dataset.editorStatusDiagnostic = diagnostic.code;
|
|
3466
|
+
const diagnosticBorder = diagnostic.severity === 'error'
|
|
3467
|
+
? 'var(--fps-editor-danger-border)'
|
|
3468
|
+
: diagnostic.severity === 'warning'
|
|
3469
|
+
? 'var(--fps-editor-warn-border)'
|
|
3470
|
+
: 'var(--fps-editor-border)';
|
|
3471
|
+
const diagnosticBackground = diagnostic.severity === 'error'
|
|
3472
|
+
? 'var(--fps-editor-danger-soft)'
|
|
3473
|
+
: diagnostic.severity === 'warning'
|
|
3474
|
+
? 'var(--fps-editor-warn-soft)'
|
|
3475
|
+
: 'var(--fps-editor-surface-soft)';
|
|
3623
3476
|
item.style.cssText = [
|
|
3624
3477
|
'display:grid',
|
|
3625
3478
|
'grid-template-columns:minmax(0,1fr) auto',
|
|
3626
3479
|
'gap:8px',
|
|
3627
3480
|
'padding:8px',
|
|
3628
|
-
`border:1px solid ${
|
|
3481
|
+
`border:1px solid ${diagnosticBorder}`,
|
|
3629
3482
|
'border-radius:3px',
|
|
3630
|
-
`background:${
|
|
3483
|
+
`background:${diagnosticBackground}`,
|
|
3631
3484
|
].join(';');
|
|
3632
3485
|
const content = doc.createElement('div');
|
|
3633
3486
|
content.style.cssText = 'min-width:0;display:flex;flex-direction:column;gap:4px';
|
|
3487
|
+
const locateAction = diagnostic.actions?.find(action => action.kind === 'locate');
|
|
3488
|
+
const locatePlan = resolveLocalEditorStatusDiagnosticLocatePlan(diagnostic, currentScopeId);
|
|
3489
|
+
const locator = locatePlan.locator;
|
|
3490
|
+
const canLocate = locatePlan.canLocate && !!callbacks.onStatusDiagnosticLocate;
|
|
3491
|
+
const locate = () => {
|
|
3492
|
+
const navigationRequest = {
|
|
3493
|
+
settled: false,
|
|
3494
|
+
...(locator.assetId ? { assetId: locator.assetId } : {}),
|
|
3495
|
+
...(locator.path ? {
|
|
3496
|
+
path: {
|
|
3497
|
+
value: locator.path,
|
|
3498
|
+
...(locator.scopeId ? { scopeId: locator.scopeId } : {}),
|
|
3499
|
+
...(diagnostic.documentRevision != null ? { documentRevision: diagnostic.documentRevision } : {}),
|
|
3500
|
+
...(diagnostic.projectionRevision != null ? { projectionRevision: diagnostic.projectionRevision } : {}),
|
|
3501
|
+
},
|
|
3502
|
+
} : {}),
|
|
3503
|
+
};
|
|
3504
|
+
pendingStatusDiagnosticRequest = navigationRequest;
|
|
3505
|
+
if (locator.assetId) {
|
|
3506
|
+
assetBrowserTab = 'all';
|
|
3507
|
+
panelRegistry.setBottomDockTab('assets');
|
|
3508
|
+
workbenchLayoutController.setBottomCollapsed(false);
|
|
3509
|
+
callbacks.onAssetFilterChange?.('');
|
|
3510
|
+
}
|
|
3511
|
+
if (locator.path) {
|
|
3512
|
+
inspectorFilter = '';
|
|
3513
|
+
panelRegistry.setRightDockTab('inspector');
|
|
3514
|
+
const layout = workbenchLayoutController.getLayout();
|
|
3515
|
+
if (layout.rightCollapsed) {
|
|
3516
|
+
workbenchLayoutController.setLayout({ ...layout, rightCollapsed: false });
|
|
3517
|
+
}
|
|
3518
|
+
}
|
|
3519
|
+
const result = callbacks.onStatusDiagnosticLocate?.({
|
|
3520
|
+
...diagnostic,
|
|
3521
|
+
locator,
|
|
3522
|
+
});
|
|
3523
|
+
const settle = (accepted) => {
|
|
3524
|
+
pendingStatusDiagnosticRequest = settleLocalEditorStatusDiagnosticRequest(pendingStatusDiagnosticRequest, navigationRequest, accepted);
|
|
3525
|
+
if (accepted !== false && pendingStatusDiagnosticRequest === navigationRequest && currentState) {
|
|
3526
|
+
revealPendingStatusDiagnosticPath(currentState);
|
|
3527
|
+
revealPendingStatusDiagnosticAsset(currentState);
|
|
3528
|
+
clearCompletedStatusDiagnosticRequest(navigationRequest);
|
|
3529
|
+
}
|
|
3530
|
+
};
|
|
3531
|
+
if (result && typeof result.then === 'function') {
|
|
3532
|
+
void result.then(settle, () => settle(false));
|
|
3533
|
+
}
|
|
3534
|
+
else {
|
|
3535
|
+
settle(result);
|
|
3536
|
+
}
|
|
3537
|
+
};
|
|
3538
|
+
if (canLocate) {
|
|
3539
|
+
content.dataset.editorStatusLocate = locator.objectId
|
|
3540
|
+
?? locator.rowId
|
|
3541
|
+
?? locator.prefabNodeId
|
|
3542
|
+
?? locator.assetId
|
|
3543
|
+
?? locator.path
|
|
3544
|
+
?? '';
|
|
3545
|
+
content.setAttribute('role', 'button');
|
|
3546
|
+
content.tabIndex = 0;
|
|
3547
|
+
content.style.cursor = 'pointer';
|
|
3548
|
+
content.addEventListener('click', locate);
|
|
3549
|
+
content.addEventListener('keydown', event => {
|
|
3550
|
+
if (event.key !== 'Enter' && event.key !== ' ')
|
|
3551
|
+
return;
|
|
3552
|
+
event.preventDefault();
|
|
3553
|
+
locate();
|
|
3554
|
+
});
|
|
3555
|
+
}
|
|
3634
3556
|
const code = doc.createElement('div');
|
|
3635
|
-
code.textContent = `${diagnostic.severity === 'error' ? '错误' : '警告'} · ${diagnostic.code}`;
|
|
3636
|
-
code.style.cssText = `font-size:11px;font-weight:900;color:${diagnostic.severity === 'error' ? 'var(--fps-editor-danger-strong)' : 'var(--fps-editor-warn)'}`;
|
|
3557
|
+
code.textContent = `${diagnostic.severity === 'error' ? '错误' : diagnostic.severity === 'warning' ? '警告' : '信息'} · ${diagnostic.code}`;
|
|
3558
|
+
code.style.cssText = `font-size:11px;font-weight:900;color:${diagnostic.severity === 'error' ? 'var(--fps-editor-danger-strong)' : diagnostic.severity === 'warning' ? 'var(--fps-editor-warn)' : 'var(--fps-editor-text-strong)'}`;
|
|
3637
3559
|
const message = doc.createElement('div');
|
|
3638
3560
|
message.textContent = diagnostic.message;
|
|
3639
3561
|
message.style.cssText = 'font-size:12px;line-height:1.45;color:var(--fps-editor-text-strong);overflow-wrap:anywhere';
|
|
3562
|
+
const suggestion = doc.createElement('div');
|
|
3563
|
+
suggestion.dataset.editorStatusSuggestion = diagnostic.code;
|
|
3564
|
+
suggestion.textContent = diagnostic.suggestion ? `建议:${diagnostic.suggestion}` : '';
|
|
3565
|
+
suggestion.style.cssText = 'font-size:11px;line-height:1.4;color:var(--fps-editor-muted-strong);overflow-wrap:anywhere';
|
|
3566
|
+
suggestion.style.display = diagnostic.suggestion ? 'block' : 'none';
|
|
3640
3567
|
const meta = doc.createElement('div');
|
|
3641
|
-
const diagnosticLocation = [
|
|
3568
|
+
const diagnosticLocation = [
|
|
3569
|
+
locator.scopeId,
|
|
3570
|
+
locator.rowId,
|
|
3571
|
+
locator.objectId,
|
|
3572
|
+
locator.prefabAssetId,
|
|
3573
|
+
locator.prefabNodeId,
|
|
3574
|
+
locator.assetId,
|
|
3575
|
+
locator.materialSlotId,
|
|
3576
|
+
locator.path,
|
|
3577
|
+
]
|
|
3642
3578
|
.filter(value => value !== undefined && value !== null && value !== '')
|
|
3643
3579
|
.join(' / ');
|
|
3644
3580
|
meta.textContent = [
|
|
3645
3581
|
`来源: ${diagnostic.source}`,
|
|
3582
|
+
diagnostic.producer ? `producer: ${diagnostic.producer}` : '',
|
|
3583
|
+
diagnostic.phase ? `phase: ${diagnostic.phase}` : '',
|
|
3646
3584
|
diagnosticLocation ? `位置: ${diagnosticLocation}` : '',
|
|
3647
3585
|
diagnostic.documentRevision != null ? `document revision: ${diagnostic.documentRevision}` : '',
|
|
3648
3586
|
diagnostic.projectionRevision != null ? `projection revision: ${diagnostic.projectionRevision}` : '',
|
|
@@ -3652,15 +3590,33 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3652
3590
|
meta.style.display = meta.textContent ? 'block' : 'none';
|
|
3653
3591
|
content.appendChild(code);
|
|
3654
3592
|
content.appendChild(message);
|
|
3593
|
+
content.appendChild(suggestion);
|
|
3655
3594
|
content.appendChild(meta);
|
|
3595
|
+
const actions = doc.createElement('div');
|
|
3596
|
+
actions.style.cssText = 'display:flex;align-items:flex-start;gap:4px';
|
|
3597
|
+
if (locateAction) {
|
|
3598
|
+
const locateButton = doc.createElement('button');
|
|
3599
|
+
locateButton.type = 'button';
|
|
3600
|
+
locateButton.dataset.editorStatusAction = locateAction.id;
|
|
3601
|
+
locateButton.textContent = locateAction.label;
|
|
3602
|
+
locateButton.disabled = !canLocate;
|
|
3603
|
+
locateButton.style.cssText = 'font:inherit;font-size:10px;padding:3px 6px;border:1px solid var(--fps-editor-border);border-radius:3px;background:var(--fps-editor-surface);color:var(--fps-editor-text-strong);cursor:pointer;white-space:nowrap';
|
|
3604
|
+
locateButton.addEventListener('click', event => {
|
|
3605
|
+
event.stopPropagation();
|
|
3606
|
+
if (canLocate)
|
|
3607
|
+
locate();
|
|
3608
|
+
});
|
|
3609
|
+
actions.appendChild(locateButton);
|
|
3610
|
+
}
|
|
3656
3611
|
const copy = createToolbarIconButton(doc, `复制诊断 ${index + 1}`, 'copy', '复制该诊断');
|
|
3657
3612
|
copy.dataset.editorStatusCopy = String(index);
|
|
3658
3613
|
copy.addEventListener('click', event => {
|
|
3659
3614
|
event.stopPropagation();
|
|
3660
|
-
|
|
3615
|
+
copyEditorStatusText(copy, doc.defaultView, copyText);
|
|
3661
3616
|
});
|
|
3662
3617
|
item.appendChild(content);
|
|
3663
|
-
|
|
3618
|
+
actions.appendChild(copy);
|
|
3619
|
+
item.appendChild(actions);
|
|
3664
3620
|
editorStatusCenterList.appendChild(item);
|
|
3665
3621
|
});
|
|
3666
3622
|
}
|
|
@@ -4137,7 +4093,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4137
4093
|
};
|
|
4138
4094
|
const onEditorStatusCopyAllClick = (event) => {
|
|
4139
4095
|
event.stopPropagation();
|
|
4140
|
-
|
|
4096
|
+
copyEditorStatusText(editorStatusCopyAllButton, doc.defaultView, createLocalEditorStatusCenterViewModel(currentState).copyAllText);
|
|
4097
|
+
};
|
|
4098
|
+
const onEditorStatusCloseClick = (event) => {
|
|
4099
|
+
event.stopPropagation();
|
|
4100
|
+
closeEditorStatusCenter();
|
|
4141
4101
|
};
|
|
4142
4102
|
const onToolbarOverflowPointerDown = (event) => {
|
|
4143
4103
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
@@ -4176,6 +4136,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4176
4136
|
localTestButton.addEventListener('click', onLocalTestButtonClick);
|
|
4177
4137
|
editorStatusButton.addEventListener('click', onEditorStatusButtonClick);
|
|
4178
4138
|
editorStatusCopyAllButton.addEventListener('click', onEditorStatusCopyAllClick);
|
|
4139
|
+
editorStatusCloseButton.addEventListener('click', onEditorStatusCloseClick);
|
|
4179
4140
|
doc.addEventListener('pointerdown', onToolbarOverflowPointerDown);
|
|
4180
4141
|
construction.addCleanup('toolbar-overflow-pointerdown', () => {
|
|
4181
4142
|
doc.removeEventListener('pointerdown', onToolbarOverflowPointerDown);
|
|
@@ -4208,9 +4169,6 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4208
4169
|
performanceMonitorButton.addEventListener('click', () => {
|
|
4209
4170
|
setPerformanceMonitorOpen(!performanceMonitorOpen);
|
|
4210
4171
|
});
|
|
4211
|
-
prefabComparisonPreviewButton.addEventListener('click', () => {
|
|
4212
|
-
setPrefabComparisonPreviewOpen(!prefabComparisonPreviewOpen);
|
|
4213
|
-
});
|
|
4214
4172
|
gridToggleButton.addEventListener('click', () => {
|
|
4215
4173
|
const visible = currentState?.grid?.visible ?? true;
|
|
4216
4174
|
callbacks.onGridVisibleChange?.(!visible);
|
|
@@ -4270,6 +4228,12 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4270
4228
|
callbacks.onMarkerViewportVisibilityChange?.(!markersVisible);
|
|
4271
4229
|
return;
|
|
4272
4230
|
}
|
|
4231
|
+
const showAllPrefabMarkersToggle = target?.closest('[data-viewport-show-all-prefab-markers-toggle]');
|
|
4232
|
+
if (showAllPrefabMarkersToggle) {
|
|
4233
|
+
const showAllPrefabMarkers = currentState?.viewportTools?.showAllPrefabMarkers ?? false;
|
|
4234
|
+
callbacks.onShowAllPrefabMarkersChange?.(!showAllPrefabMarkers);
|
|
4235
|
+
return;
|
|
4236
|
+
}
|
|
4273
4237
|
const overlayToggle = target?.closest('[data-viewport-overlay-settings-toggle]');
|
|
4274
4238
|
if (overlayToggle) {
|
|
4275
4239
|
event.stopPropagation();
|
|
@@ -4307,17 +4271,6 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4307
4271
|
if (notify)
|
|
4308
4272
|
callbacks.onPerformanceMonitorOpenChange?.(performanceMonitorOpen);
|
|
4309
4273
|
};
|
|
4310
|
-
const setPrefabComparisonPreviewOpen = (open) => {
|
|
4311
|
-
if (prefabComparisonPreviewOpen === open)
|
|
4312
|
-
return;
|
|
4313
|
-
if (!open)
|
|
4314
|
-
endPrefabComparisonPreviewDrag();
|
|
4315
|
-
prefabComparisonPreviewOpen = open;
|
|
4316
|
-
if (currentState)
|
|
4317
|
-
renderPreviewState(currentState);
|
|
4318
|
-
LocalEditorShared.applyButtonActiveState(prefabComparisonPreviewButton, prefabComparisonPreviewOpen);
|
|
4319
|
-
callbacks.onPrefabComparisonPreviewLayoutChange?.();
|
|
4320
|
-
};
|
|
4321
4274
|
const openAssetPreviewModal = (asset) => {
|
|
4322
4275
|
if (!asset.preview)
|
|
4323
4276
|
return;
|
|
@@ -4369,6 +4322,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4369
4322
|
contextMenu.close();
|
|
4370
4323
|
if (helpOpen)
|
|
4371
4324
|
setShortcutHelpOpen(false);
|
|
4325
|
+
settleHierarchyOperationInputRequest(null);
|
|
4372
4326
|
assetPickerInput = input;
|
|
4373
4327
|
assetPickerProperty = property;
|
|
4374
4328
|
assetPickerFilter = '';
|
|
@@ -4379,12 +4333,40 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4379
4333
|
assetPickerSearch.focus({ preventScroll: true });
|
|
4380
4334
|
assetPickerSearch.select();
|
|
4381
4335
|
};
|
|
4336
|
+
const requestHierarchyOperationInput = (operation, context) => {
|
|
4337
|
+
if (!operation.inputPresentation || currentState?.mode !== 'editor' || currentState.busy) {
|
|
4338
|
+
return Promise.resolve(null);
|
|
4339
|
+
}
|
|
4340
|
+
contextMenu.close();
|
|
4341
|
+
if (helpOpen)
|
|
4342
|
+
setShortcutHelpOpen(false);
|
|
4343
|
+
assetPickerInput = null;
|
|
4344
|
+
assetPickerProperty = null;
|
|
4345
|
+
settleHierarchyOperationInputRequest(null);
|
|
4346
|
+
assetPickerFilter = '';
|
|
4347
|
+
assetPickerOpen = true;
|
|
4348
|
+
closeAssetPreviewModal();
|
|
4349
|
+
renderAssetPickerModal();
|
|
4350
|
+
syncInputModalOpen();
|
|
4351
|
+
assetPickerSearch.focus({ preventScroll: true });
|
|
4352
|
+
assetPickerSearch.select();
|
|
4353
|
+
return new Promise(resolve => {
|
|
4354
|
+
hierarchyOperationInputRequest = { operation, context, resolve };
|
|
4355
|
+
renderAssetPickerModal();
|
|
4356
|
+
});
|
|
4357
|
+
};
|
|
4358
|
+
function settleHierarchyOperationInputRequest(value) {
|
|
4359
|
+
const request = hierarchyOperationInputRequest;
|
|
4360
|
+
hierarchyOperationInputRequest = null;
|
|
4361
|
+
request?.resolve(value);
|
|
4362
|
+
}
|
|
4382
4363
|
const closeInspectorAssetPicker = () => {
|
|
4383
4364
|
if (!assetPickerOpen)
|
|
4384
4365
|
return;
|
|
4385
4366
|
assetPickerOpen = false;
|
|
4386
4367
|
assetPickerInput = null;
|
|
4387
4368
|
assetPickerProperty = null;
|
|
4369
|
+
settleHierarchyOperationInputRequest(null);
|
|
4388
4370
|
assetPickerFilter = '';
|
|
4389
4371
|
renderAssetPickerModal();
|
|
4390
4372
|
syncInputModalOpen();
|
|
@@ -4784,15 +4766,33 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4784
4766
|
});
|
|
4785
4767
|
}
|
|
4786
4768
|
function renderAssetPickerModal() {
|
|
4787
|
-
if (!assetPickerOpen || !assetPickerProperty || !assetPickerInput) {
|
|
4769
|
+
if (!assetPickerOpen || (!hierarchyOperationInputRequest && (!assetPickerProperty || !assetPickerInput))) {
|
|
4788
4770
|
assetPickerModal.style.display = 'none';
|
|
4771
|
+
delete assetPickerModal.dataset.editorAssetPickerMode;
|
|
4789
4772
|
assetPickerTitle.textContent = '';
|
|
4790
4773
|
assetPickerSearch.value = '';
|
|
4791
4774
|
while (assetPickerList.firstChild)
|
|
4792
4775
|
assetPickerList.removeChild(assetPickerList.firstChild);
|
|
4793
4776
|
return;
|
|
4794
4777
|
}
|
|
4795
|
-
const
|
|
4778
|
+
const operationInput = hierarchyOperationInputRequest?.operation.inputPresentation;
|
|
4779
|
+
const options = operationInput
|
|
4780
|
+
? {
|
|
4781
|
+
title: operationInput.title,
|
|
4782
|
+
candidates: (currentState?.assets ?? [])
|
|
4783
|
+
.filter(asset => (operationInput.assetKinds.includes(resolveLocalEditorBrowserAssetKind(asset))
|
|
4784
|
+
&& asset.placeable !== false
|
|
4785
|
+
&& asset.disabled !== true))
|
|
4786
|
+
.map(asset => ({
|
|
4787
|
+
label: asset.label,
|
|
4788
|
+
value: asset.assetId ?? asset.id,
|
|
4789
|
+
meta: asset.meta ?? asset.assetId ?? asset.id,
|
|
4790
|
+
kind: asset.kind ?? resolveLocalEditorBrowserAssetKind(asset),
|
|
4791
|
+
preview: asset.preview,
|
|
4792
|
+
})),
|
|
4793
|
+
}
|
|
4794
|
+
: readInspectorAssetPickerOptions(assetPickerProperty);
|
|
4795
|
+
assetPickerModal.dataset.editorAssetPickerMode = operationInput ? 'hierarchy-operation' : 'inspector';
|
|
4796
4796
|
assetPickerTitle.textContent = options.title;
|
|
4797
4797
|
assetPickerSearch.value = assetPickerFilter;
|
|
4798
4798
|
while (assetPickerList.firstChild)
|
|
@@ -4811,7 +4811,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4811
4811
|
assetPickerList.appendChild(empty);
|
|
4812
4812
|
}
|
|
4813
4813
|
for (const candidate of candidates) {
|
|
4814
|
-
assetPickerList.appendChild(createInspectorAssetPickerCandidateButton(candidate, assetPickerInput
|
|
4814
|
+
assetPickerList.appendChild(createInspectorAssetPickerCandidateButton(candidate, assetPickerInput?.value ?? ''));
|
|
4815
4815
|
}
|
|
4816
4816
|
assetPickerModal.style.display = 'flex';
|
|
4817
4817
|
}
|
|
@@ -4855,8 +4855,13 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4855
4855
|
sceneHelpButton.addEventListener('click', () => {
|
|
4856
4856
|
setShortcutHelpOpen(!helpOpen);
|
|
4857
4857
|
});
|
|
4858
|
-
|
|
4859
|
-
|
|
4858
|
+
contextActionGroup.addEventListener('click', (event) => {
|
|
4859
|
+
const button = event.target instanceof Element
|
|
4860
|
+
? event.target.closest('[data-editor-context-action]')
|
|
4861
|
+
: null;
|
|
4862
|
+
if (!button || button.disabled)
|
|
4863
|
+
return;
|
|
4864
|
+
callbacks.onContextAction?.(button.dataset.editorContextAction ?? '');
|
|
4860
4865
|
});
|
|
4861
4866
|
themeToggleButton.addEventListener('click', () => {
|
|
4862
4867
|
setActiveTheme(activeTheme === 'dark' ? 'light' : 'dark');
|
|
@@ -4910,6 +4915,18 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4910
4915
|
return;
|
|
4911
4916
|
}
|
|
4912
4917
|
const candidateButton = target?.closest('[data-editor-asset-picker-candidate]');
|
|
4918
|
+
if (candidateButton && hierarchyOperationInputRequest?.operation.inputPresentation) {
|
|
4919
|
+
const value = candidateButton.dataset.editorAssetPickerCandidate ?? '';
|
|
4920
|
+
const presentation = hierarchyOperationInputRequest.operation.inputPresentation;
|
|
4921
|
+
const asset = currentState?.assets.find(candidate => (candidate.assetId ?? candidate.id) === value);
|
|
4922
|
+
if (asset)
|
|
4923
|
+
callbacks.onSelectAsset?.(asset.id);
|
|
4924
|
+
settleHierarchyOperationInputRequest(Object.freeze({
|
|
4925
|
+
[presentation.field]: presentation.multiple ? Object.freeze([value]) : value,
|
|
4926
|
+
}));
|
|
4927
|
+
closeInspectorAssetPicker();
|
|
4928
|
+
return;
|
|
4929
|
+
}
|
|
4913
4930
|
if (candidateButton && assetPickerInput) {
|
|
4914
4931
|
assetPickerInput.value = candidateButton.dataset.editorAssetPickerCandidate ?? '';
|
|
4915
4932
|
assetPickerInput.dispatchEvent(new Event('change', { bubbles: true }));
|
|
@@ -4925,9 +4942,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4925
4942
|
});
|
|
4926
4943
|
toolGroup.addEventListener('click', (event) => {
|
|
4927
4944
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
4928
|
-
const
|
|
4929
|
-
if (
|
|
4930
|
-
callbacks.
|
|
4945
|
+
const toolId = target?.closest('[data-editor-tool-id]')?.dataset.editorToolId;
|
|
4946
|
+
if (toolId)
|
|
4947
|
+
callbacks.onToolActivate?.(toolId);
|
|
4931
4948
|
});
|
|
4932
4949
|
spaceGroup.addEventListener('click', (event) => {
|
|
4933
4950
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
@@ -5014,8 +5031,47 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5014
5031
|
if (button.dataset.editorAssetId !== assetId)
|
|
5015
5032
|
continue;
|
|
5016
5033
|
assetBrowserViewportReveal.revealElement(button);
|
|
5034
|
+
return true;
|
|
5035
|
+
}
|
|
5036
|
+
return false;
|
|
5037
|
+
}
|
|
5038
|
+
function revealPendingStatusDiagnosticPath(state) {
|
|
5039
|
+
const request = pendingStatusDiagnosticRequest;
|
|
5040
|
+
const path = request?.path;
|
|
5041
|
+
if (!request?.settled || !path || panelRegistry.getRightDockTab() !== 'inspector')
|
|
5042
|
+
return;
|
|
5043
|
+
const hierarchySnapshot = hierarchyKernel.getViewModel()?.snapshot;
|
|
5044
|
+
const current = (!path.scopeId || path.scopeId === hierarchySnapshot?.scopeKey)
|
|
5045
|
+
&& (path.documentRevision == null || path.documentRevision === state.documentRevision)
|
|
5046
|
+
&& (path.projectionRevision == null || path.projectionRevision === hierarchySnapshot?.revision);
|
|
5047
|
+
const target = [...inspectorPanel.querySelectorAll('[data-serialized-path]')]
|
|
5048
|
+
.find(element => current && element.dataset.serializedPath === path.value);
|
|
5049
|
+
delete request.path;
|
|
5050
|
+
if (!target) {
|
|
5051
|
+
clearCompletedStatusDiagnosticRequest(request);
|
|
5017
5052
|
return;
|
|
5018
5053
|
}
|
|
5054
|
+
target.closest('details')?.setAttribute('open', '');
|
|
5055
|
+
target.scrollIntoView({ block: 'center', inline: 'nearest' });
|
|
5056
|
+
const focusTarget = target.matches('input,select,textarea,button,[tabindex]')
|
|
5057
|
+
? target
|
|
5058
|
+
: target.querySelector('input,select,textarea,button,[tabindex]');
|
|
5059
|
+
focusTarget?.focus({ preventScroll: true });
|
|
5060
|
+
clearCompletedStatusDiagnosticRequest(request);
|
|
5061
|
+
}
|
|
5062
|
+
function revealPendingStatusDiagnosticAsset(state) {
|
|
5063
|
+
const request = pendingStatusDiagnosticRequest;
|
|
5064
|
+
if (!request?.settled || !request.assetId || panelRegistry.getBottomDockTab() !== 'assets')
|
|
5065
|
+
return;
|
|
5066
|
+
const revealId = state.selectedAssetId ?? request.assetId;
|
|
5067
|
+
revealSelectedAssetBrowserItem(revealId);
|
|
5068
|
+
delete request.assetId;
|
|
5069
|
+
clearCompletedStatusDiagnosticRequest(request);
|
|
5070
|
+
}
|
|
5071
|
+
function clearCompletedStatusDiagnosticRequest(request) {
|
|
5072
|
+
if (pendingStatusDiagnosticRequest === request && !request.path && !request.assetId) {
|
|
5073
|
+
pendingStatusDiagnosticRequest = null;
|
|
5074
|
+
}
|
|
5019
5075
|
}
|
|
5020
5076
|
function createCurrentAssetBrowserActionContext() {
|
|
5021
5077
|
const stage = currentState?.prefabStage;
|
|
@@ -5055,6 +5111,18 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5055
5111
|
});
|
|
5056
5112
|
return;
|
|
5057
5113
|
}
|
|
5114
|
+
const addToPrefabButton = target?.closest('[data-editor-asset-add-to-prefab]');
|
|
5115
|
+
const addToPrefabAssetId = addToPrefabButton?.dataset.editorAssetAddToPrefab;
|
|
5116
|
+
if (addToPrefabAssetId && currentState) {
|
|
5117
|
+
const asset = currentState.assets.find(candidate => candidate.id === addToPrefabAssetId);
|
|
5118
|
+
if (asset && LocalEditorPanels.shouldShowPrefabModelAddAction(currentState, asset)) {
|
|
5119
|
+
event.preventDefault();
|
|
5120
|
+
event.stopPropagation();
|
|
5121
|
+
callbacks.onSelectAsset?.(asset.id);
|
|
5122
|
+
callbacks.onAssetAction?.(createAssetBrowserActionInput('asset.add-to-current-prefab', asset, createCurrentAssetBrowserActionContext()));
|
|
5123
|
+
}
|
|
5124
|
+
return;
|
|
5125
|
+
}
|
|
5058
5126
|
const assetButton = target?.closest('[data-editor-asset-id]');
|
|
5059
5127
|
if (assetButton?.dataset.editorAssetId) {
|
|
5060
5128
|
suppressAssetBrowserRevealIfVisible(assetButton);
|
|
@@ -5154,11 +5222,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5154
5222
|
const hierarchyController = createLocalEditorHierarchyController({
|
|
5155
5223
|
doc,
|
|
5156
5224
|
panel: hierarchyPanel,
|
|
5157
|
-
callbacks,
|
|
5158
5225
|
inputRouter,
|
|
5159
5226
|
contextMenu,
|
|
5227
|
+
kernel: hierarchyKernel,
|
|
5228
|
+
onOperationResult: options.hierarchy?.onOperationResult,
|
|
5160
5229
|
getState: () => currentState,
|
|
5161
|
-
contextActions: options.hierarchy?.contextActions,
|
|
5162
5230
|
requestRender: () => {
|
|
5163
5231
|
if (currentState)
|
|
5164
5232
|
render(currentState);
|
|
@@ -5169,6 +5237,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5169
5237
|
if (assetPreviewOpen)
|
|
5170
5238
|
closeAssetPreviewModal();
|
|
5171
5239
|
},
|
|
5240
|
+
requestOperationInput: requestHierarchyOperationInput,
|
|
5172
5241
|
});
|
|
5173
5242
|
construction.addCleanup('hierarchy-controller', () => hierarchyController.dispose());
|
|
5174
5243
|
assetPanel.addEventListener('input', (event) => {
|
|
@@ -5294,14 +5363,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5294
5363
|
const materialSlotSelectTarget = target?.closest('[data-editor-inspector-material-slot-select]');
|
|
5295
5364
|
const materialSlotSelectionId = materialSlotSelectTarget?.dataset.editorInspectorMaterialSlotSelect;
|
|
5296
5365
|
if (materialSlotSelectionId) {
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
additive: event.shiftKey && !event.metaKey && !event.ctrlKey,
|
|
5303
|
-
toggle: event.metaKey || event.ctrlKey,
|
|
5304
|
-
}, precondition);
|
|
5366
|
+
void hierarchyKernel.dispatch({
|
|
5367
|
+
type: 'selection',
|
|
5368
|
+
targetId: materialSlotSelectionId,
|
|
5369
|
+
modifier: event.metaKey || event.ctrlKey ? 'toggle' : event.shiftKey ? 'range' : 'replace',
|
|
5370
|
+
});
|
|
5305
5371
|
return;
|
|
5306
5372
|
}
|
|
5307
5373
|
const copyButton = target?.closest('[data-editor-inspector-asset-copy]');
|
|
@@ -5336,6 +5402,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5336
5402
|
: null;
|
|
5337
5403
|
if (!input?.dataset.serializedPath || !input.dataset.serializedTargetId)
|
|
5338
5404
|
return;
|
|
5405
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5406
|
+
return;
|
|
5339
5407
|
if (input instanceof HTMLInputElement && (input.type === 'text' || input.type === 'number')) {
|
|
5340
5408
|
if (readInspectorCommitMode(input) !== 'change')
|
|
5341
5409
|
return;
|
|
@@ -5362,6 +5430,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5362
5430
|
const input = event.target instanceof HTMLInputElement ? event.target : null;
|
|
5363
5431
|
if (!input?.dataset.serializedPath || !input.dataset.serializedTargetId)
|
|
5364
5432
|
return;
|
|
5433
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5434
|
+
return;
|
|
5365
5435
|
if (readInspectorCommitMode(input) !== 'blur')
|
|
5366
5436
|
return;
|
|
5367
5437
|
if (consumeLocalEditorKeyboardCommittedValue(input))
|
|
@@ -5395,6 +5465,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5395
5465
|
: null;
|
|
5396
5466
|
if (!input?.dataset.editorRenderingProperty)
|
|
5397
5467
|
return;
|
|
5468
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5469
|
+
return;
|
|
5398
5470
|
if ((input instanceof HTMLInputElement && (input.type === 'text' || input.type === 'number')) || input instanceof HTMLTextAreaElement) {
|
|
5399
5471
|
if (readRenderingCommitMode(input) !== 'change')
|
|
5400
5472
|
return;
|
|
@@ -5422,6 +5494,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5422
5494
|
: null;
|
|
5423
5495
|
if (!input?.dataset.editorRenderingProperty)
|
|
5424
5496
|
return;
|
|
5497
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5498
|
+
return;
|
|
5425
5499
|
if (input instanceof HTMLSelectElement)
|
|
5426
5500
|
return;
|
|
5427
5501
|
if (readRenderingCommitMode(input) !== 'blur')
|
|
@@ -5499,6 +5573,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5499
5573
|
closeInspectorAssetPicker();
|
|
5500
5574
|
return;
|
|
5501
5575
|
}
|
|
5576
|
+
if (key === 'escape' && editorStatusCenterOpen) {
|
|
5577
|
+
event.preventDefault();
|
|
5578
|
+
closeEditorStatusCenter();
|
|
5579
|
+
return;
|
|
5580
|
+
}
|
|
5502
5581
|
if (key === 'escape' && snapSettingsOpen) {
|
|
5503
5582
|
event.preventDefault();
|
|
5504
5583
|
closeSnapSettingsPopover();
|
|
@@ -5527,17 +5606,13 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5527
5606
|
const primaryModifier = event.metaKey || event.ctrlKey;
|
|
5528
5607
|
const handleDocumentShortcut = inputRouter.shouldHandleDocumentShortcut(event);
|
|
5529
5608
|
const handleGlobalShortcut = inputRouter.shouldHandleGlobalShortcut(event);
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5533
|
-
key,
|
|
5534
|
-
shiftKey: event.shiftKey,
|
|
5535
|
-
metaKey: event.metaKey,
|
|
5536
|
-
ctrlKey: event.ctrlKey,
|
|
5537
|
-
altKey: event.altKey,
|
|
5538
|
-
})) {
|
|
5609
|
+
const contextAction = currentState.contextActions?.find(action => (action.availability.state !== 'hidden'
|
|
5610
|
+
&& matchesContextActionShortcut(action.shortcut, event)));
|
|
5611
|
+
if (handleDocumentShortcut && contextAction) {
|
|
5539
5612
|
event.preventDefault();
|
|
5540
|
-
|
|
5613
|
+
if (contextAction.availability.state === 'enabled') {
|
|
5614
|
+
callbacks.onContextAction?.(contextAction.id);
|
|
5615
|
+
}
|
|
5541
5616
|
return;
|
|
5542
5617
|
}
|
|
5543
5618
|
if (handleDocumentShortcut
|
|
@@ -5562,33 +5637,17 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5562
5637
|
callbacks.onRedo?.();
|
|
5563
5638
|
return;
|
|
5564
5639
|
}
|
|
5565
|
-
if (
|
|
5566
|
-
inPrefabStage: currentState.prefabStage != null,
|
|
5567
|
-
handleGlobalShortcut,
|
|
5568
|
-
key,
|
|
5569
|
-
metaKey: event.metaKey,
|
|
5570
|
-
ctrlKey: event.ctrlKey,
|
|
5571
|
-
altKey: event.altKey,
|
|
5572
|
-
})) {
|
|
5573
|
-
event.preventDefault();
|
|
5574
|
-
return;
|
|
5575
|
-
}
|
|
5576
|
-
if (!currentState.prefabStage && handleGlobalShortcut && hierarchyController.handleEditShortcut(event)) {
|
|
5640
|
+
if (handleGlobalShortcut && hierarchyController.handleEditShortcut(event)) {
|
|
5577
5641
|
return;
|
|
5578
5642
|
}
|
|
5579
5643
|
if (!handleGlobalShortcut || event.metaKey || event.ctrlKey || event.altKey)
|
|
5580
5644
|
return;
|
|
5581
|
-
const
|
|
5582
|
-
|
|
5583
|
-
w: 'move',
|
|
5584
|
-
e: 'rotate',
|
|
5585
|
-
r: 'scale',
|
|
5586
|
-
};
|
|
5587
|
-
const tool = toolByKey[key];
|
|
5645
|
+
const tool = currentState.tools?.find(candidate => (candidate.kind === 'primary'
|
|
5646
|
+
&& candidate.shortcut?.toLowerCase() === key));
|
|
5588
5647
|
if (tool) {
|
|
5589
5648
|
event.preventDefault();
|
|
5590
|
-
if (
|
|
5591
|
-
callbacks.
|
|
5649
|
+
if (tool.availability.state === 'enabled')
|
|
5650
|
+
callbacks.onToolActivate?.(tool.id);
|
|
5592
5651
|
return;
|
|
5593
5652
|
}
|
|
5594
5653
|
if (key === 'f') {
|
|
@@ -5617,24 +5676,13 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5617
5676
|
: snap.scaleStep;
|
|
5618
5677
|
return Number.isFinite(value) ? String(value) : '';
|
|
5619
5678
|
}
|
|
5620
|
-
function createCurrentHierarchyCommandPrecondition() {
|
|
5621
|
-
if (!currentState)
|
|
5622
|
-
return null;
|
|
5623
|
-
const documentRevision = currentState.documentRevision ?? 0;
|
|
5624
|
-
return {
|
|
5625
|
-
scopeId: currentState.prefabStage ? `prefab-stage:${currentState.prefabStage.assetId}` : 'scene',
|
|
5626
|
-
documentRevision,
|
|
5627
|
-
projectionRevision: currentState.hierarchyProjectionRevision ?? documentRevision,
|
|
5628
|
-
};
|
|
5629
|
-
}
|
|
5630
5679
|
function isTransformActionEnabled(action, operationState) {
|
|
5631
5680
|
return action.startsWith('align-')
|
|
5632
5681
|
? operationState.canAlign
|
|
5633
5682
|
: operationState.canDistribute;
|
|
5634
5683
|
}
|
|
5635
5684
|
function getPreviewToolSupport(tool) {
|
|
5636
|
-
|
|
5637
|
-
return resolveLocalEditorPreviewToolSupport({ inPrefabStage, tool });
|
|
5685
|
+
return resolveLocalEditorPreviewToolSupport({ capabilities: currentState?.capabilities, tool });
|
|
5638
5686
|
}
|
|
5639
5687
|
function isPreviewToolVisible(tool) {
|
|
5640
5688
|
return currentState?.mode === 'editor' && getPreviewToolSupport(tool).support !== 'hidden';
|
|
@@ -5675,29 +5723,20 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5675
5723
|
};
|
|
5676
5724
|
}
|
|
5677
5725
|
function renderPrefabStagePropertiesPanel(stage) {
|
|
5678
|
-
inspectorPanel.dataset.editorPanelId = '
|
|
5726
|
+
inspectorPanel.dataset.editorPanelId = 'inspector';
|
|
5679
5727
|
inspectorPanel.style.display = '';
|
|
5680
5728
|
renderingPanel.style.display = 'none';
|
|
5681
|
-
if (
|
|
5682
|
-
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, {
|
|
5683
|
-
...currentState,
|
|
5684
|
-
selectedIds: stage.inspectorObject.targetIds,
|
|
5685
|
-
activeId: stage.inspectorObject.activeId,
|
|
5686
|
-
selectionSummary: {
|
|
5687
|
-
count: stage.inspectorObject.targetIds.length,
|
|
5688
|
-
activeId: stage.inspectorObject.activeId,
|
|
5689
|
-
},
|
|
5690
|
-
inspectorObject: stage.inspectorObject,
|
|
5691
|
-
inspectorMultiObject: null,
|
|
5692
|
-
}, inspectorFilter, {
|
|
5729
|
+
if (currentState?.inspectorObject) {
|
|
5730
|
+
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, currentState, inspectorFilter, {
|
|
5693
5731
|
...options.inspector,
|
|
5732
|
+
layerHost: editorUiLayerHost,
|
|
5694
5733
|
title: 'Prefab Properties',
|
|
5695
5734
|
emptyText: 'Select an item in Prefab Explorer.',
|
|
5696
|
-
summaryTitle: 'Prefab',
|
|
5697
5735
|
lockedVectorGroups: lockedInspectorVectorGroups,
|
|
5698
5736
|
});
|
|
5699
5737
|
return;
|
|
5700
5738
|
}
|
|
5739
|
+
LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel);
|
|
5701
5740
|
LocalEditorShared.clearElement(inspectorPanel);
|
|
5702
5741
|
inspectorPanel.appendChild(createPrefabStagePanelHeader('Prefab Properties', 'inspector'));
|
|
5703
5742
|
const selectedItem = findLocalEditorPrefabStageStructureItem(stage, stage.selectedItemId);
|
|
@@ -5855,7 +5894,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5855
5894
|
: 'var(--fps-editor-muted)';
|
|
5856
5895
|
setToolbarButtonIcon(doc, editorStatusButton, statusViewModel.icon);
|
|
5857
5896
|
setToolbarButtonTooltip(editorStatusButton, [
|
|
5858
|
-
|
|
5897
|
+
`验证中心:${editorStatusText}`,
|
|
5859
5898
|
state.statusDetails && state.statusDetails !== state.status ? state.statusDetails : '',
|
|
5860
5899
|
transformStatusText,
|
|
5861
5900
|
LocalEditorShared.toTransformOperationStatusLabel(transformOperations.settings),
|
|
@@ -5878,20 +5917,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5878
5917
|
renderCoordinateAxesOverlay(coordinateAxesOverlay, inEditor ? state.coordinateAxes ?? null : null);
|
|
5879
5918
|
renderSceneFrameRateOverlay(sceneFrameRateOverlay, inEditor && !inPrefabStage ? state.sceneFrameStats ?? null : null);
|
|
5880
5919
|
renderPerformanceMonitorOverlay(performanceMonitorOverlay, inEditor && !inPrefabStage ? state.performanceStats ?? null : null, inEditor && !inPrefabStage && performanceMonitorOpen);
|
|
5881
|
-
const comparisonColumnVisible = shouldShowLocalEditorPrefabComparisonColumn({
|
|
5882
|
-
inPrefabStage: inEditor && inPrefabStage,
|
|
5883
|
-
userOpen: prefabComparisonPreviewOpen,
|
|
5884
|
-
sceneWidth: workbench.sceneFrame.clientWidth,
|
|
5885
|
-
});
|
|
5886
|
-
if (!comparisonColumnVisible)
|
|
5887
|
-
endPrefabComparisonPreviewDrag();
|
|
5888
5920
|
prefabStagePreviewLayout.root.style.display = inEditor && inPrefabStage ? 'block' : 'none';
|
|
5889
|
-
prefabStagePreviewLayout.mainRegion.style.right = comparisonColumnVisible
|
|
5890
|
-
? `${LOCAL_EDITOR_PREFAB_COMPARISON_COLUMN_WIDTH_PX}px`
|
|
5891
|
-
: '0';
|
|
5892
|
-
prefabStagePreviewLayout.comparisonColumn.style.display = comparisonColumnVisible ? 'flex' : 'none';
|
|
5893
5921
|
renderPrefabImportStatsOverlay(prefabImportStatsOverlay, inEditor && inPrefabStage ? state.prefabStage ?? null : null);
|
|
5894
|
-
renderPrefabComparisonPreviewOverlay(prefabComparisonPreviewOverlay, inEditor && inPrefabStage && comparisonColumnVisible ? state.prefabStage ?? null : null);
|
|
5895
5922
|
renderSpatialOverlay(spatialOverlay, inEditor ? state.viewportSpatialOverlay ?? null : null);
|
|
5896
5923
|
renderMeasurementOverlay(measurementOverlay, inEditor ? state.viewportMeasurement ?? null : null);
|
|
5897
5924
|
const boxSelection = state.boxSelection;
|
|
@@ -5917,10 +5944,17 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5917
5944
|
...preview,
|
|
5918
5945
|
};
|
|
5919
5946
|
renderPreviewState(currentState);
|
|
5920
|
-
if (
|
|
5947
|
+
if (shouldRenderLocalEditorInspectorPreview({
|
|
5948
|
+
hasInspectorPreview: shouldRenderInspectorPreview,
|
|
5949
|
+
mode: currentState.mode,
|
|
5950
|
+
inPrefabStage: !!currentState.prefabStage,
|
|
5951
|
+
rightDockVisible: rightDockFormalSurfaceVisibility.isVisible(),
|
|
5952
|
+
activeRightTab: panelRegistry.getRightDockTab(),
|
|
5953
|
+
})) {
|
|
5921
5954
|
const rightDockScrollSnapshot = captureLocalEditorRightDockScrollSnapshot(currentState, 'inspector', inspectorFilter, inspectorPanel, renderingPanel, markersPanel, pluginsPanel);
|
|
5922
5955
|
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, currentState, inspectorFilter, {
|
|
5923
5956
|
...options.inspector,
|
|
5957
|
+
layerHost: editorUiLayerHost,
|
|
5924
5958
|
lockedVectorGroups: lockedInspectorVectorGroups,
|
|
5925
5959
|
});
|
|
5926
5960
|
restoreLocalEditorRightDockScrollSnapshot(rightDockScrollSnapshot, currentState, 'inspector', inspectorFilter, inspectorPanel, renderingPanel, markersPanel, pluginsPanel);
|
|
@@ -5939,9 +5973,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5939
5973
|
const previousInPrefabStage = previousState?.mode === 'editor' && !!previousState.prefabStage;
|
|
5940
5974
|
if (!inEditor || disabled)
|
|
5941
5975
|
contextMenu.close();
|
|
5942
|
-
hostChrome.style.display = !inEditor && localTestActionsEnabled ? 'flex' : 'none';
|
|
5976
|
+
hostChrome.style.display = !inEditor && localTestActionsEnabled && gameModeEntryVisible ? 'flex' : 'none';
|
|
5943
5977
|
enterEditorButton.disabled = disabled;
|
|
5944
|
-
for (const button of [saveButton, saveAndRunButton, discardRunButton, undoButton, redoButton, sceneHelpButton, sceneCameraButton, performanceMonitorButton, gridToggleButton
|
|
5978
|
+
for (const button of [saveButton, saveAndRunButton, discardRunButton, undoButton, redoButton, sceneHelpButton, sceneCameraButton, performanceMonitorButton, gridToggleButton]) {
|
|
5945
5979
|
button.style.display = 'inline-flex';
|
|
5946
5980
|
button.disabled = disabled;
|
|
5947
5981
|
}
|
|
@@ -5965,6 +5999,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5965
5999
|
assetPickerOpen = false;
|
|
5966
6000
|
assetPickerInput = null;
|
|
5967
6001
|
assetPickerProperty = null;
|
|
6002
|
+
settleHierarchyOperationInputRequest(null);
|
|
5968
6003
|
}
|
|
5969
6004
|
syncInputModalOpen();
|
|
5970
6005
|
const transformTool = state.transformTool ?? null;
|
|
@@ -5972,7 +6007,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5972
6007
|
workbench.root.dataset.editorPrefabStage = String(inPrefabStage);
|
|
5973
6008
|
sceneTitle.textContent = createLocalEditorPrefabStageTitle(prefabStage);
|
|
5974
6009
|
sceneToolOverlay.style.display = inEditor ? 'flex' : 'none';
|
|
5975
|
-
|
|
6010
|
+
renderContextActionButtons(contextActionGroup, state.contextActions ?? [], disabled);
|
|
5976
6011
|
if (inPrefabStage && !previousInPrefabStage) {
|
|
5977
6012
|
prefabStageMainWorkbenchLayoutSnapshot = workbenchLayoutController.getLayout();
|
|
5978
6013
|
workbenchLayoutController.setBottomCollapsed(false);
|
|
@@ -5981,6 +6016,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5981
6016
|
workbenchLayoutController.setLayout(prefabStageMainWorkbenchLayoutSnapshot, true);
|
|
5982
6017
|
prefabStageMainWorkbenchLayoutSnapshot = null;
|
|
5983
6018
|
}
|
|
6019
|
+
if (!inPrefabStage) {
|
|
6020
|
+
LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel);
|
|
6021
|
+
}
|
|
5984
6022
|
workbench.leftToggle.style.display = '';
|
|
5985
6023
|
workbench.rightToggle.style.display = '';
|
|
5986
6024
|
workbench.bottomToggle.style.display = '';
|
|
@@ -6047,6 +6085,10 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6047
6085
|
markerVisibilityButton.disabled = disabled;
|
|
6048
6086
|
setToolbarButtonTooltip(markerVisibilityButton, markersVisible ? '隐藏标记与关系线' : '显示标记与关系线');
|
|
6049
6087
|
LocalEditorShared.applyButtonActiveState(markerVisibilityButton, markersVisible);
|
|
6088
|
+
const showAllPrefabMarkers = viewportTools?.showAllPrefabMarkers ?? false;
|
|
6089
|
+
showAllPrefabMarkersButton.disabled = disabled || !!state.prefabStage;
|
|
6090
|
+
setToolbarButtonTooltip(showAllPrefabMarkersButton, showAllPrefabMarkers ? '仅显示选中 Prefab 实例的标记' : '显示所有 Prefab 实例的标记');
|
|
6091
|
+
LocalEditorShared.applyButtonActiveState(showAllPrefabMarkersButton, showAllPrefabMarkers);
|
|
6050
6092
|
overlaySettingsButton.disabled = !isPreviewToolEnabled('spatial-overlay');
|
|
6051
6093
|
setToolbarButtonTooltip(overlaySettingsButton, '视口信息层设置');
|
|
6052
6094
|
LocalEditorShared.applyButtonActiveState(overlaySettingsButton, overlaySettingsOpen);
|
|
@@ -6075,24 +6117,15 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6075
6117
|
? performanceMonitorOpen ? '隐藏性能监控' : '显示性能监控'
|
|
6076
6118
|
: performanceMonitorSupport.reason);
|
|
6077
6119
|
LocalEditorShared.applyButtonActiveState(performanceMonitorButton, performanceMonitorOpen);
|
|
6078
|
-
prefabComparisonPreviewButton.style.display = isPreviewToolVisible('prefab-comparison') ? 'inline-flex' : 'none';
|
|
6079
|
-
prefabComparisonPreviewButton.disabled = !isPreviewToolEnabled('prefab-comparison');
|
|
6080
|
-
const prefabComparisonSupport = getPreviewToolSupport('prefab-comparison');
|
|
6081
|
-
setToolbarButtonTooltip(prefabComparisonPreviewButton, prefabComparisonSupport.support === 'enabled'
|
|
6082
|
-
? prefabComparisonPreviewOpen
|
|
6083
|
-
? '隐藏对比预览 (Shift+P)'
|
|
6084
|
-
: '显示对比预览 (Shift+P)'
|
|
6085
|
-
: prefabComparisonSupport.reason);
|
|
6086
|
-
LocalEditorShared.applyButtonActiveState(prefabComparisonPreviewButton, inPrefabStage && prefabComparisonPreviewOpen);
|
|
6087
6120
|
gridToggleButton.disabled = disabled || !gridState.available;
|
|
6088
6121
|
setToolbarButtonTooltip(gridToggleButton, gridState.visible ? '隐藏 Scene View 网格' : '显示 Scene View 网格');
|
|
6089
6122
|
LocalEditorShared.applyButtonActiveState(gridToggleButton, gridState.visible);
|
|
6090
|
-
|
|
6123
|
+
synchronizeToolButtons(state.tools ?? []);
|
|
6124
|
+
toolGroup.style.display = inEditor
|
|
6125
|
+
&& (state.tools ?? []).some(tool => tool.kind === 'primary' && tool.availability.state !== 'hidden')
|
|
6126
|
+
? 'flex'
|
|
6127
|
+
: 'none';
|
|
6091
6128
|
spaceGroup.style.display = isPreviewToolVisible('transform-space') ? 'flex' : 'none';
|
|
6092
|
-
for (const [tool, button] of toolButtons) {
|
|
6093
|
-
button.disabled = !isPreviewToolEnabled(tool);
|
|
6094
|
-
LocalEditorShared.applyButtonActiveState(button, transformTool?.activeTool === tool);
|
|
6095
|
-
}
|
|
6096
6129
|
for (const [space, button] of Object.entries(spaceButtons)) {
|
|
6097
6130
|
button.disabled = !isPreviewToolEnabled('transform-space');
|
|
6098
6131
|
LocalEditorShared.applyButtonActiveState(button, transformTool?.activeSpace === space);
|
|
@@ -6152,9 +6185,14 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6152
6185
|
dirtyBadge.style.display = inEditor && state.session?.dirty ? 'inline-flex' : 'none';
|
|
6153
6186
|
renderPreviewState(state);
|
|
6154
6187
|
scheduleToolbarOverflowLayout();
|
|
6155
|
-
if (!inEditor)
|
|
6188
|
+
if (!inEditor) {
|
|
6189
|
+
LocalEditorPanels.disposeInspectorPanelUi(renderingPanel);
|
|
6156
6190
|
return;
|
|
6191
|
+
}
|
|
6157
6192
|
const activeRightTab = panelRegistry.getRightDockTab();
|
|
6193
|
+
if (inPrefabStage || activeRightTab !== 'rendering') {
|
|
6194
|
+
LocalEditorPanels.disposeInspectorPanelUi(renderingPanel);
|
|
6195
|
+
}
|
|
6158
6196
|
if (inPrefabStage && prefabStage) {
|
|
6159
6197
|
const rightDockVisibility = resolveLocalEditorRightDockVisibility({
|
|
6160
6198
|
inPrefabStage: true,
|
|
@@ -6185,10 +6223,12 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6185
6223
|
if (activeBottomTab === 'assets' && selectedAssetChanged && state.selectedAssetId && !suppressAssetScroll) {
|
|
6186
6224
|
revealSelectedAssetBrowserItem(state.selectedAssetId);
|
|
6187
6225
|
}
|
|
6226
|
+
revealPendingStatusDiagnosticAsset(state);
|
|
6188
6227
|
lastRenderedAssetBrowserTab = assetBrowserTab;
|
|
6189
6228
|
lastRenderedBottomDockTab = activeBottomTab;
|
|
6190
6229
|
lastRenderedSelectedAssetId = state.selectedAssetId ?? null;
|
|
6191
6230
|
restoreLocalEditorEditableFocus(doc, focusSnapshot);
|
|
6231
|
+
revealPendingStatusDiagnosticPath(state);
|
|
6192
6232
|
return;
|
|
6193
6233
|
}
|
|
6194
6234
|
leftDockTabs.style.display = '';
|
|
@@ -6227,18 +6267,25 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6227
6267
|
if (activeBottomTab === 'assets' && selectedAssetChanged && state.selectedAssetId && !suppressAssetScroll) {
|
|
6228
6268
|
revealSelectedAssetBrowserItem(state.selectedAssetId);
|
|
6229
6269
|
}
|
|
6270
|
+
revealPendingStatusDiagnosticAsset(state);
|
|
6230
6271
|
lastRenderedAssetBrowserTab = assetBrowserTab;
|
|
6231
6272
|
lastRenderedBottomDockTab = activeBottomTab;
|
|
6232
6273
|
lastRenderedSelectedAssetId = state.selectedAssetId;
|
|
6233
6274
|
LocalEditorPanels.renderWorkbenchRightDockTabs(doc, rightDockTabs, activeRightTab, panelRegistry.getPanels('right'));
|
|
6234
|
-
|
|
6275
|
+
const rightDockVisible = rightDockFormalSurfaceVisibility.isVisible();
|
|
6276
|
+
if (!rightDockVisible) {
|
|
6277
|
+
LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel);
|
|
6278
|
+
LocalEditorPanels.disposeInspectorPanelUi(renderingPanel);
|
|
6279
|
+
}
|
|
6280
|
+
else if (activeRightTab === 'inspector') {
|
|
6235
6281
|
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, state, inspectorFilter, {
|
|
6236
6282
|
...options.inspector,
|
|
6283
|
+
layerHost: editorUiLayerHost,
|
|
6237
6284
|
lockedVectorGroups: lockedInspectorVectorGroups,
|
|
6238
6285
|
});
|
|
6239
6286
|
}
|
|
6240
6287
|
else if (activeRightTab === 'rendering') {
|
|
6241
|
-
LocalEditorPanels.renderRenderingPanel(doc, renderingPanel, state);
|
|
6288
|
+
LocalEditorPanels.renderRenderingPanel(doc, renderingPanel, state, { layerHost: editorUiLayerHost });
|
|
6242
6289
|
}
|
|
6243
6290
|
else if (activeRightTab === 'markers') {
|
|
6244
6291
|
LocalEditorPanels.renderMarkerPanel(doc, markersPanel, state);
|
|
@@ -6248,6 +6295,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6248
6295
|
}
|
|
6249
6296
|
restoreLocalEditorEditableFocus(doc, focusSnapshot);
|
|
6250
6297
|
restoreLocalEditorRightDockScrollSnapshot(rightDockScrollSnapshot, state, activeRightTab, inspectorFilter, inspectorPanel, renderingPanel, markersPanel, pluginsPanel);
|
|
6298
|
+
revealPendingStatusDiagnosticPath(state);
|
|
6251
6299
|
};
|
|
6252
6300
|
const completedCleanup = new Set();
|
|
6253
6301
|
let uiDisposed = false;
|
|
@@ -6266,15 +6314,15 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6266
6314
|
currentState = { ...currentState, performanceStats: stats };
|
|
6267
6315
|
renderPerformanceMonitorOverlay(performanceMonitorOverlay, currentState?.mode === 'editor' && !currentState.prefabStage ? stats : null, currentState?.mode === 'editor' && !currentState.prefabStage && performanceMonitorOpen);
|
|
6268
6316
|
},
|
|
6269
|
-
getPrefabComparisonPreviewSurfaces() {
|
|
6270
|
-
return readPrefabComparisonPreviewSurfaces(prefabComparisonPreviewOverlay);
|
|
6271
|
-
},
|
|
6272
6317
|
alert(input) {
|
|
6273
6318
|
return modalDialog.alert(input);
|
|
6274
6319
|
},
|
|
6275
6320
|
confirm(input) {
|
|
6276
6321
|
return modalDialog.confirm(input);
|
|
6277
6322
|
},
|
|
6323
|
+
choose(input) {
|
|
6324
|
+
return modalDialog.choose(input);
|
|
6325
|
+
},
|
|
6278
6326
|
setTheme(theme) {
|
|
6279
6327
|
setActiveTheme(theme);
|
|
6280
6328
|
},
|
|
@@ -6316,6 +6364,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6316
6364
|
doc.defaultView?.removeEventListener('resize', scheduleToolbarOverflowLayout);
|
|
6317
6365
|
});
|
|
6318
6366
|
run('host-chrome', () => hostChrome.remove());
|
|
6367
|
+
run('inspector-ui', () => LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel));
|
|
6368
|
+
run('rendering-ui', () => LocalEditorPanels.disposeInspectorPanelUi(renderingPanel));
|
|
6369
|
+
run('editor-ui-layer-host', () => editorUiLayerHost.dispose());
|
|
6319
6370
|
run('workbench-root', () => workbench.root.remove());
|
|
6320
6371
|
run('local-test-menu', () => localTestMenu.remove());
|
|
6321
6372
|
run('editor-status-center', () => editorStatusCenter.remove());
|