@fps-games/editor 0.2.1-beta.3 → 0.2.1-beta.4
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/build-info.json +44 -44
- package/dist/editor-commands/capabilities/assets.d.ts +8 -0
- package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
- package/dist/editor-commands/capabilities/assets.js.map +1 -0
- package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
- package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
- package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
- package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
- package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
- package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
- package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
- package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
- package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
- package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
- package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
- package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
- package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
- package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/scene-objects.js +480 -0
- package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
- package/dist/editor-commands/capabilities/selection.d.ts +5 -0
- package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/selection.js +60 -0
- package/dist/editor-commands/capabilities/selection.js.map +1 -0
- package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
- package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
- package/dist/editor-commands/capabilities/shadows.js.map +1 -0
- package/dist/editor-commands/capabilities/transform.d.ts +5 -0
- package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/transform.js +164 -0
- package/dist/editor-commands/capabilities/transform.js.map +1 -0
- package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
- package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
- package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
- package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
- package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
- package/dist/editor-commands/capabilities/viewport.js.map +1 -0
- package/dist/editor-commands/command-sources.d.ts +7 -0
- package/dist/editor-commands/command-sources.d.ts.map +1 -0
- package/dist/editor-commands/command-sources.js +34 -0
- package/dist/editor-commands/command-sources.js.map +1 -0
- package/dist/editor-commands/diagnostics.d.ts +12 -0
- package/dist/editor-commands/diagnostics.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
- package/dist/editor-commands/diagnostics.js.map +1 -0
- package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
- package/dist/editor-commands/index.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/index.js +1 -1
- package/dist/editor-commands/index.js.map +1 -0
- package/dist/editor-commands/register.d.ts +4 -0
- package/dist/editor-commands/register.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/register.js +323 -286
- package/dist/editor-commands/register.js.map +1 -0
- package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
- package/dist/editor-commands/shared.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
- package/dist/editor-commands/shared.js.map +1 -0
- package/dist/editor-commands/source-types.d.ts +110 -0
- package/dist/editor-commands/source-types.d.ts.map +1 -0
- package/dist/editor-commands/source-types.js.map +1 -0
- package/dist/editor-plugin-commands.d.ts +4 -0
- package/dist/editor-plugin-commands.d.ts.map +1 -0
- package/dist/editor-plugin-commands.js +18 -0
- package/dist/editor-plugin-commands.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local-editor-commands.d.ts +2 -0
- package/dist/local-editor-commands.d.ts.map +1 -0
- package/dist/local-editor-commands.js +2 -0
- package/dist/local-editor-commands.js.map +1 -0
- package/dist/local-editor-harness.d.ts +35 -21
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +1721 -367
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
- package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
- package/dist/local-editor-prefab-stage-transaction.js +6 -5
- package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/playable-local-editor-entry.d.ts +10 -0
- package/dist/playable-local-editor-entry.d.ts.map +1 -1
- package/dist/playable-local-editor-entry.js +10 -2
- package/dist/playable-local-editor-entry.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +3 -32
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js +6 -70
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.d.ts +1 -2
- package/dist/playable-product-local-editor.d.ts.map +1 -1
- package/dist/playable-product-local-editor.js +0 -1
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.d.ts.map +1 -1
- package/dist/playable-product-projection-preview.js +1 -1
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts +0 -2
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +33 -6
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-runtime-babylon.d.ts +4 -0
- package/dist/playable-runtime-babylon.d.ts.map +1 -1
- package/dist/playable-runtime-babylon.js +4 -0
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-sdk.d.ts +1 -1
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.d.ts +0 -2
- package/dist/playable-standard-project.d.ts.map +1 -1
- package/dist/playable-standard-project.js +1 -2
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/project-service-projection.d.ts +16 -0
- package/dist/project-service-projection.d.ts.map +1 -0
- package/dist/project-service-projection.js +67 -0
- package/dist/project-service-projection.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -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 +54 -18
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
- 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 +66 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +6 -6
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
- 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 +117 -6
- 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-view.d.ts +14 -1
- 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 +100 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
- 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 +75 -2
- 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-types.d.ts +37 -12
- 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.d.ts +25 -2
- 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 +332 -107
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +7 -7
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
- 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 +62 -103
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
- 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 +247 -6
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
- package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
- 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 +41 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -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 +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
- 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 +1 -0
- 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 +11 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
- 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 +0 -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 +77 -31
- 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/types.d.ts +8 -1
- 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/material-binding/asset-fields.d.ts +21 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
- 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 +12 -2
- 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/ground-decal.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.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 +1 -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 +17 -82
- 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 +53 -57
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
- 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 +7 -5
- 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/scene-source/client.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -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/types.d.ts +1 -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/upgrade-doctor/inspectors.js +134 -12
- 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.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
- 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/editor-service-vite.d.ts +27 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
- 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 +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
- 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 +0 -2
- 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 -10
- 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-authoring-api.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
- 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/project-authoring-backend.d.ts +13 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -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/editor-command-capabilities.d.ts +1626 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
- 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/package.json +3 -3
- package/node_modules/@fps-games/editor-ui/package.json +1 -1
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- 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 +6 -6
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
- 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/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +23 -23
- package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
- package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/assets.js.map +0 -1
- package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
- package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
- package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
- package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
- package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
- package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
- package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
- package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
- package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/selection.js +0 -60
- package/dist/agent-bridge/capabilities/selection.js.map +0 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
- package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
- package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/transform.js +0 -164
- package/dist/agent-bridge/capabilities/transform.js.map +0 -1
- package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
- package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
- package/dist/agent-bridge/capability-sources.d.ts +0 -7
- package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
- package/dist/agent-bridge/capability-sources.js +0 -34
- package/dist/agent-bridge/capability-sources.js.map +0 -1
- package/dist/agent-bridge/diagnostics.d.ts +0 -12
- package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
- package/dist/agent-bridge/diagnostics.js.map +0 -1
- package/dist/agent-bridge/index.d.ts.map +0 -1
- package/dist/agent-bridge/index.js.map +0 -1
- package/dist/agent-bridge/register.d.ts +0 -4
- package/dist/agent-bridge/register.d.ts.map +0 -1
- package/dist/agent-bridge/register.js.map +0 -1
- package/dist/agent-bridge/shared.d.ts.map +0 -1
- package/dist/agent-bridge/shared.js.map +0 -1
- package/dist/agent-bridge/source-types.d.ts +0 -110
- package/dist/agent-bridge/source-types.d.ts.map +0 -1
- package/dist/agent-bridge/source-types.js.map +0 -1
- package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
- package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
- package/dist/editor-plugin-agent-capabilities.js +0 -64
- package/dist/editor-plugin-agent-capabilities.js.map +0 -1
- package/dist/local-editor-agent-actions.d.ts +0 -43
- package/dist/local-editor-agent-actions.d.ts.map +0 -1
- package/dist/local-editor-agent-actions.js +0 -321
- package/dist/local-editor-agent-actions.js.map +0 -1
- package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
- package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
- package/dist/local-editor-agent-bridge-transport.js +0 -403
- package/dist/local-editor-agent-bridge-transport.js.map +0 -1
- package/dist/local-editor-agent-bridge.d.ts +0 -2
- package/dist/local-editor-agent-bridge.d.ts.map +0 -1
- package/dist/local-editor-agent-bridge.js +0 -2
- package/dist/local-editor-agent-bridge.js.map +0 -1
- package/dist/local-editor-agent-context.d.ts +0 -68
- package/dist/local-editor-agent-context.d.ts.map +0 -1
- package/dist/local-editor-agent-context.js +0 -716
- package/dist/local-editor-agent-context.js.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
- package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
- package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
- /package/dist/{agent-bridge → editor-commands}/source-types.js +0 -0
|
@@ -1,1128 +1,1165 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { EDITOR_COMMAND_ID, EDITOR_COMMAND_BUILT_IN_TARGETS, EDITOR_COMMAND_SCHEMAS, EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION, } from '@fps-games/editor-protocol';
|
|
2
|
+
import { registerEditorAuthoringHostCommandCapability } from '@fps-games/editor-core';
|
|
3
|
+
import { createLocalEditorCommandFailure } from './diagnostics.js';
|
|
3
4
|
// Static baked shadow authoring is intentionally hidden until the workflow is redesigned.
|
|
4
5
|
const EDITOR_SHADOW_STATIC_AUTHORING_ENABLED = false;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
const LOCAL_EDITOR_COMPOSED_AUTHORING_WRITE_IDS = new Set([
|
|
7
|
+
EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE,
|
|
8
|
+
EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN,
|
|
9
|
+
EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT,
|
|
10
|
+
EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE,
|
|
11
|
+
EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD,
|
|
12
|
+
EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME,
|
|
13
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET,
|
|
14
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP,
|
|
15
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER,
|
|
16
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE,
|
|
17
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM,
|
|
18
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER,
|
|
19
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT,
|
|
20
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_RENAME,
|
|
21
|
+
EDITOR_COMMAND_ID.PREFAB_NODE_DELETE,
|
|
22
|
+
EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE,
|
|
23
|
+
EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET,
|
|
24
|
+
EDITOR_COMMAND_ID.OBJECT_DELETE,
|
|
25
|
+
EDITOR_COMMAND_ID.SHADOW_POLICY_SET,
|
|
26
|
+
EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET,
|
|
27
|
+
EDITOR_COMMAND_ID.TRANSFORM_MOVE,
|
|
28
|
+
EDITOR_COMMAND_ID.TRANSFORM_SET,
|
|
29
|
+
]);
|
|
30
|
+
export function registerLocalEditorCommandCapabilities(adapter, sources, authoringHost) {
|
|
31
|
+
const registerCapability = (registration) => (authoringHost
|
|
32
|
+
&& (LOCAL_EDITOR_COMPOSED_AUTHORING_WRITE_IDS.has(registration.manifest.id)
|
|
33
|
+
|| EDITOR_COMMAND_BUILT_IN_TARGETS[registration.manifest.id] === 'authoring')
|
|
34
|
+
? registerEditorAuthoringHostCommandCapability(authoringHost, {
|
|
35
|
+
...registration,
|
|
36
|
+
handler: async (input, context) => {
|
|
37
|
+
if (registration.manifest.access === 'write' && sources.host.isBusy()) {
|
|
38
|
+
return createLocalEditorCommandFailure(registration.manifest.id, 'Host is busy and cannot accept editor mutations.', { code: 'host.busy' });
|
|
39
|
+
}
|
|
40
|
+
return registration.handler(input, context);
|
|
41
|
+
},
|
|
42
|
+
})
|
|
43
|
+
: adapter.registerCapability({
|
|
44
|
+
...registration,
|
|
45
|
+
handler: async (input, context) => {
|
|
46
|
+
if (registration.manifest.access === 'write' && sources.host.isBusy()) {
|
|
47
|
+
return createLocalEditorCommandFailure(registration.manifest.id, 'Host is busy and cannot accept editor mutations.', { code: 'host.busy' });
|
|
48
|
+
}
|
|
49
|
+
return registration.handler(input, context);
|
|
50
|
+
},
|
|
51
|
+
}));
|
|
15
52
|
const unregister = [
|
|
16
53
|
registerCapability({
|
|
17
54
|
manifest: {
|
|
18
|
-
schemaVersion:
|
|
19
|
-
id:
|
|
55
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
56
|
+
id: EDITOR_COMMAND_ID.HIERARCHY_SCOPE_GET,
|
|
20
57
|
title: 'Get active Hierarchy scope',
|
|
21
58
|
description: 'Read the active scoped Hierarchy snapshot, with backward-compatible full-tree output or revision-bound subtree, search, and cursor pagination queries.',
|
|
22
59
|
layer: 'editor', category: 'hierarchy', stability: 'experimental', access: 'read',
|
|
23
|
-
...
|
|
60
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HIERARCHY_SCOPE_GET],
|
|
24
61
|
},
|
|
25
|
-
handler: input => {
|
|
26
|
-
const normalized = normalizeObjectInput(
|
|
62
|
+
handler: (input, context) => {
|
|
63
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HIERARCHY_SCOPE_GET, input);
|
|
27
64
|
return normalized.ok ? sources.hierarchy.getScope(normalized.input) : normalized.result;
|
|
28
65
|
},
|
|
29
66
|
}),
|
|
30
67
|
registerCapability({
|
|
31
68
|
manifest: {
|
|
32
|
-
schemaVersion:
|
|
33
|
-
id:
|
|
69
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
70
|
+
id: EDITOR_COMMAND_ID.HIERARCHY_OPERATIONS_LIST,
|
|
34
71
|
title: 'List Hierarchy operations',
|
|
35
72
|
description: 'Discover the same scope-aware Hierarchy operations used by menus and keyboard commands.',
|
|
36
73
|
layer: 'editor', category: 'hierarchy', stability: 'experimental', access: 'read',
|
|
37
|
-
...
|
|
74
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HIERARCHY_OPERATIONS_LIST],
|
|
38
75
|
},
|
|
39
|
-
handler: input => {
|
|
40
|
-
const normalized = normalizeObjectInput(
|
|
76
|
+
handler: (input, context) => {
|
|
77
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HIERARCHY_OPERATIONS_LIST, input);
|
|
41
78
|
return normalized.ok ? sources.hierarchy.listOperations(normalized.input) : normalized.result;
|
|
42
79
|
},
|
|
43
80
|
}),
|
|
44
81
|
registerCapability({
|
|
45
82
|
manifest: {
|
|
46
|
-
schemaVersion:
|
|
47
|
-
id:
|
|
83
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
84
|
+
id: EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE,
|
|
48
85
|
title: 'Execute Hierarchy operation',
|
|
49
86
|
description: 'Execute a discovered Hierarchy operation against an exact scope revision using the same provider transaction as the editor UI.',
|
|
50
87
|
layer: 'editor', category: 'hierarchy', stability: 'experimental', access: 'write',
|
|
51
|
-
...
|
|
88
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE],
|
|
52
89
|
},
|
|
53
|
-
handler: input => {
|
|
54
|
-
const normalized = normalizeObjectInput(
|
|
55
|
-
return normalized.ok ? sources.hierarchy.executeOperation(normalized.input) : normalized.result;
|
|
90
|
+
handler: (input, context) => {
|
|
91
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE, input);
|
|
92
|
+
return normalized.ok ? sources.hierarchy.executeOperation(normalized.input, context) : normalized.result;
|
|
56
93
|
},
|
|
57
94
|
}),
|
|
58
95
|
registerCapability({
|
|
59
96
|
manifest: {
|
|
60
|
-
schemaVersion:
|
|
61
|
-
id:
|
|
97
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
98
|
+
id: EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST,
|
|
62
99
|
title: 'List asset library',
|
|
63
100
|
description: 'List standard project assets after editorReady=true. Use this before placing assets; returned assetId values are stable inputs for asset.info.get, asset.analysis.get, and object.createFromAsset.',
|
|
64
101
|
layer: 'editor',
|
|
65
102
|
category: 'asset',
|
|
66
103
|
stability: 'experimental',
|
|
67
104
|
access: 'read',
|
|
68
|
-
...
|
|
105
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST],
|
|
69
106
|
},
|
|
70
107
|
handler: input => {
|
|
71
|
-
const normalized = normalizeObjectInput(
|
|
108
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST, input);
|
|
72
109
|
return normalized.ok ? sources.assets.listAssets(normalized.input) : normalized.result;
|
|
73
110
|
},
|
|
74
111
|
}),
|
|
75
112
|
registerCapability({
|
|
76
113
|
manifest: {
|
|
77
|
-
schemaVersion:
|
|
78
|
-
id:
|
|
114
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
115
|
+
id: EDITOR_COMMAND_ID.ASSET_INFO_GET,
|
|
79
116
|
title: 'Get asset info',
|
|
80
117
|
description: 'Read complete serializable metadata for one standard project asset by assetId. It does not read original file bytes and should be used before placement when catalog metadata matters.',
|
|
81
118
|
layer: 'editor',
|
|
82
119
|
category: 'asset',
|
|
83
120
|
stability: 'experimental',
|
|
84
121
|
access: 'read',
|
|
85
|
-
...
|
|
122
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.ASSET_INFO_GET],
|
|
86
123
|
},
|
|
87
124
|
handler: input => {
|
|
88
|
-
const normalized = normalizeObjectInput(
|
|
125
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.ASSET_INFO_GET, input);
|
|
89
126
|
return normalized.ok ? sources.assets.getAssetInfo(normalized.input) : normalized.result;
|
|
90
127
|
},
|
|
91
128
|
}),
|
|
92
129
|
registerCapability({
|
|
93
130
|
manifest: {
|
|
94
|
-
schemaVersion:
|
|
95
|
-
id:
|
|
131
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
132
|
+
id: EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET,
|
|
96
133
|
title: 'Get asset analysis',
|
|
97
134
|
description: 'Read SDK-generated raw asset structure analysis from asset metadata. Use for GLB/GLTF mesh/material complexity and PNG/JPEG/WebP image dimensions before creating or inspecting assets.',
|
|
98
135
|
layer: 'editor',
|
|
99
136
|
category: 'asset',
|
|
100
137
|
stability: 'experimental',
|
|
101
138
|
access: 'read',
|
|
102
|
-
...
|
|
139
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET],
|
|
103
140
|
},
|
|
104
141
|
handler: input => {
|
|
105
|
-
const normalized = normalizeObjectInput(
|
|
142
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET, input);
|
|
106
143
|
return normalized.ok ? sources.assets.getAssetAnalysis(normalized.input) : normalized.result;
|
|
107
144
|
},
|
|
108
145
|
}),
|
|
109
146
|
registerCapability({
|
|
110
147
|
manifest: {
|
|
111
|
-
schemaVersion:
|
|
112
|
-
id:
|
|
148
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
149
|
+
id: EDITOR_COMMAND_ID.PREFAB_RESOLVE,
|
|
113
150
|
title: 'Resolve prefab asset',
|
|
114
151
|
description: 'Resolve prefab assets by assetId, browserAssetId, exact name, or fuzzy query after editorReady=true. Use asset.library.list(kind=prefab) or this capability before prefab.stage.open.',
|
|
115
152
|
layer: 'editor',
|
|
116
153
|
category: 'prefab',
|
|
117
154
|
stability: 'experimental',
|
|
118
155
|
access: 'read',
|
|
119
|
-
...
|
|
156
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_RESOLVE],
|
|
120
157
|
},
|
|
121
158
|
handler: input => {
|
|
122
|
-
const normalized = normalizeObjectInput(
|
|
159
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_RESOLVE, input);
|
|
123
160
|
return normalized.ok ? sources.prefabs.resolvePrefab(normalized.input) : normalized.result;
|
|
124
161
|
},
|
|
125
162
|
}),
|
|
126
163
|
registerCapability({
|
|
127
164
|
manifest: {
|
|
128
|
-
schemaVersion:
|
|
129
|
-
id:
|
|
165
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
166
|
+
id: EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN,
|
|
130
167
|
title: 'Open prefab stage',
|
|
131
168
|
description: 'Enter the prefab preview/edit stage for a prefab asset after editorReady=true. Prefer this over double-clicking the Asset Library; it is idempotent when the requested prefab is already open.',
|
|
132
169
|
layer: 'editor',
|
|
133
170
|
category: 'prefab',
|
|
134
171
|
stability: 'experimental',
|
|
135
172
|
access: 'write',
|
|
136
|
-
...
|
|
173
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN],
|
|
137
174
|
},
|
|
138
|
-
handler: input => {
|
|
139
|
-
const normalized = normalizeObjectInput(
|
|
140
|
-
return normalized.ok ? sources.prefabs.openStage(normalized.input) : normalized.result;
|
|
175
|
+
handler: (input, context) => {
|
|
176
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN, input);
|
|
177
|
+
return normalized.ok ? sources.prefabs.openStage(normalized.input, context) : normalized.result;
|
|
141
178
|
},
|
|
142
179
|
}),
|
|
143
180
|
registerCapability({
|
|
144
181
|
manifest: {
|
|
145
|
-
schemaVersion:
|
|
146
|
-
id:
|
|
182
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
183
|
+
id: EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT,
|
|
147
184
|
title: 'Exit prefab stage',
|
|
148
185
|
description: 'Exit the current prefab preview/edit stage and return to the scene editor. This is idempotent and returns exited=false when no prefab stage is open.',
|
|
149
186
|
layer: 'editor',
|
|
150
187
|
category: 'prefab',
|
|
151
188
|
stability: 'experimental',
|
|
152
189
|
access: 'write',
|
|
153
|
-
...
|
|
190
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT],
|
|
154
191
|
},
|
|
155
|
-
handler: input => {
|
|
156
|
-
const normalized = normalizeObjectInput(
|
|
157
|
-
return normalized.ok ? sources.prefabs.exitStage(normalized.input) : normalized.result;
|
|
192
|
+
handler: (input, context) => {
|
|
193
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT, input);
|
|
194
|
+
return normalized.ok ? sources.prefabs.exitStage(normalized.input, context) : normalized.result;
|
|
158
195
|
},
|
|
159
196
|
}),
|
|
160
197
|
registerCapability({
|
|
161
198
|
manifest: {
|
|
162
|
-
schemaVersion:
|
|
163
|
-
id:
|
|
199
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
200
|
+
id: EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE,
|
|
164
201
|
title: 'Save prefab stage',
|
|
165
202
|
description: 'Persist the complete authoring document from the active Prefab draft and keep the Prefab stage open.',
|
|
166
203
|
layer: 'editor',
|
|
167
204
|
category: 'prefab',
|
|
168
205
|
stability: 'experimental',
|
|
169
206
|
access: 'write',
|
|
170
|
-
...
|
|
207
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE],
|
|
171
208
|
},
|
|
172
|
-
handler: input => {
|
|
173
|
-
const normalized = normalizeObjectInput(
|
|
174
|
-
return normalized.ok ? sources.prefabs.saveStage(normalized.input) : normalized.result;
|
|
209
|
+
handler: (input, context) => {
|
|
210
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE, input);
|
|
211
|
+
return normalized.ok ? sources.prefabs.saveStage(normalized.input, context) : normalized.result;
|
|
175
212
|
},
|
|
176
213
|
}),
|
|
177
214
|
registerCapability({
|
|
178
215
|
manifest: {
|
|
179
|
-
schemaVersion:
|
|
180
|
-
id:
|
|
216
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
217
|
+
id: EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD,
|
|
181
218
|
title: 'Discard prefab stage changes',
|
|
182
219
|
description: 'Reset the active Prefab draft to its entry or last-save checkpoint and keep the Prefab stage open.',
|
|
183
220
|
layer: 'editor',
|
|
184
221
|
category: 'prefab',
|
|
185
222
|
stability: 'experimental',
|
|
186
223
|
access: 'write',
|
|
187
|
-
...
|
|
224
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD],
|
|
188
225
|
},
|
|
189
|
-
handler: input => {
|
|
190
|
-
const normalized = normalizeObjectInput(
|
|
191
|
-
return normalized.ok ? sources.prefabs.discardStage(normalized.input) : normalized.result;
|
|
226
|
+
handler: (input, context) => {
|
|
227
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD, input);
|
|
228
|
+
return normalized.ok ? sources.prefabs.discardStage(normalized.input, context) : normalized.result;
|
|
192
229
|
},
|
|
193
230
|
}),
|
|
194
231
|
registerCapability({
|
|
195
232
|
manifest: {
|
|
196
|
-
schemaVersion:
|
|
197
|
-
id:
|
|
233
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
234
|
+
id: EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME,
|
|
198
235
|
title: 'Rename prefab asset',
|
|
199
236
|
description: 'Rename a prefab asset displayName through the editor asset action patch pipeline. In an open Prefab stage, assetId may be omitted to rename the current prefab; this does not rename existing scene prefab instances or readonly GLB source nodes.',
|
|
200
237
|
layer: 'editor',
|
|
201
238
|
category: 'prefab',
|
|
202
239
|
stability: 'experimental',
|
|
203
240
|
access: 'write',
|
|
204
|
-
...
|
|
241
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME],
|
|
205
242
|
},
|
|
206
243
|
handler: input => {
|
|
207
|
-
const normalized = normalizeObjectInput(
|
|
244
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME, input);
|
|
208
245
|
return normalized.ok ? sources.prefabs.renameAsset(normalized.input) : normalized.result;
|
|
209
246
|
},
|
|
210
247
|
}),
|
|
211
248
|
registerCapability({
|
|
212
249
|
manifest: {
|
|
213
|
-
schemaVersion:
|
|
214
|
-
id:
|
|
250
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
251
|
+
id: EDITOR_COMMAND_ID.PREFAB_SCENE_GET,
|
|
215
252
|
title: 'Get prefab composition scene',
|
|
216
253
|
description: 'Read the editable Prefab Scene Tree for the currently open Prefab stage. Use after prefab.stage.open before prefab.node.* writes; this does not expose raw GLB source nodes as editable prefab nodes.',
|
|
217
254
|
layer: 'editor',
|
|
218
255
|
category: 'prefab',
|
|
219
256
|
stability: 'experimental',
|
|
220
257
|
access: 'read',
|
|
221
|
-
...
|
|
258
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_SCENE_GET],
|
|
222
259
|
},
|
|
223
260
|
handler: input => {
|
|
224
|
-
const normalized = normalizeObjectInput(
|
|
261
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_SCENE_GET, input);
|
|
225
262
|
return normalized.ok ? sources.prefabs.getScene(normalized.input) : normalized.result;
|
|
226
263
|
},
|
|
227
264
|
}),
|
|
228
265
|
registerCapability({
|
|
229
266
|
manifest: {
|
|
230
|
-
schemaVersion:
|
|
231
|
-
id:
|
|
267
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
268
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_SELECT,
|
|
232
269
|
title: 'Select prefab node',
|
|
233
270
|
description: 'Select an editable node inside the current Prefab stage. Use node ids from prefab.scene.get; this changes Prefab stage selection, not main scene selection.',
|
|
234
271
|
layer: 'editor',
|
|
235
272
|
category: 'prefab',
|
|
236
273
|
stability: 'experimental',
|
|
237
274
|
access: 'write',
|
|
238
|
-
...
|
|
275
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_SELECT],
|
|
239
276
|
},
|
|
240
277
|
handler: input => {
|
|
241
|
-
const normalized = normalizeObjectInput(
|
|
278
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_SELECT, input);
|
|
242
279
|
return normalized.ok ? sources.prefabs.selectNode(normalized.input) : normalized.result;
|
|
243
280
|
},
|
|
244
281
|
}),
|
|
245
282
|
registerCapability({
|
|
246
283
|
manifest: {
|
|
247
|
-
schemaVersion:
|
|
248
|
-
id:
|
|
284
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
285
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET,
|
|
249
286
|
title: 'Create prefab node from asset',
|
|
250
287
|
description: 'Add a model or child prefab asset into the currently open Prefab stage through the editor asset action patch pipeline. Use asset.library.list first; this writes the prefab document, not the main scene.',
|
|
251
288
|
layer: 'editor',
|
|
252
289
|
category: 'prefab',
|
|
253
290
|
stability: 'experimental',
|
|
254
291
|
access: 'write',
|
|
255
|
-
...
|
|
292
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET],
|
|
256
293
|
},
|
|
257
294
|
handler: input => {
|
|
258
|
-
const normalized = normalizeObjectInput(
|
|
295
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET, input);
|
|
259
296
|
return normalized.ok ? sources.prefabs.createNodeFromAsset(normalized.input) : normalized.result;
|
|
260
297
|
},
|
|
261
298
|
}),
|
|
262
299
|
registerCapability({
|
|
263
300
|
manifest: {
|
|
264
|
-
schemaVersion:
|
|
265
|
-
id:
|
|
301
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
302
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP,
|
|
266
303
|
title: 'Create prefab group node',
|
|
267
304
|
description: 'Add an empty group node to the currently open Prefab stage through the editor prefab node mutation path. Use it as a composition container before adding or reparenting model, primitive, or child prefab nodes.',
|
|
268
305
|
layer: 'editor',
|
|
269
306
|
category: 'prefab',
|
|
270
307
|
stability: 'experimental',
|
|
271
308
|
access: 'write',
|
|
272
|
-
...
|
|
309
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP],
|
|
273
310
|
},
|
|
274
311
|
handler: input => {
|
|
275
|
-
const normalized = normalizeObjectInput(
|
|
312
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP, input);
|
|
276
313
|
return normalized.ok ? sources.prefabs.createGroupNode(normalized.input) : normalized.result;
|
|
277
314
|
},
|
|
278
315
|
}),
|
|
279
316
|
registerCapability({
|
|
280
317
|
manifest: {
|
|
281
|
-
schemaVersion:
|
|
282
|
-
id:
|
|
318
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
319
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER,
|
|
283
320
|
title: 'Create prefab Marker node',
|
|
284
321
|
description: 'Add a transform-capable Marker node to the open Prefab stage. Type must come from the project Marker catalog and target may only reference the current Prefab composition.',
|
|
285
322
|
layer: 'editor',
|
|
286
323
|
category: 'prefab',
|
|
287
324
|
stability: 'experimental',
|
|
288
325
|
access: 'write',
|
|
289
|
-
...
|
|
326
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER],
|
|
290
327
|
},
|
|
291
328
|
handler: input => {
|
|
292
|
-
const normalized = normalizeObjectInput(
|
|
329
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER, input);
|
|
293
330
|
return normalized.ok ? sources.prefabs.createMarkerNode(normalized.input) : normalized.result;
|
|
294
331
|
},
|
|
295
332
|
}),
|
|
296
333
|
registerCapability({
|
|
297
334
|
manifest: {
|
|
298
|
-
schemaVersion:
|
|
299
|
-
id:
|
|
335
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
336
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE,
|
|
300
337
|
title: 'Create prefab primitive node',
|
|
301
338
|
description: 'Add a primitive helper node to the currently open Prefab stage through the editor prefab node mutation path. Use for composition layout tests, blockers, receivers, and simple placeholders.',
|
|
302
339
|
layer: 'editor',
|
|
303
340
|
category: 'prefab',
|
|
304
341
|
stability: 'experimental',
|
|
305
342
|
access: 'write',
|
|
306
|
-
...
|
|
343
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE],
|
|
307
344
|
},
|
|
308
345
|
handler: input => {
|
|
309
|
-
const normalized = normalizeObjectInput(
|
|
346
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE, input);
|
|
310
347
|
return normalized.ok ? sources.prefabs.createPrimitiveNode(normalized.input) : normalized.result;
|
|
311
348
|
},
|
|
312
349
|
}),
|
|
313
350
|
registerCapability({
|
|
314
351
|
manifest: {
|
|
315
|
-
schemaVersion:
|
|
316
|
-
id:
|
|
352
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
353
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM,
|
|
317
354
|
title: 'Set prefab node transform',
|
|
318
355
|
description: 'Set position, rotation, and/or scale for an editable Prefab stage node. This routes through prefab node document patches and does not mutate projection or runtime JSON directly.',
|
|
319
356
|
layer: 'editor',
|
|
320
357
|
category: 'prefab',
|
|
321
358
|
stability: 'experimental',
|
|
322
359
|
access: 'write',
|
|
323
|
-
...
|
|
360
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM],
|
|
324
361
|
},
|
|
325
362
|
handler: input => {
|
|
326
|
-
const normalized = normalizeObjectInput(
|
|
363
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM, input);
|
|
327
364
|
return normalized.ok ? sources.prefabs.setNodeTransform(normalized.input) : normalized.result;
|
|
328
365
|
},
|
|
329
366
|
}),
|
|
330
367
|
registerCapability({
|
|
331
368
|
manifest: {
|
|
332
|
-
schemaVersion:
|
|
333
|
-
id:
|
|
369
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
370
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER,
|
|
334
371
|
title: 'Set prefab Marker fields',
|
|
335
372
|
description: 'Update controlled Prefab Marker type, local target, tags, note, or RGB color. Geometry and semantic kind remain derived from the selected Marker type.',
|
|
336
373
|
layer: 'editor',
|
|
337
374
|
category: 'prefab',
|
|
338
375
|
stability: 'experimental',
|
|
339
376
|
access: 'write',
|
|
340
|
-
...
|
|
377
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER],
|
|
341
378
|
},
|
|
342
379
|
handler: input => {
|
|
343
|
-
const normalized = normalizeObjectInput(
|
|
380
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER, input);
|
|
344
381
|
return normalized.ok ? sources.prefabs.setNodeMarker(normalized.input) : normalized.result;
|
|
345
382
|
},
|
|
346
383
|
}),
|
|
347
384
|
registerCapability({
|
|
348
385
|
manifest: {
|
|
349
|
-
schemaVersion:
|
|
350
|
-
id:
|
|
386
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
387
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT,
|
|
351
388
|
title: 'Reparent prefab node',
|
|
352
389
|
description: 'Move an editable Prefab stage node under another prefab node. The reducer rejects root reparenting and cyclic parents.',
|
|
353
390
|
layer: 'editor',
|
|
354
391
|
category: 'prefab',
|
|
355
392
|
stability: 'experimental',
|
|
356
393
|
access: 'write',
|
|
357
|
-
...
|
|
394
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT],
|
|
358
395
|
},
|
|
359
396
|
handler: input => {
|
|
360
|
-
const normalized = normalizeObjectInput(
|
|
397
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT, input);
|
|
361
398
|
return normalized.ok ? sources.prefabs.reparentNode(normalized.input) : normalized.result;
|
|
362
399
|
},
|
|
363
400
|
}),
|
|
364
401
|
registerCapability({
|
|
365
402
|
manifest: {
|
|
366
|
-
schemaVersion:
|
|
367
|
-
id:
|
|
403
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
404
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_RENAME,
|
|
368
405
|
title: 'Rename prefab node',
|
|
369
406
|
description: 'Rename a non-root editable node inside the current Prefab stage. Root names follow prefab.asset.rename, and readonly GLB Source Structure names are not editable.',
|
|
370
407
|
layer: 'editor',
|
|
371
408
|
category: 'prefab',
|
|
372
409
|
stability: 'experimental',
|
|
373
410
|
access: 'write',
|
|
374
|
-
...
|
|
411
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_RENAME],
|
|
375
412
|
},
|
|
376
413
|
handler: input => {
|
|
377
|
-
const normalized = normalizeObjectInput(
|
|
414
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_RENAME, input);
|
|
378
415
|
return normalized.ok ? sources.prefabs.renameNode(normalized.input) : normalized.result;
|
|
379
416
|
},
|
|
380
417
|
}),
|
|
381
418
|
registerCapability({
|
|
382
419
|
manifest: {
|
|
383
|
-
schemaVersion:
|
|
384
|
-
id:
|
|
420
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
421
|
+
id: EDITOR_COMMAND_ID.PREFAB_NODE_DELETE,
|
|
385
422
|
title: 'Delete prefab node',
|
|
386
423
|
description: 'Delete an editable node from the current Prefab stage through prefab document mutation. Root deletion and invalid nodes return structured diagnostics.',
|
|
387
424
|
layer: 'editor',
|
|
388
425
|
category: 'prefab',
|
|
389
426
|
stability: 'experimental',
|
|
390
427
|
access: 'write',
|
|
391
|
-
...
|
|
428
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_DELETE],
|
|
392
429
|
},
|
|
393
430
|
handler: input => {
|
|
394
|
-
const normalized = normalizeObjectInput(
|
|
431
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_DELETE, input);
|
|
395
432
|
return normalized.ok ? sources.prefabs.deleteNode(normalized.input) : normalized.result;
|
|
396
433
|
},
|
|
397
434
|
}),
|
|
398
435
|
registerCapability({
|
|
399
436
|
manifest: {
|
|
400
|
-
schemaVersion:
|
|
401
|
-
id:
|
|
437
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
438
|
+
id: EDITOR_COMMAND_ID.PREFAB_SOURCE_STRUCTURE_GET,
|
|
402
439
|
title: 'Get prefab source structure',
|
|
403
440
|
description: 'Read readonly source asset anatomy for a prefab model node or asset. This reports SDK asset analysis metadata and is not an editable Prefab Scene Tree.',
|
|
404
441
|
layer: 'editor',
|
|
405
442
|
category: 'prefab',
|
|
406
443
|
stability: 'experimental',
|
|
407
444
|
access: 'read',
|
|
408
|
-
...
|
|
445
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_SOURCE_STRUCTURE_GET],
|
|
409
446
|
},
|
|
410
447
|
handler: input => {
|
|
411
|
-
const normalized = normalizeObjectInput(
|
|
448
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_SOURCE_STRUCTURE_GET, input);
|
|
412
449
|
return normalized.ok ? sources.prefabs.getSourceStructure(normalized.input) : normalized.result;
|
|
413
450
|
},
|
|
414
451
|
}),
|
|
415
452
|
registerCapability({
|
|
416
453
|
manifest: {
|
|
417
|
-
schemaVersion:
|
|
418
|
-
id:
|
|
454
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
455
|
+
id: EDITOR_COMMAND_ID.PREFAB_MATERIAL_SLOTS_LIST,
|
|
419
456
|
title: 'List prefab material slots',
|
|
420
457
|
description: 'List editable material override targets for a prefab model node or asset from SDK materialSlots metadata. Use before future material/shadow tuning; read-only slots are optional.',
|
|
421
458
|
layer: 'editor',
|
|
422
459
|
category: 'prefab',
|
|
423
460
|
stability: 'experimental',
|
|
424
461
|
access: 'read',
|
|
425
|
-
...
|
|
462
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_MATERIAL_SLOTS_LIST],
|
|
426
463
|
},
|
|
427
464
|
handler: input => {
|
|
428
|
-
const normalized = normalizeObjectInput(
|
|
465
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_MATERIAL_SLOTS_LIST, input);
|
|
429
466
|
return normalized.ok ? sources.prefabs.listMaterialSlots(normalized.input) : normalized.result;
|
|
430
467
|
},
|
|
431
468
|
}),
|
|
432
469
|
registerCapability({
|
|
433
470
|
manifest: {
|
|
434
|
-
schemaVersion:
|
|
435
|
-
id:
|
|
471
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
472
|
+
id: EDITOR_COMMAND_ID.HOST_MODE_GET,
|
|
436
473
|
title: 'Get host mode',
|
|
437
474
|
description: 'Read host lifecycle state without changing mode. Use as optional preflight or diagnostics; editorReady=true means the host is in editor mode, has an active editor session, and is not busy.',
|
|
438
475
|
layer: 'host',
|
|
439
476
|
category: 'lifecycle',
|
|
440
477
|
stability: 'experimental',
|
|
441
478
|
access: 'read',
|
|
442
|
-
...
|
|
479
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_MODE_GET],
|
|
443
480
|
},
|
|
444
481
|
handler: input => {
|
|
445
|
-
const normalized = normalizeObjectInput(
|
|
482
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_MODE_GET, input);
|
|
446
483
|
return normalized.ok ? sources.host.getMode(normalized.input) : normalized.result;
|
|
447
484
|
},
|
|
448
485
|
}),
|
|
449
486
|
registerCapability({
|
|
450
487
|
manifest: {
|
|
451
|
-
schemaVersion:
|
|
452
|
-
id:
|
|
488
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
489
|
+
id: EDITOR_COMMAND_ID.HOST_EDITOR_ENTER,
|
|
453
490
|
title: 'Enter editor mode',
|
|
454
491
|
description: 'Default L1 entry point for agents. Call this to enter or ensure editor mode before L2/L3 editor operations instead of clicking the UI with browser automation. It is idempotent: already-editor hosts return alreadyEditor=true.',
|
|
455
492
|
layer: 'host',
|
|
456
493
|
category: 'lifecycle',
|
|
457
494
|
stability: 'experimental',
|
|
458
495
|
access: 'write',
|
|
459
|
-
...
|
|
496
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_ENTER],
|
|
460
497
|
},
|
|
461
498
|
handler: (input, context) => {
|
|
462
|
-
const normalized = normalizeObjectInput(
|
|
499
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_ENTER, input);
|
|
463
500
|
return normalized.ok ? sources.host.enterEditor(normalized.input, context) : normalized.result;
|
|
464
501
|
},
|
|
465
502
|
}),
|
|
466
503
|
registerCapability({
|
|
467
504
|
manifest: {
|
|
468
|
-
schemaVersion:
|
|
469
|
-
id:
|
|
505
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
506
|
+
id: EDITOR_COMMAND_ID.HOST_EDITOR_SAVE_AND_RUN,
|
|
470
507
|
title: 'Save editor document and run game',
|
|
471
508
|
description: 'Run the product save lifecycle through the existing authoring persistence path, then leave editor mode and restart the game. Use only when a positive save lifecycle test is intended.',
|
|
472
509
|
layer: 'host',
|
|
473
510
|
category: 'lifecycle',
|
|
474
511
|
stability: 'experimental',
|
|
475
512
|
access: 'write',
|
|
476
|
-
...
|
|
513
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_SAVE_AND_RUN],
|
|
477
514
|
},
|
|
478
515
|
handler: (input, context) => {
|
|
479
|
-
const normalized = normalizeObjectInput(
|
|
516
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_SAVE_AND_RUN, input);
|
|
480
517
|
return normalized.ok ? sources.host.saveAndRun(normalized.input, context) : normalized.result;
|
|
481
518
|
},
|
|
482
519
|
}),
|
|
483
520
|
registerCapability({
|
|
484
521
|
manifest: {
|
|
485
|
-
schemaVersion:
|
|
486
|
-
id:
|
|
522
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
523
|
+
id: EDITOR_COMMAND_ID.HOST_EDITOR_DISCARD_AND_RUN,
|
|
487
524
|
title: 'Discard editor changes and run game',
|
|
488
525
|
description: 'Leave editor mode without saving the working document and restart the game. Use after temporary editor experiments to restore the persisted project state.',
|
|
489
526
|
layer: 'host',
|
|
490
527
|
category: 'lifecycle',
|
|
491
528
|
stability: 'experimental',
|
|
492
529
|
access: 'write',
|
|
493
|
-
...
|
|
530
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_DISCARD_AND_RUN],
|
|
494
531
|
},
|
|
495
532
|
handler: (input, context) => {
|
|
496
|
-
const normalized = normalizeObjectInput(
|
|
533
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_DISCARD_AND_RUN, input);
|
|
497
534
|
return normalized.ok ? sources.host.discardAndRun(normalized.input, context) : normalized.result;
|
|
498
535
|
},
|
|
499
536
|
}),
|
|
500
537
|
registerCapability({
|
|
501
538
|
manifest: {
|
|
502
|
-
schemaVersion:
|
|
503
|
-
id:
|
|
539
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
540
|
+
id: EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY,
|
|
504
541
|
title: 'Wait for editor readiness',
|
|
505
542
|
description: 'Read-only readiness wait. Use after host.editor.enter only when extra confirmation or timeout diagnostics are needed; it does not enter editor mode by itself.',
|
|
506
543
|
layer: 'host',
|
|
507
544
|
category: 'lifecycle',
|
|
508
545
|
stability: 'experimental',
|
|
509
546
|
access: 'read',
|
|
510
|
-
...
|
|
547
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY],
|
|
511
548
|
},
|
|
512
549
|
handler: input => {
|
|
513
|
-
const normalized = normalizeObjectInput(
|
|
550
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY, input);
|
|
514
551
|
return normalized.ok ? sources.host.waitReady(normalized.input) : normalized.result;
|
|
515
552
|
},
|
|
516
553
|
}),
|
|
517
554
|
registerCapability({
|
|
518
555
|
manifest: {
|
|
519
|
-
schemaVersion:
|
|
520
|
-
id:
|
|
556
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
557
|
+
id: EDITOR_COMMAND_ID.EDITOR_UI_REGIONS_GET,
|
|
521
558
|
title: 'Get editor workspace regions',
|
|
522
|
-
description: 'Read the editor workspace region map for agents. It explains left Hierarchy, center Preview, right Inspector/render tabs, bottom Asset Library, top Toolbar, and
|
|
559
|
+
description: 'Read the editor workspace region map for agents. It explains left Hierarchy, center Preview, right Inspector/render tabs, bottom Asset Library, top Toolbar, and Command Service Console semantics, and maps each area to preferred capabilities before L0 fallback.',
|
|
523
560
|
layer: 'editor',
|
|
524
561
|
category: 'ui',
|
|
525
562
|
stability: 'experimental',
|
|
526
563
|
access: 'read',
|
|
527
|
-
...
|
|
564
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_UI_REGIONS_GET],
|
|
528
565
|
},
|
|
529
566
|
handler: input => {
|
|
530
|
-
const normalized = normalizeObjectInput(
|
|
567
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.EDITOR_UI_REGIONS_GET, input);
|
|
531
568
|
return normalized.ok ? sources.ui.getRegions(normalized.input) : normalized.result;
|
|
532
569
|
},
|
|
533
570
|
}),
|
|
534
571
|
registerCapability({
|
|
535
572
|
manifest: {
|
|
536
|
-
schemaVersion:
|
|
537
|
-
id:
|
|
573
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
574
|
+
id: EDITOR_COMMAND_ID.SCENE_OBJECTS_LIST,
|
|
538
575
|
title: 'List scene objects',
|
|
539
576
|
description: 'List editor scene objects with hierarchy and transform summaries after editorReady=true. Use returned object ids as stable inputs for selection, transform, viewport, and workflow capabilities.',
|
|
540
577
|
layer: 'editor',
|
|
541
578
|
category: 'scene',
|
|
542
579
|
stability: 'experimental',
|
|
543
580
|
access: 'read',
|
|
544
|
-
...
|
|
581
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SCENE_OBJECTS_LIST],
|
|
545
582
|
},
|
|
546
583
|
handler: input => ({ objects: sources.objects.listObjects(input ?? {}) }),
|
|
547
584
|
}),
|
|
548
585
|
registerCapability({
|
|
549
586
|
manifest: {
|
|
550
|
-
schemaVersion:
|
|
551
|
-
id:
|
|
587
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
588
|
+
id: EDITOR_COMMAND_ID.OBJECT_RESOLVE,
|
|
552
589
|
title: 'Resolve scene object',
|
|
553
590
|
description: 'Resolve editor scene objects by id, exact name/path/type, or fuzzy query after editorReady=true. Use this before write operations when the object id is not already known.',
|
|
554
591
|
layer: 'editor',
|
|
555
592
|
category: 'scene',
|
|
556
593
|
stability: 'experimental',
|
|
557
594
|
access: 'read',
|
|
558
|
-
...
|
|
595
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_RESOLVE],
|
|
559
596
|
},
|
|
560
597
|
handler: input => {
|
|
561
|
-
const normalized = normalizeObjectInput(
|
|
598
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_RESOLVE, input);
|
|
562
599
|
return normalized.ok ? sources.objects.resolveObject(normalized.input) : normalized.result;
|
|
563
600
|
},
|
|
564
601
|
}),
|
|
565
602
|
registerCapability({
|
|
566
603
|
manifest: {
|
|
567
|
-
schemaVersion:
|
|
568
|
-
id:
|
|
604
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
605
|
+
id: EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE,
|
|
569
606
|
title: 'Create primitive object',
|
|
570
607
|
description: 'Create a basic scene primitive after editorReady=true. Shapes are cube, sphere, plane, or capsule; the capability uses the editor scene graph create patch and selects the created object when possible.',
|
|
571
608
|
layer: 'editor',
|
|
572
609
|
category: 'scene',
|
|
573
610
|
stability: 'experimental',
|
|
574
611
|
access: 'write',
|
|
575
|
-
...
|
|
612
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE],
|
|
576
613
|
},
|
|
577
614
|
handler: input => {
|
|
578
|
-
const normalized = normalizeObjectInput(
|
|
615
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE, input);
|
|
579
616
|
return normalized.ok ? sources.objects.createPrimitive(normalized.input) : normalized.result;
|
|
580
617
|
},
|
|
581
618
|
}),
|
|
582
619
|
registerCapability({
|
|
583
620
|
manifest: {
|
|
584
|
-
schemaVersion:
|
|
585
|
-
id:
|
|
621
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
622
|
+
id: EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET,
|
|
586
623
|
title: 'Create object from asset',
|
|
587
624
|
description: 'Create a scene object from a standard asset library asset after editorReady=true. Use asset.library.list and asset.analysis.get first; this capability delegates to the editor harness asset creation path and may select/focus the created object.',
|
|
588
625
|
layer: 'editor',
|
|
589
626
|
category: 'asset',
|
|
590
627
|
stability: 'experimental',
|
|
591
628
|
access: 'write',
|
|
592
|
-
...
|
|
629
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET],
|
|
593
630
|
},
|
|
594
631
|
handler: input => {
|
|
595
|
-
const normalized = normalizeObjectInput(
|
|
632
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET, input);
|
|
596
633
|
return normalized.ok ? sources.objects.createFromAsset(normalized.input) : normalized.result;
|
|
597
634
|
},
|
|
598
635
|
}),
|
|
599
636
|
registerCapability({
|
|
600
637
|
manifest: {
|
|
601
|
-
schemaVersion:
|
|
602
|
-
id:
|
|
638
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
639
|
+
id: EDITOR_COMMAND_ID.OBJECT_DELETE,
|
|
603
640
|
title: 'Delete objects',
|
|
604
641
|
description: 'Delete one or more editor scene objects after editorReady=true. Provide exactly one of objectId or objectIds; protected, locked, readonly, or missing nodes are rejected by scene graph validation.',
|
|
605
642
|
layer: 'editor',
|
|
606
643
|
category: 'scene',
|
|
607
644
|
stability: 'experimental',
|
|
608
645
|
access: 'write',
|
|
609
|
-
...
|
|
646
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_DELETE],
|
|
610
647
|
},
|
|
611
648
|
handler: input => {
|
|
612
|
-
const normalized = normalizeObjectInput(
|
|
649
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_DELETE, input);
|
|
613
650
|
return normalized.ok ? sources.objects.deleteObjects(normalized.input) : normalized.result;
|
|
614
651
|
},
|
|
615
652
|
}),
|
|
616
653
|
registerCapability({
|
|
617
654
|
manifest: {
|
|
618
|
-
schemaVersion:
|
|
619
|
-
id:
|
|
655
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
656
|
+
id: EDITOR_COMMAND_ID.SELECTION_SET,
|
|
620
657
|
title: 'Set selection',
|
|
621
658
|
description: 'Select one or more editor scene objects by object id after editorReady=true. Prefer ids returned by scene.objects.list; this is an editor semantic operation, not a UI click.',
|
|
622
659
|
layer: 'editor',
|
|
623
660
|
category: 'selection',
|
|
624
661
|
stability: 'experimental',
|
|
625
662
|
access: 'write',
|
|
626
|
-
...
|
|
663
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SELECTION_SET],
|
|
627
664
|
},
|
|
628
665
|
handler: input => sources.selection.setSelection(input ?? {}),
|
|
629
666
|
}),
|
|
630
667
|
registerCapability({
|
|
631
668
|
manifest: {
|
|
632
|
-
schemaVersion:
|
|
633
|
-
id:
|
|
669
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
670
|
+
id: EDITOR_COMMAND_ID.SHADOW_POLICY_GET,
|
|
634
671
|
title: 'Get shadow policy',
|
|
635
672
|
description: 'Read Shadow V2 policy and effective resolved plan for a scene object or current Prefab stage node. Use this before editing caster/receiver/light/quality settings; readonly source anatomy is not editable.',
|
|
636
673
|
layer: 'editor',
|
|
637
674
|
category: 'shadow',
|
|
638
675
|
stability: 'experimental',
|
|
639
676
|
access: 'read',
|
|
640
|
-
...
|
|
677
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_POLICY_GET],
|
|
641
678
|
},
|
|
642
679
|
handler: input => {
|
|
643
|
-
const normalized = normalizeObjectInput(
|
|
680
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_POLICY_GET, input);
|
|
644
681
|
return normalized.ok ? sources.shadows.getPolicy(normalized.input) : normalized.result;
|
|
645
682
|
},
|
|
646
683
|
}),
|
|
647
684
|
registerCapability({
|
|
648
685
|
manifest: {
|
|
649
|
-
schemaVersion:
|
|
650
|
-
id:
|
|
686
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
687
|
+
id: EDITOR_COMMAND_ID.SHADOW_POLICY_SET,
|
|
651
688
|
title: 'Set shadow policy',
|
|
652
689
|
description: 'Write Shadow V2 caster/receiver/mode/light/quality/params for a scene object or editable Prefab stage root/node through editor document patches. This is the default agent path for shadow authoring instead of Inspector clicking.',
|
|
653
690
|
layer: 'editor',
|
|
654
691
|
category: 'shadow',
|
|
655
692
|
stability: 'experimental',
|
|
656
693
|
access: 'write',
|
|
657
|
-
...
|
|
694
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_POLICY_SET],
|
|
658
695
|
},
|
|
659
696
|
handler: input => {
|
|
660
|
-
const normalized = normalizeObjectInput(
|
|
697
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_POLICY_SET, input);
|
|
661
698
|
return normalized.ok ? sources.shadows.setPolicy(normalized.input) : normalized.result;
|
|
662
699
|
},
|
|
663
700
|
}),
|
|
664
701
|
registerCapability({
|
|
665
702
|
manifest: {
|
|
666
|
-
schemaVersion:
|
|
667
|
-
id:
|
|
703
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
704
|
+
id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_CONFIG_GET,
|
|
668
705
|
title: 'Get Shadow Map configuration',
|
|
669
706
|
description: 'Read the authoritative shadows.json configuration and available quality/behavior profile ids. The configuration is readonly; tune algorithm parameters in shadows.json, not through scene mutations.',
|
|
670
707
|
layer: 'editor',
|
|
671
708
|
category: 'shadow',
|
|
672
709
|
stability: 'experimental',
|
|
673
710
|
access: 'read',
|
|
674
|
-
...
|
|
711
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_CONFIG_GET],
|
|
675
712
|
},
|
|
676
713
|
handler: input => sources.shadows.getShadowMapExperimentConfig(input ?? {}),
|
|
677
714
|
}),
|
|
678
715
|
registerCapability({
|
|
679
716
|
manifest: {
|
|
680
|
-
schemaVersion:
|
|
681
|
-
id:
|
|
717
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
718
|
+
id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_GET,
|
|
682
719
|
title: 'Get Shadow Map profiles',
|
|
683
720
|
description: 'Read authored and effective Shadow Map quality/behavior profile references for the scene, a scene object, or an editable Prefab stage node.',
|
|
684
721
|
layer: 'editor',
|
|
685
722
|
category: 'shadow',
|
|
686
723
|
stability: 'experimental',
|
|
687
724
|
access: 'read',
|
|
688
|
-
...
|
|
725
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_GET],
|
|
689
726
|
},
|
|
690
727
|
handler: input => sources.shadows.getShadowMapExperimentPolicy(input),
|
|
691
728
|
}),
|
|
692
729
|
registerCapability({
|
|
693
730
|
manifest: {
|
|
694
|
-
schemaVersion:
|
|
695
|
-
id:
|
|
731
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
732
|
+
id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET,
|
|
696
733
|
title: 'Set Shadow Map profiles',
|
|
697
734
|
description: 'Write profile references only. Scene scope may set quality and behavior profiles; scene objects and Prefab nodes may set only a behavior profile. Inline algorithm or lifecycle parameters are not accepted.',
|
|
698
735
|
layer: 'editor',
|
|
699
736
|
category: 'shadow',
|
|
700
737
|
stability: 'experimental',
|
|
701
738
|
access: 'write',
|
|
702
|
-
...
|
|
739
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET],
|
|
703
740
|
},
|
|
704
741
|
handler: input => sources.shadows.setShadowMapExperimentPolicy(input),
|
|
705
742
|
}),
|
|
706
743
|
registerCapability({
|
|
707
744
|
manifest: {
|
|
708
|
-
schemaVersion:
|
|
709
|
-
id:
|
|
745
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
746
|
+
id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_PLAN_PREVIEW,
|
|
710
747
|
title: 'Preview Shadow Map runtime plan',
|
|
711
748
|
description: 'Read the compiled Shadow Map Runtime Plan consumed by the renderer. This capability is readonly and exposes no authoring shortcut around shadows.json profiles.',
|
|
712
749
|
layer: 'editor',
|
|
713
750
|
category: 'shadow',
|
|
714
751
|
stability: 'experimental',
|
|
715
752
|
access: 'read',
|
|
716
|
-
...
|
|
753
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_PLAN_PREVIEW],
|
|
717
754
|
},
|
|
718
755
|
handler: input => sources.shadows.previewShadowMapExperimentPlan(input ?? {}),
|
|
719
756
|
}),
|
|
720
757
|
registerCapability({
|
|
721
758
|
manifest: {
|
|
722
|
-
schemaVersion:
|
|
723
|
-
id:
|
|
759
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
760
|
+
id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_RUNTIME_SNAPSHOT,
|
|
724
761
|
title: 'Snapshot Shadow Map runtime ownership',
|
|
725
762
|
description: 'Read Plan version, runtime registrations, activity owners, registry/depth evidence, and diagnostics without exposing a write path.',
|
|
726
763
|
layer: 'editor',
|
|
727
764
|
category: 'shadow',
|
|
728
765
|
stability: 'experimental',
|
|
729
766
|
access: 'read',
|
|
730
|
-
...
|
|
767
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_RUNTIME_SNAPSHOT],
|
|
731
768
|
},
|
|
732
769
|
handler: input => sources.shadows.snapshotShadowMapExperimentRuntime(input ?? {}),
|
|
733
770
|
}),
|
|
734
771
|
registerCapability({
|
|
735
772
|
manifest: {
|
|
736
|
-
schemaVersion:
|
|
737
|
-
id:
|
|
773
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
774
|
+
id: EDITOR_COMMAND_ID.SHADOW_RECEIVERS_LIST,
|
|
738
775
|
title: 'List shadow receivers',
|
|
739
776
|
description: 'List candidate shadow receiver nodes for a scene object or Prefab stage preview target. Explicit receivers and shadow.receive settings score above auto plane inference.',
|
|
740
777
|
layer: 'editor',
|
|
741
778
|
category: 'shadow',
|
|
742
779
|
stability: 'experimental',
|
|
743
780
|
access: 'read',
|
|
744
|
-
...
|
|
781
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_RECEIVERS_LIST],
|
|
745
782
|
},
|
|
746
783
|
handler: input => {
|
|
747
|
-
const normalized = normalizeObjectInput(
|
|
784
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_RECEIVERS_LIST, input);
|
|
748
785
|
return normalized.ok ? sources.shadows.listReceivers(normalized.input) : normalized.result;
|
|
749
786
|
},
|
|
750
787
|
}),
|
|
751
788
|
registerCapability({
|
|
752
789
|
manifest: {
|
|
753
|
-
schemaVersion:
|
|
754
|
-
id:
|
|
790
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
791
|
+
id: EDITOR_COMMAND_ID.SHADOW_RESOLVE_PREVIEW,
|
|
755
792
|
title: 'Resolve shadow preview',
|
|
756
793
|
description: 'Preview the resolved Shadow V2 backend, receiver list, light binding, quality params, and diagnostics without changing editor state. Use after policy changes or before screenshot validation.',
|
|
757
794
|
layer: 'editor',
|
|
758
795
|
category: 'shadow',
|
|
759
796
|
stability: 'experimental',
|
|
760
797
|
access: 'read',
|
|
761
|
-
...
|
|
798
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_RESOLVE_PREVIEW],
|
|
762
799
|
},
|
|
763
800
|
handler: input => {
|
|
764
|
-
const normalized = normalizeObjectInput(
|
|
801
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_RESOLVE_PREVIEW, input);
|
|
765
802
|
return normalized.ok ? sources.shadows.resolvePreview(normalized.input) : normalized.result;
|
|
766
803
|
},
|
|
767
804
|
}),
|
|
768
805
|
registerCapability({
|
|
769
806
|
manifest: {
|
|
770
|
-
schemaVersion:
|
|
771
|
-
id:
|
|
807
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
808
|
+
id: EDITOR_COMMAND_ID.SHADOW_DEBUG_INSPECT,
|
|
772
809
|
title: 'Inspect shadow debug context',
|
|
773
810
|
description: 'Read the complete Shadow V2 debugging context for a scene object or Prefab stage target: caster, receivers, light, policy, resolved plan, expected footprint, runtime evidence, and diagnostics. Use this before deciding whether a screenshot really shows a shadow.',
|
|
774
811
|
layer: 'editor',
|
|
775
812
|
category: 'shadow',
|
|
776
813
|
stability: 'experimental',
|
|
777
814
|
access: 'read',
|
|
778
|
-
...
|
|
815
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_INSPECT],
|
|
779
816
|
},
|
|
780
817
|
handler: input => {
|
|
781
|
-
const normalized = normalizeObjectInput(
|
|
818
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_INSPECT, input);
|
|
782
819
|
return normalized.ok ? sources.shadows.inspectDebug(normalized.input) : normalized.result;
|
|
783
820
|
},
|
|
784
821
|
}),
|
|
785
822
|
registerCapability({
|
|
786
823
|
manifest: {
|
|
787
|
-
schemaVersion:
|
|
788
|
-
id:
|
|
824
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
825
|
+
id: EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_ENTER,
|
|
789
826
|
title: 'Enter shadow debug context',
|
|
790
827
|
description: 'Enter a preview-only Shadow Debug Context for a scene object or Prefab stage target. It automatically keeps the caster, resolved receivers, shadow light, and ambient lights visible, hides unrelated projected objects, applies receiver/footprint/light overlays, and returns inspect plus visibilityMeasure evidence for screenshot validation.',
|
|
791
828
|
layer: 'editor',
|
|
792
829
|
category: 'shadow',
|
|
793
830
|
stability: 'experimental',
|
|
794
831
|
access: 'write',
|
|
795
|
-
...
|
|
832
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_ENTER],
|
|
796
833
|
},
|
|
797
834
|
handler: input => {
|
|
798
|
-
const normalized = normalizeObjectInput(
|
|
835
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_ENTER, input);
|
|
799
836
|
return normalized.ok ? sources.shadows.enterDebugContext(normalized.input) : normalized.result;
|
|
800
837
|
},
|
|
801
838
|
}),
|
|
802
839
|
registerCapability({
|
|
803
840
|
manifest: {
|
|
804
|
-
schemaVersion:
|
|
805
|
-
id:
|
|
841
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
842
|
+
id: EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_CLEAR,
|
|
806
843
|
title: 'Clear shadow debug context',
|
|
807
844
|
description: 'Clear the preview-only Shadow Debug Context, including protected receiver visibility state and shadow debug overlays. This does not write scene or prefab documents.',
|
|
808
845
|
layer: 'editor',
|
|
809
846
|
category: 'shadow',
|
|
810
847
|
stability: 'experimental',
|
|
811
848
|
access: 'write',
|
|
812
|
-
...
|
|
849
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_CLEAR],
|
|
813
850
|
},
|
|
814
851
|
handler: input => {
|
|
815
|
-
const normalized = normalizeObjectInput(
|
|
852
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_CLEAR, input);
|
|
816
853
|
return normalized.ok ? sources.shadows.clearDebugContext(normalized.input) : normalized.result;
|
|
817
854
|
},
|
|
818
855
|
}),
|
|
819
856
|
registerCapability({
|
|
820
857
|
manifest: {
|
|
821
|
-
schemaVersion:
|
|
822
|
-
id:
|
|
858
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
859
|
+
id: EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_SET,
|
|
823
860
|
title: 'Set shadow debug overlay',
|
|
824
861
|
description: 'Show preview-only Shadow V2 debug helpers for a scene object or Prefab stage target: caster bounds, receiver bounds, light direction, expected footprint, and artifact bounds. This does not write scene or prefab documents; use before L0 screenshots to avoid visual misjudgment.',
|
|
825
862
|
layer: 'editor',
|
|
826
863
|
category: 'shadow',
|
|
827
864
|
stability: 'experimental',
|
|
828
865
|
access: 'write',
|
|
829
|
-
...
|
|
866
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_SET],
|
|
830
867
|
},
|
|
831
868
|
handler: input => {
|
|
832
|
-
const normalized = normalizeObjectInput(
|
|
869
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_SET, input);
|
|
833
870
|
return normalized.ok ? sources.shadows.setDebugOverlay(normalized.input) : normalized.result;
|
|
834
871
|
},
|
|
835
872
|
}),
|
|
836
873
|
registerCapability({
|
|
837
874
|
manifest: {
|
|
838
|
-
schemaVersion:
|
|
839
|
-
id:
|
|
875
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
876
|
+
id: EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_CLEAR,
|
|
840
877
|
title: 'Clear shadow debug overlay',
|
|
841
878
|
description: 'Clear preview-only Shadow V2 debug helpers previously created by shadow.debug.overlay.set. This does not write scene or prefab documents.',
|
|
842
879
|
layer: 'editor',
|
|
843
880
|
category: 'shadow',
|
|
844
881
|
stability: 'experimental',
|
|
845
882
|
access: 'write',
|
|
846
|
-
...
|
|
883
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_CLEAR],
|
|
847
884
|
},
|
|
848
885
|
handler: input => {
|
|
849
|
-
const normalized = normalizeObjectInput(
|
|
886
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_CLEAR, input);
|
|
850
887
|
return normalized.ok ? sources.shadows.clearDebugOverlay(normalized.input) : normalized.result;
|
|
851
888
|
},
|
|
852
889
|
}),
|
|
853
890
|
registerCapability({
|
|
854
891
|
manifest: {
|
|
855
|
-
schemaVersion:
|
|
856
|
-
id:
|
|
892
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
893
|
+
id: EDITOR_COMMAND_ID.SHADOW_DEBUG_VISIBILITY_MEASURE,
|
|
857
894
|
title: 'Measure shadow visibility',
|
|
858
895
|
description: 'Return a structured Shadow V2 visibility score for a scene object or Prefab stage target. Use after shadow.debug.inspect or shadow.debug.overlay.set to avoid judging shadow success by screenshot alone. MVP measurement is structural when pixel readback is unavailable.',
|
|
859
896
|
layer: 'editor',
|
|
860
897
|
category: 'shadow',
|
|
861
898
|
stability: 'experimental',
|
|
862
899
|
access: 'read',
|
|
863
|
-
...
|
|
900
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_VISIBILITY_MEASURE],
|
|
864
901
|
},
|
|
865
902
|
handler: input => {
|
|
866
|
-
const normalized = normalizeObjectInput(
|
|
903
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_VISIBILITY_MEASURE, input);
|
|
867
904
|
return normalized.ok ? sources.shadows.measureVisibility(normalized.input) : normalized.result;
|
|
868
905
|
},
|
|
869
906
|
}),
|
|
870
907
|
...(EDITOR_SHADOW_STATIC_AUTHORING_ENABLED ? [
|
|
871
908
|
registerCapability({
|
|
872
909
|
manifest: {
|
|
873
|
-
schemaVersion:
|
|
874
|
-
id:
|
|
910
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
911
|
+
id: EDITOR_COMMAND_ID.SHADOW_STATIC_BAKE,
|
|
875
912
|
title: 'Bake static shadow',
|
|
876
913
|
description: 'Request a static shadow bake for the resolved Shadow V2 scene target through the editor rendering action pipeline. Use after shadow.resolvePreview confirms a static plan and receivers; prefab stage policies bake after placement in a scene.',
|
|
877
914
|
layer: 'editor',
|
|
878
915
|
category: 'shadow',
|
|
879
916
|
stability: 'experimental',
|
|
880
917
|
access: 'write',
|
|
881
|
-
...
|
|
918
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_STATIC_BAKE],
|
|
882
919
|
},
|
|
883
920
|
handler: input => {
|
|
884
|
-
const normalized = normalizeObjectInput(
|
|
921
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_STATIC_BAKE, input);
|
|
885
922
|
return normalized.ok ? sources.shadows.bakeStatic(normalized.input) : normalized.result;
|
|
886
923
|
},
|
|
887
924
|
}),
|
|
888
925
|
registerCapability({
|
|
889
926
|
manifest: {
|
|
890
|
-
schemaVersion:
|
|
891
|
-
id:
|
|
927
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
928
|
+
id: EDITOR_COMMAND_ID.SHADOW_STATIC_INVALIDATE,
|
|
892
929
|
title: 'Invalidate static shadow',
|
|
893
930
|
description: 'Mark a static Shadow V2 scene target as stale so agents and users know a rebake is required after transform, receiver, light, or policy changes.',
|
|
894
931
|
layer: 'editor',
|
|
895
932
|
category: 'shadow',
|
|
896
933
|
stability: 'experimental',
|
|
897
934
|
access: 'write',
|
|
898
|
-
...
|
|
935
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_STATIC_INVALIDATE],
|
|
899
936
|
},
|
|
900
937
|
handler: input => {
|
|
901
|
-
const normalized = normalizeObjectInput(
|
|
938
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_STATIC_INVALIDATE, input);
|
|
902
939
|
return normalized.ok ? sources.shadows.invalidateStatic(normalized.input) : normalized.result;
|
|
903
940
|
},
|
|
904
941
|
}),
|
|
905
942
|
] : []),
|
|
906
943
|
registerCapability({
|
|
907
944
|
manifest: {
|
|
908
|
-
schemaVersion:
|
|
909
|
-
id:
|
|
945
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
946
|
+
id: EDITOR_COMMAND_ID.TRANSFORM_MOVE,
|
|
910
947
|
title: 'Move object',
|
|
911
948
|
description: 'Move a scene object by absolute position or relative offset after editorReady=true. Provide exactly one of position or offset; the capability uses the editor document adapter path and returns before/after transform state.',
|
|
912
949
|
layer: 'editor',
|
|
913
950
|
category: 'transform',
|
|
914
951
|
stability: 'experimental',
|
|
915
952
|
access: 'write',
|
|
916
|
-
...
|
|
953
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.TRANSFORM_MOVE],
|
|
917
954
|
},
|
|
918
955
|
handler: input => sources.transform.move(input),
|
|
919
956
|
}),
|
|
920
957
|
registerCapability({
|
|
921
958
|
manifest: {
|
|
922
|
-
schemaVersion:
|
|
923
|
-
id:
|
|
959
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
960
|
+
id: EDITOR_COMMAND_ID.TRANSFORM_SET,
|
|
924
961
|
title: 'Set object transform',
|
|
925
962
|
description: 'Set one or more absolute TRS fields on an editor scene object after editorReady=true. Provide objectId and at least one of position, rotation, or scale; the capability uses the editor document adapter path and returns before/after transform state.',
|
|
926
963
|
layer: 'editor',
|
|
927
964
|
category: 'transform',
|
|
928
965
|
stability: 'experimental',
|
|
929
966
|
access: 'write',
|
|
930
|
-
...
|
|
967
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.TRANSFORM_SET],
|
|
931
968
|
},
|
|
932
969
|
handler: input => sources.transform.set(input),
|
|
933
970
|
}),
|
|
934
971
|
registerCapability({
|
|
935
972
|
manifest: {
|
|
936
|
-
schemaVersion:
|
|
937
|
-
id:
|
|
973
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
974
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_FOCUS_OBJECT,
|
|
938
975
|
title: 'Focus object in viewport',
|
|
939
976
|
description: 'Frame a scene object in the editor viewport after editorReady=true. Use this for semantic viewport focus instead of browser scrolling, dragging, or clicking the canvas.',
|
|
940
977
|
layer: 'editor',
|
|
941
978
|
category: 'viewport',
|
|
942
979
|
stability: 'experimental',
|
|
943
980
|
access: 'write',
|
|
944
|
-
...
|
|
981
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_FOCUS_OBJECT],
|
|
945
982
|
},
|
|
946
983
|
handler: input => sources.viewport.focusObject(input),
|
|
947
984
|
}),
|
|
948
985
|
registerCapability({
|
|
949
986
|
manifest: {
|
|
950
|
-
schemaVersion:
|
|
951
|
-
id:
|
|
987
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
988
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION,
|
|
952
989
|
title: 'Frame selected object',
|
|
953
990
|
description: 'Frame the current editor selection in the viewport after editorReady=true. Use after selection.set or transform operations when the active object is already selected.',
|
|
954
991
|
layer: 'editor',
|
|
955
992
|
category: 'viewport',
|
|
956
993
|
stability: 'experimental',
|
|
957
994
|
access: 'write',
|
|
958
|
-
...
|
|
995
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION],
|
|
959
996
|
},
|
|
960
997
|
handler: input => {
|
|
961
|
-
const normalized = normalizeObjectInput(
|
|
998
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION, input);
|
|
962
999
|
return normalized.ok ? sources.viewport.frameSelection(normalized.input) : normalized.result;
|
|
963
1000
|
},
|
|
964
1001
|
}),
|
|
965
1002
|
registerCapability({
|
|
966
1003
|
manifest: {
|
|
967
|
-
schemaVersion:
|
|
968
|
-
id:
|
|
1004
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1005
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SNAPSHOT,
|
|
969
1006
|
title: 'Get preview visibility overrides',
|
|
970
1007
|
description: 'Read preview-only visibility and isolation overrides. Use during visual debugging to understand what the editor viewport is temporarily hiding; this never reads or writes scene/prefab authored visibility.',
|
|
971
1008
|
layer: 'editor',
|
|
972
1009
|
category: 'viewport',
|
|
973
1010
|
stability: 'experimental',
|
|
974
1011
|
access: 'read',
|
|
975
|
-
...
|
|
1012
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SNAPSHOT],
|
|
976
1013
|
},
|
|
977
1014
|
handler: input => {
|
|
978
|
-
const normalized = normalizeObjectInput(
|
|
1015
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SNAPSHOT, input);
|
|
979
1016
|
return normalized.ok ? sources.viewport.getVisibilitySnapshot(normalized.input) : normalized.result;
|
|
980
1017
|
},
|
|
981
1018
|
}),
|
|
982
1019
|
registerCapability({
|
|
983
1020
|
manifest: {
|
|
984
|
-
schemaVersion:
|
|
985
|
-
id:
|
|
1021
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1022
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SET,
|
|
986
1023
|
title: 'Set preview visibility',
|
|
987
1024
|
description: 'Temporarily hide or show projected objects in the editor viewport for debugging. This is preview-only: it does not change scene object active/visible fields or prefab documents, and authored inactive objects are not revived.',
|
|
988
1025
|
layer: 'editor',
|
|
989
1026
|
category: 'viewport',
|
|
990
1027
|
stability: 'experimental',
|
|
991
1028
|
access: 'write',
|
|
992
|
-
...
|
|
1029
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SET],
|
|
993
1030
|
},
|
|
994
1031
|
handler: input => {
|
|
995
|
-
const normalized = normalizeObjectInput(
|
|
1032
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SET, input);
|
|
996
1033
|
return normalized.ok ? sources.viewport.setVisibility(normalized.input) : normalized.result;
|
|
997
1034
|
},
|
|
998
1035
|
}),
|
|
999
1036
|
registerCapability({
|
|
1000
1037
|
manifest: {
|
|
1001
|
-
schemaVersion:
|
|
1002
|
-
id:
|
|
1038
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1039
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_CLEAR,
|
|
1003
1040
|
title: 'Clear preview visibility overrides',
|
|
1004
1041
|
description: 'Clear all preview-only visibility and isolation overrides, restoring the viewport to authored active/visible state without writing scene or prefab data.',
|
|
1005
1042
|
layer: 'editor',
|
|
1006
1043
|
category: 'viewport',
|
|
1007
1044
|
stability: 'experimental',
|
|
1008
1045
|
access: 'write',
|
|
1009
|
-
...
|
|
1046
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_CLEAR],
|
|
1010
1047
|
},
|
|
1011
1048
|
handler: input => {
|
|
1012
|
-
const normalized = normalizeObjectInput(
|
|
1049
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_CLEAR, input);
|
|
1013
1050
|
return normalized.ok ? sources.viewport.clearVisibility(normalized.input) : normalized.result;
|
|
1014
1051
|
},
|
|
1015
1052
|
}),
|
|
1016
1053
|
registerCapability({
|
|
1017
1054
|
manifest: {
|
|
1018
|
-
schemaVersion:
|
|
1019
|
-
id:
|
|
1055
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1056
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_ISOLATION_ENTER,
|
|
1020
1057
|
title: 'Enter preview isolation',
|
|
1021
1058
|
description: 'Temporarily isolate projected objects in the editor viewport by hiding unrelated objects. Use this before shadow screenshots to remove visual clutter; this is preview-only and never writes scene or prefab data.',
|
|
1022
1059
|
layer: 'editor',
|
|
1023
1060
|
category: 'viewport',
|
|
1024
1061
|
stability: 'experimental',
|
|
1025
1062
|
access: 'write',
|
|
1026
|
-
...
|
|
1063
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_ISOLATION_ENTER],
|
|
1027
1064
|
},
|
|
1028
1065
|
handler: input => {
|
|
1029
|
-
const normalized = normalizeObjectInput(
|
|
1066
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_ISOLATION_ENTER, input);
|
|
1030
1067
|
return normalized.ok ? sources.viewport.enterIsolation(normalized.input) : normalized.result;
|
|
1031
1068
|
},
|
|
1032
1069
|
}),
|
|
1033
1070
|
registerCapability({
|
|
1034
1071
|
manifest: {
|
|
1035
|
-
schemaVersion:
|
|
1036
|
-
id:
|
|
1072
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1073
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET,
|
|
1037
1074
|
title: 'Get viewport camera state',
|
|
1038
1075
|
description: 'Read the editor viewport camera state after editorReady=true. Use this to inspect the current view preset, projection, target, pose, radius, and selection before visual analysis.',
|
|
1039
1076
|
layer: 'editor',
|
|
1040
1077
|
category: 'viewport',
|
|
1041
1078
|
stability: 'experimental',
|
|
1042
1079
|
access: 'read',
|
|
1043
|
-
...
|
|
1080
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET],
|
|
1044
1081
|
},
|
|
1045
1082
|
handler: input => {
|
|
1046
|
-
const normalized = normalizeObjectInput(
|
|
1083
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET, input);
|
|
1047
1084
|
return normalized.ok ? sources.viewport.getCamera(normalized.input) : normalized.result;
|
|
1048
1085
|
},
|
|
1049
1086
|
}),
|
|
1050
1087
|
registerCapability({
|
|
1051
1088
|
manifest: {
|
|
1052
|
-
schemaVersion:
|
|
1053
|
-
id:
|
|
1089
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1090
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET,
|
|
1054
1091
|
title: 'Set viewport camera preset',
|
|
1055
1092
|
description: 'Set a stable editor viewport camera preset after editorReady=true. Prefer top/front/side/iso/threeQuarterTop presets for agent visual analysis before falling back to browser screenshots.',
|
|
1056
1093
|
layer: 'editor',
|
|
1057
1094
|
category: 'viewport',
|
|
1058
1095
|
stability: 'experimental',
|
|
1059
1096
|
access: 'write',
|
|
1060
|
-
...
|
|
1097
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET],
|
|
1061
1098
|
},
|
|
1062
1099
|
handler: input => {
|
|
1063
|
-
const normalized = normalizeObjectInput(
|
|
1100
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET, input);
|
|
1064
1101
|
return normalized.ok ? sources.viewport.setCameraPreset(normalized.input) : normalized.result;
|
|
1065
1102
|
},
|
|
1066
1103
|
}),
|
|
1067
1104
|
registerCapability({
|
|
1068
1105
|
manifest: {
|
|
1069
|
-
schemaVersion:
|
|
1070
|
-
id:
|
|
1106
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1107
|
+
id: EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT,
|
|
1071
1108
|
title: 'Orbit viewport camera',
|
|
1072
1109
|
description: 'Apply a semantic yaw/pitch/distance adjustment to the editor viewport camera after editorReady=true. Use for small inspection adjustments after a preset establishes the baseline view.',
|
|
1073
1110
|
layer: 'editor',
|
|
1074
1111
|
category: 'viewport',
|
|
1075
1112
|
stability: 'experimental',
|
|
1076
1113
|
access: 'write',
|
|
1077
|
-
...
|
|
1114
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT],
|
|
1078
1115
|
},
|
|
1079
1116
|
handler: input => {
|
|
1080
|
-
const normalized = normalizeObjectInput(
|
|
1117
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT, input);
|
|
1081
1118
|
return normalized.ok ? sources.viewport.orbitCamera(normalized.input) : normalized.result;
|
|
1082
1119
|
},
|
|
1083
1120
|
}),
|
|
1084
1121
|
registerCapability({
|
|
1085
1122
|
manifest: {
|
|
1086
|
-
schemaVersion:
|
|
1087
|
-
id:
|
|
1123
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1124
|
+
id: EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET,
|
|
1088
1125
|
title: 'Get editor snapshot',
|
|
1089
1126
|
description: 'Read a lightweight editor summary after editorReady=true. By default it returns mode, busy/dirty/status, selection, and objectCount; request includeObjects with objectLimit only when object summaries are needed.',
|
|
1090
1127
|
layer: 'editor',
|
|
1091
1128
|
category: 'state',
|
|
1092
1129
|
stability: 'experimental',
|
|
1093
1130
|
access: 'read',
|
|
1094
|
-
...
|
|
1131
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET],
|
|
1095
1132
|
},
|
|
1096
1133
|
handler: input => {
|
|
1097
|
-
const normalized = normalizeObjectInput(
|
|
1134
|
+
const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET, input);
|
|
1098
1135
|
return normalized.ok ? sources.state.getSnapshot(normalized.input) : normalized.result;
|
|
1099
1136
|
},
|
|
1100
1137
|
}),
|
|
1101
1138
|
registerCapability({
|
|
1102
1139
|
manifest: {
|
|
1103
|
-
schemaVersion:
|
|
1104
|
-
id:
|
|
1140
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1141
|
+
id: EDITOR_COMMAND_ID.EDITOR_STATE_GET,
|
|
1105
1142
|
title: 'Get editor state',
|
|
1106
1143
|
description: 'Read editor mode, status, selection, dirty state, and optional object summary. Use for verification after L1/L2 operations and for diagnostics before falling back to browser automation.',
|
|
1107
1144
|
layer: 'editor',
|
|
1108
1145
|
category: 'state',
|
|
1109
1146
|
stability: 'experimental',
|
|
1110
1147
|
access: 'read',
|
|
1111
|
-
...
|
|
1148
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_STATE_GET],
|
|
1112
1149
|
},
|
|
1113
1150
|
handler: input => sources.state.getState(input ?? {}),
|
|
1114
1151
|
}),
|
|
1115
1152
|
registerCapability({
|
|
1116
1153
|
manifest: {
|
|
1117
|
-
schemaVersion:
|
|
1118
|
-
id:
|
|
1154
|
+
schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
|
|
1155
|
+
id: EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,
|
|
1119
1156
|
title: 'List editor diagnostics',
|
|
1120
1157
|
description: 'Read the same revision-aware diagnostics shown in the top-toolbar Validation Center, optionally filtered by severity, phase, or source.',
|
|
1121
1158
|
layer: 'editor',
|
|
1122
1159
|
category: 'state',
|
|
1123
1160
|
stability: 'experimental',
|
|
1124
1161
|
access: 'read',
|
|
1125
|
-
...
|
|
1162
|
+
...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST],
|
|
1126
1163
|
},
|
|
1127
1164
|
handler: input => sources.state.listDiagnostics(input ?? {}),
|
|
1128
1165
|
}),
|
|
@@ -1139,7 +1176,7 @@ function normalizeObjectInput(capabilityId, input) {
|
|
|
1139
1176
|
return { ok: true, input: input };
|
|
1140
1177
|
return {
|
|
1141
1178
|
ok: false,
|
|
1142
|
-
result:
|
|
1179
|
+
result: createLocalEditorCommandFailure(capabilityId, `${capabilityId} input must be an object.`, { code: 'host.invalidInput' }),
|
|
1143
1180
|
};
|
|
1144
1181
|
}
|
|
1145
1182
|
//# sourceMappingURL=register.js.map
|