@fps-games/editor 0.2.0-beta.3 → 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 +32 -17
- 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 +243 -60
- 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 +111 -25
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/selection.js +8 -5
- package/dist/agent-bridge/capabilities/selection.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js +839 -67
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/transform.js +6 -4
- package/dist/agent-bridge/capabilities/transform.js.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.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 +92 -47
- 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 +232 -7
- package/dist/agent-bridge/shared.d.ts.map +1 -1
- package/dist/agent-bridge/shared.js +174 -0
- 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 +61 -33
- 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 +3854 -1118
- 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 -9
- 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 -7
- 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 -5
- 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 +831 -702
- 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 +11 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +58 -25
- 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 +39 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +74 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-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 +56 -301
- 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 +760 -524
- 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 +26 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +77 -8
- 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-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 -92
- 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 -285
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +0 -1
|
@@ -7,27 +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, resolveLocalEditorStatusDiagnosticLocatePlan, settleLocalEditorStatusDiagnosticRequest, resolveLocalEditorStatusDiagnostics, shouldCloseLocalEditorStatusCenter, } from './local-editor-ui-status-diagnostics.js';
|
|
29
|
+
import { formatLocalEditorStatusDiagnosticDetails } from './local-editor-ui-status-format.js';
|
|
28
30
|
import { resolveLocalEditorBrowserAssetKind, } from './local-editor-ui-asset-kind.js';
|
|
29
|
-
import { createLocalEditorPrefabStageTitle, findLocalEditorPrefabStageStructureItem,
|
|
30
|
-
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';
|
|
31
33
|
export { createLocalEditorBrowserInspectorGroupValueClipboardPayload, createLocalEditorBrowserInspectorVectorCopyPayload, parseLocalEditorBrowserInspectorGroupValueClipboardPayload, } from './local-editor-inspector-clipboard.js';
|
|
32
34
|
export { LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES, isLocalEditorBrowserInspectorTransformVectorGroupPath, resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath, resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath, resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties, } from './local-editor-inspector-groups.js';
|
|
33
35
|
export { DEFAULT_LOCAL_EDITOR_THEME, LOCAL_EDITOR_THEME_CLASS, applyLocalEditorTheme, normalizeLocalEditorThemeName, } from './local-editor-ui-theme.js';
|
|
@@ -89,12 +91,6 @@ function isInspectorSerializedInputValue(value) {
|
|
|
89
91
|
|| typeof value === 'boolean'
|
|
90
92
|
|| (!!value && typeof value === 'object' && !Array.isArray(value));
|
|
91
93
|
}
|
|
92
|
-
const TRANSFORM_TOOL_ICONS = {
|
|
93
|
-
select: 'select',
|
|
94
|
-
move: 'move',
|
|
95
|
-
rotate: 'rotate',
|
|
96
|
-
scale: 'scale',
|
|
97
|
-
};
|
|
98
94
|
const TRANSFORM_SPACE_ICONS = {
|
|
99
95
|
world: 'world',
|
|
100
96
|
local: 'local',
|
|
@@ -163,12 +159,6 @@ const TRANSFORM_ACTION_LABELS = {
|
|
|
163
159
|
'distribute-y': '分布 Y',
|
|
164
160
|
'distribute-z': '分布 Z',
|
|
165
161
|
};
|
|
166
|
-
function createTransformToolTooltip(descriptor) {
|
|
167
|
-
const toolLabel = descriptor.shortcut
|
|
168
|
-
? `${descriptor.label}工具 (${descriptor.shortcut})`
|
|
169
|
-
: `${descriptor.label}工具`;
|
|
170
|
-
return `${toolLabel} · ${LocalEditorShared.toTransformMouseHint(descriptor.tool)}`;
|
|
171
|
-
}
|
|
172
162
|
function createToolbarIconButton(doc, label, icon, tooltip = label, toolbarRole = 'command') {
|
|
173
163
|
return LocalEditorShared.createButton(doc, label, {
|
|
174
164
|
icon,
|
|
@@ -183,6 +173,42 @@ function setToolbarButtonTooltip(button, tooltip) {
|
|
|
183
173
|
button.dataset.editorTooltip = tooltip;
|
|
184
174
|
button.setAttribute('aria-label', tooltip);
|
|
185
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
|
+
}
|
|
186
212
|
function createAgentBridgeStatusTooltip(status) {
|
|
187
213
|
const label = formatAgentBridgeStatusLabel(status?.status);
|
|
188
214
|
const details = [
|
|
@@ -280,7 +306,8 @@ function createInspectorPropertyInputs(input, source, lockedVectorGroups) {
|
|
|
280
306
|
const propertyInput = createInspectorPropertyInput(input, source);
|
|
281
307
|
if (!propertyInput)
|
|
282
308
|
return null;
|
|
283
|
-
const
|
|
309
|
+
const vectorAxis = resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath(propertyInput.path);
|
|
310
|
+
const groupPath = vectorAxis?.groupPath ?? null;
|
|
284
311
|
const forceVectorLock = input.dataset.serializedForceVectorLock === 'true';
|
|
285
312
|
if (!groupPath || (!forceVectorLock && !lockedVectorGroups.has(groupPath)))
|
|
286
313
|
return [propertyInput];
|
|
@@ -288,9 +315,30 @@ function createInspectorPropertyInputs(input, source, lockedVectorGroups) {
|
|
|
288
315
|
return [propertyInput];
|
|
289
316
|
if (typeof propertyInput.value !== 'number' || !Number.isFinite(propertyInput.value))
|
|
290
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];
|
|
291
338
|
return LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.map(axis => ({
|
|
292
339
|
...propertyInput,
|
|
293
340
|
path: `${groupPath}.${axis}`,
|
|
341
|
+
value: scaleValues[axis],
|
|
294
342
|
}));
|
|
295
343
|
}
|
|
296
344
|
function createInspectorVectorPastePropertyInputs(input, payload) {
|
|
@@ -332,23 +380,22 @@ function applyInspectorVectorPasteToDom(input, payload) {
|
|
|
332
380
|
function applyInspectorLockedVectorInputToDom(input, propertyInputs) {
|
|
333
381
|
if (!(input instanceof HTMLInputElement))
|
|
334
382
|
return;
|
|
335
|
-
|
|
336
|
-
if (!first || propertyInputs.length !== LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.length)
|
|
337
|
-
return;
|
|
338
|
-
if (typeof first.value !== 'number' || !Number.isFinite(first.value))
|
|
383
|
+
if (propertyInputs.length !== LOCAL_EDITOR_BROWSER_INSPECTOR_VEC3_AXES.length)
|
|
339
384
|
return;
|
|
340
|
-
const groupPath = resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath(
|
|
385
|
+
const groupPath = resolveLocalEditorBrowserInspectorVectorGroupPathFromPropertyPath(propertyInputs[0]?.path);
|
|
341
386
|
if (!groupPath)
|
|
342
387
|
return;
|
|
388
|
+
const values = new Map(propertyInputs.map(propertyInput => [propertyInput.path, propertyInput.value]));
|
|
343
389
|
const group = input.closest('[data-editor-inspector-vector-group-path]');
|
|
344
390
|
const fields = group
|
|
345
391
|
? Array.from(group.querySelectorAll('input[data-serialized-path]'))
|
|
346
392
|
: [input];
|
|
347
|
-
const formatted = LocalEditorPanels.formatLocalEditorBrowserInspectorNumberValue(first.value);
|
|
348
393
|
for (const field of fields) {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
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);
|
|
352
399
|
}
|
|
353
400
|
}
|
|
354
401
|
function readRenderingInputValue(input, source) {
|
|
@@ -763,6 +810,9 @@ function consumeLocalEditorKeyboardCommittedValue(input) {
|
|
|
763
810
|
delete input.dataset.editorKeyboardCommittedValue;
|
|
764
811
|
return true;
|
|
765
812
|
}
|
|
813
|
+
function hasLocalEditorUiKeyboardCommitPending(input) {
|
|
814
|
+
return input.dataset.editorUiKeyboardCommitPending === 'true';
|
|
815
|
+
}
|
|
766
816
|
function isLocalEditorKeyboardCommitEvent(event, input) {
|
|
767
817
|
if (event.key !== 'Enter' || event.isComposing)
|
|
768
818
|
return false;
|
|
@@ -778,6 +828,7 @@ function commitLocalEditorInspectorInput(input, callbacks, lockedInspectorVector
|
|
|
778
828
|
const propertyInputs = createInspectorPropertyInputs(input, 'input', lockedInspectorVectorGroups);
|
|
779
829
|
if (!propertyInputs)
|
|
780
830
|
return false;
|
|
831
|
+
delete input.dataset.editorUiKeyboardCommitPending;
|
|
781
832
|
applyInspectorLockedVectorInputToDom(input, propertyInputs);
|
|
782
833
|
markLocalEditorKeyboardCommittedValue(input);
|
|
783
834
|
for (const propertyInput of propertyInputs)
|
|
@@ -1174,7 +1225,7 @@ const PREFAB_IMPORT_STATS_METRICS = [
|
|
|
1174
1225
|
];
|
|
1175
1226
|
function createSceneFrameRateOverlay(doc) {
|
|
1176
1227
|
const root = doc.createElement('div');
|
|
1177
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1228
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-overlay-card');
|
|
1178
1229
|
root.dataset.editorSceneFrameRateOverlay = 'true';
|
|
1179
1230
|
root.style.cssText = [
|
|
1180
1231
|
'position:absolute',
|
|
@@ -1264,7 +1315,7 @@ function renderSceneFrameRateOverlay(overlay, stats) {
|
|
|
1264
1315
|
}
|
|
1265
1316
|
function createPerformanceMonitorOverlay(doc) {
|
|
1266
1317
|
const root = doc.createElement('section');
|
|
1267
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1318
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-overlay-card');
|
|
1268
1319
|
root.dataset.editorPerformanceMonitorOverlay = 'true';
|
|
1269
1320
|
root.setAttribute('aria-label', '编辑器性能监控');
|
|
1270
1321
|
root.style.cssText = [
|
|
@@ -1392,7 +1443,7 @@ function renderPerformanceMonitorOverlay(overlay, stats, open) {
|
|
|
1392
1443
|
}
|
|
1393
1444
|
function createPrefabImportStatsOverlay(doc) {
|
|
1394
1445
|
const root = doc.createElement('section');
|
|
1395
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1446
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-overlay-card');
|
|
1396
1447
|
root.dataset.editorPrefabImportStatsOverlay = 'true';
|
|
1397
1448
|
root.setAttribute('aria-label', 'Prefab import diagnostics');
|
|
1398
1449
|
root.style.cssText = [
|
|
@@ -1503,7 +1554,7 @@ function renderPrefabImportStatsOverlay(overlay, stage) {
|
|
|
1503
1554
|
}
|
|
1504
1555
|
function createPrefabStagePreviewLayout(doc) {
|
|
1505
1556
|
const root = doc.createElement('section');
|
|
1506
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1557
|
+
root.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-prefab-stage-layout');
|
|
1507
1558
|
root.dataset.editorPrefabStagePreviewLayout = 'true';
|
|
1508
1559
|
root.setAttribute('aria-label', 'Prefab stage preview layout');
|
|
1509
1560
|
root.style.cssText = [
|
|
@@ -1530,215 +1581,8 @@ function createPrefabStagePreviewLayout(doc) {
|
|
|
1530
1581
|
'overflow:hidden',
|
|
1531
1582
|
'pointer-events:none',
|
|
1532
1583
|
].join(';');
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
comparisonColumn.setAttribute('aria-label', 'Prefab comparison previews');
|
|
1536
|
-
comparisonColumn.style.cssText = [
|
|
1537
|
-
'position:absolute',
|
|
1538
|
-
'top:0',
|
|
1539
|
-
'right:0',
|
|
1540
|
-
'bottom:0',
|
|
1541
|
-
`width:${LOCAL_EDITOR_PREFAB_COMPARISON_COLUMN_WIDTH_PX}px`,
|
|
1542
|
-
'display:none',
|
|
1543
|
-
'flex-direction:column',
|
|
1544
|
-
'box-sizing:border-box',
|
|
1545
|
-
'gap:10px',
|
|
1546
|
-
'padding:10px',
|
|
1547
|
-
'border-left:1px solid color-mix(in srgb, var(--fps-editor-divider) 82%, transparent)',
|
|
1548
|
-
'background:transparent',
|
|
1549
|
-
'box-shadow:none',
|
|
1550
|
-
'pointer-events:auto',
|
|
1551
|
-
'overflow:hidden',
|
|
1552
|
-
].join(';');
|
|
1553
|
-
root.append(mainRegion, comparisonColumn);
|
|
1554
|
-
return { root, mainRegion, comparisonColumn };
|
|
1555
|
-
}
|
|
1556
|
-
function createPrefabComparisonPreviewOverlay(doc) {
|
|
1557
|
-
const root = doc.createElement('section');
|
|
1558
|
-
root.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
1559
|
-
root.dataset.editorPrefabComparisonPreviewOverlay = 'true';
|
|
1560
|
-
root.setAttribute('aria-label', 'Prefab clone and InstanceMesh comparison previews');
|
|
1561
|
-
root.style.cssText = [
|
|
1562
|
-
'display:none',
|
|
1563
|
-
'flex:1 1 auto',
|
|
1564
|
-
'min-height:0',
|
|
1565
|
-
'width:100%',
|
|
1566
|
-
'box-sizing:border-box',
|
|
1567
|
-
'grid-template-rows:minmax(0,1fr) minmax(0,1fr)',
|
|
1568
|
-
'gap:10px',
|
|
1569
|
-
'overflow:hidden',
|
|
1570
|
-
'font-family:var(--fps-editor-font)',
|
|
1571
|
-
'pointer-events:auto',
|
|
1572
|
-
].join(';');
|
|
1573
|
-
return { root, cards: new Map() };
|
|
1574
|
-
}
|
|
1575
|
-
function renderPrefabComparisonPreviewOverlay(overlay, stage) {
|
|
1576
|
-
const previews = stage?.comparisonPreviews ?? [];
|
|
1577
|
-
if (!stage || previews.length === 0) {
|
|
1578
|
-
overlay.root.style.display = 'none';
|
|
1579
|
-
return;
|
|
1580
|
-
}
|
|
1581
|
-
overlay.root.style.display = 'grid';
|
|
1582
|
-
const visibleIds = new Set();
|
|
1583
|
-
for (const preview of previews) {
|
|
1584
|
-
const card = getOrCreatePrefabComparisonPreviewCard(overlay, preview);
|
|
1585
|
-
visibleIds.add(preview.id);
|
|
1586
|
-
card.root.style.display = 'flex';
|
|
1587
|
-
card.title.textContent = preview.label;
|
|
1588
|
-
card.statusLabel.textContent = formatLocalEditorPrefabStageComparisonPreviewStatus(preview.status);
|
|
1589
|
-
card.statusLabel.style.color = getPrefabComparisonPreviewStatusColor(preview.status);
|
|
1590
|
-
card.surface.dataset.editorPrefabComparisonPreviewId = preview.id;
|
|
1591
|
-
card.surface.dataset.editorPrefabComparisonPreviewSurface = preview.projectionNodeId;
|
|
1592
|
-
card.surface.dataset.editorPrefabComparisonPreviewStatus = preview.status;
|
|
1593
|
-
card.surface.style.background = preview.status === 'ready'
|
|
1594
|
-
? 'transparent'
|
|
1595
|
-
: 'color-mix(in srgb, var(--fps-editor-field) 74%, transparent)';
|
|
1596
|
-
card.surface.textContent = preview.status === 'ready'
|
|
1597
|
-
? ''
|
|
1598
|
-
: preview.status === 'loading'
|
|
1599
|
-
? 'Preview loading'
|
|
1600
|
-
: 'Preview unavailable';
|
|
1601
|
-
card.root.title = [
|
|
1602
|
-
`${preview.label}: ${preview.status}`,
|
|
1603
|
-
`mode: ${preview.mode}`,
|
|
1604
|
-
`projection: ${preview.projectionNodeId}`,
|
|
1605
|
-
].join(' | ');
|
|
1606
|
-
}
|
|
1607
|
-
for (const [id, card] of overlay.cards) {
|
|
1608
|
-
if (!visibleIds.has(id))
|
|
1609
|
-
card.root.style.display = 'none';
|
|
1610
|
-
}
|
|
1611
|
-
}
|
|
1612
|
-
function readPrefabComparisonPreviewSurfaces(overlay) {
|
|
1613
|
-
if (overlay.root.style.display === 'none')
|
|
1614
|
-
return [];
|
|
1615
|
-
const surfaces = [];
|
|
1616
|
-
for (const [previewId, card] of overlay.cards) {
|
|
1617
|
-
if (card.root.style.display === 'none')
|
|
1618
|
-
continue;
|
|
1619
|
-
const projectionNodeId = card.surface.dataset.editorPrefabComparisonPreviewSurface;
|
|
1620
|
-
if (!projectionNodeId)
|
|
1621
|
-
continue;
|
|
1622
|
-
const rect = card.surface.getBoundingClientRect();
|
|
1623
|
-
if (rect.width < 1 || rect.height < 1)
|
|
1624
|
-
continue;
|
|
1625
|
-
surfaces.push({
|
|
1626
|
-
previewId,
|
|
1627
|
-
projectionNodeId,
|
|
1628
|
-
element: card.surface,
|
|
1629
|
-
rect,
|
|
1630
|
-
});
|
|
1631
|
-
}
|
|
1632
|
-
return surfaces;
|
|
1633
|
-
}
|
|
1634
|
-
function findPrefabComparisonPreviewSurface(target) {
|
|
1635
|
-
return target instanceof HTMLElement
|
|
1636
|
-
? target.closest('[data-editor-prefab-comparison-preview-surface]')
|
|
1637
|
-
: null;
|
|
1638
|
-
}
|
|
1639
|
-
function readPrefabComparisonPreviewSurfaceId(surface) {
|
|
1640
|
-
return surface.dataset.editorPrefabComparisonPreviewId
|
|
1641
|
-
?? surface.closest('[data-editor-prefab-comparison-preview]')?.dataset.editorPrefabComparisonPreview
|
|
1642
|
-
?? null;
|
|
1643
|
-
}
|
|
1644
|
-
function isPrefabComparisonPreviewSurfaceReady(surface) {
|
|
1645
|
-
return surface.dataset.editorPrefabComparisonPreviewStatus === 'ready';
|
|
1646
|
-
}
|
|
1647
|
-
function getOrCreatePrefabComparisonPreviewCard(overlay, preview) {
|
|
1648
|
-
const existing = overlay.cards.get(preview.id);
|
|
1649
|
-
if (existing)
|
|
1650
|
-
return existing;
|
|
1651
|
-
const doc = overlay.root.ownerDocument;
|
|
1652
|
-
const root = doc.createElement('article');
|
|
1653
|
-
root.dataset.editorPrefabComparisonPreview = preview.id;
|
|
1654
|
-
root.style.cssText = [
|
|
1655
|
-
'display:flex',
|
|
1656
|
-
'flex-direction:column',
|
|
1657
|
-
'min-width:0',
|
|
1658
|
-
'min-height:0',
|
|
1659
|
-
'flex:1 1 0',
|
|
1660
|
-
'box-sizing:border-box',
|
|
1661
|
-
'padding:8px',
|
|
1662
|
-
'border:1px solid color-mix(in srgb, var(--fps-editor-border) 78%, transparent)',
|
|
1663
|
-
'border-radius:6px',
|
|
1664
|
-
'background:transparent',
|
|
1665
|
-
'box-shadow:none',
|
|
1666
|
-
'color:var(--fps-editor-text)',
|
|
1667
|
-
'pointer-events:auto',
|
|
1668
|
-
'overflow:hidden',
|
|
1669
|
-
].join(';');
|
|
1670
|
-
const header = doc.createElement('div');
|
|
1671
|
-
header.style.cssText = [
|
|
1672
|
-
'display:flex',
|
|
1673
|
-
'align-items:center',
|
|
1674
|
-
'justify-content:space-between',
|
|
1675
|
-
'gap:8px',
|
|
1676
|
-
'margin-bottom:7px',
|
|
1677
|
-
'padding:6px 8px',
|
|
1678
|
-
'border:1px solid color-mix(in srgb, var(--fps-editor-border) 74%, transparent)',
|
|
1679
|
-
'border-radius:5px',
|
|
1680
|
-
'background:color-mix(in srgb, var(--fps-editor-chrome) 86%, transparent)',
|
|
1681
|
-
'box-shadow:0 6px 14px color-mix(in srgb, #000 18%, transparent)',
|
|
1682
|
-
].join(';');
|
|
1683
|
-
const title = doc.createElement('div');
|
|
1684
|
-
title.textContent = preview.label;
|
|
1685
|
-
title.style.cssText = [
|
|
1686
|
-
'min-width:0',
|
|
1687
|
-
'overflow:hidden',
|
|
1688
|
-
'text-overflow:ellipsis',
|
|
1689
|
-
'white-space:nowrap',
|
|
1690
|
-
'color:var(--fps-editor-text-strong)',
|
|
1691
|
-
'font-size:12px',
|
|
1692
|
-
'line-height:1.2',
|
|
1693
|
-
'font-weight:900',
|
|
1694
|
-
].join(';');
|
|
1695
|
-
const statusLabel = doc.createElement('span');
|
|
1696
|
-
statusLabel.textContent = 'UNAVAILABLE';
|
|
1697
|
-
statusLabel.style.cssText = [
|
|
1698
|
-
'flex:0 0 auto',
|
|
1699
|
-
'padding:2px 5px',
|
|
1700
|
-
'border:1px solid var(--fps-editor-border-soft)',
|
|
1701
|
-
'border-radius:4px',
|
|
1702
|
-
'background:color-mix(in srgb, var(--fps-editor-field) 72%, transparent)',
|
|
1703
|
-
'font-size:9px',
|
|
1704
|
-
'line-height:1',
|
|
1705
|
-
'font-weight:900',
|
|
1706
|
-
].join(';');
|
|
1707
|
-
header.append(title, statusLabel);
|
|
1708
|
-
const surface = doc.createElement('div');
|
|
1709
|
-
surface.style.cssText = [
|
|
1710
|
-
'display:flex',
|
|
1711
|
-
'flex:1 1 auto',
|
|
1712
|
-
'align-items:center',
|
|
1713
|
-
'justify-content:center',
|
|
1714
|
-
'width:100%',
|
|
1715
|
-
'min-height:0',
|
|
1716
|
-
'box-sizing:border-box',
|
|
1717
|
-
'border:1px solid color-mix(in srgb, var(--fps-editor-border-soft) 84%, transparent)',
|
|
1718
|
-
'border-radius:4px',
|
|
1719
|
-
'background:transparent',
|
|
1720
|
-
'overflow:hidden',
|
|
1721
|
-
'color:var(--fps-editor-muted)',
|
|
1722
|
-
'font-size:10px',
|
|
1723
|
-
'font-weight:800',
|
|
1724
|
-
'text-align:center',
|
|
1725
|
-
'touch-action:none',
|
|
1726
|
-
'user-select:none',
|
|
1727
|
-
'cursor:grab',
|
|
1728
|
-
].join(';');
|
|
1729
|
-
root.append(header, surface);
|
|
1730
|
-
overlay.root.appendChild(root);
|
|
1731
|
-
const card = { root, title, statusLabel, surface };
|
|
1732
|
-
overlay.cards.set(preview.id, card);
|
|
1733
|
-
return card;
|
|
1734
|
-
}
|
|
1735
|
-
function getPrefabComparisonPreviewStatusColor(status) {
|
|
1736
|
-
const tone = resolveLocalEditorPrefabStageComparisonPreviewTone(status);
|
|
1737
|
-
return tone === 'success'
|
|
1738
|
-
? 'var(--fps-editor-success)'
|
|
1739
|
-
: tone === 'warning'
|
|
1740
|
-
? 'var(--fps-editor-warn)'
|
|
1741
|
-
: 'var(--fps-editor-danger-strong)';
|
|
1584
|
+
root.append(mainRegion);
|
|
1585
|
+
return { root, mainRegion };
|
|
1742
1586
|
}
|
|
1743
1587
|
function formatPrefabImportStatsStatusLabel(status) {
|
|
1744
1588
|
return status === 'ready' ? 'READY' : status === 'loading' ? 'LOADING' : 'MISSING';
|
|
@@ -2379,8 +2223,22 @@ export function resolveAssetBrowserDoubleClickAction(state, asset) {
|
|
|
2379
2223
|
return 'asset.edit-prefab';
|
|
2380
2224
|
return null;
|
|
2381
2225
|
}
|
|
2382
|
-
function copyTextToClipboard(win, text) {
|
|
2383
|
-
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
|
+
});
|
|
2384
2242
|
}
|
|
2385
2243
|
function readInspectorAssetPickerOptions(property) {
|
|
2386
2244
|
const title = readControlOptionString(property, 'pickerTitle') || property.label;
|
|
@@ -2536,6 +2394,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2536
2394
|
const root = options.root ?? doc.body;
|
|
2537
2395
|
const callbacks = options.callbacks ?? {};
|
|
2538
2396
|
const localTestActionsEnabled = options.localTestActions === true;
|
|
2397
|
+
const gameModeEntryVisible = options.gameModeEntryVisible !== false;
|
|
2539
2398
|
ensureLocalEditorTheme(doc);
|
|
2540
2399
|
let activeTheme = normalizeLocalEditorThemeName(options.theme);
|
|
2541
2400
|
const inputRouter = createLocalEditorWorkbenchInputRouter(doc, {
|
|
@@ -2559,34 +2418,19 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2559
2418
|
});
|
|
2560
2419
|
construction.addCleanup('tooltip-controller', () => tooltipController.dispose());
|
|
2561
2420
|
let currentState = null;
|
|
2421
|
+
let pendingStatusDiagnosticRequest = null;
|
|
2562
2422
|
let inspectorFilter = '';
|
|
2563
2423
|
const lockedInspectorVectorGroups = new Set();
|
|
2564
2424
|
let assetBrowserTab = 'all';
|
|
2565
|
-
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);
|
|
2566
2430
|
const panelRegistry = createLocalEditorPanelRegistry(workbenchLayout);
|
|
2567
2431
|
const hostChrome = doc.createElement('div');
|
|
2568
2432
|
hostChrome.dataset.editorWorkbenchRegion = 'top-bar';
|
|
2569
|
-
hostChrome.className = LOCAL_EDITOR_THEME_CLASS
|
|
2570
|
-
hostChrome.style.cssText = [
|
|
2571
|
-
'position:fixed',
|
|
2572
|
-
'top:12px',
|
|
2573
|
-
'left:50%',
|
|
2574
|
-
'transform:translateX(-50%)',
|
|
2575
|
-
'z-index:2147483640',
|
|
2576
|
-
'display:none',
|
|
2577
|
-
'align-items:center',
|
|
2578
|
-
'gap:8px',
|
|
2579
|
-
'height:34px',
|
|
2580
|
-
'padding:0 8px',
|
|
2581
|
-
'border:1px solid var(--fps-editor-border)',
|
|
2582
|
-
'border-radius:3px',
|
|
2583
|
-
'background:var(--fps-editor-chrome)',
|
|
2584
|
-
'box-shadow:var(--fps-editor-shadow-panel)',
|
|
2585
|
-
'font-family:var(--fps-editor-font)',
|
|
2586
|
-
'color:var(--fps-editor-text)',
|
|
2587
|
-
'font-size:12px',
|
|
2588
|
-
'pointer-events:auto',
|
|
2589
|
-
].join(';');
|
|
2433
|
+
hostChrome.className = `${LOCAL_EDITOR_THEME_CLASS} fps-editor-ui-host-chrome`;
|
|
2590
2434
|
const hostModeLabel = doc.createElement('span');
|
|
2591
2435
|
hostModeLabel.textContent = '本地宿主 · 游戏模式';
|
|
2592
2436
|
hostModeLabel.style.cssText = [
|
|
@@ -2622,7 +2466,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2622
2466
|
const localTestButton = createToolbarIconButton(doc, '本地测试', 'execute', '打开本地测试操作');
|
|
2623
2467
|
localTestButton.dataset.editorLocalTestToggle = 'true';
|
|
2624
2468
|
const localTestMenu = doc.createElement('div');
|
|
2625
|
-
localTestMenu.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2469
|
+
localTestMenu.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2626
2470
|
localTestMenu.dataset.editorLocalTestMenu = 'true';
|
|
2627
2471
|
localTestMenu.style.cssText = [
|
|
2628
2472
|
'position:fixed',
|
|
@@ -2644,6 +2488,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2644
2488
|
localTestMenu.appendChild(button);
|
|
2645
2489
|
}
|
|
2646
2490
|
const localTestGroup = doc.createElement('div');
|
|
2491
|
+
localTestGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2647
2492
|
localTestGroup.style.cssText = [
|
|
2648
2493
|
`display:${localTestActionsEnabled ? 'flex' : 'none'}`,
|
|
2649
2494
|
'align-items:center',
|
|
@@ -2653,8 +2498,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2653
2498
|
const undoButton = createToolbarIconButton(doc, '撤销', 'undo', '撤销');
|
|
2654
2499
|
const redoButton = createToolbarIconButton(doc, '重做', 'redo', '重做');
|
|
2655
2500
|
let helpOpen = false;
|
|
2501
|
+
let editorStatusCenterOpen = false;
|
|
2656
2502
|
let performanceMonitorOpen = false;
|
|
2657
|
-
let prefabComparisonPreviewOpen = true;
|
|
2658
2503
|
let assetPreviewOpen = false;
|
|
2659
2504
|
let previewedAsset = null;
|
|
2660
2505
|
let assetPreviewMode = 'preview';
|
|
@@ -2662,15 +2507,66 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2662
2507
|
let assetPickerFilter = '';
|
|
2663
2508
|
let assetPickerInput = null;
|
|
2664
2509
|
let assetPickerProperty = null;
|
|
2665
|
-
let
|
|
2510
|
+
let hierarchyOperationInputRequest = null;
|
|
2666
2511
|
let prefabStageMainWorkbenchLayoutSnapshot = null;
|
|
2667
|
-
const editorStatusButton = createToolbarIconButton(doc, '
|
|
2512
|
+
const editorStatusButton = createToolbarIconButton(doc, '验证中心', 'status', '编辑器状态与验证中心');
|
|
2668
2513
|
editorStatusButton.dataset.editorStatusButton = 'true';
|
|
2669
|
-
editorStatusButton.
|
|
2514
|
+
editorStatusButton.dataset.editorStatusToggle = 'true';
|
|
2515
|
+
editorStatusButton.setAttribute('aria-expanded', 'false');
|
|
2516
|
+
const editorStatusCenter = doc.createElement('div');
|
|
2517
|
+
editorStatusCenter.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover', 'fps-editor-ui-status-center');
|
|
2518
|
+
editorStatusCenter.dataset.editorStatusCenter = 'true';
|
|
2519
|
+
editorStatusCenter.style.cssText = [
|
|
2520
|
+
'position:fixed',
|
|
2521
|
+
'z-index:2147483642',
|
|
2522
|
+
'display:none',
|
|
2523
|
+
'flex-direction:column',
|
|
2524
|
+
'gap:8px',
|
|
2525
|
+
'width:min(440px,calc(100vw - 16px))',
|
|
2526
|
+
'max-height:min(520px,calc(100vh - 56px))',
|
|
2527
|
+
'padding:10px',
|
|
2528
|
+
'border:1px solid var(--fps-editor-border)',
|
|
2529
|
+
'border-radius:4px',
|
|
2530
|
+
'background:var(--fps-editor-panel)',
|
|
2531
|
+
'box-shadow:var(--fps-editor-shadow-popover)',
|
|
2532
|
+
'overflow:hidden',
|
|
2533
|
+
'pointer-events:auto',
|
|
2534
|
+
].join(';');
|
|
2535
|
+
const editorStatusCenterHeader = doc.createElement('div');
|
|
2536
|
+
editorStatusCenterHeader.className = 'fps-editor-ui-surface-header';
|
|
2537
|
+
const editorStatusCenterTitle = doc.createElement('div');
|
|
2538
|
+
editorStatusCenterTitle.className = 'fps-editor-ui-surface-title';
|
|
2539
|
+
editorStatusCenterTitle.textContent = '验证中心';
|
|
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';
|
|
2543
|
+
const editorStatusCopyAllButton = LocalEditorShared.createButton(doc, '复制全部', { icon: 'copy' });
|
|
2544
|
+
editorStatusCopyAllButton.dataset.editorStatusCopyAll = 'true';
|
|
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);
|
|
2551
|
+
editorStatusCenterHeader.appendChild(editorStatusCenterTitle);
|
|
2552
|
+
editorStatusCenterHeader.appendChild(editorStatusCenterActions);
|
|
2553
|
+
const editorStatusCenterSummary = doc.createElement('div');
|
|
2554
|
+
editorStatusCenterSummary.className = 'fps-editor-ui-status-summary';
|
|
2555
|
+
editorStatusCenterSummary.dataset.editorStatusSummary = 'true';
|
|
2556
|
+
editorStatusCenterSummary.style.cssText = 'font-size:11px;line-height:1.45;color:var(--fps-editor-muted-strong)';
|
|
2557
|
+
const editorStatusCenterList = doc.createElement('div');
|
|
2558
|
+
editorStatusCenterList.className = 'fps-editor-ui-status-list';
|
|
2559
|
+
editorStatusCenterList.dataset.editorStatusList = 'true';
|
|
2560
|
+
editorStatusCenterList.style.cssText = 'display:flex;flex-direction:column;gap:7px;overflow:auto;min-height:0';
|
|
2561
|
+
editorStatusCenter.appendChild(editorStatusCenterHeader);
|
|
2562
|
+
editorStatusCenter.appendChild(editorStatusCenterSummary);
|
|
2563
|
+
editorStatusCenter.appendChild(editorStatusCenterList);
|
|
2670
2564
|
const agentBridgeStatusButton = createToolbarIconButton(doc, 'Agent Bridge 状态', 'status', 'Agent Bridge 状态');
|
|
2671
2565
|
agentBridgeStatusButton.dataset.editorAgentBridgeStatusButton = 'true';
|
|
2672
2566
|
agentBridgeStatusButton.style.cursor = 'help';
|
|
2673
2567
|
const workbench = createLocalEditorWorkbench(doc);
|
|
2568
|
+
const editorUiLayerHost = createEditorUiLayerHost(doc, workbench.root);
|
|
2569
|
+
construction.addCleanup('editor-ui-layer-host', () => editorUiLayerHost.dispose());
|
|
2674
2570
|
const leftDockTabs = doc.createElement('div');
|
|
2675
2571
|
const hierarchyPanel = createWorkbenchPanelContent(doc);
|
|
2676
2572
|
const assetPanel = workbench.bottomDock;
|
|
@@ -2688,10 +2584,48 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2688
2584
|
workbench.rightDock.appendChild(pluginsPanel);
|
|
2689
2585
|
construction.appendRootChild(workbench.root);
|
|
2690
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
|
+
});
|
|
2691
2614
|
const workbenchLayoutController = createLocalEditorWorkbenchLayoutController(doc, workbench, {
|
|
2692
|
-
|
|
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) {
|
|
2693
2623
|
if (currentState?.mode === 'editor' && currentState.prefabStage) {
|
|
2694
2624
|
applyPrefabStageWorkbenchLayoutOverride(layout);
|
|
2625
|
+
return;
|
|
2626
|
+
}
|
|
2627
|
+
if (!dockDisplay.rightDockVisible) {
|
|
2628
|
+
rightDockFormalSurfaceVisibility.apply(false);
|
|
2695
2629
|
}
|
|
2696
2630
|
},
|
|
2697
2631
|
});
|
|
@@ -2706,6 +2640,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2706
2640
|
let lastRenderedSelectedAssetId;
|
|
2707
2641
|
const sceneToolOverlay = createSceneHeaderToolbar(doc);
|
|
2708
2642
|
const sceneTitle = doc.createElement('div');
|
|
2643
|
+
sceneTitle.className = 'fps-editor-ui-surface-title';
|
|
2709
2644
|
sceneTitle.textContent = 'Preview';
|
|
2710
2645
|
sceneTitle.style.cssText = [
|
|
2711
2646
|
'height:100%',
|
|
@@ -2720,8 +2655,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2720
2655
|
'white-space:nowrap',
|
|
2721
2656
|
].join(';');
|
|
2722
2657
|
const sceneQuickActions = doc.createElement('div');
|
|
2658
|
+
sceneQuickActions.className = 'fps-editor-ui-toolbar-group';
|
|
2659
|
+
sceneQuickActions.dataset.editorUiFirst = 'true';
|
|
2723
2660
|
sceneQuickActions.style.cssText = 'display:flex;align-items:center;gap:4px';
|
|
2724
2661
|
const sceneUtilityActions = doc.createElement('div');
|
|
2662
|
+
sceneUtilityActions.className = 'fps-editor-ui-toolbar-group';
|
|
2725
2663
|
sceneUtilityActions.style.cssText = [
|
|
2726
2664
|
'display:flex',
|
|
2727
2665
|
'align-items:center',
|
|
@@ -2730,6 +2668,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2730
2668
|
'border-left:1px solid var(--fps-editor-divider)',
|
|
2731
2669
|
].join(';');
|
|
2732
2670
|
const toolGroup = doc.createElement('div');
|
|
2671
|
+
toolGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2733
2672
|
toolGroup.style.cssText = [
|
|
2734
2673
|
'display:flex',
|
|
2735
2674
|
'align-items:center',
|
|
@@ -2738,21 +2677,40 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2738
2677
|
'border-left:1px solid var(--fps-editor-divider)',
|
|
2739
2678
|
].join(';');
|
|
2740
2679
|
const toolButtons = new Map();
|
|
2741
|
-
const
|
|
2742
|
-
|
|
2743
|
-
const
|
|
2744
|
-
const button
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
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
|
+
};
|
|
2755
2712
|
const spaceGroup = doc.createElement('div');
|
|
2713
|
+
spaceGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2756
2714
|
spaceGroup.style.cssText = [
|
|
2757
2715
|
'display:flex',
|
|
2758
2716
|
'align-items:center',
|
|
@@ -2769,6 +2727,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2769
2727
|
spaceGroup.appendChild(button);
|
|
2770
2728
|
}
|
|
2771
2729
|
const snapGroup = doc.createElement('div');
|
|
2730
|
+
snapGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2772
2731
|
snapGroup.style.cssText = [
|
|
2773
2732
|
'display:flex',
|
|
2774
2733
|
'align-items:center',
|
|
@@ -2779,7 +2738,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2779
2738
|
const snapButton = createToolbarIconButton(doc, '吸附设置', 'snap', '吸附设置', 'settings');
|
|
2780
2739
|
snapButton.dataset.transformSnapToggle = 'true';
|
|
2781
2740
|
const snapSettingsPopover = doc.createElement('div');
|
|
2782
|
-
snapSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2741
|
+
snapSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2783
2742
|
snapSettingsPopover.dataset.transformSnapSettingsPopover = 'true';
|
|
2784
2743
|
snapSettingsPopover.setAttribute('role', 'dialog');
|
|
2785
2744
|
snapSettingsPopover.setAttribute('aria-label', '吸附设置');
|
|
@@ -2861,6 +2820,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2861
2820
|
}
|
|
2862
2821
|
snapGroup.appendChild(snapButton);
|
|
2863
2822
|
const placementGroup = doc.createElement('div');
|
|
2823
|
+
placementGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2864
2824
|
placementGroup.style.cssText = [
|
|
2865
2825
|
'display:flex',
|
|
2866
2826
|
'align-items:center',
|
|
@@ -2871,7 +2831,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2871
2831
|
const placementButton = createToolbarIconButton(doc, '放置模式', PLACEMENT_MODE_ICONS.off, '放置模式', 'settings');
|
|
2872
2832
|
placementButton.dataset.placementModeToggle = 'true';
|
|
2873
2833
|
const placementSettingsPopover = doc.createElement('div');
|
|
2874
|
-
placementSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2834
|
+
placementSettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2875
2835
|
placementSettingsPopover.dataset.placementSettingsPopover = 'true';
|
|
2876
2836
|
placementSettingsPopover.setAttribute('role', 'dialog');
|
|
2877
2837
|
placementSettingsPopover.setAttribute('aria-label', '放置模式');
|
|
@@ -2903,6 +2863,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2903
2863
|
}));
|
|
2904
2864
|
placementGroup.appendChild(placementButton);
|
|
2905
2865
|
const actionGroup = doc.createElement('div');
|
|
2866
|
+
actionGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2906
2867
|
actionGroup.style.cssText = [
|
|
2907
2868
|
'display:flex',
|
|
2908
2869
|
'align-items:center',
|
|
@@ -2913,7 +2874,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2913
2874
|
const transformActionButton = createToolbarIconButton(doc, '对齐与分布', 'arrange', '对齐与分布', 'settings');
|
|
2914
2875
|
transformActionButton.dataset.transformActionToggle = 'true';
|
|
2915
2876
|
const transformActionPopover = doc.createElement('div');
|
|
2916
|
-
transformActionPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2877
|
+
transformActionPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2917
2878
|
transformActionPopover.dataset.transformActionPopover = 'true';
|
|
2918
2879
|
transformActionPopover.setAttribute('role', 'dialog');
|
|
2919
2880
|
transformActionPopover.setAttribute('aria-label', '对齐与分布');
|
|
@@ -2968,6 +2929,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2968
2929
|
}
|
|
2969
2930
|
actionGroup.appendChild(transformActionButton);
|
|
2970
2931
|
const staticShadowBakeGroup = doc.createElement('div');
|
|
2932
|
+
staticShadowBakeGroup.className = 'fps-editor-ui-toolbar-group';
|
|
2971
2933
|
staticShadowBakeGroup.style.cssText = [
|
|
2972
2934
|
'display:none',
|
|
2973
2935
|
'align-items:center',
|
|
@@ -2980,7 +2942,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
2980
2942
|
staticShadowBakeButton.dataset.editorRenderingAction = STATIC_SHADOW_BAKE_ACTION_ID;
|
|
2981
2943
|
staticShadowBakeGroup.appendChild(staticShadowBakeButton);
|
|
2982
2944
|
const staticShadowBakePopover = doc.createElement('div');
|
|
2983
|
-
staticShadowBakePopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
2945
|
+
staticShadowBakePopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
2984
2946
|
staticShadowBakePopover.dataset.editorToolbarStaticShadowBakePopover = 'true';
|
|
2985
2947
|
staticShadowBakePopover.setAttribute('role', 'dialog');
|
|
2986
2948
|
staticShadowBakePopover.setAttribute('aria-label', '静态阴影烘焙进度');
|
|
@@ -3068,23 +3030,22 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3068
3030
|
performanceMonitorButton.dataset.performanceMonitorToggle = 'true';
|
|
3069
3031
|
const gridToggleButton = createToolbarIconButton(doc, '网格', 'grid', '显示 / 隐藏 Scene View 网格');
|
|
3070
3032
|
gridToggleButton.dataset.editorGridToggle = 'true';
|
|
3071
|
-
const prefabComparisonPreviewButton = createToolbarIconButton(doc, '对比预览', 'eye', 'Compare Previews (Shift+P)', 'toggle');
|
|
3072
|
-
prefabComparisonPreviewButton.dataset.prefabComparisonPreviewToggle = 'true';
|
|
3073
3033
|
const sceneHelpButton = createToolbarIconButton(doc, '快捷键', 'help', '快捷键与操作说明');
|
|
3074
3034
|
sceneQuickActions.appendChild(localTestGroup);
|
|
3075
|
-
const
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
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);
|
|
3079
3040
|
sceneQuickActions.appendChild(undoButton);
|
|
3080
3041
|
sceneQuickActions.appendChild(redoButton);
|
|
3081
3042
|
sceneQuickActions.appendChild(dirtyBadge);
|
|
3082
3043
|
sceneUtilityActions.appendChild(performanceMonitorButton);
|
|
3083
3044
|
sceneUtilityActions.appendChild(gridToggleButton);
|
|
3084
|
-
sceneUtilityActions.appendChild(prefabComparisonPreviewButton);
|
|
3085
3045
|
sceneUtilityActions.appendChild(themeToggleButton);
|
|
3086
3046
|
sceneUtilityActions.appendChild(sceneHelpButton);
|
|
3087
3047
|
const cameraPreviewGroup = doc.createElement('div');
|
|
3048
|
+
cameraPreviewGroup.className = 'fps-editor-ui-toolbar-group';
|
|
3088
3049
|
cameraPreviewGroup.style.cssText = [
|
|
3089
3050
|
'display:flex',
|
|
3090
3051
|
'align-items:center',
|
|
@@ -3096,6 +3057,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3096
3057
|
sceneCameraButton.dataset.sceneCameraPreviewToggle = 'true';
|
|
3097
3058
|
cameraPreviewGroup.appendChild(sceneCameraButton);
|
|
3098
3059
|
const viewportToolsGroup = doc.createElement('div');
|
|
3060
|
+
viewportToolsGroup.className = 'fps-editor-ui-toolbar-group';
|
|
3099
3061
|
viewportToolsGroup.style.cssText = [
|
|
3100
3062
|
'display:flex',
|
|
3101
3063
|
'align-items:center',
|
|
@@ -3116,6 +3078,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3116
3078
|
const markerVisibilityButton = createToolbarIconButton(doc, '标记视图', 'view-overlay', '隐藏标记与关系线', 'toggle');
|
|
3117
3079
|
markerVisibilityButton.dataset.viewportMarkerVisibilityToggle = 'true';
|
|
3118
3080
|
viewportToolsGroup.appendChild(markerVisibilityButton);
|
|
3081
|
+
const showAllPrefabMarkersButton = createToolbarIconButton(doc, '全部 Prefab 标记', 'view-overlay', '显示所有 Prefab 实例的标记', 'toggle');
|
|
3082
|
+
showAllPrefabMarkersButton.dataset.viewportShowAllPrefabMarkersToggle = 'true';
|
|
3083
|
+
viewportToolsGroup.appendChild(showAllPrefabMarkersButton);
|
|
3119
3084
|
const overlaySettingsButton = createToolbarIconButton(doc, '视口信息层设置', 'view-overlay', '视口信息层设置', 'settings');
|
|
3120
3085
|
overlaySettingsButton.dataset.viewportOverlaySettingsToggle = 'true';
|
|
3121
3086
|
viewportToolsGroup.appendChild(overlaySettingsButton);
|
|
@@ -3126,7 +3091,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3126
3091
|
clearMeasurementButton.dataset.viewportMeasurementClear = 'true';
|
|
3127
3092
|
viewportToolsGroup.appendChild(clearMeasurementButton);
|
|
3128
3093
|
const overlaySettingsPopover = doc.createElement('div');
|
|
3129
|
-
overlaySettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
3094
|
+
overlaySettingsPopover.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
3130
3095
|
overlaySettingsPopover.dataset.viewportOverlaySettingsPopover = 'true';
|
|
3131
3096
|
overlaySettingsPopover.setAttribute('role', 'dialog');
|
|
3132
3097
|
overlaySettingsPopover.setAttribute('aria-label', '视口信息层设置');
|
|
@@ -3170,7 +3135,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3170
3135
|
toolbarOverflowButton.dataset.editorToolbarOverflowToggle = 'true';
|
|
3171
3136
|
toolbarOverflowButton.style.display = 'none';
|
|
3172
3137
|
const toolbarOverflowMenu = doc.createElement('div');
|
|
3173
|
-
toolbarOverflowMenu.classList.add(LOCAL_EDITOR_THEME_CLASS);
|
|
3138
|
+
toolbarOverflowMenu.classList.add(LOCAL_EDITOR_THEME_CLASS, 'fps-editor-ui-popover');
|
|
3174
3139
|
toolbarOverflowMenu.dataset.editorToolbarOverflowMenu = 'true';
|
|
3175
3140
|
toolbarOverflowMenu.style.cssText = [
|
|
3176
3141
|
'position:fixed',
|
|
@@ -3193,111 +3158,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3193
3158
|
const sceneFrameRateOverlay = createSceneFrameRateOverlay(doc);
|
|
3194
3159
|
const performanceMonitorOverlay = createPerformanceMonitorOverlay(doc);
|
|
3195
3160
|
const prefabImportStatsOverlay = createPrefabImportStatsOverlay(doc);
|
|
3196
|
-
const prefabComparisonPreviewOverlay = createPrefabComparisonPreviewOverlay(doc);
|
|
3197
3161
|
const prefabStagePreviewLayout = createPrefabStagePreviewLayout(doc);
|
|
3198
3162
|
prefabImportStatsOverlay.root.style.position = 'absolute';
|
|
3199
3163
|
prefabImportStatsOverlay.root.style.top = '10px';
|
|
3200
3164
|
prefabImportStatsOverlay.root.style.right = '14px';
|
|
3201
|
-
prefabComparisonPreviewOverlay.root.style.height = '100%';
|
|
3202
3165
|
prefabStagePreviewLayout.mainRegion.appendChild(prefabImportStatsOverlay.root);
|
|
3203
|
-
prefabStagePreviewLayout.comparisonColumn.appendChild(prefabComparisonPreviewOverlay.root);
|
|
3204
|
-
const emitPrefabComparisonPreviewInteraction = (input) => {
|
|
3205
|
-
if (currentState?.mode !== 'editor' || !currentState.prefabStage)
|
|
3206
|
-
return;
|
|
3207
|
-
callbacks.onPrefabComparisonPreviewInteraction?.(input);
|
|
3208
|
-
};
|
|
3209
|
-
const endPrefabComparisonPreviewDrag = (pointerId) => {
|
|
3210
|
-
const drag = prefabComparisonPreviewDrag;
|
|
3211
|
-
if (!drag || (pointerId != null && drag.pointerId !== pointerId))
|
|
3212
|
-
return;
|
|
3213
|
-
try {
|
|
3214
|
-
if (!drag.surface.hasPointerCapture || drag.surface.hasPointerCapture(drag.pointerId)) {
|
|
3215
|
-
drag.surface.releasePointerCapture?.(drag.pointerId);
|
|
3216
|
-
}
|
|
3217
|
-
}
|
|
3218
|
-
catch {
|
|
3219
|
-
// Pointer capture may already be released by the browser when this cleanup runs.
|
|
3220
|
-
}
|
|
3221
|
-
drag.surface.style.cursor = 'grab';
|
|
3222
|
-
prefabComparisonPreviewDrag = null;
|
|
3223
|
-
};
|
|
3224
|
-
const onPrefabComparisonPreviewPointerDown = (event) => {
|
|
3225
|
-
if (event.button !== 0 || currentState?.mode !== 'editor' || !currentState.prefabStage)
|
|
3226
|
-
return;
|
|
3227
|
-
const surface = findPrefabComparisonPreviewSurface(event.target);
|
|
3228
|
-
if (!surface || !isPrefabComparisonPreviewSurfaceReady(surface))
|
|
3229
|
-
return;
|
|
3230
|
-
const previewId = readPrefabComparisonPreviewSurfaceId(surface);
|
|
3231
|
-
if (!previewId)
|
|
3232
|
-
return;
|
|
3233
|
-
event.preventDefault();
|
|
3234
|
-
event.stopPropagation();
|
|
3235
|
-
endPrefabComparisonPreviewDrag();
|
|
3236
|
-
try {
|
|
3237
|
-
surface.setPointerCapture?.(event.pointerId);
|
|
3238
|
-
}
|
|
3239
|
-
catch {
|
|
3240
|
-
// Pointer capture is an input nicety; drag state still works through the overlay listener.
|
|
3241
|
-
}
|
|
3242
|
-
surface.style.cursor = 'grabbing';
|
|
3243
|
-
prefabComparisonPreviewDrag = {
|
|
3244
|
-
pointerId: event.pointerId,
|
|
3245
|
-
previewId,
|
|
3246
|
-
surface,
|
|
3247
|
-
lastClientX: event.clientX,
|
|
3248
|
-
lastClientY: event.clientY,
|
|
3249
|
-
};
|
|
3250
|
-
};
|
|
3251
|
-
const onPrefabComparisonPreviewPointerMove = (event) => {
|
|
3252
|
-
const drag = prefabComparisonPreviewDrag;
|
|
3253
|
-
if (!drag || drag.pointerId !== event.pointerId)
|
|
3254
|
-
return;
|
|
3255
|
-
event.preventDefault();
|
|
3256
|
-
event.stopPropagation();
|
|
3257
|
-
const deltaX = event.clientX - drag.lastClientX;
|
|
3258
|
-
const deltaY = event.clientY - drag.lastClientY;
|
|
3259
|
-
drag.lastClientX = event.clientX;
|
|
3260
|
-
drag.lastClientY = event.clientY;
|
|
3261
|
-
if (Math.abs(deltaX) < 0.001 && Math.abs(deltaY) < 0.001)
|
|
3262
|
-
return;
|
|
3263
|
-
emitPrefabComparisonPreviewInteraction({
|
|
3264
|
-
kind: 'orbit',
|
|
3265
|
-
previewId: drag.previewId,
|
|
3266
|
-
deltaX,
|
|
3267
|
-
deltaY,
|
|
3268
|
-
});
|
|
3269
|
-
};
|
|
3270
|
-
const onPrefabComparisonPreviewPointerEnd = (event) => {
|
|
3271
|
-
const drag = prefabComparisonPreviewDrag;
|
|
3272
|
-
if (!drag || drag.pointerId !== event.pointerId)
|
|
3273
|
-
return;
|
|
3274
|
-
event.preventDefault();
|
|
3275
|
-
event.stopPropagation();
|
|
3276
|
-
endPrefabComparisonPreviewDrag(event.pointerId);
|
|
3277
|
-
};
|
|
3278
|
-
const onPrefabComparisonPreviewWheel = (event) => {
|
|
3279
|
-
if (currentState?.mode !== 'editor' || !currentState.prefabStage)
|
|
3280
|
-
return;
|
|
3281
|
-
const surface = findPrefabComparisonPreviewSurface(event.target);
|
|
3282
|
-
if (!surface || !isPrefabComparisonPreviewSurfaceReady(surface))
|
|
3283
|
-
return;
|
|
3284
|
-
const previewId = readPrefabComparisonPreviewSurfaceId(surface);
|
|
3285
|
-
if (!previewId)
|
|
3286
|
-
return;
|
|
3287
|
-
event.preventDefault();
|
|
3288
|
-
event.stopPropagation();
|
|
3289
|
-
emitPrefabComparisonPreviewInteraction({
|
|
3290
|
-
kind: 'zoom',
|
|
3291
|
-
previewId,
|
|
3292
|
-
deltaY: event.deltaY,
|
|
3293
|
-
});
|
|
3294
|
-
};
|
|
3295
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointerdown', onPrefabComparisonPreviewPointerDown);
|
|
3296
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointermove', onPrefabComparisonPreviewPointerMove);
|
|
3297
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointerup', onPrefabComparisonPreviewPointerEnd);
|
|
3298
|
-
prefabComparisonPreviewOverlay.root.addEventListener('pointercancel', onPrefabComparisonPreviewPointerEnd);
|
|
3299
|
-
prefabComparisonPreviewOverlay.root.addEventListener('lostpointercapture', onPrefabComparisonPreviewPointerEnd);
|
|
3300
|
-
prefabComparisonPreviewOverlay.root.addEventListener('wheel', onPrefabComparisonPreviewWheel, { passive: false });
|
|
3301
3166
|
const spatialOverlay = createSpatialOverlay(doc);
|
|
3302
3167
|
const measurementOverlay = createMeasurementOverlay(doc);
|
|
3303
3168
|
sceneToolOverlay.appendChild(sceneTitle);
|
|
@@ -3322,6 +3187,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3322
3187
|
workbench.sceneFrame.appendChild(prefabStagePreviewLayout.root);
|
|
3323
3188
|
workbench.sceneFrame.appendChild(coordinateAxesOverlay.root);
|
|
3324
3189
|
construction.appendRootChild(localTestMenu);
|
|
3190
|
+
construction.appendRootChild(editorStatusCenter);
|
|
3325
3191
|
construction.appendRootChild(toolbarOverflowMenu);
|
|
3326
3192
|
construction.appendRootChild(staticShadowBakePopover);
|
|
3327
3193
|
construction.appendRootChild(snapSettingsPopover);
|
|
@@ -3329,6 +3195,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3329
3195
|
construction.appendRootChild(transformActionPopover);
|
|
3330
3196
|
construction.appendRootChild(overlaySettingsPopover);
|
|
3331
3197
|
tooltipSurfaces.add(localTestMenu);
|
|
3198
|
+
tooltipSurfaces.add(editorStatusCenter);
|
|
3332
3199
|
tooltipSurfaces.add(toolbarOverflowMenu);
|
|
3333
3200
|
tooltipSurfaces.add(staticShadowBakePopover);
|
|
3334
3201
|
tooltipSurfaces.add(snapSettingsPopover);
|
|
@@ -3353,7 +3220,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3353
3220
|
construction.appendRootChild(shortcutHelpPanel);
|
|
3354
3221
|
tooltipSurfaces.add(shortcutHelpPanel);
|
|
3355
3222
|
const assetPreviewModal = doc.createElement('div');
|
|
3356
|
-
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');
|
|
3357
3224
|
assetPreviewModal.dataset.editorAssetPreviewModal = 'true';
|
|
3358
3225
|
assetPreviewModal.dataset.editorWorkbenchRegion = 'modal';
|
|
3359
3226
|
assetPreviewModal.style.cssText = [
|
|
@@ -3370,6 +3237,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3370
3237
|
'pointer-events:auto',
|
|
3371
3238
|
].join(';');
|
|
3372
3239
|
const assetPreviewDialog = doc.createElement('div');
|
|
3240
|
+
assetPreviewDialog.className = 'fps-editor-ui-modal';
|
|
3373
3241
|
assetPreviewDialog.setAttribute('role', 'dialog');
|
|
3374
3242
|
assetPreviewDialog.setAttribute('aria-modal', 'true');
|
|
3375
3243
|
assetPreviewDialog.setAttribute('aria-label', '资产预览');
|
|
@@ -3387,8 +3255,10 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3387
3255
|
'overflow:auto',
|
|
3388
3256
|
].join(';');
|
|
3389
3257
|
const assetPreviewHeader = doc.createElement('div');
|
|
3258
|
+
assetPreviewHeader.className = 'fps-editor-ui-modal-header';
|
|
3390
3259
|
assetPreviewHeader.style.cssText = 'display:flex;align-items:center;justify-content:space-between;gap:12px';
|
|
3391
3260
|
const assetPreviewTitle = doc.createElement('h2');
|
|
3261
|
+
assetPreviewTitle.className = 'fps-editor-ui-modal-title';
|
|
3392
3262
|
assetPreviewTitle.style.cssText = [
|
|
3393
3263
|
'min-width:0',
|
|
3394
3264
|
'margin:0',
|
|
@@ -3430,7 +3300,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3430
3300
|
construction.appendRootChild(assetPreviewModal);
|
|
3431
3301
|
tooltipSurfaces.add(assetPreviewModal);
|
|
3432
3302
|
const assetPickerModal = doc.createElement('div');
|
|
3433
|
-
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');
|
|
3434
3304
|
assetPickerModal.dataset.editorAssetPickerModal = 'true';
|
|
3435
3305
|
assetPickerModal.dataset.editorWorkbenchRegion = 'modal';
|
|
3436
3306
|
assetPickerModal.style.cssText = [
|
|
@@ -3447,6 +3317,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3447
3317
|
'pointer-events:auto',
|
|
3448
3318
|
].join(';');
|
|
3449
3319
|
const assetPickerDialog = doc.createElement('div');
|
|
3320
|
+
assetPickerDialog.className = 'fps-editor-ui-modal';
|
|
3450
3321
|
assetPickerDialog.setAttribute('role', 'dialog');
|
|
3451
3322
|
assetPickerDialog.setAttribute('aria-modal', 'true');
|
|
3452
3323
|
assetPickerDialog.setAttribute('aria-label', '资产选择');
|
|
@@ -3464,8 +3335,10 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3464
3335
|
'overflow:hidden',
|
|
3465
3336
|
].join(';');
|
|
3466
3337
|
const assetPickerHeader = doc.createElement('div');
|
|
3338
|
+
assetPickerHeader.className = 'fps-editor-ui-modal-header';
|
|
3467
3339
|
assetPickerHeader.style.cssText = 'display:flex;align-items:center;justify-content:space-between;gap:12px';
|
|
3468
3340
|
const assetPickerTitle = doc.createElement('h2');
|
|
3341
|
+
assetPickerTitle.className = 'fps-editor-ui-modal-title';
|
|
3469
3342
|
assetPickerTitle.style.cssText = [
|
|
3470
3343
|
'min-width:0',
|
|
3471
3344
|
'margin:0',
|
|
@@ -3481,6 +3354,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3481
3354
|
assetPickerHeader.appendChild(assetPickerTitle);
|
|
3482
3355
|
assetPickerHeader.appendChild(assetPickerCloseButton);
|
|
3483
3356
|
const assetPickerSearch = doc.createElement('input');
|
|
3357
|
+
assetPickerSearch.className = 'fps-editor-ui-modal-search';
|
|
3484
3358
|
assetPickerSearch.type = 'search';
|
|
3485
3359
|
assetPickerSearch.dataset.editorAssetPickerSearch = 'true';
|
|
3486
3360
|
assetPickerSearch.placeholder = '搜索资产';
|
|
@@ -3495,6 +3369,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3495
3369
|
'padding:0 8px',
|
|
3496
3370
|
].join(';');
|
|
3497
3371
|
const assetPickerList = doc.createElement('div');
|
|
3372
|
+
assetPickerList.className = 'fps-editor-ui-modal-grid';
|
|
3498
3373
|
assetPickerList.style.cssText = [
|
|
3499
3374
|
'min-height:180px',
|
|
3500
3375
|
'max-height:min(430px,calc(100vh - 196px))',
|
|
@@ -3519,12 +3394,12 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3519
3394
|
applyLocalEditorTheme(performanceMonitorOverlay.root, activeTheme);
|
|
3520
3395
|
applyLocalEditorTheme(prefabStagePreviewLayout.root, activeTheme);
|
|
3521
3396
|
applyLocalEditorTheme(prefabImportStatsOverlay.root, activeTheme);
|
|
3522
|
-
applyLocalEditorTheme(prefabComparisonPreviewOverlay.root, activeTheme);
|
|
3523
3397
|
applyLocalEditorTheme(shortcutHelpPanel, activeTheme);
|
|
3524
3398
|
applyLocalEditorTheme(assetPreviewModal, activeTheme);
|
|
3525
3399
|
applyLocalEditorTheme(assetPickerModal, activeTheme);
|
|
3526
3400
|
applyLocalEditorTheme(boxSelectionOverlay, activeTheme);
|
|
3527
3401
|
applyLocalEditorTheme(localTestMenu, activeTheme);
|
|
3402
|
+
applyLocalEditorTheme(editorStatusCenter, activeTheme);
|
|
3528
3403
|
applyLocalEditorTheme(toolbarOverflowMenu, activeTheme);
|
|
3529
3404
|
applyLocalEditorTheme(staticShadowBakePopover, activeTheme);
|
|
3530
3405
|
applyLocalEditorTheme(snapSettingsPopover, activeTheme);
|
|
@@ -3556,6 +3431,227 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3556
3431
|
localTestMenu.style.display = 'none';
|
|
3557
3432
|
LocalEditorShared.applyButtonActiveState(localTestButton, false);
|
|
3558
3433
|
}
|
|
3434
|
+
function readEditorStatusDiagnostics(state) {
|
|
3435
|
+
return resolveLocalEditorStatusDiagnostics(state);
|
|
3436
|
+
}
|
|
3437
|
+
function renderEditorStatusCenter(state) {
|
|
3438
|
+
const viewModel = createLocalEditorStatusCenterViewModel(state);
|
|
3439
|
+
editorStatusCenterSummary.textContent = viewModel.summary;
|
|
3440
|
+
editorStatusCopyAllButton.style.display = viewModel.diagnostics.length > 0 ? 'inline-flex' : 'none';
|
|
3441
|
+
LocalEditorShared.clearElement(editorStatusCenterList);
|
|
3442
|
+
if (viewModel.diagnostics.length === 0) {
|
|
3443
|
+
const empty = doc.createElement('div');
|
|
3444
|
+
empty.dataset.editorStatusEmpty = 'true';
|
|
3445
|
+
empty.textContent = '当前没有诊断信息。';
|
|
3446
|
+
empty.style.cssText = 'padding:14px 8px;text-align:center;color:var(--fps-editor-muted);font-size:12px';
|
|
3447
|
+
editorStatusCenterList.appendChild(empty);
|
|
3448
|
+
return;
|
|
3449
|
+
}
|
|
3450
|
+
const currentScopeId = state?.prefabStage
|
|
3451
|
+
? `prefab-stage:${state.prefabStage.assetId}`
|
|
3452
|
+
: 'scene';
|
|
3453
|
+
let previousGroup = '';
|
|
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
|
+
}
|
|
3464
|
+
const item = doc.createElement('div');
|
|
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)';
|
|
3476
|
+
item.style.cssText = [
|
|
3477
|
+
'display:grid',
|
|
3478
|
+
'grid-template-columns:minmax(0,1fr) auto',
|
|
3479
|
+
'gap:8px',
|
|
3480
|
+
'padding:8px',
|
|
3481
|
+
`border:1px solid ${diagnosticBorder}`,
|
|
3482
|
+
'border-radius:3px',
|
|
3483
|
+
`background:${diagnosticBackground}`,
|
|
3484
|
+
].join(';');
|
|
3485
|
+
const content = doc.createElement('div');
|
|
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
|
+
}
|
|
3556
|
+
const code = doc.createElement('div');
|
|
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)'}`;
|
|
3559
|
+
const message = doc.createElement('div');
|
|
3560
|
+
message.textContent = diagnostic.message;
|
|
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';
|
|
3567
|
+
const meta = doc.createElement('div');
|
|
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
|
+
]
|
|
3578
|
+
.filter(value => value !== undefined && value !== null && value !== '')
|
|
3579
|
+
.join(' / ');
|
|
3580
|
+
meta.textContent = [
|
|
3581
|
+
`来源: ${diagnostic.source}`,
|
|
3582
|
+
diagnostic.producer ? `producer: ${diagnostic.producer}` : '',
|
|
3583
|
+
diagnostic.phase ? `phase: ${diagnostic.phase}` : '',
|
|
3584
|
+
diagnosticLocation ? `位置: ${diagnosticLocation}` : '',
|
|
3585
|
+
diagnostic.documentRevision != null ? `document revision: ${diagnostic.documentRevision}` : '',
|
|
3586
|
+
diagnostic.projectionRevision != null ? `projection revision: ${diagnostic.projectionRevision}` : '',
|
|
3587
|
+
diagnostic.details ? `details: ${formatLocalEditorStatusDiagnosticDetails(diagnostic.details)}` : '',
|
|
3588
|
+
].filter(Boolean).join(' · ');
|
|
3589
|
+
meta.style.cssText = 'font-size:10px;line-height:1.35;color:var(--fps-editor-muted);overflow-wrap:anywhere';
|
|
3590
|
+
meta.style.display = meta.textContent ? 'block' : 'none';
|
|
3591
|
+
content.appendChild(code);
|
|
3592
|
+
content.appendChild(message);
|
|
3593
|
+
content.appendChild(suggestion);
|
|
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
|
+
}
|
|
3611
|
+
const copy = createToolbarIconButton(doc, `复制诊断 ${index + 1}`, 'copy', '复制该诊断');
|
|
3612
|
+
copy.dataset.editorStatusCopy = String(index);
|
|
3613
|
+
copy.addEventListener('click', event => {
|
|
3614
|
+
event.stopPropagation();
|
|
3615
|
+
copyEditorStatusText(copy, doc.defaultView, copyText);
|
|
3616
|
+
});
|
|
3617
|
+
item.appendChild(content);
|
|
3618
|
+
actions.appendChild(copy);
|
|
3619
|
+
item.appendChild(actions);
|
|
3620
|
+
editorStatusCenterList.appendChild(item);
|
|
3621
|
+
});
|
|
3622
|
+
}
|
|
3623
|
+
function closeEditorStatusCenter() {
|
|
3624
|
+
editorStatusCenterOpen = false;
|
|
3625
|
+
editorStatusCenter.style.display = 'none';
|
|
3626
|
+
editorStatusButton.setAttribute('aria-expanded', 'false');
|
|
3627
|
+
LocalEditorShared.applyButtonActiveState(editorStatusButton, false);
|
|
3628
|
+
}
|
|
3629
|
+
function openEditorStatusCenter() {
|
|
3630
|
+
closeLocalTestMenu();
|
|
3631
|
+
closeToolbarOverflowMenu();
|
|
3632
|
+
closeSnapSettingsPopover();
|
|
3633
|
+
closePlacementSettingsPopover();
|
|
3634
|
+
closeTransformActionPopover();
|
|
3635
|
+
closeOverlaySettingsPopover();
|
|
3636
|
+
renderEditorStatusCenter(currentState);
|
|
3637
|
+
const rect = editorStatusButton.getBoundingClientRect();
|
|
3638
|
+
const win = doc.defaultView;
|
|
3639
|
+
const viewportWidth = win?.innerWidth ?? doc.documentElement.clientWidth;
|
|
3640
|
+
const width = Math.min(440, Math.max(280, viewportWidth - 16));
|
|
3641
|
+
editorStatusCenter.style.width = `${width}px`;
|
|
3642
|
+
editorStatusCenter.style.left = `${Math.max(8, Math.min(rect.right - width, viewportWidth - width - 8))}px`;
|
|
3643
|
+
editorStatusCenter.style.top = `${Math.max(8, rect.bottom + 5)}px`;
|
|
3644
|
+
editorStatusCenter.style.display = 'flex';
|
|
3645
|
+
editorStatusCenterOpen = true;
|
|
3646
|
+
editorStatusButton.setAttribute('aria-expanded', 'true');
|
|
3647
|
+
LocalEditorShared.applyButtonActiveState(editorStatusButton, true);
|
|
3648
|
+
}
|
|
3649
|
+
function toggleEditorStatusCenter() {
|
|
3650
|
+
if (editorStatusCenterOpen)
|
|
3651
|
+
closeEditorStatusCenter();
|
|
3652
|
+
else
|
|
3653
|
+
openEditorStatusCenter();
|
|
3654
|
+
}
|
|
3559
3655
|
function closeSnapSettingsPopover() {
|
|
3560
3656
|
snapSettingsOpen = false;
|
|
3561
3657
|
snapSettingsPopover.style.display = 'none';
|
|
@@ -3991,12 +4087,26 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
3991
4087
|
else
|
|
3992
4088
|
openToolbarOverflowMenu();
|
|
3993
4089
|
};
|
|
4090
|
+
const onEditorStatusButtonClick = (event) => {
|
|
4091
|
+
event.stopPropagation();
|
|
4092
|
+
toggleEditorStatusCenter();
|
|
4093
|
+
};
|
|
4094
|
+
const onEditorStatusCopyAllClick = (event) => {
|
|
4095
|
+
event.stopPropagation();
|
|
4096
|
+
copyEditorStatusText(editorStatusCopyAllButton, doc.defaultView, createLocalEditorStatusCenterViewModel(currentState).copyAllText);
|
|
4097
|
+
};
|
|
4098
|
+
const onEditorStatusCloseClick = (event) => {
|
|
4099
|
+
event.stopPropagation();
|
|
4100
|
+
closeEditorStatusCenter();
|
|
4101
|
+
};
|
|
3994
4102
|
const onToolbarOverflowPointerDown = (event) => {
|
|
3995
4103
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
3996
4104
|
if (!target)
|
|
3997
4105
|
return;
|
|
3998
4106
|
if (target.closest('[data-editor-local-test-menu]') || target.closest('[data-editor-local-test-toggle]'))
|
|
3999
4107
|
return;
|
|
4108
|
+
if (target.closest('[data-editor-status-center]') || target.closest('[data-editor-status-toggle]'))
|
|
4109
|
+
return;
|
|
4000
4110
|
if (target.closest('[data-editor-toolbar-overflow-menu]') || target.closest('[data-editor-toolbar-overflow-toggle]'))
|
|
4001
4111
|
return;
|
|
4002
4112
|
if (target.closest('[data-transform-snap-settings-popover]') || target.closest('[data-transform-snap-toggle]'))
|
|
@@ -4008,6 +4118,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4008
4118
|
if (target.closest('[data-viewport-overlay-settings-popover]') || target.closest('[data-viewport-overlay-settings-toggle]'))
|
|
4009
4119
|
return;
|
|
4010
4120
|
closeLocalTestMenu();
|
|
4121
|
+
closeEditorStatusCenter();
|
|
4011
4122
|
closeToolbarOverflowMenu();
|
|
4012
4123
|
if (!target.closest('[data-editor-toolbar-static-shadow-bake-popover]'))
|
|
4013
4124
|
closeStaticShadowBakePopover();
|
|
@@ -4023,6 +4134,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4023
4134
|
construction.addCleanup('toolbar-resize-observer', () => toolbarResizeObserver?.disconnect());
|
|
4024
4135
|
toolbarOverflowButton.addEventListener('click', onToolbarOverflowButtonClick);
|
|
4025
4136
|
localTestButton.addEventListener('click', onLocalTestButtonClick);
|
|
4137
|
+
editorStatusButton.addEventListener('click', onEditorStatusButtonClick);
|
|
4138
|
+
editorStatusCopyAllButton.addEventListener('click', onEditorStatusCopyAllClick);
|
|
4139
|
+
editorStatusCloseButton.addEventListener('click', onEditorStatusCloseClick);
|
|
4026
4140
|
doc.addEventListener('pointerdown', onToolbarOverflowPointerDown);
|
|
4027
4141
|
construction.addCleanup('toolbar-overflow-pointerdown', () => {
|
|
4028
4142
|
doc.removeEventListener('pointerdown', onToolbarOverflowPointerDown);
|
|
@@ -4055,9 +4169,6 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4055
4169
|
performanceMonitorButton.addEventListener('click', () => {
|
|
4056
4170
|
setPerformanceMonitorOpen(!performanceMonitorOpen);
|
|
4057
4171
|
});
|
|
4058
|
-
prefabComparisonPreviewButton.addEventListener('click', () => {
|
|
4059
|
-
setPrefabComparisonPreviewOpen(!prefabComparisonPreviewOpen);
|
|
4060
|
-
});
|
|
4061
4172
|
gridToggleButton.addEventListener('click', () => {
|
|
4062
4173
|
const visible = currentState?.grid?.visible ?? true;
|
|
4063
4174
|
callbacks.onGridVisibleChange?.(!visible);
|
|
@@ -4117,6 +4228,12 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4117
4228
|
callbacks.onMarkerViewportVisibilityChange?.(!markersVisible);
|
|
4118
4229
|
return;
|
|
4119
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
|
+
}
|
|
4120
4237
|
const overlayToggle = target?.closest('[data-viewport-overlay-settings-toggle]');
|
|
4121
4238
|
if (overlayToggle) {
|
|
4122
4239
|
event.stopPropagation();
|
|
@@ -4154,17 +4271,6 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4154
4271
|
if (notify)
|
|
4155
4272
|
callbacks.onPerformanceMonitorOpenChange?.(performanceMonitorOpen);
|
|
4156
4273
|
};
|
|
4157
|
-
const setPrefabComparisonPreviewOpen = (open) => {
|
|
4158
|
-
if (prefabComparisonPreviewOpen === open)
|
|
4159
|
-
return;
|
|
4160
|
-
if (!open)
|
|
4161
|
-
endPrefabComparisonPreviewDrag();
|
|
4162
|
-
prefabComparisonPreviewOpen = open;
|
|
4163
|
-
if (currentState)
|
|
4164
|
-
renderPreviewState(currentState);
|
|
4165
|
-
LocalEditorShared.applyButtonActiveState(prefabComparisonPreviewButton, prefabComparisonPreviewOpen);
|
|
4166
|
-
callbacks.onPrefabComparisonPreviewLayoutChange?.();
|
|
4167
|
-
};
|
|
4168
4274
|
const openAssetPreviewModal = (asset) => {
|
|
4169
4275
|
if (!asset.preview)
|
|
4170
4276
|
return;
|
|
@@ -4216,6 +4322,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4216
4322
|
contextMenu.close();
|
|
4217
4323
|
if (helpOpen)
|
|
4218
4324
|
setShortcutHelpOpen(false);
|
|
4325
|
+
settleHierarchyOperationInputRequest(null);
|
|
4219
4326
|
assetPickerInput = input;
|
|
4220
4327
|
assetPickerProperty = property;
|
|
4221
4328
|
assetPickerFilter = '';
|
|
@@ -4226,12 +4333,40 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4226
4333
|
assetPickerSearch.focus({ preventScroll: true });
|
|
4227
4334
|
assetPickerSearch.select();
|
|
4228
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
|
+
}
|
|
4229
4363
|
const closeInspectorAssetPicker = () => {
|
|
4230
4364
|
if (!assetPickerOpen)
|
|
4231
4365
|
return;
|
|
4232
4366
|
assetPickerOpen = false;
|
|
4233
4367
|
assetPickerInput = null;
|
|
4234
4368
|
assetPickerProperty = null;
|
|
4369
|
+
settleHierarchyOperationInputRequest(null);
|
|
4235
4370
|
assetPickerFilter = '';
|
|
4236
4371
|
renderAssetPickerModal();
|
|
4237
4372
|
syncInputModalOpen();
|
|
@@ -4631,15 +4766,33 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4631
4766
|
});
|
|
4632
4767
|
}
|
|
4633
4768
|
function renderAssetPickerModal() {
|
|
4634
|
-
if (!assetPickerOpen || !assetPickerProperty || !assetPickerInput) {
|
|
4769
|
+
if (!assetPickerOpen || (!hierarchyOperationInputRequest && (!assetPickerProperty || !assetPickerInput))) {
|
|
4635
4770
|
assetPickerModal.style.display = 'none';
|
|
4771
|
+
delete assetPickerModal.dataset.editorAssetPickerMode;
|
|
4636
4772
|
assetPickerTitle.textContent = '';
|
|
4637
4773
|
assetPickerSearch.value = '';
|
|
4638
4774
|
while (assetPickerList.firstChild)
|
|
4639
4775
|
assetPickerList.removeChild(assetPickerList.firstChild);
|
|
4640
4776
|
return;
|
|
4641
4777
|
}
|
|
4642
|
-
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';
|
|
4643
4796
|
assetPickerTitle.textContent = options.title;
|
|
4644
4797
|
assetPickerSearch.value = assetPickerFilter;
|
|
4645
4798
|
while (assetPickerList.firstChild)
|
|
@@ -4658,7 +4811,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4658
4811
|
assetPickerList.appendChild(empty);
|
|
4659
4812
|
}
|
|
4660
4813
|
for (const candidate of candidates) {
|
|
4661
|
-
assetPickerList.appendChild(createInspectorAssetPickerCandidateButton(candidate, assetPickerInput
|
|
4814
|
+
assetPickerList.appendChild(createInspectorAssetPickerCandidateButton(candidate, assetPickerInput?.value ?? ''));
|
|
4662
4815
|
}
|
|
4663
4816
|
assetPickerModal.style.display = 'flex';
|
|
4664
4817
|
}
|
|
@@ -4702,8 +4855,13 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4702
4855
|
sceneHelpButton.addEventListener('click', () => {
|
|
4703
4856
|
setShortcutHelpOpen(!helpOpen);
|
|
4704
4857
|
});
|
|
4705
|
-
|
|
4706
|
-
|
|
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 ?? '');
|
|
4707
4865
|
});
|
|
4708
4866
|
themeToggleButton.addEventListener('click', () => {
|
|
4709
4867
|
setActiveTheme(activeTheme === 'dark' ? 'light' : 'dark');
|
|
@@ -4757,6 +4915,18 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4757
4915
|
return;
|
|
4758
4916
|
}
|
|
4759
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
|
+
}
|
|
4760
4930
|
if (candidateButton && assetPickerInput) {
|
|
4761
4931
|
assetPickerInput.value = candidateButton.dataset.editorAssetPickerCandidate ?? '';
|
|
4762
4932
|
assetPickerInput.dispatchEvent(new Event('change', { bubbles: true }));
|
|
@@ -4772,9 +4942,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4772
4942
|
});
|
|
4773
4943
|
toolGroup.addEventListener('click', (event) => {
|
|
4774
4944
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
4775
|
-
const
|
|
4776
|
-
if (
|
|
4777
|
-
callbacks.
|
|
4945
|
+
const toolId = target?.closest('[data-editor-tool-id]')?.dataset.editorToolId;
|
|
4946
|
+
if (toolId)
|
|
4947
|
+
callbacks.onToolActivate?.(toolId);
|
|
4778
4948
|
});
|
|
4779
4949
|
spaceGroup.addEventListener('click', (event) => {
|
|
4780
4950
|
const target = event.target instanceof HTMLElement ? event.target : null;
|
|
@@ -4861,8 +5031,47 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4861
5031
|
if (button.dataset.editorAssetId !== assetId)
|
|
4862
5032
|
continue;
|
|
4863
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);
|
|
4864
5052
|
return;
|
|
4865
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
|
+
}
|
|
4866
5075
|
}
|
|
4867
5076
|
function createCurrentAssetBrowserActionContext() {
|
|
4868
5077
|
const stage = currentState?.prefabStage;
|
|
@@ -4902,6 +5111,18 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4902
5111
|
});
|
|
4903
5112
|
return;
|
|
4904
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
|
+
}
|
|
4905
5126
|
const assetButton = target?.closest('[data-editor-asset-id]');
|
|
4906
5127
|
if (assetButton?.dataset.editorAssetId) {
|
|
4907
5128
|
suppressAssetBrowserRevealIfVisible(assetButton);
|
|
@@ -4926,7 +5147,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4926
5147
|
callbacks.onAssetAction?.(createAssetBrowserActionInput(actionId, asset, createCurrentAssetBrowserActionContext()));
|
|
4927
5148
|
});
|
|
4928
5149
|
assetPanel.addEventListener('contextmenu', (event) => {
|
|
4929
|
-
|
|
5150
|
+
if (!inputRouter.shouldPreventBrowserContextMenu(event))
|
|
5151
|
+
return;
|
|
5152
|
+
const target = inputRouter.getEventTarget(event);
|
|
5153
|
+
if (!target)
|
|
5154
|
+
return;
|
|
4930
5155
|
const assetButton = target?.closest('[data-editor-asset-id]');
|
|
4931
5156
|
const browserAssetId = assetButton?.dataset.editorAssetId;
|
|
4932
5157
|
if (!browserAssetId || !currentState)
|
|
@@ -4934,8 +5159,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4934
5159
|
const asset = currentState.assets.find(candidate => candidate.id === browserAssetId);
|
|
4935
5160
|
if (!asset)
|
|
4936
5161
|
return;
|
|
4937
|
-
|
|
4938
|
-
event.stopPropagation();
|
|
5162
|
+
inputRouter.claimContextMenu(event);
|
|
4939
5163
|
suppressAssetBrowserRevealIfVisible(assetButton);
|
|
4940
5164
|
callbacks.onSelectAsset?.(browserAssetId);
|
|
4941
5165
|
contextMenu.open({
|
|
@@ -4998,11 +5222,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
4998
5222
|
const hierarchyController = createLocalEditorHierarchyController({
|
|
4999
5223
|
doc,
|
|
5000
5224
|
panel: hierarchyPanel,
|
|
5001
|
-
callbacks,
|
|
5002
5225
|
inputRouter,
|
|
5003
5226
|
contextMenu,
|
|
5227
|
+
kernel: hierarchyKernel,
|
|
5228
|
+
onOperationResult: options.hierarchy?.onOperationResult,
|
|
5004
5229
|
getState: () => currentState,
|
|
5005
|
-
contextActions: options.hierarchy?.contextActions,
|
|
5006
5230
|
requestRender: () => {
|
|
5007
5231
|
if (currentState)
|
|
5008
5232
|
render(currentState);
|
|
@@ -5013,6 +5237,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5013
5237
|
if (assetPreviewOpen)
|
|
5014
5238
|
closeAssetPreviewModal();
|
|
5015
5239
|
},
|
|
5240
|
+
requestOperationInput: requestHierarchyOperationInput,
|
|
5016
5241
|
});
|
|
5017
5242
|
construction.addCleanup('hierarchy-controller', () => hierarchyController.dispose());
|
|
5018
5243
|
assetPanel.addEventListener('input', (event) => {
|
|
@@ -5138,10 +5363,10 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5138
5363
|
const materialSlotSelectTarget = target?.closest('[data-editor-inspector-material-slot-select]');
|
|
5139
5364
|
const materialSlotSelectionId = materialSlotSelectTarget?.dataset.editorInspectorMaterialSlotSelect;
|
|
5140
5365
|
if (materialSlotSelectionId) {
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5366
|
+
void hierarchyKernel.dispatch({
|
|
5367
|
+
type: 'selection',
|
|
5368
|
+
targetId: materialSlotSelectionId,
|
|
5369
|
+
modifier: event.metaKey || event.ctrlKey ? 'toggle' : event.shiftKey ? 'range' : 'replace',
|
|
5145
5370
|
});
|
|
5146
5371
|
return;
|
|
5147
5372
|
}
|
|
@@ -5177,6 +5402,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5177
5402
|
: null;
|
|
5178
5403
|
if (!input?.dataset.serializedPath || !input.dataset.serializedTargetId)
|
|
5179
5404
|
return;
|
|
5405
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5406
|
+
return;
|
|
5180
5407
|
if (input instanceof HTMLInputElement && (input.type === 'text' || input.type === 'number')) {
|
|
5181
5408
|
if (readInspectorCommitMode(input) !== 'change')
|
|
5182
5409
|
return;
|
|
@@ -5203,6 +5430,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5203
5430
|
const input = event.target instanceof HTMLInputElement ? event.target : null;
|
|
5204
5431
|
if (!input?.dataset.serializedPath || !input.dataset.serializedTargetId)
|
|
5205
5432
|
return;
|
|
5433
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5434
|
+
return;
|
|
5206
5435
|
if (readInspectorCommitMode(input) !== 'blur')
|
|
5207
5436
|
return;
|
|
5208
5437
|
if (consumeLocalEditorKeyboardCommittedValue(input))
|
|
@@ -5236,6 +5465,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5236
5465
|
: null;
|
|
5237
5466
|
if (!input?.dataset.editorRenderingProperty)
|
|
5238
5467
|
return;
|
|
5468
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5469
|
+
return;
|
|
5239
5470
|
if ((input instanceof HTMLInputElement && (input.type === 'text' || input.type === 'number')) || input instanceof HTMLTextAreaElement) {
|
|
5240
5471
|
if (readRenderingCommitMode(input) !== 'change')
|
|
5241
5472
|
return;
|
|
@@ -5263,6 +5494,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5263
5494
|
: null;
|
|
5264
5495
|
if (!input?.dataset.editorRenderingProperty)
|
|
5265
5496
|
return;
|
|
5497
|
+
if (hasLocalEditorUiKeyboardCommitPending(input))
|
|
5498
|
+
return;
|
|
5266
5499
|
if (input instanceof HTMLSelectElement)
|
|
5267
5500
|
return;
|
|
5268
5501
|
if (readRenderingCommitMode(input) !== 'blur')
|
|
@@ -5340,6 +5573,11 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5340
5573
|
closeInspectorAssetPicker();
|
|
5341
5574
|
return;
|
|
5342
5575
|
}
|
|
5576
|
+
if (key === 'escape' && editorStatusCenterOpen) {
|
|
5577
|
+
event.preventDefault();
|
|
5578
|
+
closeEditorStatusCenter();
|
|
5579
|
+
return;
|
|
5580
|
+
}
|
|
5343
5581
|
if (key === 'escape' && snapSettingsOpen) {
|
|
5344
5582
|
event.preventDefault();
|
|
5345
5583
|
closeSnapSettingsPopover();
|
|
@@ -5368,17 +5606,13 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5368
5606
|
const primaryModifier = event.metaKey || event.ctrlKey;
|
|
5369
5607
|
const handleDocumentShortcut = inputRouter.shouldHandleDocumentShortcut(event);
|
|
5370
5608
|
const handleGlobalShortcut = inputRouter.shouldHandleGlobalShortcut(event);
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
key,
|
|
5375
|
-
shiftKey: event.shiftKey,
|
|
5376
|
-
metaKey: event.metaKey,
|
|
5377
|
-
ctrlKey: event.ctrlKey,
|
|
5378
|
-
altKey: event.altKey,
|
|
5379
|
-
})) {
|
|
5609
|
+
const contextAction = currentState.contextActions?.find(action => (action.availability.state !== 'hidden'
|
|
5610
|
+
&& matchesContextActionShortcut(action.shortcut, event)));
|
|
5611
|
+
if (handleDocumentShortcut && contextAction) {
|
|
5380
5612
|
event.preventDefault();
|
|
5381
|
-
|
|
5613
|
+
if (contextAction.availability.state === 'enabled') {
|
|
5614
|
+
callbacks.onContextAction?.(contextAction.id);
|
|
5615
|
+
}
|
|
5382
5616
|
return;
|
|
5383
5617
|
}
|
|
5384
5618
|
if (handleDocumentShortcut
|
|
@@ -5403,33 +5637,17 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5403
5637
|
callbacks.onRedo?.();
|
|
5404
5638
|
return;
|
|
5405
5639
|
}
|
|
5406
|
-
if (
|
|
5407
|
-
inPrefabStage: currentState.prefabStage != null,
|
|
5408
|
-
handleGlobalShortcut,
|
|
5409
|
-
key,
|
|
5410
|
-
metaKey: event.metaKey,
|
|
5411
|
-
ctrlKey: event.ctrlKey,
|
|
5412
|
-
altKey: event.altKey,
|
|
5413
|
-
})) {
|
|
5414
|
-
event.preventDefault();
|
|
5415
|
-
return;
|
|
5416
|
-
}
|
|
5417
|
-
if (!currentState.prefabStage && handleGlobalShortcut && hierarchyController.handleEditShortcut(event)) {
|
|
5640
|
+
if (handleGlobalShortcut && hierarchyController.handleEditShortcut(event)) {
|
|
5418
5641
|
return;
|
|
5419
5642
|
}
|
|
5420
5643
|
if (!handleGlobalShortcut || event.metaKey || event.ctrlKey || event.altKey)
|
|
5421
5644
|
return;
|
|
5422
|
-
const
|
|
5423
|
-
|
|
5424
|
-
w: 'move',
|
|
5425
|
-
e: 'rotate',
|
|
5426
|
-
r: 'scale',
|
|
5427
|
-
};
|
|
5428
|
-
const tool = toolByKey[key];
|
|
5645
|
+
const tool = currentState.tools?.find(candidate => (candidate.kind === 'primary'
|
|
5646
|
+
&& candidate.shortcut?.toLowerCase() === key));
|
|
5429
5647
|
if (tool) {
|
|
5430
5648
|
event.preventDefault();
|
|
5431
|
-
if (
|
|
5432
|
-
callbacks.
|
|
5649
|
+
if (tool.availability.state === 'enabled')
|
|
5650
|
+
callbacks.onToolActivate?.(tool.id);
|
|
5433
5651
|
return;
|
|
5434
5652
|
}
|
|
5435
5653
|
if (key === 'f') {
|
|
@@ -5464,8 +5682,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5464
5682
|
: operationState.canDistribute;
|
|
5465
5683
|
}
|
|
5466
5684
|
function getPreviewToolSupport(tool) {
|
|
5467
|
-
|
|
5468
|
-
return resolveLocalEditorPreviewToolSupport({ inPrefabStage, tool });
|
|
5685
|
+
return resolveLocalEditorPreviewToolSupport({ capabilities: currentState?.capabilities, tool });
|
|
5469
5686
|
}
|
|
5470
5687
|
function isPreviewToolVisible(tool) {
|
|
5471
5688
|
return currentState?.mode === 'editor' && getPreviewToolSupport(tool).support !== 'hidden';
|
|
@@ -5506,29 +5723,20 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5506
5723
|
};
|
|
5507
5724
|
}
|
|
5508
5725
|
function renderPrefabStagePropertiesPanel(stage) {
|
|
5509
|
-
inspectorPanel.dataset.editorPanelId = '
|
|
5726
|
+
inspectorPanel.dataset.editorPanelId = 'inspector';
|
|
5510
5727
|
inspectorPanel.style.display = '';
|
|
5511
5728
|
renderingPanel.style.display = 'none';
|
|
5512
|
-
if (
|
|
5513
|
-
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, {
|
|
5514
|
-
...currentState,
|
|
5515
|
-
selectedIds: stage.inspectorObject.targetIds,
|
|
5516
|
-
activeId: stage.inspectorObject.activeId,
|
|
5517
|
-
selectionSummary: {
|
|
5518
|
-
count: stage.inspectorObject.targetIds.length,
|
|
5519
|
-
activeId: stage.inspectorObject.activeId,
|
|
5520
|
-
},
|
|
5521
|
-
inspectorObject: stage.inspectorObject,
|
|
5522
|
-
inspectorMultiObject: null,
|
|
5523
|
-
}, inspectorFilter, {
|
|
5729
|
+
if (currentState?.inspectorObject) {
|
|
5730
|
+
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, currentState, inspectorFilter, {
|
|
5524
5731
|
...options.inspector,
|
|
5732
|
+
layerHost: editorUiLayerHost,
|
|
5525
5733
|
title: 'Prefab Properties',
|
|
5526
5734
|
emptyText: 'Select an item in Prefab Explorer.',
|
|
5527
|
-
summaryTitle: 'Prefab',
|
|
5528
5735
|
lockedVectorGroups: lockedInspectorVectorGroups,
|
|
5529
5736
|
});
|
|
5530
5737
|
return;
|
|
5531
5738
|
}
|
|
5739
|
+
LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel);
|
|
5532
5740
|
LocalEditorShared.clearElement(inspectorPanel);
|
|
5533
5741
|
inspectorPanel.appendChild(createPrefabStagePanelHeader('Prefab Properties', 'inspector'));
|
|
5534
5742
|
const selectedItem = findLocalEditorPrefabStageStructureItem(stage, stage.selectedItemId);
|
|
@@ -5673,23 +5881,32 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5673
5881
|
const transformStatusText = transformTool?.dragPhase === 'dragging'
|
|
5674
5882
|
? `正在拖拽 ${transformTool.draggingNodeId ?? '选择对象'}`
|
|
5675
5883
|
: LocalEditorShared.toTransformToolStatusLabel(transformTool?.activeTool ?? 'select', transformTool?.activeSpace ?? 'world');
|
|
5676
|
-
const
|
|
5884
|
+
const statusViewModel = createLocalEditorStatusCenterViewModel(state);
|
|
5885
|
+
const statusDiagnostics = statusViewModel.diagnostics;
|
|
5886
|
+
const resolvedDiagnosticTone = statusViewModel.severity;
|
|
5887
|
+
const diagnosticTone = resolvedDiagnosticTone === 'default' ? state.statusTone : resolvedDiagnosticTone;
|
|
5888
|
+
const statusToneColor = diagnosticTone === 'error'
|
|
5677
5889
|
? 'var(--fps-editor-danger-strong)'
|
|
5678
|
-
:
|
|
5890
|
+
: diagnosticTone === 'warning'
|
|
5679
5891
|
? 'var(--fps-editor-warn)'
|
|
5680
|
-
:
|
|
5892
|
+
: diagnosticTone === 'success'
|
|
5681
5893
|
? 'var(--fps-editor-success)'
|
|
5682
5894
|
: 'var(--fps-editor-muted)';
|
|
5895
|
+
setToolbarButtonIcon(doc, editorStatusButton, statusViewModel.icon);
|
|
5683
5896
|
setToolbarButtonTooltip(editorStatusButton, [
|
|
5684
|
-
|
|
5897
|
+
`验证中心:${editorStatusText}`,
|
|
5685
5898
|
state.statusDetails && state.statusDetails !== state.status ? state.statusDetails : '',
|
|
5686
5899
|
transformStatusText,
|
|
5687
5900
|
LocalEditorShared.toTransformOperationStatusLabel(transformOperations.settings),
|
|
5901
|
+
statusDiagnostics.length > 0 ? `${statusDiagnostics.length} 条诊断,点击查看并复制` : '',
|
|
5688
5902
|
].filter(Boolean).join(' · '));
|
|
5689
5903
|
editorStatusButton.style.color = statusToneColor;
|
|
5690
|
-
editorStatusButton.style.borderColor =
|
|
5904
|
+
editorStatusButton.style.borderColor = diagnosticTone == null || diagnosticTone === 'default'
|
|
5691
5905
|
? 'var(--fps-editor-border)'
|
|
5692
5906
|
: statusToneColor;
|
|
5907
|
+
editorStatusButton.dataset.editorStatusSeverity = diagnosticTone ?? 'default';
|
|
5908
|
+
if (editorStatusCenterOpen)
|
|
5909
|
+
renderEditorStatusCenter(state);
|
|
5693
5910
|
const agentBridgeStatusColor = resolveAgentBridgeStatusToneColor(state.agentBridge);
|
|
5694
5911
|
agentBridgeStatusButton.style.display = inEditor ? 'inline-flex' : 'none';
|
|
5695
5912
|
agentBridgeStatusButton.style.color = agentBridgeStatusColor;
|
|
@@ -5700,20 +5917,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5700
5917
|
renderCoordinateAxesOverlay(coordinateAxesOverlay, inEditor ? state.coordinateAxes ?? null : null);
|
|
5701
5918
|
renderSceneFrameRateOverlay(sceneFrameRateOverlay, inEditor && !inPrefabStage ? state.sceneFrameStats ?? null : null);
|
|
5702
5919
|
renderPerformanceMonitorOverlay(performanceMonitorOverlay, inEditor && !inPrefabStage ? state.performanceStats ?? null : null, inEditor && !inPrefabStage && performanceMonitorOpen);
|
|
5703
|
-
const comparisonColumnVisible = shouldShowLocalEditorPrefabComparisonColumn({
|
|
5704
|
-
inPrefabStage: inEditor && inPrefabStage,
|
|
5705
|
-
userOpen: prefabComparisonPreviewOpen,
|
|
5706
|
-
sceneWidth: workbench.sceneFrame.clientWidth,
|
|
5707
|
-
});
|
|
5708
|
-
if (!comparisonColumnVisible)
|
|
5709
|
-
endPrefabComparisonPreviewDrag();
|
|
5710
5920
|
prefabStagePreviewLayout.root.style.display = inEditor && inPrefabStage ? 'block' : 'none';
|
|
5711
|
-
prefabStagePreviewLayout.mainRegion.style.right = comparisonColumnVisible
|
|
5712
|
-
? `${LOCAL_EDITOR_PREFAB_COMPARISON_COLUMN_WIDTH_PX}px`
|
|
5713
|
-
: '0';
|
|
5714
|
-
prefabStagePreviewLayout.comparisonColumn.style.display = comparisonColumnVisible ? 'flex' : 'none';
|
|
5715
5921
|
renderPrefabImportStatsOverlay(prefabImportStatsOverlay, inEditor && inPrefabStage ? state.prefabStage ?? null : null);
|
|
5716
|
-
renderPrefabComparisonPreviewOverlay(prefabComparisonPreviewOverlay, inEditor && inPrefabStage && comparisonColumnVisible ? state.prefabStage ?? null : null);
|
|
5717
5922
|
renderSpatialOverlay(spatialOverlay, inEditor ? state.viewportSpatialOverlay ?? null : null);
|
|
5718
5923
|
renderMeasurementOverlay(measurementOverlay, inEditor ? state.viewportMeasurement ?? null : null);
|
|
5719
5924
|
const boxSelection = state.boxSelection;
|
|
@@ -5739,10 +5944,17 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5739
5944
|
...preview,
|
|
5740
5945
|
};
|
|
5741
5946
|
renderPreviewState(currentState);
|
|
5742
|
-
if (
|
|
5947
|
+
if (shouldRenderLocalEditorInspectorPreview({
|
|
5948
|
+
hasInspectorPreview: shouldRenderInspectorPreview,
|
|
5949
|
+
mode: currentState.mode,
|
|
5950
|
+
inPrefabStage: !!currentState.prefabStage,
|
|
5951
|
+
rightDockVisible: rightDockFormalSurfaceVisibility.isVisible(),
|
|
5952
|
+
activeRightTab: panelRegistry.getRightDockTab(),
|
|
5953
|
+
})) {
|
|
5743
5954
|
const rightDockScrollSnapshot = captureLocalEditorRightDockScrollSnapshot(currentState, 'inspector', inspectorFilter, inspectorPanel, renderingPanel, markersPanel, pluginsPanel);
|
|
5744
5955
|
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, currentState, inspectorFilter, {
|
|
5745
5956
|
...options.inspector,
|
|
5957
|
+
layerHost: editorUiLayerHost,
|
|
5746
5958
|
lockedVectorGroups: lockedInspectorVectorGroups,
|
|
5747
5959
|
});
|
|
5748
5960
|
restoreLocalEditorRightDockScrollSnapshot(rightDockScrollSnapshot, currentState, 'inspector', inspectorFilter, inspectorPanel, renderingPanel, markersPanel, pluginsPanel);
|
|
@@ -5761,9 +5973,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5761
5973
|
const previousInPrefabStage = previousState?.mode === 'editor' && !!previousState.prefabStage;
|
|
5762
5974
|
if (!inEditor || disabled)
|
|
5763
5975
|
contextMenu.close();
|
|
5764
|
-
hostChrome.style.display = !inEditor && localTestActionsEnabled ? 'flex' : 'none';
|
|
5976
|
+
hostChrome.style.display = !inEditor && localTestActionsEnabled && gameModeEntryVisible ? 'flex' : 'none';
|
|
5765
5977
|
enterEditorButton.disabled = disabled;
|
|
5766
|
-
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]) {
|
|
5767
5979
|
button.style.display = 'inline-flex';
|
|
5768
5980
|
button.disabled = disabled;
|
|
5769
5981
|
}
|
|
@@ -5771,8 +5983,12 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5771
5983
|
localTestButton.disabled = !isPreviewToolEnabled('local-test') || !localTestActionsEnabled;
|
|
5772
5984
|
if (!inEditor || !localTestActionsEnabled || localTestGroup.style.display === 'none')
|
|
5773
5985
|
closeLocalTestMenu();
|
|
5774
|
-
if (!inEditor)
|
|
5986
|
+
if (!inEditor) {
|
|
5775
5987
|
helpOpen = false;
|
|
5988
|
+
if (shouldCloseLocalEditorStatusCenter({ inEditor, open: editorStatusCenterOpen })) {
|
|
5989
|
+
closeEditorStatusCenter();
|
|
5990
|
+
}
|
|
5991
|
+
}
|
|
5776
5992
|
if (shouldLocalEditorClosePerformanceMonitor({ inEditor, inPrefabStage, performanceMonitorOpen })) {
|
|
5777
5993
|
setPerformanceMonitorOpen(false);
|
|
5778
5994
|
}
|
|
@@ -5783,6 +5999,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5783
5999
|
assetPickerOpen = false;
|
|
5784
6000
|
assetPickerInput = null;
|
|
5785
6001
|
assetPickerProperty = null;
|
|
6002
|
+
settleHierarchyOperationInputRequest(null);
|
|
5786
6003
|
}
|
|
5787
6004
|
syncInputModalOpen();
|
|
5788
6005
|
const transformTool = state.transformTool ?? null;
|
|
@@ -5790,7 +6007,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5790
6007
|
workbench.root.dataset.editorPrefabStage = String(inPrefabStage);
|
|
5791
6008
|
sceneTitle.textContent = createLocalEditorPrefabStageTitle(prefabStage);
|
|
5792
6009
|
sceneToolOverlay.style.display = inEditor ? 'flex' : 'none';
|
|
5793
|
-
|
|
6010
|
+
renderContextActionButtons(contextActionGroup, state.contextActions ?? [], disabled);
|
|
5794
6011
|
if (inPrefabStage && !previousInPrefabStage) {
|
|
5795
6012
|
prefabStageMainWorkbenchLayoutSnapshot = workbenchLayoutController.getLayout();
|
|
5796
6013
|
workbenchLayoutController.setBottomCollapsed(false);
|
|
@@ -5799,6 +6016,9 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5799
6016
|
workbenchLayoutController.setLayout(prefabStageMainWorkbenchLayoutSnapshot, true);
|
|
5800
6017
|
prefabStageMainWorkbenchLayoutSnapshot = null;
|
|
5801
6018
|
}
|
|
6019
|
+
if (!inPrefabStage) {
|
|
6020
|
+
LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel);
|
|
6021
|
+
}
|
|
5802
6022
|
workbench.leftToggle.style.display = '';
|
|
5803
6023
|
workbench.rightToggle.style.display = '';
|
|
5804
6024
|
workbench.bottomToggle.style.display = '';
|
|
@@ -5865,6 +6085,10 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5865
6085
|
markerVisibilityButton.disabled = disabled;
|
|
5866
6086
|
setToolbarButtonTooltip(markerVisibilityButton, markersVisible ? '隐藏标记与关系线' : '显示标记与关系线');
|
|
5867
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);
|
|
5868
6092
|
overlaySettingsButton.disabled = !isPreviewToolEnabled('spatial-overlay');
|
|
5869
6093
|
setToolbarButtonTooltip(overlaySettingsButton, '视口信息层设置');
|
|
5870
6094
|
LocalEditorShared.applyButtonActiveState(overlaySettingsButton, overlaySettingsOpen);
|
|
@@ -5893,24 +6117,15 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5893
6117
|
? performanceMonitorOpen ? '隐藏性能监控' : '显示性能监控'
|
|
5894
6118
|
: performanceMonitorSupport.reason);
|
|
5895
6119
|
LocalEditorShared.applyButtonActiveState(performanceMonitorButton, performanceMonitorOpen);
|
|
5896
|
-
prefabComparisonPreviewButton.style.display = isPreviewToolVisible('prefab-comparison') ? 'inline-flex' : 'none';
|
|
5897
|
-
prefabComparisonPreviewButton.disabled = !isPreviewToolEnabled('prefab-comparison');
|
|
5898
|
-
const prefabComparisonSupport = getPreviewToolSupport('prefab-comparison');
|
|
5899
|
-
setToolbarButtonTooltip(prefabComparisonPreviewButton, prefabComparisonSupport.support === 'enabled'
|
|
5900
|
-
? prefabComparisonPreviewOpen
|
|
5901
|
-
? '隐藏对比预览 (Shift+P)'
|
|
5902
|
-
: '显示对比预览 (Shift+P)'
|
|
5903
|
-
: prefabComparisonSupport.reason);
|
|
5904
|
-
LocalEditorShared.applyButtonActiveState(prefabComparisonPreviewButton, inPrefabStage && prefabComparisonPreviewOpen);
|
|
5905
6120
|
gridToggleButton.disabled = disabled || !gridState.available;
|
|
5906
6121
|
setToolbarButtonTooltip(gridToggleButton, gridState.visible ? '隐藏 Scene View 网格' : '显示 Scene View 网格');
|
|
5907
6122
|
LocalEditorShared.applyButtonActiveState(gridToggleButton, gridState.visible);
|
|
5908
|
-
|
|
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';
|
|
5909
6128
|
spaceGroup.style.display = isPreviewToolVisible('transform-space') ? 'flex' : 'none';
|
|
5910
|
-
for (const [tool, button] of toolButtons) {
|
|
5911
|
-
button.disabled = !isPreviewToolEnabled(tool);
|
|
5912
|
-
LocalEditorShared.applyButtonActiveState(button, transformTool?.activeTool === tool);
|
|
5913
|
-
}
|
|
5914
6129
|
for (const [space, button] of Object.entries(spaceButtons)) {
|
|
5915
6130
|
button.disabled = !isPreviewToolEnabled('transform-space');
|
|
5916
6131
|
LocalEditorShared.applyButtonActiveState(button, transformTool?.activeSpace === space);
|
|
@@ -5970,9 +6185,14 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
5970
6185
|
dirtyBadge.style.display = inEditor && state.session?.dirty ? 'inline-flex' : 'none';
|
|
5971
6186
|
renderPreviewState(state);
|
|
5972
6187
|
scheduleToolbarOverflowLayout();
|
|
5973
|
-
if (!inEditor)
|
|
6188
|
+
if (!inEditor) {
|
|
6189
|
+
LocalEditorPanels.disposeInspectorPanelUi(renderingPanel);
|
|
5974
6190
|
return;
|
|
6191
|
+
}
|
|
5975
6192
|
const activeRightTab = panelRegistry.getRightDockTab();
|
|
6193
|
+
if (inPrefabStage || activeRightTab !== 'rendering') {
|
|
6194
|
+
LocalEditorPanels.disposeInspectorPanelUi(renderingPanel);
|
|
6195
|
+
}
|
|
5976
6196
|
if (inPrefabStage && prefabStage) {
|
|
5977
6197
|
const rightDockVisibility = resolveLocalEditorRightDockVisibility({
|
|
5978
6198
|
inPrefabStage: true,
|
|
@@ -6003,10 +6223,12 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6003
6223
|
if (activeBottomTab === 'assets' && selectedAssetChanged && state.selectedAssetId && !suppressAssetScroll) {
|
|
6004
6224
|
revealSelectedAssetBrowserItem(state.selectedAssetId);
|
|
6005
6225
|
}
|
|
6226
|
+
revealPendingStatusDiagnosticAsset(state);
|
|
6006
6227
|
lastRenderedAssetBrowserTab = assetBrowserTab;
|
|
6007
6228
|
lastRenderedBottomDockTab = activeBottomTab;
|
|
6008
6229
|
lastRenderedSelectedAssetId = state.selectedAssetId ?? null;
|
|
6009
6230
|
restoreLocalEditorEditableFocus(doc, focusSnapshot);
|
|
6231
|
+
revealPendingStatusDiagnosticPath(state);
|
|
6010
6232
|
return;
|
|
6011
6233
|
}
|
|
6012
6234
|
leftDockTabs.style.display = '';
|
|
@@ -6045,18 +6267,25 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6045
6267
|
if (activeBottomTab === 'assets' && selectedAssetChanged && state.selectedAssetId && !suppressAssetScroll) {
|
|
6046
6268
|
revealSelectedAssetBrowserItem(state.selectedAssetId);
|
|
6047
6269
|
}
|
|
6270
|
+
revealPendingStatusDiagnosticAsset(state);
|
|
6048
6271
|
lastRenderedAssetBrowserTab = assetBrowserTab;
|
|
6049
6272
|
lastRenderedBottomDockTab = activeBottomTab;
|
|
6050
6273
|
lastRenderedSelectedAssetId = state.selectedAssetId;
|
|
6051
6274
|
LocalEditorPanels.renderWorkbenchRightDockTabs(doc, rightDockTabs, activeRightTab, panelRegistry.getPanels('right'));
|
|
6052
|
-
|
|
6275
|
+
const rightDockVisible = rightDockFormalSurfaceVisibility.isVisible();
|
|
6276
|
+
if (!rightDockVisible) {
|
|
6277
|
+
LocalEditorPanels.disposeInspectorPanelUi(inspectorPanel);
|
|
6278
|
+
LocalEditorPanels.disposeInspectorPanelUi(renderingPanel);
|
|
6279
|
+
}
|
|
6280
|
+
else if (activeRightTab === 'inspector') {
|
|
6053
6281
|
LocalEditorPanels.renderInspectorPanel(doc, inspectorPanel, state, inspectorFilter, {
|
|
6054
6282
|
...options.inspector,
|
|
6283
|
+
layerHost: editorUiLayerHost,
|
|
6055
6284
|
lockedVectorGroups: lockedInspectorVectorGroups,
|
|
6056
6285
|
});
|
|
6057
6286
|
}
|
|
6058
6287
|
else if (activeRightTab === 'rendering') {
|
|
6059
|
-
LocalEditorPanels.renderRenderingPanel(doc, renderingPanel, state);
|
|
6288
|
+
LocalEditorPanels.renderRenderingPanel(doc, renderingPanel, state, { layerHost: editorUiLayerHost });
|
|
6060
6289
|
}
|
|
6061
6290
|
else if (activeRightTab === 'markers') {
|
|
6062
6291
|
LocalEditorPanels.renderMarkerPanel(doc, markersPanel, state);
|
|
@@ -6066,6 +6295,7 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6066
6295
|
}
|
|
6067
6296
|
restoreLocalEditorEditableFocus(doc, focusSnapshot);
|
|
6068
6297
|
restoreLocalEditorRightDockScrollSnapshot(rightDockScrollSnapshot, state, activeRightTab, inspectorFilter, inspectorPanel, renderingPanel, markersPanel, pluginsPanel);
|
|
6298
|
+
revealPendingStatusDiagnosticPath(state);
|
|
6069
6299
|
};
|
|
6070
6300
|
const completedCleanup = new Set();
|
|
6071
6301
|
let uiDisposed = false;
|
|
@@ -6084,15 +6314,15 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6084
6314
|
currentState = { ...currentState, performanceStats: stats };
|
|
6085
6315
|
renderPerformanceMonitorOverlay(performanceMonitorOverlay, currentState?.mode === 'editor' && !currentState.prefabStage ? stats : null, currentState?.mode === 'editor' && !currentState.prefabStage && performanceMonitorOpen);
|
|
6086
6316
|
},
|
|
6087
|
-
getPrefabComparisonPreviewSurfaces() {
|
|
6088
|
-
return readPrefabComparisonPreviewSurfaces(prefabComparisonPreviewOverlay);
|
|
6089
|
-
},
|
|
6090
6317
|
alert(input) {
|
|
6091
6318
|
return modalDialog.alert(input);
|
|
6092
6319
|
},
|
|
6093
6320
|
confirm(input) {
|
|
6094
6321
|
return modalDialog.confirm(input);
|
|
6095
6322
|
},
|
|
6323
|
+
choose(input) {
|
|
6324
|
+
return modalDialog.choose(input);
|
|
6325
|
+
},
|
|
6096
6326
|
setTheme(theme) {
|
|
6097
6327
|
setActiveTheme(theme);
|
|
6098
6328
|
},
|
|
@@ -6125,6 +6355,8 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6125
6355
|
toolbarOverflowButton.removeEventListener('click', onToolbarOverflowButtonClick);
|
|
6126
6356
|
});
|
|
6127
6357
|
run('local-test-click', () => localTestButton.removeEventListener('click', onLocalTestButtonClick));
|
|
6358
|
+
run('editor-status-click', () => editorStatusButton.removeEventListener('click', onEditorStatusButtonClick));
|
|
6359
|
+
run('editor-status-copy-all-click', () => editorStatusCopyAllButton.removeEventListener('click', onEditorStatusCopyAllClick));
|
|
6128
6360
|
run('toolbar-overflow-pointerdown', () => {
|
|
6129
6361
|
doc.removeEventListener('pointerdown', onToolbarOverflowPointerDown);
|
|
6130
6362
|
});
|
|
@@ -6132,8 +6364,12 @@ function createLocalEditorBrowserUiImplementation(options, construction) {
|
|
|
6132
6364
|
doc.defaultView?.removeEventListener('resize', scheduleToolbarOverflowLayout);
|
|
6133
6365
|
});
|
|
6134
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());
|
|
6135
6370
|
run('workbench-root', () => workbench.root.remove());
|
|
6136
6371
|
run('local-test-menu', () => localTestMenu.remove());
|
|
6372
|
+
run('editor-status-center', () => editorStatusCenter.remove());
|
|
6137
6373
|
run('toolbar-overflow-menu', () => toolbarOverflowMenu.remove());
|
|
6138
6374
|
run('static-shadow-bake-popover', () => staticShadowBakePopover.remove());
|
|
6139
6375
|
run('snap-settings-popover', () => snapSettingsPopover.remove());
|