@fps-games/editor 0.2.0-beta.4 → 0.2.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.js +12 -6
- package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
- package/dist/agent-bridge/capabilities/hierarchy.d.ts +4 -0
- package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +1 -0
- package/dist/agent-bridge/capabilities/hierarchy.js +209 -0
- package/dist/agent-bridge/capabilities/hierarchy.js.map +1 -0
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js +208 -73
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +3 -4
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +24 -23
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js +829 -66
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/ui-regions.js +19 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.js +22 -9
- package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
- package/dist/agent-bridge/capability-sources.d.ts.map +1 -1
- package/dist/agent-bridge/capability-sources.js +2 -0
- package/dist/agent-bridge/capability-sources.js.map +1 -1
- package/dist/agent-bridge/register.d.ts.map +1 -1
- package/dist/agent-bridge/register.js +194 -0
- package/dist/agent-bridge/register.js.map +1 -1
- package/dist/agent-bridge/shared.d.ts +231 -11
- package/dist/agent-bridge/shared.d.ts.map +1 -1
- package/dist/agent-bridge/shared.js +162 -20
- package/dist/agent-bridge/shared.js.map +1 -1
- package/dist/agent-bridge/source-types.d.ts +17 -1
- package/dist/agent-bridge/source-types.d.ts.map +1 -1
- package/dist/agent-bridge/source-types.js.map +1 -1
- package/dist/build-info.json +57 -42
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/babylon-preview-engine.d.ts +3 -0
- package/dist/internal/babylon-preview-engine.d.ts.map +1 -0
- package/dist/internal/babylon-preview-engine.js +11 -0
- package/dist/internal/babylon-preview-engine.js.map +1 -0
- package/dist/internal/material-preview.d.ts +22 -0
- package/dist/internal/material-preview.d.ts.map +1 -0
- package/dist/internal/material-preview.js +186 -0
- package/dist/internal/material-preview.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/internal/project-model-preview.d.ts +4 -0
- package/dist/internal/project-model-preview.d.ts.map +1 -0
- package/dist/internal/project-model-preview.js +359 -0
- package/dist/internal/project-model-preview.js.map +1 -0
- package/dist/local-editor-agent-actions.d.ts +2 -4
- package/dist/local-editor-agent-actions.d.ts.map +1 -1
- package/dist/local-editor-agent-actions.js +56 -32
- package/dist/local-editor-agent-actions.js.map +1 -1
- package/dist/local-editor-agent-context.d.ts +17 -6
- package/dist/local-editor-agent-context.d.ts.map +1 -1
- package/dist/local-editor-agent-context.js +47 -0
- package/dist/local-editor-agent-context.js.map +1 -1
- package/dist/local-editor-harness.d.ts +353 -35
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +4115 -1313
- 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 +19 -0
- package/dist/local-editor-tools.d.ts.map +1 -0
- package/dist/local-editor-tools.js +56 -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 +55 -29
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js +50 -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 +180 -17
- 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 +57 -20
- 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/marker-overlay.js +24 -0
- package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.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 +26 -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 +396 -363
- 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/scene-view-spatial-overlay-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js +85 -22
- package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-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 +87 -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 +1746 -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/transform-gizmo-controller.d.ts +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +249 -15
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/types.d.ts +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/types.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 +13 -11
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +9 -9
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.d.ts +35 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.js +136 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.d.ts +46 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.js +283 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.js.map +1 -0
- 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-preview-cleanup-registry.d.ts +12 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-preview-cleanup-registry.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-preview-cleanup-registry.js +67 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-preview-cleanup-registry.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.d.ts +6 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.js +9 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.d.ts +7 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.js +20 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.d.ts +9 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.js +219 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.d.ts +14 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.js +42 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.js.map +1 -0
- 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 +8 -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-console.d.ts +27 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-console.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-console.js +288 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-console.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js +157 -77
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js +27 -21
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +19 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +44 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +36 -6
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +829 -866
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts +8 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js +1 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts +7 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js +20 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +6 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +266 -114
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +34 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +3 -17
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts +14 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js +44 -62
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +30 -8
- 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 +911 -698
- 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 +10 -37
- 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 +29 -105
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js +29 -110
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts +1 -3
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +6 -90
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js +9 -54
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +16 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +44 -39
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts +4 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js +44 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js +35 -44
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js +40 -24
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js +2 -20
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +114 -343
- 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 +13 -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 +120 -134
- 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 +6 -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 +2019 -861
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.d.ts +13 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.js +15 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts +2 -3
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js +0 -180
- package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts +5 -0
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js +5 -0
- package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/package.json +15 -4
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts +22 -0
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js +226 -0
- package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +94 -2
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +24 -2
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +70 -10
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts +113 -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 +615 -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/dist/viewport-tools.d.ts +11 -2
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.js +12 -1
- package/node_modules/@fps-games/editor-core/dist/viewport-tools.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.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +63 -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/asset-library/index.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js +15 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js +3 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.d.ts +6 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/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 +4 -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 +7 -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 +9 -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 +16 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-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/project-files/index.d.ts +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/index.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/index.js +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/index.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.d.ts +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.js +86 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.d.ts +9 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.js +76 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.d.ts +34 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.js +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.js.map +1 -0
- 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 +4 -0
- 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 +54 -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/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/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 +1 -0
- 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 +101 -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/project-file-handle.d.ts +14 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-file-handle.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-file-handle.js +101 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-file-handle.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.d.ts +23 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.js +180 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.js.map +1 -0
- 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/agent.d.ts +23 -3
- package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.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 +746 -0
- package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts +3 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.js +3 -0
- package/node_modules/@fps-games/editor-ui/dist/gallery.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/index.d.ts +5 -0
- package/node_modules/@fps-games/editor-ui/dist/index.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/index.js +5 -0
- package/node_modules/@fps-games/editor-ui/dist/index.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts +7 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js +29 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts +2 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js +95 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts +28 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js +387 -0
- package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js.map +1 -0
- package/node_modules/@fps-games/editor-ui/package.json +23 -0
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/playable-contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/index.js +1 -0
- package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts +116 -0
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.js +403 -0
- package/node_modules/@fps-games/playable-contracts/dist/material-owner.js.map +1 -0
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.d.ts +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/index.js +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js +5 -25
- package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js +3 -0
- package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts +61 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js +176 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts +84 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js +362 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts +167 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js +484 -0
- package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js.map +1 -0
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts +5 -0
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +1 -0
- package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +5 -5
- package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts +6 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js +16 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts +7 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js +47 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +306 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +1237 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts +8 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js +32 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +2 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +2 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/package.json +57 -0
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts +8 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js +35 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts +11 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js +14 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +2 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +2 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -0
- package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +53 -0
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/node_modules/@playcanvas/observer/LICENSE +19 -0
- package/node_modules/@playcanvas/observer/README.md +72 -0
- package/node_modules/@playcanvas/observer/dist/index.cjs +2033 -0
- package/node_modules/@playcanvas/observer/dist/index.js +2039 -0
- package/node_modules/@playcanvas/observer/dist/index.mjs +2026 -0
- package/node_modules/@playcanvas/observer/package.json +78 -0
- package/node_modules/@playcanvas/observer/types/event-handle.d.ts +41 -0
- package/node_modules/@playcanvas/observer/types/events.d.ts +162 -0
- package/node_modules/@playcanvas/observer/types/history.d.ts +123 -0
- package/node_modules/@playcanvas/observer/types/index.d.ts +15 -0
- package/node_modules/@playcanvas/observer/types/observer-history.d.ts +32 -0
- package/node_modules/@playcanvas/observer/types/observer-list.d.ts +39 -0
- package/node_modules/@playcanvas/observer/types/observer.d.ts +157 -0
- package/node_modules/@playcanvas/observer/types/utils.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/LICENSE +19 -0
- package/node_modules/@playcanvas/pcui/README.md +164 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
- package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/Math/color-value.mjs +77 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingBase/index.mjs +215 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/class.mjs +19 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/ArrayInput/index.mjs +498 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/BooleanInput/index.mjs +122 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Button/index.mjs +119 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Canvas/index.mjs +104 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Code/index.mjs +43 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/ColorPicker/index.mjs +619 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Container/index.mjs +642 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Divider/index.mjs +20 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Element/index.mjs +829 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/GradientPicker/index.mjs +1136 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/GridView/index.mjs +448 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/GridViewItem/index.mjs +152 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/InfoBox/index.mjs +90 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/InputElement/index.mjs +186 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Label/index.mjs +124 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/LabelGroup/index.mjs +74 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Menu/index.mjs +174 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/MenuItem/index.mjs +223 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/NumericInput/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Overlay/index.mjs +108 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Panel/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Progress/index.mjs +45 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/RadioButton/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/SelectInput/index.mjs +1085 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/SliderInput/index.mjs +333 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/Spinner/index.mjs +34 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TextAreaInput/index.mjs +50 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TextInput/index.mjs +98 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeView/index.mjs +1131 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeViewItem/index.mjs +500 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/components/VectorInput/index.mjs +366 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/helpers/search.mjs +194 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/helpers/utils.mjs +43 -0
- package/node_modules/@playcanvas/pcui/dist/module/src/index.mjs +56 -0
- package/node_modules/@playcanvas/pcui/dist/pcui-theme-green.scss +2798 -0
- package/node_modules/@playcanvas/pcui/dist/pcui-theme-grey.scss +2798 -0
- package/node_modules/@playcanvas/pcui/package.json +150 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/Math/color-value.mjs +77 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingBase/index.mjs +215 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/class.mjs +19 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/index.mjs +498 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/index.mjs +122 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/index.mjs +119 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/index.mjs +104 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/index.mjs +43 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/index.mjs +619 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/component.mjs +36 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/index.mjs +642 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/index.mjs +20 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/component.mjs +107 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/index.mjs +829 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/index.mjs +1136 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/component.mjs +38 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/index.mjs +448 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/index.mjs +152 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/index.mjs +90 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InputElement/index.mjs +186 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/index.mjs +124 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/component.mjs +42 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/index.mjs +74 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/component.mjs +23 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/index.mjs +174 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/MenuItem/index.mjs +223 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/index.mjs +108 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/component.mjs +32 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/index.mjs +400 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/index.mjs +45 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/index.mjs +113 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/component.mjs +21 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/index.mjs +1085 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/component.mjs +12 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/index.mjs +333 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/component.mjs +16 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/index.mjs +34 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/index.mjs +50 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/component.mjs +23 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/index.mjs +98 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/component.mjs +52 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/index.mjs +1131 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/component.mjs +33 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/index.mjs +500 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/component.mjs +11 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/index.mjs +366 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/search.mjs +194 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/utils.mjs +43 -0
- package/node_modules/@playcanvas/pcui/react/dist/module/src/index.mjs +39 -0
- package/node_modules/@playcanvas/pcui/react/package.json +18 -0
- package/node_modules/@playcanvas/pcui/react/types/Math/color-value.d.ts +3 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingBase/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingElementToObservers/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingObserversToElement/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/BindingTwoWay/index.d.ts +54 -0
- package/node_modules/@playcanvas/pcui/react/types/binding/index.d.ts +5 -0
- package/node_modules/@playcanvas/pcui/react/types/class.d.ts +17 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/index.d.ts +140 -0
- package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/index.d.ts +41 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Button/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Button/index.d.ts +75 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Canvas/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Canvas/index.d.ts +61 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Code/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Code/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/index.d.ts +99 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Container/component.d.ts +15 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Container/index.d.ts +292 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Divider/component.d.ts +10 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Divider/index.d.ts +13 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Element/component.d.ts +23 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Element/index.d.ts +671 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/index.d.ts +152 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridView/component.d.ts +14 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridView/index.d.ts +103 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/index.d.ts +82 -0
- package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/index.d.ts +71 -0
- package/node_modules/@playcanvas/pcui/react/types/components/InputElement/index.d.ts +84 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Label/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Label/index.d.ts +85 -0
- package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/component.d.ts +10 -0
- package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/index.d.ts +62 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Menu/component.d.ts +14 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Menu/index.d.ts +70 -0
- package/node_modules/@playcanvas/pcui/react/types/components/MenuItem/index.d.ts +139 -0
- package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/index.d.ts +173 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Overlay/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Overlay/index.d.ts +53 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Panel/component.d.ts +16 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Panel/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Progress/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Progress/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/component.d.ts +12 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/index.d.ts +278 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/component.d.ts +10 -0
- package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/index.d.ts +133 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Spinner/component.d.ts +11 -0
- package/node_modules/@playcanvas/pcui/react/types/components/Spinner/index.d.ts +27 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextInput/component.d.ts +12 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TextInput/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeView/component.d.ts +17 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeView/index.d.ts +359 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/component.d.ts +13 -0
- package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/index.d.ts +224 -0
- package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/component.d.ts +9 -0
- package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/index.d.ts +176 -0
- package/node_modules/@playcanvas/pcui/react/types/components/components.d.ts +30 -0
- package/node_modules/@playcanvas/pcui/react/types/components/index.d.ts +32 -0
- package/node_modules/@playcanvas/pcui/react/types/helpers/search.d.ts +31 -0
- package/node_modules/@playcanvas/pcui/react/types/helpers/utils.d.ts +2 -0
- package/node_modules/@playcanvas/pcui/react/types/index.d.ts +4 -0
- package/node_modules/@playcanvas/pcui/styles/dist/index.mjs +11 -0
- package/node_modules/@playcanvas/pcui/styles/package.json +17 -0
- package/node_modules/@playcanvas/pcui/types/Math/color-value.d.ts +3 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingBase/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingElementToObservers/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingObserversToElement/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/types/binding/BindingTwoWay/index.d.ts +54 -0
- package/node_modules/@playcanvas/pcui/types/binding/index.d.ts +5 -0
- package/node_modules/@playcanvas/pcui/types/class.d.ts +17 -0
- package/node_modules/@playcanvas/pcui/types/components/ArrayInput/index.d.ts +140 -0
- package/node_modules/@playcanvas/pcui/types/components/BooleanInput/index.d.ts +41 -0
- package/node_modules/@playcanvas/pcui/types/components/Button/index.d.ts +75 -0
- package/node_modules/@playcanvas/pcui/types/components/Canvas/index.d.ts +61 -0
- package/node_modules/@playcanvas/pcui/types/components/Code/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/types/components/ColorPicker/index.d.ts +99 -0
- package/node_modules/@playcanvas/pcui/types/components/Container/index.d.ts +292 -0
- package/node_modules/@playcanvas/pcui/types/components/Divider/index.d.ts +13 -0
- package/node_modules/@playcanvas/pcui/types/components/Element/index.d.ts +671 -0
- package/node_modules/@playcanvas/pcui/types/components/GradientPicker/index.d.ts +152 -0
- package/node_modules/@playcanvas/pcui/types/components/GridView/index.d.ts +103 -0
- package/node_modules/@playcanvas/pcui/types/components/GridViewItem/index.d.ts +82 -0
- package/node_modules/@playcanvas/pcui/types/components/InfoBox/index.d.ts +71 -0
- package/node_modules/@playcanvas/pcui/types/components/InputElement/index.d.ts +84 -0
- package/node_modules/@playcanvas/pcui/types/components/Label/index.d.ts +85 -0
- package/node_modules/@playcanvas/pcui/types/components/LabelGroup/index.d.ts +62 -0
- package/node_modules/@playcanvas/pcui/types/components/Menu/index.d.ts +70 -0
- package/node_modules/@playcanvas/pcui/types/components/MenuItem/index.d.ts +139 -0
- package/node_modules/@playcanvas/pcui/types/components/NumericInput/index.d.ts +173 -0
- package/node_modules/@playcanvas/pcui/types/components/Overlay/index.d.ts +53 -0
- package/node_modules/@playcanvas/pcui/types/components/Panel/index.d.ts +178 -0
- package/node_modules/@playcanvas/pcui/types/components/Progress/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/types/components/RadioButton/index.d.ts +33 -0
- package/node_modules/@playcanvas/pcui/types/components/SelectInput/index.d.ts +278 -0
- package/node_modules/@playcanvas/pcui/types/components/SliderInput/index.d.ts +133 -0
- package/node_modules/@playcanvas/pcui/types/components/Spinner/index.d.ts +27 -0
- package/node_modules/@playcanvas/pcui/types/components/TextAreaInput/index.d.ts +24 -0
- package/node_modules/@playcanvas/pcui/types/components/TextInput/index.d.ts +40 -0
- package/node_modules/@playcanvas/pcui/types/components/TreeView/index.d.ts +359 -0
- package/node_modules/@playcanvas/pcui/types/components/TreeViewItem/index.d.ts +224 -0
- package/node_modules/@playcanvas/pcui/types/components/VectorInput/index.d.ts +176 -0
- package/node_modules/@playcanvas/pcui/types/components/index.d.ts +32 -0
- package/node_modules/@playcanvas/pcui/types/helpers/search.d.ts +31 -0
- package/node_modules/@playcanvas/pcui/types/helpers/utils.d.ts +2 -0
- package/node_modules/@playcanvas/pcui/types/index.d.ts +20 -0
- package/node_modules/babylonjs-gltf2interface/babylon.glTF2Interface.d.ts +1655 -0
- package/node_modules/babylonjs-gltf2interface/license.md +71 -0
- package/node_modules/babylonjs-gltf2interface/package.json +26 -0
- package/package.json +31 -19
- package/dist/editor-plugin-hierarchy-command.d.ts +0 -19
- package/dist/editor-plugin-hierarchy-command.d.ts.map +0 -1
- package/dist/editor-plugin-hierarchy-command.js +0 -119
- package/dist/editor-plugin-hierarchy-command.js.map +0 -1
- package/node_modules/@babel/helper-string-parser/lib/index.js.map +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/index.js.map +0 -1
- package/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +0 -1
- package/node_modules/@babel/parser/lib/index.js.map +0 -1
- package/node_modules/@babel/types/lib/asserts/assertNode.js.map +0 -1
- package/node_modules/@babel/types/lib/asserts/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/ast-types/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/generated/lowercase.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/productions.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +0 -1
- package/node_modules/@babel/types/lib/builders/validateNode.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/clone.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneDeep.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneNode.js.map +0 -1
- package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/addComment.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/addComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/inheritsComments.js.map +0 -1
- package/node_modules/@babel/types/lib/comments/removeComments.js.map +0 -1
- package/node_modules/@babel/types/lib/constants/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/constants/index.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/ensureBlock.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toBlock.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toComputedKey.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toIdentifier.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/toStatement.js.map +0 -1
- package/node_modules/@babel/types/lib/converters/valueToNode.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/core.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/experimental.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/flow.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/index.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/jsx.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/misc.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/placeholders.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/typescript.js.map +0 -1
- package/node_modules/@babel/types/lib/definitions/utils.js.map +0 -1
- package/node_modules/@babel/types/lib/index.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/inherits.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/removeProperties.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +0 -1
- package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getFunctionName.js.map +0 -1
- package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +0 -1
- package/node_modules/@babel/types/lib/traverse/traverse.js.map +0 -1
- package/node_modules/@babel/types/lib/traverse/traverseFast.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/inherit.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +0 -1
- package/node_modules/@babel/types/lib/utils/shallowEqual.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/generated/index.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/is.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isBinding.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isImmutable.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isLet.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isNode.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isReferenced.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isScope.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isType.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/isVar.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/matchesPattern.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +0 -1
- package/node_modules/@babel/types/lib/validators/validate.js.map +0 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts +0 -37
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js +0 -451
- package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts +0 -49
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +0 -627
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts +0 -52
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js +0 -450
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts +0 -21
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js +0 -75
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +0 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +0 -186
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +0 -5
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +0 -98
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts +0 -63
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +0 -301
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +0 -1
|
@@ -1,10 +1,54 @@
|
|
|
1
|
+
import { createEditorUiBooleanControl, createEditorUiButton, createEditorUiColorControl, createEditorUiExpandableReadonlyControl, createEditorUiNumberControl, createEditorUiReadonlyControl, createEditorUiSection, createEditorUiSelectControl, createEditorUiTextControl, createEditorUiVectorControl, } from '@fps-games/editor-ui';
|
|
1
2
|
import { createLocalEditorIcon, isLocalEditorIconName, } from './local-editor-ui-icons.js';
|
|
2
|
-
import { createBadge, createAssetList, createDockTab, createEditorInputStyle, createEmptyState, createListItemBlock, createPanelHeader, createPropertyRow, createToolbarButton,
|
|
3
|
+
import { createBadge, createAssetList, createDockTab, createEditorInputStyle, createEmptyState, createListItemBlock, createPanelHeader, createPropertyRow, createToolbarButton, } from './local-editor-ui-primitives.js';
|
|
3
4
|
import { configureLocalEditorDockPanelContent, createLocalEditorDockPanelViewport, renderLocalEditorDockTabStrip, } from './local-editor-ui-dock-panel.js';
|
|
4
5
|
import { clearElement, createButton, toTitle } from './local-editor-ui-shared.js';
|
|
5
6
|
import { resolveLocalEditorAssetBrowserTab, resolveLocalEditorBrowserAssetKind, } from './local-editor-ui-asset-kind.js';
|
|
7
|
+
import { createLocalEditorAssetFilesystemSnapshot, filterLocalEditorAssetFilesystemEntries, resolveLocalEditorAssetFilesystemBreadcrumbs, resolveLocalEditorAssetFilesystemEntryTab, resolveLocalEditorAssetFilesystemExistingFolderPath, resolveLocalEditorAssetFilesystemParentPath, resolveLocalEditorAssetFilesystemVisibleFolders, resolveLocalEditorProjectMediaThumbnailCacheKey, resolveLocalEditorProjectMediaThumbnailKind, } from './local-editor-asset-filesystem.js';
|
|
6
8
|
import { createLocalEditorBrowserInspectorVectorCopyPayload, } from './local-editor-inspector-clipboard.js';
|
|
7
|
-
import { resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties, } from './local-editor-inspector-groups.js';
|
|
9
|
+
import { resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath, resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties, } from './local-editor-inspector-groups.js';
|
|
10
|
+
const inspectorUiMounts = new WeakMap();
|
|
11
|
+
const inspectorPanelUiPendingDisposals = new WeakMap();
|
|
12
|
+
export function registerInspectorUiMount(mount) {
|
|
13
|
+
mount.element.dataset.editorUiMount = 'inspector';
|
|
14
|
+
inspectorUiMounts.set(mount.element, mount);
|
|
15
|
+
return mount;
|
|
16
|
+
}
|
|
17
|
+
export function disposeInspectorPanelUi(panel) {
|
|
18
|
+
if (typeof panel.querySelectorAll !== 'function')
|
|
19
|
+
return;
|
|
20
|
+
let pending = inspectorPanelUiPendingDisposals.get(panel);
|
|
21
|
+
if (!pending) {
|
|
22
|
+
pending = new Map();
|
|
23
|
+
inspectorPanelUiPendingDisposals.set(panel, pending);
|
|
24
|
+
}
|
|
25
|
+
for (const root of panel.querySelectorAll('[data-editor-ui-mount="inspector"]')) {
|
|
26
|
+
const mount = inspectorUiMounts.get(root);
|
|
27
|
+
if (mount)
|
|
28
|
+
pending.set(root, mount);
|
|
29
|
+
}
|
|
30
|
+
const failures = [];
|
|
31
|
+
// DOM order registers a section before its nested controls. Reverse order
|
|
32
|
+
// disposes children first; the panel-owned pending registry keeps a failed
|
|
33
|
+
// child reachable even if a later parent disposal removes its DOM subtree.
|
|
34
|
+
for (const [root, mount] of Array.from(pending.entries()).reverse()) {
|
|
35
|
+
try {
|
|
36
|
+
mount.dispose();
|
|
37
|
+
inspectorUiMounts.delete(root);
|
|
38
|
+
pending.delete(root);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
failures.push(error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (pending.size === 0)
|
|
45
|
+
inspectorPanelUiPendingDisposals.delete(panel);
|
|
46
|
+
if (failures.length > 0) {
|
|
47
|
+
const error = new Error('Failed to dispose one or more Inspector UI mounts.');
|
|
48
|
+
error.causes = failures;
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
8
52
|
const BOTTOM_DOCK_TAB_ICONS = {
|
|
9
53
|
assets: 'asset',
|
|
10
54
|
history: 'history',
|
|
@@ -24,65 +68,8 @@ const ASSET_BROWSER_TABS = [
|
|
|
24
68
|
{ id: 'prefabs', label: '预制体', title: '显示预制体资产' },
|
|
25
69
|
{ id: 'materials', label: '材质', title: '显示项目材质资产' },
|
|
26
70
|
{ id: 'textures', label: '贴图', title: '显示贴图资产' },
|
|
71
|
+
{ id: 'audio', label: '音频', title: '显示音频资产' },
|
|
27
72
|
];
|
|
28
|
-
export function renderHierarchyPanel(doc, panel, state, rename, drop) {
|
|
29
|
-
clearElement(panel);
|
|
30
|
-
const createGroupButton = createToolbarButton(doc, '+ Empty', 'object');
|
|
31
|
-
createGroupButton.dataset.editorHierarchyCreateGroup = 'true';
|
|
32
|
-
createGroupButton.style.padding = '3px 7px';
|
|
33
|
-
createGroupButton.style.fontSize = '11px';
|
|
34
|
-
const createMarkerButton = createToolbarButton(doc, '+ Marker', 'view-overlay');
|
|
35
|
-
createMarkerButton.dataset.editorHierarchyCreateMarker = 'true';
|
|
36
|
-
createMarkerButton.style.padding = '3px 7px';
|
|
37
|
-
createMarkerButton.style.fontSize = '11px';
|
|
38
|
-
panel.appendChild(createPanelHeader(doc, 'Hierarchy', [createGroupButton, createMarkerButton], 'hierarchy'));
|
|
39
|
-
const list = createTreeView(doc);
|
|
40
|
-
for (const item of state.hierarchy) {
|
|
41
|
-
const isRenaming = rename?.id === item.id;
|
|
42
|
-
const selected = state.selectedIds.includes(item.id);
|
|
43
|
-
const active = state.activeId === item.id;
|
|
44
|
-
const dropPlacement = drop?.targetId === item.id ? drop.placement : null;
|
|
45
|
-
const button = createTreeViewItem(doc, {
|
|
46
|
-
id: item.id,
|
|
47
|
-
label: item.label,
|
|
48
|
-
depth: item.depth,
|
|
49
|
-
selected,
|
|
50
|
-
active,
|
|
51
|
-
locked: item.locked,
|
|
52
|
-
selectable: item.selectable,
|
|
53
|
-
draggable: item.draggable,
|
|
54
|
-
dropPlacement,
|
|
55
|
-
});
|
|
56
|
-
if (isRenaming) {
|
|
57
|
-
const input = doc.createElement('input');
|
|
58
|
-
input.dataset.editorHierarchyRenameInput = item.id;
|
|
59
|
-
input.value = rename.value;
|
|
60
|
-
input.style.cssText = [
|
|
61
|
-
'width:100%',
|
|
62
|
-
'height:22px',
|
|
63
|
-
'box-sizing:border-box',
|
|
64
|
-
'border:1px solid var(--fps-editor-accent-strong)',
|
|
65
|
-
'border-radius:2px',
|
|
66
|
-
'background:var(--fps-editor-field)',
|
|
67
|
-
'color:var(--fps-editor-text-strong)',
|
|
68
|
-
'font-size:12px',
|
|
69
|
-
'font-weight:700',
|
|
70
|
-
'padding:2px 5px',
|
|
71
|
-
'outline:none',
|
|
72
|
-
].join(';');
|
|
73
|
-
button.appendChild(input);
|
|
74
|
-
setTimeout(() => {
|
|
75
|
-
input.focus();
|
|
76
|
-
input.select();
|
|
77
|
-
}, 0);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
button.textContent = item.locked ? `${item.label} [locked]` : item.label;
|
|
81
|
-
}
|
|
82
|
-
list.appendChild(button);
|
|
83
|
-
}
|
|
84
|
-
panel.appendChild(list);
|
|
85
|
-
}
|
|
86
73
|
export function renderBottomDockPanel(doc, panel, state, activeTab, activeAssetBrowserTab = 'all') {
|
|
87
74
|
clearElement(panel);
|
|
88
75
|
appendDockTabs(doc, panel, activeTab);
|
|
@@ -91,7 +78,7 @@ export function renderBottomDockPanel(doc, panel, state, activeTab, activeAssetB
|
|
|
91
78
|
else
|
|
92
79
|
renderAssetBrowserContent(doc, panel, state, 'list', activeAssetBrowserTab);
|
|
93
80
|
}
|
|
94
|
-
export function renderWorkbenchBottomDockPanel(doc, panel, state, activeTab, panels = [], activeAssetBrowserTab = 'all') {
|
|
81
|
+
export function renderWorkbenchBottomDockPanel(doc, panel, state, activeTab, panels = [], activeAssetBrowserTab = 'all', assetBrowserView = {}) {
|
|
95
82
|
clearElement(panel);
|
|
96
83
|
const tabHeader = doc.createElement('div');
|
|
97
84
|
renderLocalEditorDockTabStrip(doc, {
|
|
@@ -112,10 +99,21 @@ export function renderWorkbenchBottomDockPanel(doc, panel, state, activeTab, pan
|
|
|
112
99
|
content.dataset.editorPanelId = activeTab;
|
|
113
100
|
content.style.cssText = 'flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:8px';
|
|
114
101
|
panel.appendChild(content);
|
|
115
|
-
if (activeTab === 'history')
|
|
102
|
+
if (activeTab === 'history') {
|
|
103
|
+
delete panel.dataset.editorAssetBrowserFolderPath;
|
|
116
104
|
renderHistoryPanel(doc, content, state.session?.history ?? null);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
renderAssetBrowserContent(doc, content, state, assetBrowserView.viewMode ?? 'grid', activeAssetBrowserTab, assetBrowserView.folderPath ?? '/', assetBrowserView.selectedEntryPath ?? null, assetBrowserView.expandedFolderPaths ?? new Set(['/']));
|
|
108
|
+
syncLocalEditorAssetBrowserEffectiveFolderPath(panel, content);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export function syncLocalEditorAssetBrowserEffectiveFolderPath(panel, content) {
|
|
112
|
+
const effectiveFolderPath = content.dataset.editorAssetBrowserFolderPath;
|
|
113
|
+
if (effectiveFolderPath === undefined)
|
|
114
|
+
delete panel.dataset.editorAssetBrowserFolderPath;
|
|
117
115
|
else
|
|
118
|
-
|
|
116
|
+
panel.dataset.editorAssetBrowserFolderPath = effectiveFolderPath;
|
|
119
117
|
}
|
|
120
118
|
function appendDockTabs(doc, panel, activeTab) {
|
|
121
119
|
const tabs = doc.createElement('div');
|
|
@@ -184,6 +182,15 @@ export function renderMarkerPanel(doc, panel, state) {
|
|
|
184
182
|
viewport.appendChild(list);
|
|
185
183
|
panel.appendChild(viewport);
|
|
186
184
|
}
|
|
185
|
+
export function shouldShowPrefabModelAddAction(state, asset) {
|
|
186
|
+
return state.mode === 'editor'
|
|
187
|
+
&& state.busy !== true
|
|
188
|
+
&& !!state.prefabStage
|
|
189
|
+
&& state.prefabStage.readonly !== true
|
|
190
|
+
&& resolveLocalEditorBrowserAssetKind(asset) === 'model'
|
|
191
|
+
&& asset.placeable !== false
|
|
192
|
+
&& asset.disabled !== true;
|
|
193
|
+
}
|
|
187
194
|
export function renderWorkbenchLeftDockTabs(doc, panel, activeTab, panels = []) {
|
|
188
195
|
renderLocalEditorDockTabStrip(doc, {
|
|
189
196
|
activeId: activeTab,
|
|
@@ -673,7 +680,8 @@ function createMarkerTypeTextarea(doc, prefix, field, value) {
|
|
|
673
680
|
].join(';');
|
|
674
681
|
return input;
|
|
675
682
|
}
|
|
676
|
-
export function renderRenderingPanel(doc, panel, state) {
|
|
683
|
+
export function renderRenderingPanel(doc, panel, state, options = {}) {
|
|
684
|
+
disposeInspectorPanelUi(panel);
|
|
677
685
|
clearElement(panel);
|
|
678
686
|
configureLocalEditorDockPanelContent(panel);
|
|
679
687
|
const rendering = state.renderingPanel ?? null;
|
|
@@ -723,7 +731,7 @@ export function renderRenderingPanel(doc, panel, state) {
|
|
|
723
731
|
panel.appendChild(summary);
|
|
724
732
|
}
|
|
725
733
|
for (const section of rendering.sections) {
|
|
726
|
-
viewport.appendChild(createRenderingSectionBlock(doc, section));
|
|
734
|
+
viewport.appendChild(createRenderingSectionBlock(doc, section, options.layerHost));
|
|
727
735
|
}
|
|
728
736
|
panel.appendChild(viewport);
|
|
729
737
|
}
|
|
@@ -779,7 +787,7 @@ function tabHeaderButtonStyle(button) {
|
|
|
779
787
|
button.style.borderRadius = '0';
|
|
780
788
|
button.style.minWidth = '0';
|
|
781
789
|
}
|
|
782
|
-
function createRenderingSectionBlock(doc, section) {
|
|
790
|
+
function createRenderingSectionBlock(doc, section, layerHost) {
|
|
783
791
|
const isListLayout = section.layout === 'list';
|
|
784
792
|
const systemGroups = groupRenderingSystems(section.systems);
|
|
785
793
|
const hasSystemGroups = systemGroups.some(group => group.group);
|
|
@@ -840,11 +848,11 @@ function createRenderingSectionBlock(doc, section) {
|
|
|
840
848
|
].join(';');
|
|
841
849
|
for (const group of systemGroups) {
|
|
842
850
|
if (group.group) {
|
|
843
|
-
list.appendChild(createRenderingSystemGroupBlock(doc, section.id, group.group, group.systems, section.layout, section.systemsCollapsible === true));
|
|
851
|
+
list.appendChild(createRenderingSystemGroupBlock(doc, section.id, group.group, group.systems, section.layout, section.systemsCollapsible === true, layerHost));
|
|
844
852
|
continue;
|
|
845
853
|
}
|
|
846
854
|
for (const system of group.systems) {
|
|
847
|
-
list.appendChild(createRenderingSystemBlock(doc, section.id, system, section.layout, section.systemsCollapsible === true));
|
|
855
|
+
list.appendChild(createRenderingSystemBlock(doc, section.id, system, section.layout, section.systemsCollapsible === true, layerHost));
|
|
848
856
|
}
|
|
849
857
|
}
|
|
850
858
|
content.appendChild(list);
|
|
@@ -865,7 +873,7 @@ function groupRenderingSystems(systems) {
|
|
|
865
873
|
}
|
|
866
874
|
return groups;
|
|
867
875
|
}
|
|
868
|
-
function createRenderingSystemGroupBlock(doc, sectionId, group, systems, layout = 'cards', systemsCollapsible = false) {
|
|
876
|
+
function createRenderingSystemGroupBlock(doc, sectionId, group, systems, layout = 'cards', systemsCollapsible = false, layerHost) {
|
|
869
877
|
const isListLayout = layout === 'list';
|
|
870
878
|
const block = doc.createElement('section');
|
|
871
879
|
block.dataset.editorRenderingSystemGroup = group.id;
|
|
@@ -925,7 +933,7 @@ function createRenderingSystemGroupBlock(doc, sectionId, group, systems, layout
|
|
|
925
933
|
isListLayout ? '' : 'padding:8px',
|
|
926
934
|
].filter(Boolean).join(';');
|
|
927
935
|
systems.forEach((system, index) => {
|
|
928
|
-
const systemBlock = createRenderingSystemBlock(doc, sectionId, system, layout, systemsCollapsible);
|
|
936
|
+
const systemBlock = createRenderingSystemBlock(doc, sectionId, system, layout, systemsCollapsible, layerHost);
|
|
929
937
|
if (isListLayout && index === systems.length - 1)
|
|
930
938
|
systemBlock.style.borderBottom = '0';
|
|
931
939
|
body.appendChild(systemBlock);
|
|
@@ -942,7 +950,7 @@ function getRenderingSystemGroupAccent(groupId) {
|
|
|
942
950
|
return 'var(--fps-editor-warn)';
|
|
943
951
|
return 'var(--fps-editor-muted)';
|
|
944
952
|
}
|
|
945
|
-
function createRenderingSystemBlock(doc, sectionId, system, layout = 'cards', collapsible = false) {
|
|
953
|
+
function createRenderingSystemBlock(doc, sectionId, system, layout = 'cards', collapsible = false, layerHost) {
|
|
946
954
|
const isListLayout = layout === 'list';
|
|
947
955
|
const block = collapsible ? doc.createElement('details') : createListItemBlock(doc);
|
|
948
956
|
block.dataset.editorRenderingSystem = system.id;
|
|
@@ -1045,7 +1053,7 @@ function createRenderingSystemBlock(doc, sectionId, system, layout = 'cards', co
|
|
|
1045
1053
|
] : []),
|
|
1046
1054
|
].join(';');
|
|
1047
1055
|
for (const property of system.properties) {
|
|
1048
|
-
propertyGrid.appendChild(createRenderingPropertyRow(doc, sectionId, system.id, property, system.readOnly === true));
|
|
1056
|
+
propertyGrid.appendChild(createRenderingPropertyRow(doc, sectionId, system.id, property, system.readOnly === true, layerHost));
|
|
1049
1057
|
}
|
|
1050
1058
|
block.appendChild(propertyGrid);
|
|
1051
1059
|
return block;
|
|
@@ -1168,9 +1176,9 @@ function createRenderingDisclosureIcon(doc, block, id, datasetKey) {
|
|
|
1168
1176
|
syncDisclosureIcon();
|
|
1169
1177
|
return disclosure;
|
|
1170
1178
|
}
|
|
1171
|
-
function createRenderingPropertyRow(doc, sectionId, systemId, property, systemReadOnly) {
|
|
1179
|
+
function createRenderingPropertyRow(doc, sectionId, systemId, property, systemReadOnly, layerHost) {
|
|
1172
1180
|
const inspectorProperty = createInspectorPropertyFromRenderingProperty(property, systemReadOnly);
|
|
1173
|
-
let control = createRenderingPropertyControl(doc, sectionId, systemId, property, inspectorProperty);
|
|
1181
|
+
let control = createRenderingPropertyControl(doc, sectionId, systemId, property, inspectorProperty, layerHost);
|
|
1174
1182
|
if (property.actions?.length) {
|
|
1175
1183
|
const controlWithActions = doc.createElement('div');
|
|
1176
1184
|
controlWithActions.style.cssText = 'display:flex;align-items:center;gap:5px;min-width:0';
|
|
@@ -1199,7 +1207,7 @@ function createRenderingPropertyRow(doc, sectionId, systemId, property, systemRe
|
|
|
1199
1207
|
label.style.cssText = createInspectorPropertyLabelStyle(access, effect);
|
|
1200
1208
|
return row;
|
|
1201
1209
|
}
|
|
1202
|
-
function createRenderingPropertyControl(doc, sectionId, systemId, property, inspectorProperty) {
|
|
1210
|
+
function createRenderingPropertyControl(doc, sectionId, systemId, property, inspectorProperty, layerHost) {
|
|
1203
1211
|
const target = createRenderingInspectorTarget(systemId);
|
|
1204
1212
|
if (isInspectorPropertyEditable(inspectorProperty) && property.control === 'string-list') {
|
|
1205
1213
|
return createRenderingStringListControl(doc, sectionId, systemId, property, inspectorProperty);
|
|
@@ -1210,7 +1218,7 @@ function createRenderingPropertyControl(doc, sectionId, systemId, property, insp
|
|
|
1210
1218
|
input.dataset.renderingEditSource = 'asset';
|
|
1211
1219
|
});
|
|
1212
1220
|
}
|
|
1213
|
-
let control = renderInspectorControl(doc,
|
|
1221
|
+
let control = renderInspectorControl(doc, createLocalEditorBrowserInspectorControlRegistry([], 'error', layerHost), target, inspectorProperty);
|
|
1214
1222
|
bindRenderedInspectorControlsToRendering(control, sectionId, systemId, property);
|
|
1215
1223
|
if (property.unit && isInspectorPropertyEditable(inspectorProperty) && property.control === 'number') {
|
|
1216
1224
|
const wrapper = doc.createElement('div');
|
|
@@ -1316,124 +1324,367 @@ function createHeadingLabel(doc, text) {
|
|
|
1316
1324
|
label.style.cssText = 'min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap';
|
|
1317
1325
|
return label;
|
|
1318
1326
|
}
|
|
1319
|
-
function renderAssetBrowserContent(doc, panel, state, variant = 'list', activeTab = 'all') {
|
|
1327
|
+
function renderAssetBrowserContent(doc, panel, state, variant = 'list', activeTab = 'all', requestedFolderPath = '/', selectedEntryPath = null, expandedFolderPaths = new Set(['/'])) {
|
|
1320
1328
|
configureLocalEditorDockPanelContent(panel);
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
+
panel.classList.add('fps-editor-ui-asset-filesystem');
|
|
1330
|
+
const snapshot = createLocalEditorAssetFilesystemSnapshot(state.assets, state.projectFiles);
|
|
1331
|
+
const folderPath = resolveLocalEditorAssetFilesystemExistingFolderPath(snapshot, requestedFolderPath);
|
|
1332
|
+
panel.dataset.editorAssetBrowserFolderPath = folderPath;
|
|
1333
|
+
const toolbar = doc.createElement('div');
|
|
1334
|
+
toolbar.className = 'fps-editor-ui-asset-toolbar';
|
|
1335
|
+
const toolbarPrimary = doc.createElement('div');
|
|
1336
|
+
toolbarPrimary.className = 'fps-editor-ui-asset-toolbar-group';
|
|
1337
|
+
if (folderPath === '/@editor/materials' || activeTab === 'materials') {
|
|
1338
|
+
const createMaterialButton = createToolbarButton(doc, '', 'plus');
|
|
1329
1339
|
createMaterialButton.dataset.editorCreateMaterialAsset = 'true';
|
|
1330
1340
|
createMaterialButton.title = '新建项目材质';
|
|
1331
|
-
createMaterialButton.
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
'padding:0 10px',
|
|
1335
|
-
'font-size:12px',
|
|
1336
|
-
'font-weight:800',
|
|
1337
|
-
'align-self:flex-start',
|
|
1338
|
-
].join(';');
|
|
1339
|
-
panel.appendChild(createMaterialButton);
|
|
1341
|
+
createMaterialButton.setAttribute('aria-label', createMaterialButton.title);
|
|
1342
|
+
createMaterialButton.dataset.editorAssetToolbarIcon = 'true';
|
|
1343
|
+
toolbarPrimary.appendChild(createMaterialButton);
|
|
1340
1344
|
}
|
|
1345
|
+
const parentFolderPath = resolveLocalEditorAssetFilesystemParentPath(snapshot, folderPath);
|
|
1346
|
+
const parentButton = createToolbarButton(doc, '', 'arrow-up');
|
|
1347
|
+
parentButton.dataset.editorAssetBrowserParent = 'true';
|
|
1348
|
+
parentButton.dataset.editorAssetToolbarIcon = 'true';
|
|
1349
|
+
parentButton.title = parentFolderPath ? '返回上一级目录' : '已位于项目根目录';
|
|
1350
|
+
parentButton.setAttribute('aria-label', parentButton.title);
|
|
1351
|
+
parentButton.disabled = !parentFolderPath;
|
|
1352
|
+
if (parentFolderPath)
|
|
1353
|
+
parentButton.dataset.editorAssetFolderPath = parentFolderPath;
|
|
1354
|
+
toolbarPrimary.appendChild(parentButton);
|
|
1355
|
+
const refreshButton = createToolbarButton(doc, '', 'refresh');
|
|
1356
|
+
refreshButton.dataset.editorAssetBrowserRefresh = 'true';
|
|
1357
|
+
refreshButton.dataset.editorAssetToolbarIcon = 'true';
|
|
1358
|
+
refreshButton.title = '刷新项目文件与资产';
|
|
1359
|
+
refreshButton.setAttribute('aria-label', refreshButton.title);
|
|
1360
|
+
toolbarPrimary.appendChild(refreshButton);
|
|
1361
|
+
const gridButton = createToolbarButton(doc, '', 'grid');
|
|
1362
|
+
gridButton.dataset.editorAssetViewMode = 'grid';
|
|
1363
|
+
gridButton.dataset.active = variant === 'grid' ? 'true' : 'false';
|
|
1364
|
+
gridButton.dataset.editorAssetToolbarIcon = 'true';
|
|
1365
|
+
gridButton.title = '网格视图';
|
|
1366
|
+
gridButton.setAttribute('aria-label', gridButton.title);
|
|
1367
|
+
gridButton.setAttribute('aria-pressed', variant === 'grid' ? 'true' : 'false');
|
|
1368
|
+
const listButton = createToolbarButton(doc, '', 'list');
|
|
1369
|
+
listButton.dataset.editorAssetViewMode = 'list';
|
|
1370
|
+
listButton.dataset.active = variant === 'list' ? 'true' : 'false';
|
|
1371
|
+
listButton.dataset.editorAssetToolbarIcon = 'true';
|
|
1372
|
+
listButton.title = '列表视图';
|
|
1373
|
+
listButton.setAttribute('aria-label', listButton.title);
|
|
1374
|
+
listButton.setAttribute('aria-pressed', variant === 'list' ? 'true' : 'false');
|
|
1375
|
+
toolbarPrimary.append(gridButton, listButton);
|
|
1376
|
+
toolbar.appendChild(toolbarPrimary);
|
|
1377
|
+
const typeFilter = doc.createElement('select');
|
|
1378
|
+
typeFilter.className = 'fps-editor-ui-asset-type-filter';
|
|
1379
|
+
typeFilter.dataset.editorAssetBrowserTypeFilter = 'true';
|
|
1380
|
+
typeFilter.title = '按资产类型筛选';
|
|
1381
|
+
for (const tab of ASSET_BROWSER_TABS) {
|
|
1382
|
+
const option = doc.createElement('option');
|
|
1383
|
+
option.value = tab.id;
|
|
1384
|
+
const itemCount = snapshot.entries.filter(entry => (entry.kind !== 'directory'
|
|
1385
|
+
&& (tab.id === 'all' || resolveLocalEditorAssetFilesystemEntryTab(entry) === tab.id))).length;
|
|
1386
|
+
option.textContent = tab.label;
|
|
1387
|
+
option.title = resolveLocalEditorAssetBrowserTypeOptionTitle(tab.title, itemCount, snapshot.truncated);
|
|
1388
|
+
typeFilter.appendChild(option);
|
|
1389
|
+
}
|
|
1390
|
+
typeFilter.value = activeTab;
|
|
1391
|
+
toolbar.appendChild(typeFilter);
|
|
1392
|
+
const search = doc.createElement('div');
|
|
1393
|
+
search.className = 'fps-editor-ui-asset-search';
|
|
1341
1394
|
const filter = doc.createElement('input');
|
|
1395
|
+
filter.className = 'fps-editor-ui-search';
|
|
1342
1396
|
filter.type = 'search';
|
|
1343
|
-
filter.placeholder = '
|
|
1397
|
+
filter.placeholder = '搜索文件和资产';
|
|
1344
1398
|
filter.value = state.assetFilter;
|
|
1345
1399
|
filter.dataset.editorAssetFilter = 'true';
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
panel.appendChild(filter);
|
|
1358
|
-
const tabAssets = filterAssetsByBrowserTab(state.assets, activeTab);
|
|
1400
|
+
const searchIcon = createLocalEditorIcon(doc, 'search', { size: 16 });
|
|
1401
|
+
searchIcon.classList.add('fps-editor-ui-asset-search-icon');
|
|
1402
|
+
const clearFilterButton = createToolbarButton(doc, '', 'close');
|
|
1403
|
+
clearFilterButton.dataset.editorAssetFilterClear = 'true';
|
|
1404
|
+
clearFilterButton.dataset.editorAssetToolbarIcon = 'true';
|
|
1405
|
+
clearFilterButton.title = '清除搜索';
|
|
1406
|
+
clearFilterButton.setAttribute('aria-label', clearFilterButton.title);
|
|
1407
|
+
clearFilterButton.hidden = state.assetFilter.length === 0;
|
|
1408
|
+
search.append(searchIcon, filter, clearFilterButton);
|
|
1409
|
+
toolbar.appendChild(search);
|
|
1410
|
+
panel.appendChild(toolbar);
|
|
1359
1411
|
const normalizedFilter = state.assetFilter.trim().toLowerCase();
|
|
1360
|
-
const
|
|
1361
|
-
|
|
1412
|
+
const typeFilterActive = activeTab !== 'all';
|
|
1413
|
+
const recursiveFilterActive = normalizedFilter.length > 0 || typeFilterActive;
|
|
1414
|
+
const folderEntries = filterLocalEditorAssetFilesystemEntries(snapshot, folderPath, recursiveFilterActive, activeTab);
|
|
1415
|
+
const matchingEntries = folderEntries.filter((entry) => {
|
|
1362
1416
|
if (!normalizedFilter)
|
|
1363
1417
|
return true;
|
|
1418
|
+
const asset = entry.asset;
|
|
1364
1419
|
return [
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
asset
|
|
1369
|
-
asset
|
|
1370
|
-
asset
|
|
1371
|
-
asset
|
|
1372
|
-
asset
|
|
1373
|
-
asset
|
|
1420
|
+
entry.label,
|
|
1421
|
+
entry.path,
|
|
1422
|
+
entry.extension ?? '',
|
|
1423
|
+
asset?.id ?? '',
|
|
1424
|
+
asset?.assetId ?? '',
|
|
1425
|
+
asset?.guid ?? '',
|
|
1426
|
+
asset?.label ?? '',
|
|
1427
|
+
asset?.kind ?? '',
|
|
1428
|
+
asset?.relativePath ?? '',
|
|
1429
|
+
asset?.meta ?? '',
|
|
1430
|
+
asset?.external?.platformAssetId ?? '',
|
|
1431
|
+
asset?.external?.assetPath ?? '',
|
|
1432
|
+
asset?.external?.assetUrl ?? '',
|
|
1374
1433
|
]
|
|
1375
1434
|
.some(value => value.toLowerCase().includes(normalizedFilter));
|
|
1376
|
-
})
|
|
1377
|
-
|
|
1435
|
+
});
|
|
1436
|
+
const filteredEntries = matchingEntries.slice(0, 200);
|
|
1437
|
+
const resultLimited = matchingEntries.length > filteredEntries.length;
|
|
1438
|
+
const body = doc.createElement('div');
|
|
1439
|
+
body.className = 'fps-editor-ui-asset-filesystem-body';
|
|
1440
|
+
const tree = doc.createElement('aside');
|
|
1441
|
+
tree.className = 'fps-editor-ui-asset-folder-tree';
|
|
1442
|
+
tree.setAttribute('aria-label', '资产目录');
|
|
1443
|
+
const visibleFolders = resolveLocalEditorAssetFilesystemVisibleFolders(snapshot, expandedFolderPaths);
|
|
1444
|
+
for (const folder of visibleFolders) {
|
|
1445
|
+
const hasChildFolders = snapshot.folders.some(candidate => candidate.parentPath === folder.path);
|
|
1446
|
+
const expanded = expandedFolderPaths.has(folder.path);
|
|
1447
|
+
const row = doc.createElement('div');
|
|
1448
|
+
row.className = 'fps-editor-ui-asset-folder-tree-row';
|
|
1449
|
+
row.style.setProperty('--fps-editor-asset-folder-depth', String(folder.depth));
|
|
1450
|
+
const toggle = doc.createElement('button');
|
|
1451
|
+
toggle.type = 'button';
|
|
1452
|
+
toggle.className = 'fps-editor-ui-asset-folder-toggle';
|
|
1453
|
+
toggle.dataset.editorAssetFolderToggle = folder.path;
|
|
1454
|
+
toggle.disabled = !hasChildFolders;
|
|
1455
|
+
toggle.title = hasChildFolders
|
|
1456
|
+
? `${expanded ? '折叠' : '展开'} ${folder.path === '/' ? snapshot.rootName : folder.label}`
|
|
1457
|
+
: '';
|
|
1458
|
+
toggle.setAttribute('aria-label', toggle.title || `${folder.label} 无子目录`);
|
|
1459
|
+
toggle.setAttribute('aria-expanded', hasChildFolders ? String(expanded) : 'false');
|
|
1460
|
+
if (hasChildFolders) {
|
|
1461
|
+
toggle.appendChild(createLocalEditorIcon(doc, expanded ? 'chevron-down' : 'chevron-right', { size: 13 }));
|
|
1462
|
+
}
|
|
1463
|
+
const button = doc.createElement('button');
|
|
1464
|
+
button.type = 'button';
|
|
1465
|
+
button.className = 'fps-editor-ui-asset-folder-row';
|
|
1466
|
+
button.dataset.editorAssetFolderPath = folder.path;
|
|
1467
|
+
button.dataset.editorAssetFolderTreePath = folder.path;
|
|
1468
|
+
button.dataset.selected = folder.path === folderPath ? 'true' : 'false';
|
|
1469
|
+
button.appendChild(createLocalEditorIcon(doc, folder.path === '/' ? 'root' : 'folder', { size: 15 }));
|
|
1470
|
+
const label = doc.createElement('span');
|
|
1471
|
+
label.className = 'fps-editor-ui-ellipsis';
|
|
1472
|
+
label.textContent = folder.path === '/' ? snapshot.rootName : folder.label;
|
|
1473
|
+
button.title = resolveLocalEditorAssetBrowserFolderTitle(label.textContent, folder.descendantItemCount, snapshot.truncated);
|
|
1474
|
+
button.append(label);
|
|
1475
|
+
row.append(toggle, button);
|
|
1476
|
+
tree.appendChild(row);
|
|
1477
|
+
}
|
|
1478
|
+
body.appendChild(tree);
|
|
1479
|
+
const browser = doc.createElement('section');
|
|
1480
|
+
browser.className = 'fps-editor-ui-asset-browser';
|
|
1481
|
+
const summary = doc.createElement('div');
|
|
1482
|
+
summary.className = 'fps-editor-ui-asset-browser-summary';
|
|
1483
|
+
const breadcrumb = doc.createElement('nav');
|
|
1484
|
+
breadcrumb.className = 'fps-editor-ui-asset-breadcrumb';
|
|
1485
|
+
breadcrumb.setAttribute('aria-label', '当前项目路径');
|
|
1486
|
+
const breadcrumbs = resolveLocalEditorAssetFilesystemBreadcrumbs(snapshot, folderPath);
|
|
1487
|
+
breadcrumbs.forEach((item, index) => {
|
|
1488
|
+
if (index > 0) {
|
|
1489
|
+
const separator = doc.createElement('span');
|
|
1490
|
+
separator.className = 'fps-editor-ui-asset-breadcrumb-separator';
|
|
1491
|
+
separator.textContent = '/';
|
|
1492
|
+
breadcrumb.appendChild(separator);
|
|
1493
|
+
}
|
|
1494
|
+
if (index === breadcrumbs.length - 1) {
|
|
1495
|
+
const current = doc.createElement('span');
|
|
1496
|
+
current.className = 'fps-editor-ui-asset-breadcrumb-current fps-editor-ui-ellipsis';
|
|
1497
|
+
current.textContent = item.label;
|
|
1498
|
+
current.title = item.path;
|
|
1499
|
+
current.setAttribute('aria-current', 'page');
|
|
1500
|
+
breadcrumb.appendChild(current);
|
|
1501
|
+
return;
|
|
1502
|
+
}
|
|
1503
|
+
const segment = doc.createElement('button');
|
|
1504
|
+
segment.type = 'button';
|
|
1505
|
+
segment.className = 'fps-editor-ui-asset-breadcrumb-button fps-editor-ui-ellipsis';
|
|
1506
|
+
segment.dataset.editorAssetFolderPath = item.path;
|
|
1507
|
+
segment.textContent = item.label;
|
|
1508
|
+
segment.title = item.path;
|
|
1509
|
+
breadcrumb.appendChild(segment);
|
|
1510
|
+
});
|
|
1378
1511
|
const count = doc.createElement('div');
|
|
1379
|
-
|
|
1380
|
-
count.textContent =
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1512
|
+
count.className = 'fps-editor-ui-asset-count';
|
|
1513
|
+
count.textContent = resolveLocalEditorAssetBrowserCountLabel({
|
|
1514
|
+
matchingCount: matchingEntries.length,
|
|
1515
|
+
normalizedFilter,
|
|
1516
|
+
resultLimited,
|
|
1517
|
+
truncated: snapshot.truncated,
|
|
1518
|
+
typeLabel: typeFilterActive
|
|
1519
|
+
? ASSET_BROWSER_TABS.find(tab => tab.id === activeTab)?.label ?? ''
|
|
1520
|
+
: null,
|
|
1521
|
+
visibleCount: filteredEntries.length,
|
|
1522
|
+
});
|
|
1523
|
+
summary.append(breadcrumb, count);
|
|
1524
|
+
browser.appendChild(summary);
|
|
1385
1525
|
const list = createAssetList(doc, variant === 'grid');
|
|
1386
1526
|
list.dataset.editorAssetBrowserList = 'true';
|
|
1527
|
+
list.dataset.searchActive = recursiveFilterActive ? 'true' : 'false';
|
|
1387
1528
|
list.style.overflow = 'visible';
|
|
1529
|
+
list.style.maxHeight = 'none';
|
|
1388
1530
|
list.style.paddingRight = '0';
|
|
1389
|
-
for (const
|
|
1531
|
+
for (const entry of filteredEntries) {
|
|
1532
|
+
if (entry.kind === 'directory') {
|
|
1533
|
+
list.appendChild(createProjectFilesystemEntryButton(doc, entry, variant, selectedEntryPath === entry.path, recursiveFilterActive ? entry.parentPath : undefined));
|
|
1534
|
+
continue;
|
|
1535
|
+
}
|
|
1536
|
+
const asset = entry.asset;
|
|
1537
|
+
if (!asset) {
|
|
1538
|
+
list.appendChild(createProjectFilesystemEntryButton(doc, entry, variant, selectedEntryPath === entry.path, recursiveFilterActive ? entry.parentPath : undefined));
|
|
1539
|
+
continue;
|
|
1540
|
+
}
|
|
1390
1541
|
const selected = state.selectedAssetId === asset.id;
|
|
1391
1542
|
const hasPreview = !!asset.preview;
|
|
1392
1543
|
const button = doc.createElement('button');
|
|
1544
|
+
button.className = 'fps-editor-ui-asset-card';
|
|
1393
1545
|
button.type = 'button';
|
|
1394
1546
|
button.dataset.editorAssetId = asset.id;
|
|
1547
|
+
button.dataset.editorProjectFilePath = entry.path;
|
|
1395
1548
|
button.disabled = asset.disabled ?? false;
|
|
1396
1549
|
button.setAttribute('aria-selected', selected ? 'true' : 'false');
|
|
1397
|
-
button.
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
'color:var(--fps-editor-text)',
|
|
1406
|
-
'display:flex',
|
|
1407
|
-
'align-items:center',
|
|
1408
|
-
'gap:8px',
|
|
1409
|
-
'font-size:12px',
|
|
1410
|
-
asset.disabled ? 'cursor:not-allowed' : 'cursor:pointer',
|
|
1411
|
-
asset.disabled ? 'opacity:0.72' : '',
|
|
1412
|
-
].join(';');
|
|
1413
|
-
const preview = createAssetPreviewElement(doc, asset, variant);
|
|
1550
|
+
button.dataset.variant = variant;
|
|
1551
|
+
button.dataset.hasPreview = hasPreview ? 'true' : 'false';
|
|
1552
|
+
button.dataset.searchResult = recursiveFilterActive ? 'true' : 'false';
|
|
1553
|
+
button.title = entry.path;
|
|
1554
|
+
const mediaThumbnailKind = asset.preview ? null : resolveLocalEditorProjectMediaThumbnailKind(entry);
|
|
1555
|
+
const preview = mediaThumbnailKind
|
|
1556
|
+
? createProjectMediaThumbnailPlaceholder(doc, entry, variant, mediaThumbnailKind)
|
|
1557
|
+
: createAssetPreviewElement(doc, asset, variant);
|
|
1414
1558
|
const body = doc.createElement('div');
|
|
1415
|
-
body.
|
|
1559
|
+
body.className = 'fps-editor-ui-asset-card-body';
|
|
1416
1560
|
const label = doc.createElement('div');
|
|
1417
|
-
label.
|
|
1418
|
-
label.
|
|
1561
|
+
label.className = 'fps-editor-ui-asset-card-label fps-editor-ui-ellipsis';
|
|
1562
|
+
label.textContent = entry.kind === 'file' ? entry.label : asset.label;
|
|
1419
1563
|
const meta = doc.createElement('div');
|
|
1420
|
-
meta.
|
|
1421
|
-
meta.
|
|
1564
|
+
meta.className = 'fps-editor-ui-asset-card-meta fps-editor-ui-ellipsis';
|
|
1565
|
+
meta.textContent = recursiveFilterActive
|
|
1566
|
+
? [asset.label !== entry.label ? asset.label : '', entry.parentPath]
|
|
1567
|
+
.filter(Boolean)
|
|
1568
|
+
.join(' · ')
|
|
1569
|
+
: entry.kind === 'file'
|
|
1570
|
+
? [entry.extension?.toUpperCase(), asset.label !== entry.label ? asset.label : '', asset.kind ?? 'asset']
|
|
1571
|
+
.filter(Boolean)
|
|
1572
|
+
.join(' · ')
|
|
1573
|
+
: asset.meta ?? asset.id;
|
|
1574
|
+
meta.title = meta.textContent;
|
|
1422
1575
|
body.appendChild(label);
|
|
1423
1576
|
body.appendChild(meta);
|
|
1424
1577
|
button.appendChild(preview);
|
|
1425
1578
|
button.appendChild(body);
|
|
1426
|
-
|
|
1579
|
+
if (shouldShowPrefabModelAddAction(state, asset)) {
|
|
1580
|
+
const shell = doc.createElement('div');
|
|
1581
|
+
shell.dataset.editorAssetCardShell = asset.id;
|
|
1582
|
+
shell.style.cssText = 'min-width:0;display:flex;flex-direction:column;gap:4px';
|
|
1583
|
+
const addButton = createToolbarButton(doc, '添加到当前 Prefab', 'plus');
|
|
1584
|
+
addButton.dataset.editorAssetAddToPrefab = asset.id;
|
|
1585
|
+
addButton.title = `添加 ${asset.label} 到当前 Prefab`;
|
|
1586
|
+
addButton.setAttribute('aria-label', addButton.title);
|
|
1587
|
+
addButton.style.cssText = [
|
|
1588
|
+
'width:100%',
|
|
1589
|
+
'min-height:24px',
|
|
1590
|
+
'justify-content:center',
|
|
1591
|
+
'padding:2px 7px',
|
|
1592
|
+
'font-size:11px',
|
|
1593
|
+
'font-weight:800',
|
|
1594
|
+
].join(';');
|
|
1595
|
+
shell.append(button, addButton);
|
|
1596
|
+
list.appendChild(shell);
|
|
1597
|
+
}
|
|
1598
|
+
else {
|
|
1599
|
+
list.appendChild(button);
|
|
1600
|
+
}
|
|
1427
1601
|
}
|
|
1428
|
-
if (
|
|
1429
|
-
list.appendChild(createEmptyState(doc,
|
|
1602
|
+
if (filteredEntries.length === 0) {
|
|
1603
|
+
list.appendChild(createEmptyState(doc, recursiveFilterActive ? '当前目录及子目录中没有匹配的资源。' : '当前目录为空。'));
|
|
1430
1604
|
}
|
|
1431
1605
|
const viewport = createLocalEditorDockPanelViewport(doc, 'editorAssetBrowserScrollViewport');
|
|
1432
1606
|
viewport.appendChild(list);
|
|
1433
|
-
|
|
1607
|
+
browser.appendChild(viewport);
|
|
1608
|
+
body.appendChild(browser);
|
|
1609
|
+
panel.appendChild(body);
|
|
1610
|
+
}
|
|
1611
|
+
export function resolveLocalEditorAssetBrowserTypeOptionTitle(title, itemCount, truncated) {
|
|
1612
|
+
return truncated
|
|
1613
|
+
? `${title},当前清单 ${itemCount} 项 · 文件清单已截断`
|
|
1614
|
+
: `${title},共 ${itemCount} 项`;
|
|
1615
|
+
}
|
|
1616
|
+
export function resolveLocalEditorAssetBrowserFolderTitle(label, descendantItemCount, truncated) {
|
|
1617
|
+
return truncated
|
|
1618
|
+
? `${label} · 当前清单 ${descendantItemCount} 个文件 · 文件清单已截断`
|
|
1619
|
+
: `${label} · ${descendantItemCount} 个文件`;
|
|
1620
|
+
}
|
|
1621
|
+
export function resolveLocalEditorAssetBrowserCountLabel(input) {
|
|
1622
|
+
const truncationSuffix = input.truncated ? ' · 文件清单已截断' : '';
|
|
1623
|
+
if (input.resultLimited) {
|
|
1624
|
+
return input.truncated
|
|
1625
|
+
? `显示前 ${input.visibleCount} 项(当前清单 ${input.matchingCount} 项)${truncationSuffix}`
|
|
1626
|
+
: `显示前 ${input.visibleCount} 项(共 ${input.matchingCount} 项)`;
|
|
1627
|
+
}
|
|
1628
|
+
if (input.normalizedFilter)
|
|
1629
|
+
return `${input.visibleCount} 个匹配项${truncationSuffix}`;
|
|
1630
|
+
if (input.typeLabel != null)
|
|
1631
|
+
return `${input.visibleCount} 个${input.typeLabel}资源${truncationSuffix}`;
|
|
1632
|
+
return `${input.visibleCount} 个项目${truncationSuffix}`;
|
|
1633
|
+
}
|
|
1634
|
+
function createProjectFilesystemEntryButton(doc, entry, variant, selected, searchParentPath) {
|
|
1635
|
+
const button = doc.createElement('button');
|
|
1636
|
+
button.className = 'fps-editor-ui-asset-card';
|
|
1637
|
+
button.type = 'button';
|
|
1638
|
+
button.dataset.variant = variant;
|
|
1639
|
+
const mediaThumbnailKind = resolveLocalEditorProjectMediaThumbnailKind(entry);
|
|
1640
|
+
button.dataset.hasPreview = mediaThumbnailKind ? 'true' : 'false';
|
|
1641
|
+
button.dataset.searchResult = searchParentPath ? 'true' : 'false';
|
|
1642
|
+
button.setAttribute('aria-selected', selected ? 'true' : 'false');
|
|
1643
|
+
button.title = entry.path;
|
|
1644
|
+
if (entry.kind === 'directory')
|
|
1645
|
+
button.dataset.editorProjectDirectoryPath = entry.path;
|
|
1646
|
+
else
|
|
1647
|
+
button.dataset.editorProjectFilePath = entry.path;
|
|
1648
|
+
button.appendChild(mediaThumbnailKind
|
|
1649
|
+
? createProjectMediaThumbnailPlaceholder(doc, entry, variant, mediaThumbnailKind)
|
|
1650
|
+
: createLocalEditorIcon(doc, entry.kind === 'directory' ? 'folder' : 'asset', {
|
|
1651
|
+
size: variant === 'grid' ? 42 : 16,
|
|
1652
|
+
strokeWidth: variant === 'grid' ? 1.35 : 2,
|
|
1653
|
+
}));
|
|
1654
|
+
const body = doc.createElement('div');
|
|
1655
|
+
body.className = 'fps-editor-ui-asset-card-body';
|
|
1656
|
+
const label = doc.createElement('div');
|
|
1657
|
+
label.className = 'fps-editor-ui-asset-card-label fps-editor-ui-ellipsis';
|
|
1658
|
+
label.textContent = entry.label;
|
|
1659
|
+
const meta = doc.createElement('div');
|
|
1660
|
+
meta.className = 'fps-editor-ui-asset-card-meta fps-editor-ui-ellipsis';
|
|
1661
|
+
meta.textContent = searchParentPath || (entry.kind === 'directory'
|
|
1662
|
+
? 'Folder'
|
|
1663
|
+
: entry.extension?.toUpperCase() || 'File');
|
|
1664
|
+
body.append(label, meta);
|
|
1665
|
+
button.appendChild(body);
|
|
1666
|
+
return button;
|
|
1667
|
+
}
|
|
1668
|
+
function createProjectMediaThumbnailPlaceholder(doc, entry, variant, kind) {
|
|
1669
|
+
const frame = doc.createElement('div');
|
|
1670
|
+
frame.className = 'fps-editor-ui-project-media-thumbnail';
|
|
1671
|
+
frame.dataset.editorProjectMediaThumbnailPath = entry.path;
|
|
1672
|
+
frame.dataset.editorProjectMediaThumbnailKind = kind;
|
|
1673
|
+
const cacheKey = resolveLocalEditorProjectMediaThumbnailCacheKey(entry);
|
|
1674
|
+
if (cacheKey)
|
|
1675
|
+
frame.dataset.editorProjectMediaThumbnailCacheKey = cacheKey;
|
|
1676
|
+
frame.dataset.thumbnailState = 'loading';
|
|
1677
|
+
frame.dataset.variant = variant;
|
|
1678
|
+
const fallback = createLocalEditorIcon(doc, kind === 'model' ? 'object' : 'asset', {
|
|
1679
|
+
size: variant === 'grid' ? 34 : 15,
|
|
1680
|
+
strokeWidth: variant === 'grid' ? 1.35 : 2,
|
|
1681
|
+
});
|
|
1682
|
+
fallback.classList.add('fps-editor-ui-project-media-thumbnail-fallback');
|
|
1683
|
+
frame.appendChild(fallback);
|
|
1684
|
+
return frame;
|
|
1434
1685
|
}
|
|
1435
1686
|
export function createAssetPreviewElement(doc, asset, variant) {
|
|
1436
|
-
const size = variant === 'modal' ? 220 : variant === 'grid' ?
|
|
1687
|
+
const size = variant === 'modal' ? 220 : variant === 'grid' ? 64 : 24;
|
|
1437
1688
|
const preview = asset.preview;
|
|
1438
1689
|
if (!preview) {
|
|
1439
1690
|
const kind = resolveLocalEditorBrowserAssetKind(asset);
|
|
@@ -1444,7 +1695,10 @@ export function createAssetPreviewElement(doc, asset, variant) {
|
|
|
1444
1695
|
: kind === 'texture'
|
|
1445
1696
|
? 'asset'
|
|
1446
1697
|
: 'object';
|
|
1447
|
-
return createLocalEditorIcon(doc, icon, {
|
|
1698
|
+
return createLocalEditorIcon(doc, icon, {
|
|
1699
|
+
size: variant === 'grid' ? 42 : 16,
|
|
1700
|
+
strokeWidth: variant === 'grid' ? 1.35 : 2,
|
|
1701
|
+
});
|
|
1448
1702
|
}
|
|
1449
1703
|
const frame = doc.createElement('div');
|
|
1450
1704
|
frame.style.cssText = [
|
|
@@ -1482,16 +1736,16 @@ export function createAssetPreviewElement(doc, asset, variant) {
|
|
|
1482
1736
|
const emissionColor = formatAssetPreviewColor(preview.emissionColor, '#ffffff');
|
|
1483
1737
|
sphere.style.cssText = [
|
|
1484
1738
|
'position:relative',
|
|
1485
|
-
'width:
|
|
1486
|
-
'height:
|
|
1739
|
+
'width:76%',
|
|
1740
|
+
'height:76%',
|
|
1487
1741
|
'overflow:hidden',
|
|
1488
1742
|
'border-radius:999px',
|
|
1489
1743
|
`background:${baseColor}`,
|
|
1490
|
-
'border:1px solid rgba(255,255,255,0.
|
|
1744
|
+
'border:1px solid rgba(255,255,255,0.12)',
|
|
1491
1745
|
'box-shadow:' + [
|
|
1492
|
-
`inset -5px -7px 12px rgba(0,0,0,${(0.
|
|
1493
|
-
`inset
|
|
1494
|
-
emissionIntensity > 0 ? `0 0 ${Math.round(
|
|
1746
|
+
`inset -5px -7px 12px rgba(0,0,0,${(0.24 + roughness * 0.12).toFixed(2)})`,
|
|
1747
|
+
`inset 4px 4px 9px rgba(255,255,255,${(0.08 + metallic * 0.14).toFixed(2)})`,
|
|
1748
|
+
emissionIntensity > 0 ? `0 0 ${Math.round(3 + emissionIntensity * 2)}px ${emissionColor}` : '0 1px 2px rgba(0,0,0,0.34)',
|
|
1495
1749
|
].join(','),
|
|
1496
1750
|
].join(';');
|
|
1497
1751
|
if (preview.textureUrl) {
|
|
@@ -1510,8 +1764,8 @@ export function createAssetPreviewElement(doc, asset, variant) {
|
|
|
1510
1764
|
sphere.appendChild(image);
|
|
1511
1765
|
}
|
|
1512
1766
|
const shading = doc.createElement('div');
|
|
1513
|
-
const highlightAlpha = clampNumber(0.
|
|
1514
|
-
const highlightEnd = Math.round(
|
|
1767
|
+
const highlightAlpha = clampNumber(0.66 - roughness * 0.38 + metallic * 0.08, 0.18, 0.72);
|
|
1768
|
+
const highlightEnd = Math.round(8 + roughness * 11);
|
|
1515
1769
|
const shadowAlpha = clampNumber(0.28 + roughness * 0.14 + metallic * 0.16, 0.2, 0.62);
|
|
1516
1770
|
const rimAlpha = clampNumber(0.12 + metallic * 0.36, 0.08, 0.52);
|
|
1517
1771
|
shading.style.cssText = [
|
|
@@ -1520,7 +1774,7 @@ export function createAssetPreviewElement(doc, asset, variant) {
|
|
|
1520
1774
|
'border-radius:inherit',
|
|
1521
1775
|
'pointer-events:none',
|
|
1522
1776
|
'background:' + [
|
|
1523
|
-
`radial-gradient(circle at 31% 23%, rgba(255,255,255,${highlightAlpha.toFixed(2)}) 0 ${highlightEnd}%, rgba(255,255,255,0) ${highlightEnd +
|
|
1777
|
+
`radial-gradient(circle at 31% 23%, rgba(255,255,255,${highlightAlpha.toFixed(2)}) 0 ${highlightEnd}%, rgba(255,255,255,0) ${highlightEnd + 20}%)`,
|
|
1524
1778
|
`radial-gradient(circle at 70% 82%, rgba(0,0,0,${shadowAlpha.toFixed(2)}) 0 26%, rgba(0,0,0,0) 58%)`,
|
|
1525
1779
|
`radial-gradient(circle at 82% 22%, rgba(255,255,255,${rimAlpha.toFixed(2)}) 0 9%, rgba(255,255,255,0) 36%)`,
|
|
1526
1780
|
`linear-gradient(135deg, rgba(255,255,255,${(0.08 + metallic * 0.16).toFixed(2)}), rgba(0,0,0,${(0.12 + roughness * 0.1).toFixed(2)}))`,
|
|
@@ -1557,32 +1811,17 @@ function clampNumber(value, min, max) {
|
|
|
1557
1811
|
}
|
|
1558
1812
|
function appendAssetBrowserTabs(doc, panel, state, activeTab) {
|
|
1559
1813
|
const tabs = doc.createElement('div');
|
|
1560
|
-
tabs.
|
|
1561
|
-
'display:flex',
|
|
1562
|
-
'align-items:center',
|
|
1563
|
-
'gap:4px',
|
|
1564
|
-
'margin:0 0 8px',
|
|
1565
|
-
'min-height:26px',
|
|
1566
|
-
].join(';');
|
|
1814
|
+
tabs.className = 'fps-editor-ui-segmented-tabs';
|
|
1567
1815
|
for (const tab of ASSET_BROWSER_TABS) {
|
|
1568
1816
|
const button = doc.createElement('button');
|
|
1817
|
+
button.className = 'fps-editor-ui-button fps-editor-ui-segmented-tab';
|
|
1569
1818
|
button.type = 'button';
|
|
1570
1819
|
button.dataset.editorAssetBrowserTab = tab.id;
|
|
1571
1820
|
button.title = tab.title;
|
|
1572
1821
|
const active = activeTab === tab.id;
|
|
1822
|
+
button.dataset.active = active ? 'true' : 'false';
|
|
1573
1823
|
const count = filterAssetsByBrowserTab(state.assets, tab.id).length;
|
|
1574
1824
|
button.textContent = `${tab.label} ${count}`;
|
|
1575
|
-
button.style.cssText = [
|
|
1576
|
-
'height:24px',
|
|
1577
|
-
'padding:0 8px',
|
|
1578
|
-
'border:1px solid var(--fps-editor-border)',
|
|
1579
|
-
'border-radius:3px',
|
|
1580
|
-
`background:${active ? 'var(--fps-editor-accent)' : 'var(--fps-editor-button-bg)'}`,
|
|
1581
|
-
`color:${active ? 'var(--fps-editor-text-strong)' : 'var(--fps-editor-muted)'}`,
|
|
1582
|
-
'font-size:11px',
|
|
1583
|
-
'font-weight:800',
|
|
1584
|
-
'cursor:pointer',
|
|
1585
|
-
].join(';');
|
|
1586
1825
|
tabs.appendChild(button);
|
|
1587
1826
|
}
|
|
1588
1827
|
panel.appendChild(tabs);
|
|
@@ -1595,8 +1834,8 @@ function filterAssetsByBrowserTab(assets, tab) {
|
|
|
1595
1834
|
function renderHistoryPanel(doc, panel, history) {
|
|
1596
1835
|
configureLocalEditorDockPanelContent(panel);
|
|
1597
1836
|
const title = doc.createElement('h2');
|
|
1837
|
+
title.className = 'fps-editor-ui-panel-title';
|
|
1598
1838
|
const entries = history?.entries ?? [];
|
|
1599
|
-
title.style.cssText = 'display:flex;align-items:center;gap:6px;font-size:13px;margin:0 0 8px;font-weight:800;color:var(--fps-editor-text-strong)';
|
|
1600
1839
|
title.appendChild(createLocalEditorIcon(doc, 'history'));
|
|
1601
1840
|
title.appendChild(createHeadingLabel(doc, `历史记录 (${entries.length})`));
|
|
1602
1841
|
panel.appendChild(title);
|
|
@@ -1610,15 +1849,15 @@ function appendHistoryEntries(doc, panel, entries) {
|
|
|
1610
1849
|
return;
|
|
1611
1850
|
}
|
|
1612
1851
|
const list = doc.createElement('div');
|
|
1613
|
-
list.
|
|
1852
|
+
list.className = 'fps-editor-ui-history-list';
|
|
1614
1853
|
for (const entry of entries) {
|
|
1615
1854
|
const item = createListItemBlock(doc);
|
|
1616
1855
|
const label = doc.createElement('div');
|
|
1856
|
+
label.className = 'fps-editor-ui-history-label fps-editor-ui-ellipsis';
|
|
1617
1857
|
label.textContent = entry.label;
|
|
1618
|
-
label.style.cssText = 'font-size:12px;font-weight:900;color:var(--fps-editor-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap';
|
|
1619
1858
|
const meta = doc.createElement('div');
|
|
1859
|
+
meta.className = 'fps-editor-ui-history-meta fps-editor-ui-ellipsis';
|
|
1620
1860
|
meta.textContent = `${formatHistoryTimestamp(entry.createdAt)} · ${entry.commandType}`;
|
|
1621
|
-
meta.style.cssText = 'font-size:11px;color:var(--fps-editor-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap';
|
|
1622
1861
|
item.appendChild(label);
|
|
1623
1862
|
item.appendChild(meta);
|
|
1624
1863
|
list.appendChild(item);
|
|
@@ -1646,10 +1885,11 @@ function formatHistoryTimestamp(createdAt) {
|
|
|
1646
1885
|
}
|
|
1647
1886
|
export function renderInspectorPanel(doc, panel, state, filter = '', options = {}) {
|
|
1648
1887
|
const renderSnapshot = captureInspectorPanelRenderSnapshot(doc, panel);
|
|
1888
|
+
disposeInspectorPanelUi(panel);
|
|
1649
1889
|
clearElement(panel);
|
|
1650
1890
|
configureLocalEditorDockPanelContent(panel);
|
|
1651
1891
|
const title = doc.createElement('h2');
|
|
1652
|
-
title.
|
|
1892
|
+
title.className = 'fps-editor-inspector-title';
|
|
1653
1893
|
title.appendChild(createLocalEditorIcon(doc, 'inspector'));
|
|
1654
1894
|
title.appendChild(createHeadingLabel(doc, options.title ?? 'Inspector'));
|
|
1655
1895
|
panel.appendChild(title);
|
|
@@ -1669,7 +1909,7 @@ export function renderInspectorPanel(doc, panel, state, filter = '', options = {
|
|
|
1669
1909
|
restoreInspectorPanelRenderSnapshot(panel, renderSnapshot);
|
|
1670
1910
|
return;
|
|
1671
1911
|
}
|
|
1672
|
-
const controlRegistry = createLocalEditorBrowserInspectorControlRegistry(options.controls, options.controlConflict);
|
|
1912
|
+
const controlRegistry = createLocalEditorBrowserInspectorControlRegistry(options.controls, options.controlConflict, options.layerHost);
|
|
1673
1913
|
appendInspectorSummary(doc, viewport, inspectorObject, selectionCount, options.summaryTitle);
|
|
1674
1914
|
const visibleSections = filterInspectorSections(inspectorObject.sections.filter(section => section.placement !== 'summary'), filter);
|
|
1675
1915
|
if (visibleSections.length === 0) {
|
|
@@ -1712,30 +1952,27 @@ function restoreInspectorPanelRenderSnapshot(panel, snapshot) {
|
|
|
1712
1952
|
scrollContainer.scrollLeft = snapshot.scrollLeft;
|
|
1713
1953
|
}
|
|
1714
1954
|
function createInspectorSearchInput(doc, value) {
|
|
1715
|
-
const
|
|
1955
|
+
const control = registerInspectorUiMount(createEditorUiTextControl({
|
|
1956
|
+
document: doc,
|
|
1957
|
+
value,
|
|
1958
|
+
placeholder: 'Search…',
|
|
1959
|
+
}));
|
|
1960
|
+
const input = control.nativeInputs[0];
|
|
1716
1961
|
input.dataset.editorInspectorSearch = 'true';
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
input.style.cssText = [
|
|
1720
|
-
createEditorInputStyle(),
|
|
1721
|
-
'width:100%',
|
|
1722
|
-
'height:30px',
|
|
1723
|
-
'margin:0 0 8px',
|
|
1724
|
-
'outline:none',
|
|
1725
|
-
].join(';');
|
|
1726
|
-
return input;
|
|
1962
|
+
control.element.className = `${control.element.className || ''} fps-editor-inspector-search`.trim();
|
|
1963
|
+
return control.element;
|
|
1727
1964
|
}
|
|
1728
1965
|
function appendInspectorSummary(doc, panel, inspectorObject, selectionCount, summaryTitle) {
|
|
1729
1966
|
const block = createInspectorComponentBlock(doc);
|
|
1730
1967
|
const header = doc.createElement('div');
|
|
1731
|
-
header.
|
|
1968
|
+
header.className = 'fps-editor-inspector-summary-header';
|
|
1732
1969
|
const title = doc.createElement('h3');
|
|
1733
1970
|
const targetKind = inspectorObject.selection.targetKind;
|
|
1734
1971
|
const markerLike = targetKind === 'marker' || targetKind === 'marker-graph';
|
|
1735
1972
|
title.textContent = summaryTitle ?? (selectionCount > 1
|
|
1736
1973
|
? markerLike ? 'Markers' : 'Selection'
|
|
1737
1974
|
: targetKind === 'marker-graph' ? 'Marker Graph' : targetKind === 'marker' ? 'Marker' : 'GameObject');
|
|
1738
|
-
title.
|
|
1975
|
+
title.className = 'fps-editor-inspector-summary-title';
|
|
1739
1976
|
header.appendChild(title);
|
|
1740
1977
|
header.appendChild(createInspectorAccessBadge(doc, 'readonly'));
|
|
1741
1978
|
block.appendChild(header);
|
|
@@ -1766,36 +2003,24 @@ function inspectorPropertyMatches(section, property, needle) {
|
|
|
1766
2003
|
.some(value => String(value).toLowerCase().includes(needle));
|
|
1767
2004
|
}
|
|
1768
2005
|
function createInspectorSectionBlock(doc, inspectorObject, section, controlRegistry, options) {
|
|
1769
|
-
const
|
|
2006
|
+
const sectionMount = registerInspectorUiMount(createEditorUiSection({
|
|
2007
|
+
document: doc,
|
|
2008
|
+
title: section.title,
|
|
2009
|
+
collapsed: section.collapsedByDefault === true,
|
|
2010
|
+
collapsible: true,
|
|
2011
|
+
}));
|
|
2012
|
+
const block = sectionMount.element;
|
|
1770
2013
|
block.dataset.editorInspectorSection = section.id;
|
|
1771
|
-
block.open = section.collapsedByDefault !== true;
|
|
1772
2014
|
const status = resolveLocalEditorBrowserInspectorSectionStatus(section);
|
|
1773
2015
|
const { access, effect } = status;
|
|
1774
2016
|
block.dataset.editorInspectorAccess = access;
|
|
1775
2017
|
block.dataset.editorInspectorEffect = effect;
|
|
1776
|
-
block.style.cssText = createInspectorBlockStyle(access, effect);
|
|
1777
|
-
const sectionTitle = doc.createElement('summary');
|
|
1778
|
-
sectionTitle.style.cssText = [
|
|
1779
|
-
'font-size:12px',
|
|
1780
|
-
'margin:-2px 0 8px',
|
|
1781
|
-
'font-weight:900',
|
|
1782
|
-
'color:var(--fps-editor-text-strong)',
|
|
1783
|
-
'display:flex',
|
|
1784
|
-
'align-items:center',
|
|
1785
|
-
'justify-content:space-between',
|
|
1786
|
-
'gap:8px',
|
|
1787
|
-
'cursor:pointer',
|
|
1788
|
-
'list-style:none',
|
|
1789
|
-
].join(';');
|
|
1790
|
-
const label = doc.createElement('span');
|
|
1791
|
-
label.textContent = section.title;
|
|
1792
|
-
sectionTitle.appendChild(label);
|
|
1793
2018
|
const meta = doc.createElement('span');
|
|
1794
|
-
meta.
|
|
2019
|
+
meta.className = 'fps-editor-inspector-section-meta';
|
|
1795
2020
|
if (section.summary) {
|
|
1796
2021
|
const summary = doc.createElement('span');
|
|
1797
2022
|
summary.textContent = section.summary;
|
|
1798
|
-
summary.
|
|
2023
|
+
summary.className = 'fps-editor-inspector-section-summary';
|
|
1799
2024
|
meta.appendChild(summary);
|
|
1800
2025
|
}
|
|
1801
2026
|
const badge = createInspectorAccessBadge(doc, access);
|
|
@@ -1806,9 +2031,8 @@ function createInspectorSectionBlock(doc, inspectorObject, section, controlRegis
|
|
|
1806
2031
|
effectBadge.style.flex = '0 0 auto';
|
|
1807
2032
|
meta.appendChild(effectBadge);
|
|
1808
2033
|
}
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
const content = doc.createElement('div');
|
|
2034
|
+
sectionMount.header.appendChild(meta);
|
|
2035
|
+
const content = sectionMount.content;
|
|
1812
2036
|
content.dataset.editorInspectorSectionContent = section.id;
|
|
1813
2037
|
for (const group of groupInspectorProperties(section.properties)) {
|
|
1814
2038
|
if (group.kind === 'vector')
|
|
@@ -1816,14 +2040,13 @@ function createInspectorSectionBlock(doc, inspectorObject, section, controlRegis
|
|
|
1816
2040
|
else
|
|
1817
2041
|
appendInspectorPropertyRow(doc, content, inspectorObject, group.property, controlRegistry);
|
|
1818
2042
|
}
|
|
1819
|
-
block.appendChild(content);
|
|
1820
2043
|
return block;
|
|
1821
2044
|
}
|
|
1822
2045
|
function createInspectorComponentBlock(doc) {
|
|
1823
2046
|
const block = doc.createElement('div');
|
|
2047
|
+
block.className = 'fps-editor-inspector-component';
|
|
1824
2048
|
block.dataset.editorInspectorAccess = 'readonly';
|
|
1825
2049
|
block.dataset.editorInspectorEffect = 'active';
|
|
1826
|
-
block.style.cssText = createInspectorBlockStyle('readonly', 'active');
|
|
1827
2050
|
return block;
|
|
1828
2051
|
}
|
|
1829
2052
|
export function resolveLocalEditorBrowserInspectorSectionStatus(section) {
|
|
@@ -1837,15 +2060,6 @@ export function resolveLocalEditorBrowserInspectorSectionStatus(section) {
|
|
|
1837
2060
|
&& !(effect === 'default' && inspectorSummaryLooksDefault(section.summary)),
|
|
1838
2061
|
};
|
|
1839
2062
|
}
|
|
1840
|
-
function createInspectorBlockStyle(_access, _effect = 'active') {
|
|
1841
|
-
return [
|
|
1842
|
-
'margin:0 0 8px',
|
|
1843
|
-
'padding:9px',
|
|
1844
|
-
'border:1px solid var(--fps-editor-inspector-section-border, var(--fps-editor-border))',
|
|
1845
|
-
'border-radius:3px',
|
|
1846
|
-
'background:var(--fps-editor-panel-soft)',
|
|
1847
|
-
].join(';');
|
|
1848
|
-
}
|
|
1849
2063
|
function isInspectorPropertyEditable(property) {
|
|
1850
2064
|
return property.readOnly !== true
|
|
1851
2065
|
&& property.persistence === 'document'
|
|
@@ -2045,123 +2259,125 @@ function resolveInspectorVectorGroupLabel(properties, fallback) {
|
|
|
2045
2259
|
return first;
|
|
2046
2260
|
return toTitle(fallback);
|
|
2047
2261
|
}
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2262
|
+
function createBuiltinInspectorControlRegistrations(layerHost) {
|
|
2263
|
+
return [
|
|
2264
|
+
{
|
|
2265
|
+
id: 'builtin.readonly',
|
|
2266
|
+
order: 100,
|
|
2267
|
+
control: 'readonly',
|
|
2268
|
+
render: ({ doc, target, property }) => createInspectorReadonlyControl(doc, target, property),
|
|
2269
|
+
},
|
|
2270
|
+
{
|
|
2271
|
+
id: 'builtin.string',
|
|
2272
|
+
order: 100,
|
|
2273
|
+
control: 'string',
|
|
2274
|
+
render: ({ doc, target, property }) => createInspectorTextControl(doc, target, property),
|
|
2275
|
+
},
|
|
2276
|
+
{
|
|
2277
|
+
id: 'builtin.number',
|
|
2278
|
+
order: 100,
|
|
2279
|
+
control: 'number',
|
|
2280
|
+
render: ({ doc, target, property }) => createInspectorNumberControl(doc, target, property),
|
|
2281
|
+
},
|
|
2282
|
+
{
|
|
2283
|
+
id: 'builtin.boolean',
|
|
2284
|
+
order: 100,
|
|
2285
|
+
control: 'boolean',
|
|
2286
|
+
render: ({ doc, target, property }) => createInspectorBooleanControl(doc, target, property),
|
|
2287
|
+
},
|
|
2288
|
+
{
|
|
2289
|
+
id: 'builtin.enum',
|
|
2290
|
+
order: 100,
|
|
2291
|
+
control: 'enum',
|
|
2292
|
+
render: ({ doc, target, property }) => createInspectorEnumControl(doc, target, property, layerHost),
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
id: 'builtin.vec2',
|
|
2296
|
+
order: 100,
|
|
2297
|
+
control: 'vec2',
|
|
2298
|
+
render: ({ doc, target, property }) => createInspectorVectorControl(doc, target, property),
|
|
2299
|
+
},
|
|
2300
|
+
{
|
|
2301
|
+
id: 'builtin.vec3',
|
|
2302
|
+
order: 100,
|
|
2303
|
+
control: 'vec3',
|
|
2304
|
+
render: ({ doc, target, property }) => createInspectorVectorControl(doc, target, property),
|
|
2305
|
+
},
|
|
2306
|
+
{
|
|
2307
|
+
id: 'builtin.color',
|
|
2308
|
+
order: 100,
|
|
2309
|
+
control: 'color',
|
|
2310
|
+
render: ({ doc, target, property }) => createInspectorColorControl(doc, target, property, layerHost),
|
|
2311
|
+
},
|
|
2312
|
+
{
|
|
2313
|
+
id: 'builtin.open-right-dock-tab',
|
|
2314
|
+
order: 90,
|
|
2315
|
+
control: 'custom',
|
|
2316
|
+
customControl: 'open-right-dock-tab',
|
|
2317
|
+
render: ({ doc, property }) => createInspectorOpenRightDockTabControl(doc, property),
|
|
2318
|
+
},
|
|
2319
|
+
{
|
|
2320
|
+
id: 'builtin.rendering-action-button',
|
|
2321
|
+
order: 92,
|
|
2322
|
+
control: 'custom',
|
|
2323
|
+
customControl: 'rendering-action-button',
|
|
2324
|
+
render: ({ doc, property }) => createInspectorRenderingActionButtonControl(doc, property),
|
|
2325
|
+
},
|
|
2326
|
+
{
|
|
2327
|
+
id: 'builtin.inspector-action-button',
|
|
2328
|
+
order: 93,
|
|
2329
|
+
control: 'custom',
|
|
2330
|
+
customControl: 'inspector-action-button',
|
|
2331
|
+
render: ({ doc, target, property }) => createInspectorActionButtonControl(doc, target, property),
|
|
2332
|
+
},
|
|
2333
|
+
{
|
|
2334
|
+
id: 'builtin.marker-relation-editor',
|
|
2335
|
+
order: 91,
|
|
2336
|
+
control: 'custom',
|
|
2337
|
+
customControl: 'marker-relation-editor',
|
|
2338
|
+
render: ({ doc, property }) => createInspectorMarkerRelationEditorControl(doc, property),
|
|
2339
|
+
},
|
|
2340
|
+
{
|
|
2341
|
+
id: 'builtin.asset-picker-card',
|
|
2342
|
+
order: 95,
|
|
2343
|
+
control: 'custom',
|
|
2344
|
+
customControl: 'asset-picker-card',
|
|
2345
|
+
render: ({ doc, target, property, bindInput }) => createInspectorAssetPickerCardControl(doc, target, property, bindInput),
|
|
2346
|
+
},
|
|
2347
|
+
{
|
|
2348
|
+
id: 'builtin.ground-decal-layout',
|
|
2349
|
+
order: 96,
|
|
2350
|
+
control: 'custom',
|
|
2351
|
+
customControl: 'ground-decal-layout',
|
|
2352
|
+
render: ({ doc, target, property, bindInput }) => createInspectorGroundDecalLayoutControl(doc, target, property, bindInput),
|
|
2353
|
+
},
|
|
2354
|
+
{
|
|
2355
|
+
id: 'builtin.material-slot-list',
|
|
2356
|
+
order: 97,
|
|
2357
|
+
control: 'custom',
|
|
2358
|
+
customControl: 'material-slot-list',
|
|
2359
|
+
render: ({ doc, property }) => createInspectorMaterialSlotListControl(doc, property),
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
id: 'builtin.asset',
|
|
2363
|
+
order: 100,
|
|
2364
|
+
control: 'asset',
|
|
2365
|
+
render: ({ doc, target, property }) => createInspectorTextControl(doc, target, property),
|
|
2366
|
+
},
|
|
2367
|
+
{
|
|
2368
|
+
id: 'builtin.object',
|
|
2369
|
+
order: 100,
|
|
2370
|
+
control: 'object',
|
|
2371
|
+
render: ({ doc, target, property }) => createInspectorReadonlyControl(doc, target, property),
|
|
2372
|
+
},
|
|
2373
|
+
{
|
|
2374
|
+
id: 'builtin.custom',
|
|
2375
|
+
order: 1000,
|
|
2376
|
+
control: 'custom',
|
|
2377
|
+
render: ({ doc, target, property }) => createInspectorReadonlyControl(doc, target, property),
|
|
2378
|
+
},
|
|
2379
|
+
];
|
|
2380
|
+
}
|
|
2165
2381
|
function appendInspectorPropertyRow(doc, parent, inspectorObject, property, controlRegistry) {
|
|
2166
2382
|
const control = renderInspectorControl(doc, controlRegistry, inspectorObject, property);
|
|
2167
2383
|
const access = getInspectorPropertyAccess(property);
|
|
@@ -2174,17 +2390,24 @@ function appendInspectorPropertyRow(doc, parent, inspectorObject, property, cont
|
|
|
2174
2390
|
parent.appendChild(control);
|
|
2175
2391
|
return;
|
|
2176
2392
|
}
|
|
2177
|
-
const row =
|
|
2393
|
+
const row = createInspectorPropertyRowShell(doc, property.label, control);
|
|
2178
2394
|
row.dataset.editorInspectorAccess = access;
|
|
2179
2395
|
row.dataset.editorInspectorEffect = effect;
|
|
2180
2396
|
applyInspectorPropertyRowHierarchyStyle(row, property);
|
|
2181
2397
|
row.title = createInspectorStatusTitle(access, effect, property.tooltip ?? property.disabledReason);
|
|
2182
2398
|
row.dataset.editorTooltip = row.title;
|
|
2183
|
-
const label = row.firstElementChild;
|
|
2184
|
-
if (label)
|
|
2185
|
-
label.style.cssText = createInspectorPropertyLabelStyle(access, effect);
|
|
2186
2399
|
parent.appendChild(row);
|
|
2187
2400
|
}
|
|
2401
|
+
function createInspectorPropertyRowShell(doc, labelText, control) {
|
|
2402
|
+
const row = doc.createElement('div');
|
|
2403
|
+
row.className = 'fps-editor-inspector-property-row';
|
|
2404
|
+
const label = doc.createElement('span');
|
|
2405
|
+
label.className = 'fps-editor-inspector-property-label';
|
|
2406
|
+
label.textContent = labelText;
|
|
2407
|
+
row.appendChild(label);
|
|
2408
|
+
row.appendChild(control);
|
|
2409
|
+
return row;
|
|
2410
|
+
}
|
|
2188
2411
|
function applyInspectorPropertyRowHierarchyStyle(row, property) {
|
|
2189
2412
|
const indentLevel = Math.max(0, Math.min(4, Math.floor(readInspectorControlOptionNumber(property, 'indentLevel'))));
|
|
2190
2413
|
if (indentLevel <= 0)
|
|
@@ -2198,12 +2421,12 @@ function applyInspectorPropertyRowHierarchyStyle(row, property) {
|
|
|
2198
2421
|
`margin-left:${indentLevel * 14}px`,
|
|
2199
2422
|
'padding-left:8px',
|
|
2200
2423
|
'border-left:2px solid var(--fps-editor-border)',
|
|
2201
|
-
`grid-template-columns:${Math.max(68,
|
|
2424
|
+
`grid-template-columns:${Math.max(68, 96 - indentLevel * 12)}px minmax(0,1fr)`,
|
|
2202
2425
|
].filter(Boolean).join(';');
|
|
2203
2426
|
}
|
|
2204
|
-
export function createLocalEditorBrowserInspectorControlRegistry(controls = [], conflict = 'error') {
|
|
2427
|
+
export function createLocalEditorBrowserInspectorControlRegistry(controls = [], conflict = 'error', layerHost) {
|
|
2205
2428
|
const registrations = new Map();
|
|
2206
|
-
for (const control of
|
|
2429
|
+
for (const control of createBuiltinInspectorControlRegistrations(layerHost)) {
|
|
2207
2430
|
registerInspectorControl(registrations, control, 'error');
|
|
2208
2431
|
}
|
|
2209
2432
|
for (const control of controls) {
|
|
@@ -2241,12 +2464,24 @@ function renderInspectorControl(doc, registrations, target, property) {
|
|
|
2241
2464
|
},
|
|
2242
2465
|
};
|
|
2243
2466
|
const registration = resolveLocalEditorBrowserInspectorControlRegistration(registrations, context);
|
|
2244
|
-
if (registration)
|
|
2245
|
-
|
|
2467
|
+
if (registration) {
|
|
2468
|
+
const rendered = registration.render(context);
|
|
2469
|
+
if (isInspectorControlMount(doc, rendered))
|
|
2470
|
+
return registerInspectorUiMount(rendered).element;
|
|
2471
|
+
return rendered;
|
|
2472
|
+
}
|
|
2246
2473
|
if (!isInspectorPropertyEditable(normalizedProperty))
|
|
2247
2474
|
return createInspectorReadonlyControl(doc, target, normalizedProperty);
|
|
2248
2475
|
return createInspectorReadonlyControl(doc, target, normalizedProperty);
|
|
2249
2476
|
}
|
|
2477
|
+
function isInspectorControlMount(doc, value) {
|
|
2478
|
+
const HTMLElementConstructor = doc.defaultView?.HTMLElement;
|
|
2479
|
+
if (HTMLElementConstructor && value instanceof HTMLElementConstructor)
|
|
2480
|
+
return false;
|
|
2481
|
+
if ('nodeType' in value && value.nodeType === 1)
|
|
2482
|
+
return false;
|
|
2483
|
+
return 'element' in value && typeof value.dispose === 'function';
|
|
2484
|
+
}
|
|
2250
2485
|
export function resolveLocalEditorBrowserInspectorControlRegistration(registrations, context) {
|
|
2251
2486
|
for (const registration of registrations) {
|
|
2252
2487
|
if (localEditorBrowserInspectorControlSupports(registration, context))
|
|
@@ -2303,7 +2538,7 @@ function isInspectorCustomControlFallback(customControl, property) {
|
|
|
2303
2538
|
}
|
|
2304
2539
|
function appendInspectorVectorInputs(doc, parent, inspectorObject, label, properties, layout = 'block', options = {}) {
|
|
2305
2540
|
const wrapper = doc.createElement('div');
|
|
2306
|
-
wrapper.
|
|
2541
|
+
wrapper.className = 'fps-editor-inspector-vector-group';
|
|
2307
2542
|
const access = getInspectorPropertyGroupAccess(properties);
|
|
2308
2543
|
const effect = getInspectorPropertyGroupEffect(properties);
|
|
2309
2544
|
wrapper.dataset.editorInspectorAccess = access;
|
|
@@ -2311,30 +2546,35 @@ function appendInspectorVectorInputs(doc, parent, inspectorObject, label, proper
|
|
|
2311
2546
|
wrapper.title = createInspectorStatusTitle(access, effect, getInspectorPropertyGroupTooltip(properties) ?? getInspectorPropertyGroupDisabledReason(properties));
|
|
2312
2547
|
wrapper.dataset.editorTooltip = wrapper.title;
|
|
2313
2548
|
const labelElement = doc.createElement('div');
|
|
2314
|
-
labelElement.
|
|
2549
|
+
labelElement.className = 'fps-editor-inspector-vector-header';
|
|
2315
2550
|
const labelText = doc.createElement('span');
|
|
2316
2551
|
labelText.textContent = label;
|
|
2317
|
-
labelText.
|
|
2552
|
+
labelText.className = 'fps-editor-inspector-property-label';
|
|
2318
2553
|
labelElement.appendChild(labelText);
|
|
2319
2554
|
const actions = doc.createElement('span');
|
|
2320
|
-
actions.
|
|
2555
|
+
actions.className = 'fps-editor-inspector-vector-actions';
|
|
2321
2556
|
labelElement.appendChild(actions);
|
|
2322
2557
|
const groupPath = resolveLocalEditorBrowserInspectorVectorGroupPathFromProperties(properties);
|
|
2558
|
+
const localizedLabel = resolveInspectorVectorGroupChineseLabel(groupPath, label);
|
|
2323
2559
|
const forceLocked = properties.some(property => readInspectorControlOptionBoolean(property, 'forceVectorLock'));
|
|
2324
2560
|
const locked = forceLocked || (!!groupPath && options.lockedVectorGroups?.has(groupPath) === true);
|
|
2325
|
-
if (groupPath && access === 'editable') {
|
|
2326
|
-
const lockButton = createInspectorVectorHeaderButton(doc, forceLocked
|
|
2561
|
+
if (groupPath === 'transform.scale' && access === 'editable') {
|
|
2562
|
+
const lockButton = createInspectorVectorHeaderButton(doc, forceLocked
|
|
2563
|
+
? '等比缩放已由当前属性强制开启'
|
|
2564
|
+
: locked
|
|
2565
|
+
? '关闭等比缩放:恢复各轴独立调整'
|
|
2566
|
+
: '开启等比缩放:调整任意一轴时,其他轴按当前比例同步变化', locked);
|
|
2327
2567
|
if (!forceLocked)
|
|
2328
2568
|
lockButton.dataset.editorInspectorVectorLock = groupPath;
|
|
2329
2569
|
lockButton.disabled = forceLocked;
|
|
2330
2570
|
lockButton.dataset.editorInspectorVectorLockState = locked ? 'locked' : 'unlocked';
|
|
2331
2571
|
lockButton.setAttribute('aria-pressed', locked ? 'true' : 'false');
|
|
2332
|
-
lockButton.appendChild(createLocalEditorIcon(doc, '
|
|
2572
|
+
lockButton.appendChild(createLocalEditorIcon(doc, 'link', { size: 12, strokeWidth: 2.2 }));
|
|
2333
2573
|
actions.appendChild(lockButton);
|
|
2334
2574
|
}
|
|
2335
2575
|
const copyPayload = createLocalEditorBrowserInspectorVectorCopyPayload(properties);
|
|
2336
2576
|
if (copyPayload) {
|
|
2337
|
-
const copyButton = createInspectorVectorHeaderButton(doc,
|
|
2577
|
+
const copyButton = createInspectorVectorHeaderButton(doc, `复制${localizedLabel}三轴数值`, false);
|
|
2338
2578
|
copyButton.dataset.editorInspectorVectorCopy = 'true';
|
|
2339
2579
|
copyButton.dataset.editorInspectorVectorCopyValue = copyPayload;
|
|
2340
2580
|
copyButton.appendChild(createLocalEditorIcon(doc, 'copy', { size: 12, strokeWidth: 2.2 }));
|
|
@@ -2353,21 +2593,34 @@ function appendInspectorVectorInputs(doc, parent, inspectorObject, label, proper
|
|
|
2353
2593
|
const fields = doc.createElement('div');
|
|
2354
2594
|
if (groupPath)
|
|
2355
2595
|
wrapper.dataset.editorInspectorVectorGroupPath = groupPath;
|
|
2356
|
-
fields.
|
|
2596
|
+
fields.className = 'fps-editor-inspector-vector-fields';
|
|
2597
|
+
fields.style.setProperty('--fps-editor-vector-dimensions', String(Math.max(1, properties.length)));
|
|
2357
2598
|
for (const property of properties) {
|
|
2358
|
-
|
|
2599
|
+
const control = isInspectorPropertyEditable(property)
|
|
2359
2600
|
? createInspectorNumberControl(doc, inspectorObject, property)
|
|
2360
|
-
: createInspectorReadonlyControl(doc, inspectorObject, property)
|
|
2601
|
+
: createInspectorReadonlyControl(doc, inspectorObject, property);
|
|
2602
|
+
const axis = resolveLocalEditorBrowserInspectorVectorGroupAxisFromPropertyPath(property.path)?.axis;
|
|
2603
|
+
if (!axis) {
|
|
2604
|
+
fields.appendChild(control);
|
|
2605
|
+
continue;
|
|
2606
|
+
}
|
|
2607
|
+
const axisField = doc.createElement('div');
|
|
2608
|
+
axisField.className = 'fps-editor-inspector-vector-axis-field';
|
|
2609
|
+
axisField.dataset.editorInspectorVectorAxisField = axis;
|
|
2610
|
+
const axisLabel = doc.createElement('span');
|
|
2611
|
+
axisLabel.className = 'fps-editor-inspector-vector-axis-label';
|
|
2612
|
+
axisLabel.textContent = axis.toUpperCase();
|
|
2613
|
+
axisLabel.setAttribute('aria-hidden', 'true');
|
|
2614
|
+
axisField.appendChild(axisLabel);
|
|
2615
|
+
axisField.appendChild(control);
|
|
2616
|
+
fields.appendChild(axisField);
|
|
2361
2617
|
}
|
|
2362
2618
|
if (layout === 'inline') {
|
|
2363
|
-
const row =
|
|
2619
|
+
const row = createInspectorPropertyRowShell(doc, label, fields);
|
|
2364
2620
|
row.dataset.editorInspectorAccess = access;
|
|
2365
2621
|
row.dataset.editorInspectorEffect = effect;
|
|
2366
2622
|
row.title = wrapper.title;
|
|
2367
2623
|
row.dataset.editorTooltip = wrapper.dataset.editorTooltip ?? wrapper.title;
|
|
2368
|
-
const rowLabel = row.firstElementChild;
|
|
2369
|
-
if (rowLabel)
|
|
2370
|
-
rowLabel.style.cssText = createInspectorPropertyLabelStyle(access, effect);
|
|
2371
2624
|
parent.appendChild(row);
|
|
2372
2625
|
return;
|
|
2373
2626
|
}
|
|
@@ -2375,25 +2628,22 @@ function appendInspectorVectorInputs(doc, parent, inspectorObject, label, proper
|
|
|
2375
2628
|
wrapper.appendChild(fields);
|
|
2376
2629
|
parent.appendChild(wrapper);
|
|
2377
2630
|
}
|
|
2631
|
+
function resolveInspectorVectorGroupChineseLabel(groupPath, fallback) {
|
|
2632
|
+
if (groupPath === 'transform.position')
|
|
2633
|
+
return '位置';
|
|
2634
|
+
if (groupPath === 'transform.rotation')
|
|
2635
|
+
return '旋转';
|
|
2636
|
+
if (groupPath === 'transform.scale')
|
|
2637
|
+
return '缩放';
|
|
2638
|
+
return fallback;
|
|
2639
|
+
}
|
|
2378
2640
|
function createInspectorVectorHeaderButton(doc, title, active) {
|
|
2379
|
-
const
|
|
2380
|
-
button
|
|
2641
|
+
const mount = registerInspectorUiMount(createEditorUiButton({ document: doc, text: '', title }));
|
|
2642
|
+
const button = mount.element;
|
|
2381
2643
|
button.title = title;
|
|
2382
2644
|
button.dataset.editorTooltip = title;
|
|
2383
|
-
button.
|
|
2384
|
-
|
|
2385
|
-
'height:22px',
|
|
2386
|
-
'padding:0',
|
|
2387
|
-
`border:1px solid ${active ? 'var(--fps-editor-accent)' : 'var(--fps-editor-border)'}`,
|
|
2388
|
-
'border-radius:3px',
|
|
2389
|
-
`background:${active ? 'var(--fps-editor-accent-soft)' : 'var(--fps-editor-button-bg)'}`,
|
|
2390
|
-
`color:${active ? 'var(--fps-editor-accent)' : 'var(--fps-editor-text)'}`,
|
|
2391
|
-
'display:inline-flex',
|
|
2392
|
-
'align-items:center',
|
|
2393
|
-
'justify-content:center',
|
|
2394
|
-
'cursor:pointer',
|
|
2395
|
-
'flex:0 0 auto',
|
|
2396
|
-
].join(';');
|
|
2645
|
+
button.className = `${button.className || ''} fps-editor-inspector-icon-button`.trim();
|
|
2646
|
+
button.dataset.editorUiActive = String(active);
|
|
2397
2647
|
return button;
|
|
2398
2648
|
}
|
|
2399
2649
|
function getInspectorPropertyGroupAccess(properties) {
|
|
@@ -2451,31 +2701,6 @@ function createInspectorStatusTitle(access, effect, detail) {
|
|
|
2451
2701
|
parts.push(detail);
|
|
2452
2702
|
return [...new Set(parts)].join(' ');
|
|
2453
2703
|
}
|
|
2454
|
-
function createInspectorReadonlyValueShell(doc, access, effect = 'active', title) {
|
|
2455
|
-
const valueElement = doc.createElement('div');
|
|
2456
|
-
valueElement.dataset.editorInspectorAccess = access;
|
|
2457
|
-
valueElement.dataset.editorInspectorEffect = effect;
|
|
2458
|
-
valueElement.title = title ?? createInspectorStatusTitle(access, effect);
|
|
2459
|
-
const warningLike = effect === 'default' || effect === 'derived' || access === 'runtime' || effect === 'runtime';
|
|
2460
|
-
const unsupported = effect === 'unsupported';
|
|
2461
|
-
valueElement.style.cssText = [
|
|
2462
|
-
'min-width:0',
|
|
2463
|
-
'min-height:24px',
|
|
2464
|
-
'display:flex',
|
|
2465
|
-
'align-items:center',
|
|
2466
|
-
'gap:5px',
|
|
2467
|
-
'padding:3px 6px',
|
|
2468
|
-
`border:1px solid ${unsupported ? 'var(--fps-editor-danger-border)' : warningLike ? 'var(--fps-editor-warn-border)' : 'var(--fps-editor-readonly-border)'}`,
|
|
2469
|
-
'border-radius:3px',
|
|
2470
|
-
`background:${unsupported ? 'var(--fps-editor-danger-soft)' : warningLike ? 'var(--fps-editor-warn-soft)' : 'var(--fps-editor-readonly-bg)'}`,
|
|
2471
|
-
`color:${unsupported ? 'var(--fps-editor-danger-text)' : warningLike ? 'var(--fps-editor-warn)' : 'var(--fps-editor-readonly-text)'}`,
|
|
2472
|
-
warningLike ? 'font-style:italic' : '',
|
|
2473
|
-
].filter(Boolean).join(';');
|
|
2474
|
-
const icon = createLocalEditorIcon(doc, 'lock', { size: 11, strokeWidth: 2.3 });
|
|
2475
|
-
icon.style.opacity = '0.78';
|
|
2476
|
-
valueElement.appendChild(icon);
|
|
2477
|
-
return valueElement;
|
|
2478
|
-
}
|
|
2479
2704
|
function appendInspectorReadonlyTextValue(doc, parent, value, access, effect = 'active', title) {
|
|
2480
2705
|
const valueText = doc.createElement('span');
|
|
2481
2706
|
valueText.textContent = value;
|
|
@@ -2484,152 +2709,252 @@ function appendInspectorReadonlyTextValue(doc, parent, value, access, effect = '
|
|
|
2484
2709
|
parent.title = title ?? createInspectorStatusTitle(access, effect);
|
|
2485
2710
|
}
|
|
2486
2711
|
function createInspectorReadonlyCopyButton(doc, value, label) {
|
|
2487
|
-
const
|
|
2488
|
-
button
|
|
2712
|
+
const mount = registerInspectorUiMount(createEditorUiButton({ document: doc, text: '', title: `Copy ${label}` }));
|
|
2713
|
+
const button = mount.element;
|
|
2489
2714
|
button.dataset.editorInspectorReadonlyCopy = 'true';
|
|
2490
2715
|
button.dataset.editorInspectorReadonlyCopyValue = value;
|
|
2491
2716
|
button.dataset.editorTooltip = `Copy ${label}`;
|
|
2492
2717
|
button.setAttribute('aria-label', `Copy ${label}`);
|
|
2493
2718
|
button.title = `Copy ${label}`;
|
|
2494
|
-
button.
|
|
2495
|
-
'width:20px',
|
|
2496
|
-
'height:20px',
|
|
2497
|
-
'min-width:20px',
|
|
2498
|
-
'margin-left:auto',
|
|
2499
|
-
'padding:0',
|
|
2500
|
-
'border:1px solid transparent',
|
|
2501
|
-
'border-radius:3px',
|
|
2502
|
-
'background:transparent',
|
|
2503
|
-
'color:currentColor',
|
|
2504
|
-
'display:inline-flex',
|
|
2505
|
-
'align-items:center',
|
|
2506
|
-
'justify-content:center',
|
|
2507
|
-
'cursor:pointer',
|
|
2508
|
-
'opacity:0.72',
|
|
2509
|
-
'flex:0 0 20px',
|
|
2510
|
-
].join(';');
|
|
2719
|
+
button.className = `${button.className || ''} fps-editor-inspector-copy-button`.trim();
|
|
2511
2720
|
button.appendChild(createLocalEditorIcon(doc, 'copy', { size: 12, strokeWidth: 2.2 }));
|
|
2512
2721
|
return button;
|
|
2513
2722
|
}
|
|
2514
2723
|
function createInspectorReadonlyScalarControl(doc, value, access, effect = 'active', title, copyLabel = 'value') {
|
|
2515
|
-
const
|
|
2724
|
+
const mount = registerInspectorUiMount(createEditorUiReadonlyControl({
|
|
2725
|
+
document: doc,
|
|
2726
|
+
value: '',
|
|
2727
|
+
error: effect === 'unsupported',
|
|
2728
|
+
}));
|
|
2729
|
+
const valueElement = mount.element;
|
|
2730
|
+
valueElement.dataset.editorInspectorAccess = access;
|
|
2731
|
+
valueElement.dataset.editorInspectorEffect = effect;
|
|
2732
|
+
valueElement.title = title ?? createInspectorStatusTitle(access, effect);
|
|
2733
|
+
valueElement.className = `${valueElement.className || ''} fps-editor-inspector-readonly-value`.trim();
|
|
2734
|
+
if (effect === 'default' || effect === 'derived' || effect === 'runtime' || access === 'runtime') {
|
|
2735
|
+
valueElement.className = `${valueElement.className} fps-editor-inspector-readonly-value--warning`.trim();
|
|
2736
|
+
}
|
|
2737
|
+
const icon = createLocalEditorIcon(doc, 'lock', { size: 11, strokeWidth: 2.3 });
|
|
2738
|
+
icon.style.opacity = '0.78';
|
|
2739
|
+
valueElement.appendChild(icon);
|
|
2516
2740
|
appendInspectorReadonlyTextValue(doc, valueElement, value, access, effect, title);
|
|
2517
2741
|
if (value)
|
|
2518
2742
|
valueElement.appendChild(createInspectorReadonlyCopyButton(doc, value, copyLabel));
|
|
2519
2743
|
return valueElement;
|
|
2520
2744
|
}
|
|
2521
|
-
function
|
|
2522
|
-
const
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
const
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2745
|
+
function bindEditorUiValueControl(control, target, property, options) {
|
|
2746
|
+
for (const input of control.nativeInputs) {
|
|
2747
|
+
applyLocalEditorBrowserInspectorControlBinding(input, target, property, options);
|
|
2748
|
+
}
|
|
2749
|
+
const bridgeInput = control.nativeInputs.find(input => input.classList?.contains?.('fps-editor-ui-proxy-input'))
|
|
2750
|
+
?? control.nativeInputs[0];
|
|
2751
|
+
const nativeEventListeners = [];
|
|
2752
|
+
for (const input of control.nativeInputs) {
|
|
2753
|
+
for (const type of ['input', 'change', 'blur', 'keydown']) {
|
|
2754
|
+
const listener = (nativeEvent) => {
|
|
2755
|
+
if (input.dataset.editorUiBridgeDispatch === 'true')
|
|
2756
|
+
return;
|
|
2757
|
+
input.dataset.editorUiNativeEventActive = 'true';
|
|
2758
|
+
if (type === 'keydown'
|
|
2759
|
+
&& nativeEvent.key === 'Enter'
|
|
2760
|
+
&& !nativeEvent.isComposing) {
|
|
2761
|
+
input.dataset.editorUiKeyboardCommitPending = 'true';
|
|
2762
|
+
}
|
|
2763
|
+
queueMicrotask(() => {
|
|
2764
|
+
delete input.dataset.editorUiNativeEventActive;
|
|
2765
|
+
delete input.dataset.editorUiKeyboardCommitPending;
|
|
2766
|
+
});
|
|
2767
|
+
};
|
|
2768
|
+
input.addEventListener(type, listener, true);
|
|
2769
|
+
nativeEventListeners.push({ input, type, listener });
|
|
2770
|
+
}
|
|
2771
|
+
}
|
|
2772
|
+
const stopValueBridge = control.onValue(event => {
|
|
2773
|
+
if (!bridgeInput)
|
|
2774
|
+
return;
|
|
2775
|
+
if (bridgeInput.dataset.editorUiBridgeDispatch === 'true'
|
|
2776
|
+
|| control.nativeInputs.some(input => (input.dataset.editorUiNativeEventActive === 'true'
|
|
2777
|
+
|| input.dataset.editorUiKeyboardCommitPending === 'true')))
|
|
2778
|
+
return;
|
|
2779
|
+
// PCUI owns the in-control visual preview. Forwarding a synthetic preview
|
|
2780
|
+
// through the legacy property callback would synchronously rerender and
|
|
2781
|
+
// destroy an active slider/color gesture. Only bridge its final commit,
|
|
2782
|
+
// mapped back to the descriptor's existing native commit mode.
|
|
2783
|
+
if (event.phase === 'preview')
|
|
2784
|
+
return;
|
|
2785
|
+
bridgeInput.dataset.editorUiBridgeDispatch = 'true';
|
|
2786
|
+
const EventConstructor = bridgeInput.ownerDocument.defaultView?.Event ?? Event;
|
|
2787
|
+
const eventType = property.commitMode === 'live'
|
|
2788
|
+
? 'input'
|
|
2789
|
+
: property.commitMode === 'blur'
|
|
2790
|
+
? 'focusout'
|
|
2791
|
+
: 'change';
|
|
2792
|
+
bridgeInput.dispatchEvent(new EventConstructor(eventType, { bubbles: true }));
|
|
2793
|
+
delete bridgeInput.dataset.editorUiBridgeDispatch;
|
|
2794
|
+
});
|
|
2795
|
+
const disposeControl = control.dispose.bind(control);
|
|
2796
|
+
control.dispose = () => {
|
|
2797
|
+
stopValueBridge();
|
|
2798
|
+
for (const { input, type, listener } of nativeEventListeners) {
|
|
2799
|
+
input.removeEventListener(type, listener, true);
|
|
2800
|
+
}
|
|
2801
|
+
disposeControl();
|
|
2802
|
+
};
|
|
2803
|
+
registerInspectorUiMount(control);
|
|
2539
2804
|
}
|
|
2540
2805
|
function createInspectorInputBase(doc, target, property) {
|
|
2541
|
-
const
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2806
|
+
const control = createEditorUiTextControl({
|
|
2807
|
+
document: doc,
|
|
2808
|
+
value: property.mixed ? '' : formatInspectorEditableValue(property.value, property),
|
|
2809
|
+
mixed: property.mixed,
|
|
2810
|
+
placeholder: property.placeholder ?? '',
|
|
2811
|
+
disabled: !isInspectorPropertyEditable(property),
|
|
2812
|
+
readOnly: property.readOnly,
|
|
2813
|
+
});
|
|
2814
|
+
bindEditorUiValueControl(control, target, property);
|
|
2815
|
+
return control.element;
|
|
2547
2816
|
}
|
|
2548
2817
|
function createInspectorNumberControl(doc, target, property) {
|
|
2549
|
-
const
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2818
|
+
const control = createEditorUiNumberControl({
|
|
2819
|
+
document: doc,
|
|
2820
|
+
value: typeof property.value === 'number' && Number.isFinite(property.value) ? property.value : 0,
|
|
2821
|
+
mixed: property.mixed,
|
|
2822
|
+
placeholder: property.placeholder ?? '',
|
|
2823
|
+
min: property.min,
|
|
2824
|
+
max: property.max,
|
|
2825
|
+
step: property.step ?? 0.1,
|
|
2826
|
+
precision: property.precision,
|
|
2827
|
+
stepPrecision: property.stepPrecision,
|
|
2828
|
+
disabled: !isInspectorPropertyEditable(property),
|
|
2829
|
+
readOnly: property.readOnly,
|
|
2830
|
+
});
|
|
2831
|
+
for (const input of control.nativeInputs) {
|
|
2832
|
+
input.inputMode = 'decimal';
|
|
2833
|
+
input.dataset.serializedNumberStep = String(property.step ?? 0.1);
|
|
2834
|
+
if (property.precision != null)
|
|
2835
|
+
input.dataset.serializedNumberPrecision = String(property.precision);
|
|
2836
|
+
if (property.stepPrecision != null)
|
|
2837
|
+
input.dataset.serializedNumberStepPrecision = String(property.stepPrecision);
|
|
2838
|
+
if (property.min != null)
|
|
2839
|
+
input.dataset.serializedNumberMin = String(property.min);
|
|
2840
|
+
if (property.max != null)
|
|
2841
|
+
input.dataset.serializedNumberMax = String(property.max);
|
|
2842
|
+
}
|
|
2843
|
+
bindEditorUiValueControl(control, target, property);
|
|
2844
|
+
if (property.path.startsWith('transform.scale.')
|
|
2845
|
+
&& typeof property.value === 'number'
|
|
2846
|
+
&& Number.isFinite(property.value)) {
|
|
2847
|
+
for (const input of control.nativeInputs) {
|
|
2848
|
+
input.dataset.serializedVectorBaseValue = String(property.value);
|
|
2849
|
+
}
|
|
2850
|
+
}
|
|
2851
|
+
return control.element;
|
|
2558
2852
|
}
|
|
2559
2853
|
function createInspectorTextControl(doc, target, property) {
|
|
2560
|
-
|
|
2561
|
-
input.type = 'text';
|
|
2562
|
-
return input;
|
|
2854
|
+
return createInspectorInputBase(doc, target, property);
|
|
2563
2855
|
}
|
|
2564
2856
|
function createInspectorBooleanControl(doc, target, property) {
|
|
2565
|
-
const
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
return
|
|
2578
|
-
}
|
|
2579
|
-
function createInspectorEnumControl(doc, target, property) {
|
|
2580
|
-
const
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2857
|
+
const control = createEditorUiBooleanControl({
|
|
2858
|
+
document: doc,
|
|
2859
|
+
value: property.value === true,
|
|
2860
|
+
mixed: property.mixed,
|
|
2861
|
+
disabled: !isInspectorPropertyEditable(property),
|
|
2862
|
+
readOnly: property.readOnly,
|
|
2863
|
+
ariaLabel: property.label,
|
|
2864
|
+
});
|
|
2865
|
+
const proxy = control.nativeInputs[0];
|
|
2866
|
+
if (proxy)
|
|
2867
|
+
proxy.indeterminate = property.mixed === true;
|
|
2868
|
+
bindEditorUiValueControl(control, target, property, { source: 'toggle' });
|
|
2869
|
+
return control.element;
|
|
2870
|
+
}
|
|
2871
|
+
function createInspectorEnumControl(doc, target, property, layerHost) {
|
|
2872
|
+
const options = property.options ?? [];
|
|
2873
|
+
const control = createEditorUiSelectControl({
|
|
2874
|
+
document: doc,
|
|
2875
|
+
value: property.value,
|
|
2876
|
+
options: options.map(option => ({
|
|
2877
|
+
label: option.label,
|
|
2878
|
+
value: option.value,
|
|
2879
|
+
disabled: option.disabled,
|
|
2880
|
+
})),
|
|
2881
|
+
mixed: property.mixed,
|
|
2882
|
+
disabled: !isInspectorPropertyEditable(property),
|
|
2883
|
+
readOnly: property.readOnly,
|
|
2884
|
+
ariaLabel: property.label,
|
|
2885
|
+
layerHost,
|
|
2886
|
+
});
|
|
2887
|
+
const select = control.nativeInputs[0];
|
|
2888
|
+
if (select) {
|
|
2889
|
+
for (const [index, option] of options.entries()) {
|
|
2890
|
+
const item = select.options[index];
|
|
2891
|
+
if (item)
|
|
2892
|
+
item.dataset.serializedOptionValue = JSON.stringify(option.value);
|
|
2893
|
+
}
|
|
2894
|
+
if (property.mixed) {
|
|
2895
|
+
const mixed = doc.createElement('option');
|
|
2896
|
+
mixed.value = '';
|
|
2897
|
+
mixed.textContent = '--';
|
|
2898
|
+
mixed.selected = true;
|
|
2899
|
+
select.prepend(mixed);
|
|
2900
|
+
}
|
|
2599
2901
|
}
|
|
2600
|
-
|
|
2902
|
+
bindEditorUiValueControl(control, target, property, { source: 'select' });
|
|
2903
|
+
return control.element;
|
|
2601
2904
|
}
|
|
2602
2905
|
function createInspectorVectorControl(doc, target, property) {
|
|
2603
|
-
const wrapper = doc.createElement('div');
|
|
2604
|
-
wrapper.dataset.inspectorVectorControl = 'true';
|
|
2605
|
-
wrapper.style.cssText = 'display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%';
|
|
2606
2906
|
const axes = property.control === 'vec2' ? ['x', 'y'] : ['x', 'y', 'z'];
|
|
2607
|
-
if (property.control === 'vec2')
|
|
2608
|
-
wrapper.style.gridTemplateColumns = 'repeat(2,minmax(0,1fr))';
|
|
2609
2907
|
const value = isRecord(property.value) ? property.value : {};
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2908
|
+
const control = createEditorUiVectorControl({
|
|
2909
|
+
document: doc,
|
|
2910
|
+
dimensions: property.control === 'vec2' ? 2 : 3,
|
|
2911
|
+
value: axes.map(axis => typeof value[axis] === 'number' ? value[axis] : 0),
|
|
2912
|
+
mixed: property.mixed,
|
|
2913
|
+
min: property.min,
|
|
2914
|
+
max: property.max,
|
|
2915
|
+
step: property.step ?? 0.1,
|
|
2916
|
+
precision: property.precision,
|
|
2917
|
+
stepPrecision: property.stepPrecision,
|
|
2918
|
+
disabled: !isInspectorPropertyEditable(property),
|
|
2919
|
+
readOnly: property.readOnly,
|
|
2920
|
+
});
|
|
2921
|
+
control.element.dataset.inspectorVectorControl = 'true';
|
|
2922
|
+
control.nativeInputs.forEach((input, index) => {
|
|
2923
|
+
const axis = axes[index];
|
|
2924
|
+
if (!axis || !('inputMode' in input))
|
|
2925
|
+
return;
|
|
2613
2926
|
input.inputMode = 'decimal';
|
|
2614
2927
|
input.dataset.serializedNumberStep = String(property.step ?? 0.1);
|
|
2928
|
+
if (property.precision != null)
|
|
2929
|
+
input.dataset.serializedNumberPrecision = String(property.precision);
|
|
2930
|
+
if (property.stepPrecision != null)
|
|
2931
|
+
input.dataset.serializedNumberStepPrecision = String(property.stepPrecision);
|
|
2615
2932
|
if (property.min != null)
|
|
2616
2933
|
input.dataset.serializedNumberMin = String(property.min);
|
|
2617
2934
|
if (property.max != null)
|
|
2618
2935
|
input.dataset.serializedNumberMax = String(property.max);
|
|
2619
2936
|
input.dataset.serializedVectorAxis = axis;
|
|
2620
|
-
input.value = property.mixed ? '' : formatInspectorEditableValue(value[axis] ?? 0, property);
|
|
2621
2937
|
input.title = property.tooltip ? `${axis.toUpperCase()}: ${property.tooltip}` : `${property.label}.${axis}`;
|
|
2622
2938
|
input.dataset.editorTooltip = input.title;
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
return
|
|
2626
|
-
}
|
|
2627
|
-
function createInspectorColorControl(doc, target, property) {
|
|
2628
|
-
const
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2939
|
+
});
|
|
2940
|
+
bindEditorUiValueControl(control, target, property);
|
|
2941
|
+
return control.element;
|
|
2942
|
+
}
|
|
2943
|
+
function createInspectorColorControl(doc, target, property, layerHost) {
|
|
2944
|
+
const hex = colorValueToHex(property.value);
|
|
2945
|
+
const value = [1, 3, 5].map(index => Number.parseInt(hex.slice(index, index + 2), 16) / 255).concat([1]);
|
|
2946
|
+
const control = createEditorUiColorControl({
|
|
2947
|
+
document: doc,
|
|
2948
|
+
value,
|
|
2949
|
+
channels: 4,
|
|
2950
|
+
mixed: property.mixed,
|
|
2951
|
+
disabled: !isInspectorPropertyEditable(property),
|
|
2952
|
+
readOnly: property.readOnly,
|
|
2953
|
+
ariaLabel: property.label,
|
|
2954
|
+
layerHost,
|
|
2955
|
+
});
|
|
2956
|
+
bindEditorUiValueControl(control, target, property, { source: 'color' });
|
|
2957
|
+
return control.element;
|
|
2633
2958
|
}
|
|
2634
2959
|
function createInspectorOpenRightDockTabControl(doc, property) {
|
|
2635
2960
|
const targetTabOption = readInspectorControlOptionString(property, 'targetTab');
|
|
@@ -2642,17 +2967,10 @@ function createInspectorOpenRightDockTabControl(doc, property) {
|
|
|
2642
2967
|
: 'rendering';
|
|
2643
2968
|
const label = readInspectorControlOptionString(property, 'label')
|
|
2644
2969
|
|| (typeof property.value === 'string' ? property.value : property.label);
|
|
2645
|
-
const button =
|
|
2646
|
-
button.type = 'button';
|
|
2970
|
+
const button = createInspectorActionButtonMount(doc, label, RIGHT_DOCK_TAB_ICONS[targetTab], property.tooltip ?? label);
|
|
2647
2971
|
button.dataset.editorOpenRightDockTab = targetTab;
|
|
2648
2972
|
button.title = property.tooltip ?? label;
|
|
2649
2973
|
button.dataset.editorTooltip = button.title;
|
|
2650
|
-
button.style.cssText = [
|
|
2651
|
-
button.style.cssText,
|
|
2652
|
-
'width:100%',
|
|
2653
|
-
'justify-content:center',
|
|
2654
|
-
'height:28px',
|
|
2655
|
-
].filter(Boolean).join(';');
|
|
2656
2974
|
return button;
|
|
2657
2975
|
}
|
|
2658
2976
|
function createInspectorRenderingActionButtonControl(doc, property) {
|
|
@@ -2662,8 +2980,7 @@ function createInspectorRenderingActionButtonControl(doc, property) {
|
|
|
2662
2980
|
const icon = isLocalEditorIconName(iconName) ? iconName : 'save';
|
|
2663
2981
|
const label = readInspectorControlOptionString(property, 'label')
|
|
2664
2982
|
|| (typeof property.value === 'string' ? property.value : property.label);
|
|
2665
|
-
const button =
|
|
2666
|
-
button.type = 'button';
|
|
2983
|
+
const button = createInspectorActionButtonMount(doc, label, icon, property.tooltip ?? label);
|
|
2667
2984
|
if (actionId)
|
|
2668
2985
|
button.dataset.editorRenderingAction = actionId;
|
|
2669
2986
|
button.disabled = property.readOnly === true
|
|
@@ -2672,12 +2989,6 @@ function createInspectorRenderingActionButtonControl(doc, property) {
|
|
|
2672
2989
|
|| !actionId;
|
|
2673
2990
|
button.title = property.tooltip ?? label;
|
|
2674
2991
|
button.dataset.editorTooltip = button.title;
|
|
2675
|
-
button.style.cssText = [
|
|
2676
|
-
button.style.cssText,
|
|
2677
|
-
'width:100%',
|
|
2678
|
-
'justify-content:center',
|
|
2679
|
-
'height:28px',
|
|
2680
|
-
].filter(Boolean).join(';');
|
|
2681
2992
|
return button;
|
|
2682
2993
|
}
|
|
2683
2994
|
function createInspectorActionButtonControl(doc, target, property) {
|
|
@@ -2687,8 +2998,7 @@ function createInspectorActionButtonControl(doc, target, property) {
|
|
|
2687
2998
|
const icon = isLocalEditorIconName(iconName) ? iconName : 'asset';
|
|
2688
2999
|
const label = readInspectorControlOptionString(property, 'label')
|
|
2689
3000
|
|| (typeof property.value === 'string' ? property.value : property.label);
|
|
2690
|
-
const button =
|
|
2691
|
-
button.type = 'button';
|
|
3001
|
+
const button = createInspectorActionButtonMount(doc, label, icon, property.tooltip ?? label);
|
|
2692
3002
|
if (actionId)
|
|
2693
3003
|
button.dataset.editorInspectorAction = actionId;
|
|
2694
3004
|
button.dataset.editorInspectorActionTargetId = target.activeId ?? '';
|
|
@@ -2703,18 +3013,19 @@ function createInspectorActionButtonControl(doc, target, property) {
|
|
|
2703
3013
|
|| !actionId;
|
|
2704
3014
|
button.title = property.tooltip ?? label;
|
|
2705
3015
|
button.dataset.editorTooltip = button.title;
|
|
2706
|
-
button
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
3016
|
+
return button;
|
|
3017
|
+
}
|
|
3018
|
+
function createInspectorActionButtonMount(doc, label, icon, title) {
|
|
3019
|
+
const mount = registerInspectorUiMount(createEditorUiButton({ document: doc, text: label, title }));
|
|
3020
|
+
const button = mount.element;
|
|
3021
|
+
button.className = `${button.className || ''} fps-editor-inspector-action-button`.trim();
|
|
3022
|
+
button.prepend(createLocalEditorIcon(doc, icon, { size: 13, strokeWidth: 2.1 }));
|
|
2712
3023
|
return button;
|
|
2713
3024
|
}
|
|
2714
3025
|
function createInspectorMarkerRelationEditorControl(doc, property) {
|
|
2715
3026
|
const panel = readInspectorMarkerRelationPanelState(property);
|
|
2716
3027
|
const wrapper = doc.createElement('div');
|
|
2717
|
-
wrapper.
|
|
3028
|
+
wrapper.className = 'fps-editor-inspector-special-control fps-editor-inspector-marker-relations';
|
|
2718
3029
|
if (!panel) {
|
|
2719
3030
|
wrapper.appendChild(createEmptyState(doc, '当前 marker 没有可编辑的关系数据。'));
|
|
2720
3031
|
return wrapper;
|
|
@@ -2733,12 +3044,7 @@ function readInspectorMarkerRelationPanelState(property) {
|
|
|
2733
3044
|
function createInspectorMaterialSlotListControl(doc, property) {
|
|
2734
3045
|
const wrapper = doc.createElement('div');
|
|
2735
3046
|
wrapper.dataset.editorInspectorMaterialSlotList = 'true';
|
|
2736
|
-
wrapper.
|
|
2737
|
-
'min-width:0',
|
|
2738
|
-
'display:flex',
|
|
2739
|
-
'flex-direction:column',
|
|
2740
|
-
'gap:6px',
|
|
2741
|
-
].join(';');
|
|
3047
|
+
wrapper.className = 'fps-editor-inspector-special-control fps-editor-inspector-material-slots';
|
|
2742
3048
|
const items = readInspectorMaterialSlotListItems(property);
|
|
2743
3049
|
if (items.length === 0) {
|
|
2744
3050
|
wrapper.appendChild(createEmptyState(doc, 'No material slots.'));
|
|
@@ -2752,30 +3058,15 @@ function createInspectorMaterialSlotListControl(doc, property) {
|
|
|
2752
3058
|
}
|
|
2753
3059
|
function createInspectorMaterialSlotListItem(doc, item, labels) {
|
|
2754
3060
|
const details = doc.createElement('details');
|
|
3061
|
+
details.className = 'fps-editor-inspector-material-slot';
|
|
2755
3062
|
details.dataset.editorInspectorMaterialSlotItem = item.key;
|
|
2756
3063
|
if (item.selectionTargetId) {
|
|
2757
3064
|
details.dataset.editorInspectorMaterialSlotSelect = item.selectionTargetId;
|
|
2758
3065
|
}
|
|
2759
3066
|
details.dataset.editorInspectorAccess = 'readonly';
|
|
2760
3067
|
details.dataset.editorInspectorEffect = 'active';
|
|
2761
|
-
details.style.cssText = [
|
|
2762
|
-
'min-width:0',
|
|
2763
|
-
'border:1px solid var(--fps-editor-readonly-border)',
|
|
2764
|
-
'border-radius:3px',
|
|
2765
|
-
'background:var(--fps-editor-readonly-bg)',
|
|
2766
|
-
'color:var(--fps-editor-readonly-text)',
|
|
2767
|
-
'overflow:hidden',
|
|
2768
|
-
].join(';');
|
|
2769
3068
|
const summary = doc.createElement('summary');
|
|
2770
|
-
summary.
|
|
2771
|
-
'min-width:0',
|
|
2772
|
-
'min-height:44px',
|
|
2773
|
-
'display:flex',
|
|
2774
|
-
'align-items:center',
|
|
2775
|
-
'gap:8px',
|
|
2776
|
-
'padding:6px 8px',
|
|
2777
|
-
'cursor:pointer',
|
|
2778
|
-
].join(';');
|
|
3069
|
+
summary.className = 'fps-editor-inspector-material-slot-summary';
|
|
2779
3070
|
if (item.selectionTargetId) {
|
|
2780
3071
|
summary.dataset.editorInspectorMaterialSlotSelect = item.selectionTargetId;
|
|
2781
3072
|
summary.title = item.label;
|
|
@@ -2790,27 +3081,22 @@ function createInspectorMaterialSlotListItem(doc, item, labels) {
|
|
|
2790
3081
|
preview: item.materialPreview,
|
|
2791
3082
|
}, 'list'));
|
|
2792
3083
|
const body = doc.createElement('div');
|
|
2793
|
-
body.
|
|
3084
|
+
body.className = 'fps-editor-inspector-card-body';
|
|
2794
3085
|
const title = doc.createElement('div');
|
|
2795
3086
|
title.textContent = item.label;
|
|
2796
|
-
title.
|
|
3087
|
+
title.className = 'fps-editor-inspector-card-title';
|
|
2797
3088
|
const subtitle = doc.createElement('div');
|
|
2798
3089
|
subtitle.textContent = item.materialLabel
|
|
2799
3090
|
? `${labels.material}: ${item.materialLabel}`
|
|
2800
3091
|
: labels.material;
|
|
2801
|
-
subtitle.
|
|
3092
|
+
subtitle.className = 'fps-editor-inspector-card-subtitle';
|
|
2802
3093
|
body.appendChild(title);
|
|
2803
3094
|
body.appendChild(subtitle);
|
|
2804
3095
|
summary.appendChild(body);
|
|
2805
3096
|
summary.appendChild(createBadge(doc, 'READONLY', { compact: true }));
|
|
2806
3097
|
details.appendChild(summary);
|
|
2807
3098
|
const content = doc.createElement('div');
|
|
2808
|
-
content.
|
|
2809
|
-
'display:flex',
|
|
2810
|
-
'flex-direction:column',
|
|
2811
|
-
'gap:4px',
|
|
2812
|
-
'padding:0 8px 8px',
|
|
2813
|
-
].join(';');
|
|
3099
|
+
content.className = 'fps-editor-inspector-material-slot-content';
|
|
2814
3100
|
appendMaterialSlotListDetailRow(doc, content, labels.material, item.materialMeta || item.materialAssetId || item.materialLabel || '');
|
|
2815
3101
|
appendMaterialSlotListDetailRow(doc, content, labels.slotId, item.slotId ?? '');
|
|
2816
3102
|
appendMaterialSlotListDetailRow(doc, content, labels.ownerNodePath, item.ownerNodePath ?? '');
|
|
@@ -2832,27 +3118,13 @@ function appendMaterialSlotListDetailRow(doc, parent, label, value) {
|
|
|
2832
3118
|
if (!value)
|
|
2833
3119
|
return;
|
|
2834
3120
|
const row = doc.createElement('div');
|
|
2835
|
-
row.
|
|
2836
|
-
'display:grid',
|
|
2837
|
-
'grid-template-columns:88px minmax(0,1fr)',
|
|
2838
|
-
'gap:8px',
|
|
2839
|
-
'align-items:start',
|
|
2840
|
-
'font-size:11px',
|
|
2841
|
-
'line-height:1.35',
|
|
2842
|
-
].join(';');
|
|
3121
|
+
row.className = 'fps-editor-inspector-material-slot-row';
|
|
2843
3122
|
const labelElement = doc.createElement('div');
|
|
2844
3123
|
labelElement.textContent = label;
|
|
2845
|
-
labelElement.
|
|
3124
|
+
labelElement.className = 'fps-editor-inspector-material-slot-label';
|
|
2846
3125
|
const valueElement = doc.createElement('div');
|
|
2847
3126
|
valueElement.textContent = value;
|
|
2848
|
-
valueElement.
|
|
2849
|
-
'min-width:0',
|
|
2850
|
-
'overflow:hidden',
|
|
2851
|
-
'text-overflow:ellipsis',
|
|
2852
|
-
'white-space:nowrap',
|
|
2853
|
-
'font-family:var(--fps-editor-mono-font)',
|
|
2854
|
-
'color:var(--fps-editor-readonly-text)',
|
|
2855
|
-
].join(';');
|
|
3127
|
+
valueElement.className = 'fps-editor-inspector-material-slot-value';
|
|
2856
3128
|
valueElement.title = value;
|
|
2857
3129
|
valueElement.dataset.editorTooltip = value;
|
|
2858
3130
|
row.appendChild(labelElement);
|
|
@@ -2993,12 +3265,7 @@ function createInspectorGroundDecalLayoutControl(doc, _target, property, bindInp
|
|
|
2993
3265
|
const surfaceMaxWidth = Math.max(96, Math.round(220 * aspectRatio));
|
|
2994
3266
|
const wrapper = doc.createElement('div');
|
|
2995
3267
|
wrapper.dataset.editorInspectorGroundDecalLayout = 'true';
|
|
2996
|
-
wrapper.
|
|
2997
|
-
'display:flex',
|
|
2998
|
-
'flex-direction:column',
|
|
2999
|
-
'gap:8px',
|
|
3000
|
-
'min-width:0',
|
|
3001
|
-
].join(';');
|
|
3268
|
+
wrapper.className = 'fps-editor-inspector-special-control fps-editor-inspector-ground-decal';
|
|
3002
3269
|
const input = doc.createElement('input');
|
|
3003
3270
|
input.type = 'hidden';
|
|
3004
3271
|
input.value = serializeInspectorGroundDecalLayoutValue(layers, composite);
|
|
@@ -3846,6 +4113,7 @@ function commitInspectorGroundDecalLayoutValue(input, layers, fieldInputsByLayer
|
|
|
3846
4113
|
function createInspectorAssetPickerCardControl(doc, _target, property, bindInput) {
|
|
3847
4114
|
const wrapper = doc.createElement('div');
|
|
3848
4115
|
wrapper.dataset.editorInspectorAssetPickerControl = 'true';
|
|
4116
|
+
wrapper.className = 'fps-editor-inspector-asset-picker';
|
|
3849
4117
|
const hasCopyAction = !!readInspectorControlOptionString(property, 'copyActionValue');
|
|
3850
4118
|
const isEditable = isInspectorPropertyEditable(property);
|
|
3851
4119
|
const actionDisabledReason = readInspectorControlOptionString(property, 'actionDisabledReason')
|
|
@@ -3855,39 +4123,19 @@ function createInspectorAssetPickerCardControl(doc, _target, property, bindInput
|
|
|
3855
4123
|
const coverageLabel = readInspectorControlOptionString(property, 'coverageLabel')
|
|
3856
4124
|
|| readInspectorControlOptionString(property, 'batchCoverageLabel')
|
|
3857
4125
|
|| '';
|
|
3858
|
-
wrapper.
|
|
3859
|
-
'min-width:0',
|
|
3860
|
-
'display:grid',
|
|
3861
|
-
hasCopyAction ? 'grid-template-columns:1fr auto auto' : 'grid-template-columns:1fr auto',
|
|
3862
|
-
'align-items:stretch',
|
|
3863
|
-
'gap:6px',
|
|
3864
|
-
].join(';');
|
|
4126
|
+
wrapper.dataset.editorInspectorAssetPickerActions = hasCopyAction ? 'two' : 'one';
|
|
3865
4127
|
const input = doc.createElement('input');
|
|
3866
4128
|
input.type = 'hidden';
|
|
3867
4129
|
input.value = property.mixed ? '' : String(property.value ?? '');
|
|
3868
4130
|
bindInput(input, { source: 'asset' });
|
|
3869
4131
|
wrapper.appendChild(input);
|
|
3870
|
-
const
|
|
3871
|
-
card
|
|
4132
|
+
const cardMount = registerInspectorUiMount(createEditorUiButton({ document: doc, text: '' }));
|
|
4133
|
+
const card = cardMount.element;
|
|
4134
|
+
card.className = `${card.className || ''} fps-editor-inspector-asset-card`.trim();
|
|
3872
4135
|
card.dataset.editorInspectorAssetPicker = 'true';
|
|
3873
4136
|
card.disabled = !isEditable;
|
|
3874
4137
|
if (actionDisabledReason)
|
|
3875
4138
|
card.title = actionDisabledReason;
|
|
3876
|
-
card.style.cssText = [
|
|
3877
|
-
'min-width:0',
|
|
3878
|
-
'min-height:42px',
|
|
3879
|
-
'display:flex',
|
|
3880
|
-
'align-items:center',
|
|
3881
|
-
'gap:8px',
|
|
3882
|
-
'padding:6px 7px',
|
|
3883
|
-
'border:1px solid var(--fps-editor-editable-border)',
|
|
3884
|
-
'border-radius:3px',
|
|
3885
|
-
'background:var(--fps-editor-field)',
|
|
3886
|
-
'color:var(--fps-editor-text)',
|
|
3887
|
-
'text-align:left',
|
|
3888
|
-
card.disabled ? 'cursor:not-allowed' : 'cursor:pointer',
|
|
3889
|
-
card.disabled ? 'opacity:0.72' : '',
|
|
3890
|
-
].filter(Boolean).join(';');
|
|
3891
4139
|
const label = readInspectorControlOptionString(property, 'currentLabel')
|
|
3892
4140
|
|| readInspectorControlOptionString(property, 'placeholder')
|
|
3893
4141
|
|| (property.mixed ? '--' : String(property.value || 'None'));
|
|
@@ -3901,60 +4149,40 @@ function createInspectorAssetPickerCardControl(doc, _target, property, bindInput
|
|
|
3901
4149
|
preview,
|
|
3902
4150
|
}, 'list'));
|
|
3903
4151
|
const body = doc.createElement('div');
|
|
3904
|
-
body.
|
|
4152
|
+
body.className = 'fps-editor-inspector-card-body';
|
|
3905
4153
|
const title = doc.createElement('div');
|
|
3906
4154
|
title.textContent = label;
|
|
3907
|
-
title.
|
|
4155
|
+
title.className = 'fps-editor-inspector-card-title';
|
|
3908
4156
|
const subtitle = doc.createElement('div');
|
|
3909
4157
|
subtitle.textContent = meta;
|
|
3910
|
-
subtitle.
|
|
4158
|
+
subtitle.className = 'fps-editor-inspector-card-subtitle';
|
|
3911
4159
|
body.appendChild(title);
|
|
3912
4160
|
body.appendChild(subtitle);
|
|
3913
4161
|
card.appendChild(body);
|
|
3914
4162
|
wrapper.appendChild(card);
|
|
3915
|
-
const
|
|
3916
|
-
|
|
4163
|
+
const actionMount = registerInspectorUiMount(createEditorUiButton({
|
|
4164
|
+
document: doc,
|
|
4165
|
+
text: readInspectorControlOptionString(property, 'actionLabel') || '替换',
|
|
4166
|
+
}));
|
|
4167
|
+
const action = actionMount.element;
|
|
4168
|
+
action.className = `${action.className || ''} fps-editor-inspector-asset-action`.trim();
|
|
3917
4169
|
action.dataset.editorInspectorAssetPicker = 'true';
|
|
3918
4170
|
action.disabled = card.disabled;
|
|
3919
|
-
action.textContent = readInspectorControlOptionString(property, 'actionLabel') || '替换';
|
|
3920
4171
|
if (actionDisabledReason)
|
|
3921
4172
|
action.title = actionDisabledReason;
|
|
3922
|
-
action.style.cssText = [
|
|
3923
|
-
'width:54px',
|
|
3924
|
-
'min-height:42px',
|
|
3925
|
-
'padding:0 8px',
|
|
3926
|
-
'border:1px solid var(--fps-editor-editable-border)',
|
|
3927
|
-
'border-radius:3px',
|
|
3928
|
-
'background:var(--fps-editor-button-bg)',
|
|
3929
|
-
'color:var(--fps-editor-text)',
|
|
3930
|
-
'font-size:11px',
|
|
3931
|
-
'font-weight:900',
|
|
3932
|
-
action.disabled ? 'cursor:not-allowed' : 'cursor:pointer',
|
|
3933
|
-
action.disabled ? 'opacity:0.72' : '',
|
|
3934
|
-
].filter(Boolean).join(';');
|
|
3935
4173
|
wrapper.appendChild(action);
|
|
3936
4174
|
const copyValue = readInspectorControlOptionString(property, 'copyActionValue');
|
|
3937
4175
|
if (copyValue) {
|
|
3938
|
-
const
|
|
3939
|
-
|
|
4176
|
+
const copyMount = registerInspectorUiMount(createEditorUiButton({
|
|
4177
|
+
document: doc,
|
|
4178
|
+
text: readInspectorControlOptionString(property, 'copyActionLabel') || '复制',
|
|
4179
|
+
}));
|
|
4180
|
+
const copyAction = copyMount.element;
|
|
4181
|
+
copyAction.className = `${copyAction.className || ''} fps-editor-inspector-asset-action`.trim();
|
|
3940
4182
|
copyAction.dataset.editorInspectorAssetCopy = 'true';
|
|
3941
4183
|
copyAction.dataset.editorInspectorAssetCopyValue = copyValue;
|
|
3942
4184
|
copyAction.disabled = card.disabled;
|
|
3943
|
-
copyAction.textContent = readInspectorControlOptionString(property, 'copyActionLabel') || '复制';
|
|
3944
4185
|
copyAction.title = readInspectorControlOptionString(property, 'copyActionTooltip');
|
|
3945
|
-
copyAction.style.cssText = [
|
|
3946
|
-
'width:48px',
|
|
3947
|
-
'min-height:42px',
|
|
3948
|
-
'padding:0 8px',
|
|
3949
|
-
'border:1px solid var(--fps-editor-editable-border)',
|
|
3950
|
-
'border-radius:3px',
|
|
3951
|
-
'background:var(--fps-editor-button-bg)',
|
|
3952
|
-
'color:var(--fps-editor-text)',
|
|
3953
|
-
'font-size:11px',
|
|
3954
|
-
'font-weight:900',
|
|
3955
|
-
copyAction.disabled ? 'cursor:not-allowed' : 'cursor:pointer',
|
|
3956
|
-
copyAction.disabled ? 'opacity:0.72' : '',
|
|
3957
|
-
].filter(Boolean).join(';');
|
|
3958
4186
|
wrapper.appendChild(copyAction);
|
|
3959
4187
|
}
|
|
3960
4188
|
if (card.disabled && (coverageLabel || actionDisabledReason)) {
|
|
@@ -3988,36 +4216,24 @@ function createInspectorReadonlyControl(doc, _target, property) {
|
|
|
3988
4216
|
function createInspectorObjectReadonlyControl(doc, property) {
|
|
3989
4217
|
const access = getInspectorPropertyAccess(property);
|
|
3990
4218
|
const effect = getInspectorPropertyEffect(property);
|
|
3991
|
-
const
|
|
3992
|
-
const
|
|
3993
|
-
|
|
4219
|
+
const formattedValue = formatLocalEditorBrowserInspectorValue(property.value);
|
|
4220
|
+
const mount = registerInspectorUiMount(createEditorUiExpandableReadonlyControl({
|
|
4221
|
+
document: doc,
|
|
4222
|
+
summary: formatInspectorObjectSummary(property.value),
|
|
4223
|
+
value: formattedValue,
|
|
4224
|
+
error: effect === 'unsupported',
|
|
4225
|
+
warning: effect === 'default' || effect === 'derived' || effect === 'runtime' || access === 'runtime',
|
|
4226
|
+
}));
|
|
4227
|
+
const details = mount.element;
|
|
4228
|
+
details.dataset.editorInspectorAccess = access;
|
|
4229
|
+
details.dataset.editorInspectorEffect = effect;
|
|
4230
|
+
details.title = createInspectorStatusTitle(access, effect, property.tooltip ?? property.disabledReason);
|
|
4231
|
+
const summary = mount.summary;
|
|
3994
4232
|
const icon = createLocalEditorIcon(doc, 'lock', { size: 11, strokeWidth: 2.3 });
|
|
3995
4233
|
icon.style.opacity = '0.78';
|
|
3996
|
-
summary.
|
|
3997
|
-
const summaryText = doc.createElement('span');
|
|
3998
|
-
summaryText.textContent = formatInspectorObjectSummary(property.value);
|
|
3999
|
-
summaryText.style.cssText = 'min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap';
|
|
4000
|
-
summary.appendChild(summaryText);
|
|
4001
|
-
const formattedValue = formatLocalEditorBrowserInspectorValue(property.value);
|
|
4234
|
+
summary.prepend(icon);
|
|
4002
4235
|
if (formattedValue)
|
|
4003
4236
|
summary.appendChild(createInspectorReadonlyCopyButton(doc, formattedValue, property.label));
|
|
4004
|
-
details.appendChild(summary);
|
|
4005
|
-
const pre = doc.createElement('pre');
|
|
4006
|
-
pre.textContent = formattedValue;
|
|
4007
|
-
pre.style.cssText = [
|
|
4008
|
-
'max-height:220px',
|
|
4009
|
-
'overflow:auto',
|
|
4010
|
-
'white-space:pre-wrap',
|
|
4011
|
-
'word-break:break-word',
|
|
4012
|
-
'margin:6px 0 0',
|
|
4013
|
-
'padding:7px',
|
|
4014
|
-
`border:1px solid ${effect === 'unsupported' ? 'var(--fps-editor-danger-border)' : effect === 'default' || effect === 'derived' || effect === 'runtime' || access === 'runtime' ? 'var(--fps-editor-warn-border)' : 'var(--fps-editor-readonly-border)'}`,
|
|
4015
|
-
'border-radius:3px',
|
|
4016
|
-
'background:var(--fps-editor-field)',
|
|
4017
|
-
'font-size:11px',
|
|
4018
|
-
'line-height:1.45',
|
|
4019
|
-
].join(';');
|
|
4020
|
-
details.appendChild(pre);
|
|
4021
4237
|
return details;
|
|
4022
4238
|
}
|
|
4023
4239
|
export function applyLocalEditorBrowserInspectorControlBinding(element, target, property, options) {
|
|
@@ -4058,11 +4274,8 @@ function createInspectorInputStyle() {
|
|
|
4058
4274
|
}
|
|
4059
4275
|
function appendReadOnlyRow(doc, parent, label, value) {
|
|
4060
4276
|
const valueElement = createInspectorReadonlyScalarControl(doc, value, 'readonly', 'active', 'Read-only summary');
|
|
4061
|
-
const row =
|
|
4277
|
+
const row = createInspectorPropertyRowShell(doc, label, valueElement);
|
|
4062
4278
|
row.dataset.editorInspectorAccess = 'readonly';
|
|
4063
|
-
const labelElement = row.firstElementChild;
|
|
4064
|
-
if (labelElement)
|
|
4065
|
-
labelElement.style.cssText = createInspectorPropertyLabelStyle('readonly', 'active');
|
|
4066
4279
|
parent.appendChild(row);
|
|
4067
4280
|
}
|
|
4068
4281
|
function createSelectionSummaryInspectorObject(state) {
|