unity-open-mcp 0.1.0
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/LICENSE +21 -0
- package/README.md +145 -0
- package/dist/batch-spawn.d.ts +33 -0
- package/dist/batch-spawn.js +329 -0
- package/dist/batch-spawn.js.map +1 -0
- package/dist/capabilities/build-capabilities.d.ts +155 -0
- package/dist/capabilities/build-capabilities.js +475 -0
- package/dist/capabilities/build-capabilities.js.map +1 -0
- package/dist/capabilities/list-rules.d.ts +45 -0
- package/dist/capabilities/list-rules.js +121 -0
- package/dist/capabilities/list-rules.js.map +1 -0
- package/dist/capabilities/rule-catalog.d.ts +44 -0
- package/dist/capabilities/rule-catalog.js +330 -0
- package/dist/capabilities/rule-catalog.js.map +1 -0
- package/dist/capabilities/tool-groups.d.ts +53 -0
- package/dist/capabilities/tool-groups.js +396 -0
- package/dist/capabilities/tool-groups.js.map +1 -0
- package/dist/cli/args.d.ts +36 -0
- package/dist/cli/args.js +239 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/cli.d.ts +23 -0
- package/dist/cli/cli.js +125 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/commands.d.ts +37 -0
- package/dist/cli/commands.js +277 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/ping-poller.d.ts +81 -0
- package/dist/cli/ping-poller.js +161 -0
- package/dist/cli/ping-poller.js.map +1 -0
- package/dist/compat.d.ts +32 -0
- package/dist/compat.js +121 -0
- package/dist/compat.js.map +1 -0
- package/dist/compiler-errors.d.ts +31 -0
- package/dist/compiler-errors.js +91 -0
- package/dist/compiler-errors.js.map +1 -0
- package/dist/compressible-router.d.ts +18 -0
- package/dist/compressible-router.js +191 -0
- package/dist/compressible-router.js.map +1 -0
- package/dist/compression/asset-model.d.ts +86 -0
- package/dist/compression/asset-model.js +15 -0
- package/dist/compression/asset-model.js.map +1 -0
- package/dist/compression/compact.d.ts +153 -0
- package/dist/compression/compact.js +501 -0
- package/dist/compression/compact.js.map +1 -0
- package/dist/dialog-dismiss.d.ts +197 -0
- package/dist/dialog-dismiss.js +533 -0
- package/dist/dialog-dismiss.js.map +1 -0
- package/dist/event-stream.d.ts +60 -0
- package/dist/event-stream.js +228 -0
- package/dist/event-stream.js.map +1 -0
- package/dist/gate-error.d.ts +18 -0
- package/dist/gate-error.js +11 -0
- package/dist/gate-error.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +146 -0
- package/dist/index.js.map +1 -0
- package/dist/instance-discovery.d.ts +117 -0
- package/dist/instance-discovery.js +202 -0
- package/dist/instance-discovery.js.map +1 -0
- package/dist/live-client.d.ts +68 -0
- package/dist/live-client.js +583 -0
- package/dist/live-client.js.map +1 -0
- package/dist/offline.d.ts +75 -0
- package/dist/offline.js +1495 -0
- package/dist/offline.js.map +1 -0
- package/dist/package-version.d.ts +8 -0
- package/dist/package-version.js +41 -0
- package/dist/package-version.js.map +1 -0
- package/dist/ping-cache.d.ts +15 -0
- package/dist/ping-cache.js +10 -0
- package/dist/ping-cache.js.map +1 -0
- package/dist/project-health.d.ts +52 -0
- package/dist/project-health.js +177 -0
- package/dist/project-health.js.map +1 -0
- package/dist/resource-router.d.ts +26 -0
- package/dist/resource-router.js +143 -0
- package/dist/resource-router.js.map +1 -0
- package/dist/resources/index.d.ts +6 -0
- package/dist/resources/index.js +40 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/results.d.ts +14 -0
- package/dist/results.js +22 -0
- package/dist/results.js.map +1 -0
- package/dist/router.d.ts +5 -0
- package/dist/router.js +2 -0
- package/dist/router.js.map +1 -0
- package/dist/routers.d.ts +44 -0
- package/dist/routers.js +73 -0
- package/dist/routers.js.map +1 -0
- package/dist/schema-defaults.d.ts +10 -0
- package/dist/schema-defaults.js +43 -0
- package/dist/schema-defaults.js.map +1 -0
- package/dist/skill/client-paths.d.ts +33 -0
- package/dist/skill/client-paths.js +131 -0
- package/dist/skill/client-paths.js.map +1 -0
- package/dist/skill/generate-skill.d.ts +38 -0
- package/dist/skill/generate-skill.js +389 -0
- package/dist/skill/generate-skill.js.map +1 -0
- package/dist/tool-router.d.ts +40 -0
- package/dist/tool-router.js +778 -0
- package/dist/tool-router.js.map +1 -0
- package/dist/tool-session-state.d.ts +55 -0
- package/dist/tool-session-state.js +116 -0
- package/dist/tool-session-state.js.map +1 -0
- package/dist/tools/agent-capabilities.d.ts +2 -0
- package/dist/tools/agent-capabilities.js +24 -0
- package/dist/tools/agent-capabilities.js.map +1 -0
- package/dist/tools/animation-create.d.ts +2 -0
- package/dist/tools/animation-create.js +31 -0
- package/dist/tools/animation-create.js.map +1 -0
- package/dist/tools/animation-get-data.d.ts +2 -0
- package/dist/tools/animation-get-data.js +23 -0
- package/dist/tools/animation-get-data.js.map +1 -0
- package/dist/tools/animation-modify.d.ts +2 -0
- package/dist/tools/animation-modify.js +45 -0
- package/dist/tools/animation-modify.js.map +1 -0
- package/dist/tools/animator-create.d.ts +2 -0
- package/dist/tools/animator-create.js +31 -0
- package/dist/tools/animator-create.js.map +1 -0
- package/dist/tools/animator-get-data.d.ts +2 -0
- package/dist/tools/animator-get-data.js +23 -0
- package/dist/tools/animator-get-data.js.map +1 -0
- package/dist/tools/animator-modify.d.ts +2 -0
- package/dist/tools/animator-modify.js +51 -0
- package/dist/tools/animator-modify.js.map +1 -0
- package/dist/tools/apply-fix.d.ts +2 -0
- package/dist/tools/apply-fix.js +39 -0
- package/dist/tools/apply-fix.js.map +1 -0
- package/dist/tools/assets-copy.d.ts +2 -0
- package/dist/tools/assets-copy.js +50 -0
- package/dist/tools/assets-copy.js.map +1 -0
- package/dist/tools/assets-create-folder.d.ts +2 -0
- package/dist/tools/assets-create-folder.js +53 -0
- package/dist/tools/assets-create-folder.js.map +1 -0
- package/dist/tools/assets-delete.d.ts +2 -0
- package/dist/tools/assets-delete.js +34 -0
- package/dist/tools/assets-delete.js.map +1 -0
- package/dist/tools/assets-move.d.ts +2 -0
- package/dist/tools/assets-move.js +50 -0
- package/dist/tools/assets-move.js.map +1 -0
- package/dist/tools/assets-refresh.d.ts +2 -0
- package/dist/tools/assets-refresh.js +37 -0
- package/dist/tools/assets-refresh.js.map +1 -0
- package/dist/tools/baseline-create.d.ts +2 -0
- package/dist/tools/baseline-create.js +20 -0
- package/dist/tools/baseline-create.js.map +1 -0
- package/dist/tools/bridge-status.d.ts +2 -0
- package/dist/tools/bridge-status.js +44 -0
- package/dist/tools/bridge-status.js.map +1 -0
- package/dist/tools/build-get-active-target.d.ts +2 -0
- package/dist/tools/build-get-active-target.js +16 -0
- package/dist/tools/build-get-active-target.js.map +1 -0
- package/dist/tools/build-get-defines.d.ts +2 -0
- package/dist/tools/build-get-defines.js +16 -0
- package/dist/tools/build-get-defines.js.map +1 -0
- package/dist/tools/build-get-scenes.d.ts +2 -0
- package/dist/tools/build-get-scenes.js +16 -0
- package/dist/tools/build-get-scenes.js.map +1 -0
- package/dist/tools/build-get-targets.d.ts +2 -0
- package/dist/tools/build-get-targets.js +18 -0
- package/dist/tools/build-get-targets.js.map +1 -0
- package/dist/tools/build-set-defines.d.ts +2 -0
- package/dist/tools/build-set-defines.js +50 -0
- package/dist/tools/build-set-defines.js.map +1 -0
- package/dist/tools/build-set-scenes.d.ts +2 -0
- package/dist/tools/build-set-scenes.js +60 -0
- package/dist/tools/build-set-scenes.js.map +1 -0
- package/dist/tools/build-set-target.d.ts +2 -0
- package/dist/tools/build-set-target.js +49 -0
- package/dist/tools/build-set-target.js.map +1 -0
- package/dist/tools/build-start.d.ts +2 -0
- package/dist/tools/build-start.js +64 -0
- package/dist/tools/build-start.js.map +1 -0
- package/dist/tools/capture-inline.d.ts +2 -0
- package/dist/tools/capture-inline.js +57 -0
- package/dist/tools/capture-inline.js.map +1 -0
- package/dist/tools/checkpoint-create.d.ts +2 -0
- package/dist/tools/checkpoint-create.js +16 -0
- package/dist/tools/checkpoint-create.js.map +1 -0
- package/dist/tools/compile-check.d.ts +2 -0
- package/dist/tools/compile-check.js +26 -0
- package/dist/tools/compile-check.js.map +1 -0
- package/dist/tools/component-add.d.ts +2 -0
- package/dist/tools/component-add.js +47 -0
- package/dist/tools/component-add.js.map +1 -0
- package/dist/tools/component-destroy.d.ts +2 -0
- package/dist/tools/component-destroy.js +46 -0
- package/dist/tools/component-destroy.js.map +1 -0
- package/dist/tools/component-get.d.ts +2 -0
- package/dist/tools/component-get.js +54 -0
- package/dist/tools/component-get.js.map +1 -0
- package/dist/tools/component-list-all.d.ts +2 -0
- package/dist/tools/component-list-all.js +38 -0
- package/dist/tools/component-list-all.js.map +1 -0
- package/dist/tools/component-modify.d.ts +2 -0
- package/dist/tools/component-modify.js +80 -0
- package/dist/tools/component-modify.js.map +1 -0
- package/dist/tools/console-clear.d.ts +2 -0
- package/dist/tools/console-clear.js +19 -0
- package/dist/tools/console-clear.js.map +1 -0
- package/dist/tools/console-log.d.ts +2 -0
- package/dist/tools/console-log.js +47 -0
- package/dist/tools/console-log.js.map +1 -0
- package/dist/tools/delta.d.ts +2 -0
- package/dist/tools/delta.js +17 -0
- package/dist/tools/delta.js.map +1 -0
- package/dist/tools/editor-add-layer.d.ts +2 -0
- package/dist/tools/editor-add-layer.js +51 -0
- package/dist/tools/editor-add-layer.js.map +1 -0
- package/dist/tools/editor-add-tag.d.ts +2 -0
- package/dist/tools/editor-add-tag.js +41 -0
- package/dist/tools/editor-add-tag.js.map +1 -0
- package/dist/tools/editor-get-layers.d.ts +2 -0
- package/dist/tools/editor-get-layers.js +22 -0
- package/dist/tools/editor-get-layers.js.map +1 -0
- package/dist/tools/editor-get-tags.d.ts +2 -0
- package/dist/tools/editor-get-tags.js +19 -0
- package/dist/tools/editor-get-tags.js.map +1 -0
- package/dist/tools/editor-redo.d.ts +2 -0
- package/dist/tools/editor-redo.js +27 -0
- package/dist/tools/editor-redo.js.map +1 -0
- package/dist/tools/editor-set-state.d.ts +2 -0
- package/dist/tools/editor-set-state.js +57 -0
- package/dist/tools/editor-set-state.js.map +1 -0
- package/dist/tools/editor-status.d.ts +2 -0
- package/dist/tools/editor-status.js +17 -0
- package/dist/tools/editor-status.js.map +1 -0
- package/dist/tools/editor-undo.d.ts +2 -0
- package/dist/tools/editor-undo.js +29 -0
- package/dist/tools/editor-undo.js.map +1 -0
- package/dist/tools/execute-csharp.d.ts +2 -0
- package/dist/tools/execute-csharp.js +74 -0
- package/dist/tools/execute-csharp.js.map +1 -0
- package/dist/tools/execute-menu.d.ts +2 -0
- package/dist/tools/execute-menu.js +40 -0
- package/dist/tools/execute-menu.js.map +1 -0
- package/dist/tools/find-members.d.ts +2 -0
- package/dist/tools/find-members.js +56 -0
- package/dist/tools/find-members.js.map +1 -0
- package/dist/tools/find-references.d.ts +2 -0
- package/dist/tools/find-references.js +29 -0
- package/dist/tools/find-references.js.map +1 -0
- package/dist/tools/gameobject-create.d.ts +2 -0
- package/dist/tools/gameobject-create.js +61 -0
- package/dist/tools/gameobject-create.js.map +1 -0
- package/dist/tools/gameobject-destroy.d.ts +2 -0
- package/dist/tools/gameobject-destroy.js +38 -0
- package/dist/tools/gameobject-destroy.js.map +1 -0
- package/dist/tools/gameobject-duplicate.d.ts +2 -0
- package/dist/tools/gameobject-duplicate.js +40 -0
- package/dist/tools/gameobject-duplicate.js.map +1 -0
- package/dist/tools/gameobject-find.d.ts +2 -0
- package/dist/tools/gameobject-find.js +59 -0
- package/dist/tools/gameobject-find.js.map +1 -0
- package/dist/tools/gameobject-modify.d.ts +2 -0
- package/dist/tools/gameobject-modify.js +76 -0
- package/dist/tools/gameobject-modify.js.map +1 -0
- package/dist/tools/gameobject-set-parent.d.ts +2 -0
- package/dist/tools/gameobject-set-parent.js +55 -0
- package/dist/tools/gameobject-set-parent.js.map +1 -0
- package/dist/tools/gate-budget-estimate.d.ts +2 -0
- package/dist/tools/gate-budget-estimate.js +59 -0
- package/dist/tools/gate-budget-estimate.js.map +1 -0
- package/dist/tools/generate-skill.d.ts +2 -0
- package/dist/tools/generate-skill.js +37 -0
- package/dist/tools/generate-skill.js.map +1 -0
- package/dist/tools/impact-preview.d.ts +2 -0
- package/dist/tools/impact-preview.js +50 -0
- package/dist/tools/impact-preview.js.map +1 -0
- package/dist/tools/index.d.ts +30 -0
- package/dist/tools/index.js +576 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inputsystem-action-add.d.ts +2 -0
- package/dist/tools/inputsystem-action-add.js +61 -0
- package/dist/tools/inputsystem-action-add.js.map +1 -0
- package/dist/tools/inputsystem-actionmap-add.d.ts +2 -0
- package/dist/tools/inputsystem-actionmap-add.js +31 -0
- package/dist/tools/inputsystem-actionmap-add.js.map +1 -0
- package/dist/tools/inputsystem-asset-create.d.ts +2 -0
- package/dist/tools/inputsystem-asset-create.js +35 -0
- package/dist/tools/inputsystem-asset-create.js.map +1 -0
- package/dist/tools/inputsystem-binding-add.d.ts +2 -0
- package/dist/tools/inputsystem-binding-add.js +48 -0
- package/dist/tools/inputsystem-binding-add.js.map +1 -0
- package/dist/tools/inputsystem-binding-composite-add.d.ts +2 -0
- package/dist/tools/inputsystem-binding-composite-add.js +51 -0
- package/dist/tools/inputsystem-binding-composite-add.js.map +1 -0
- package/dist/tools/inputsystem-controlscheme-add.d.ts +2 -0
- package/dist/tools/inputsystem-controlscheme-add.js +43 -0
- package/dist/tools/inputsystem-controlscheme-add.js.map +1 -0
- package/dist/tools/inputsystem-get.d.ts +2 -0
- package/dist/tools/inputsystem-get.js +22 -0
- package/dist/tools/inputsystem-get.js.map +1 -0
- package/dist/tools/invoke-method.d.ts +2 -0
- package/dist/tools/invoke-method.js +104 -0
- package/dist/tools/invoke-method.js.map +1 -0
- package/dist/tools/list-assets.d.ts +2 -0
- package/dist/tools/list-assets.js +30 -0
- package/dist/tools/list-assets.js.map +1 -0
- package/dist/tools/list-rules.d.ts +2 -0
- package/dist/tools/list-rules.js +27 -0
- package/dist/tools/list-rules.js.map +1 -0
- package/dist/tools/manage-tools.d.ts +2 -0
- package/dist/tools/manage-tools.js +47 -0
- package/dist/tools/manage-tools.js.map +1 -0
- package/dist/tools/material-create.d.ts +2 -0
- package/dist/tools/material-create.js +37 -0
- package/dist/tools/material-create.js.map +1 -0
- package/dist/tools/material-get-keywords.d.ts +2 -0
- package/dist/tools/material-get-keywords.js +23 -0
- package/dist/tools/material-get-keywords.js.map +1 -0
- package/dist/tools/material-get-properties.d.ts +2 -0
- package/dist/tools/material-get-properties.js +32 -0
- package/dist/tools/material-get-properties.js.map +1 -0
- package/dist/tools/material-set-keyword.d.ts +2 -0
- package/dist/tools/material-set-keyword.js +42 -0
- package/dist/tools/material-set-keyword.js.map +1 -0
- package/dist/tools/material-set-property.d.ts +2 -0
- package/dist/tools/material-set-property.js +49 -0
- package/dist/tools/material-set-property.js.map +1 -0
- package/dist/tools/material-set-shader.d.ts +2 -0
- package/dist/tools/material-set-shader.js +39 -0
- package/dist/tools/material-set-shader.js.map +1 -0
- package/dist/tools/mutation-explain.d.ts +2 -0
- package/dist/tools/mutation-explain.js +44 -0
- package/dist/tools/mutation-explain.js.map +1 -0
- package/dist/tools/navigation-agent-add.d.ts +2 -0
- package/dist/tools/navigation-agent-add.js +38 -0
- package/dist/tools/navigation-agent-add.js.map +1 -0
- package/dist/tools/navigation-agent-set-destination.d.ts +2 -0
- package/dist/tools/navigation-agent-set-destination.js +33 -0
- package/dist/tools/navigation-agent-set-destination.js.map +1 -0
- package/dist/tools/navigation-get.d.ts +2 -0
- package/dist/tools/navigation-get.js +20 -0
- package/dist/tools/navigation-get.js.map +1 -0
- package/dist/tools/navigation-link-add.d.ts +2 -0
- package/dist/tools/navigation-link-add.js +57 -0
- package/dist/tools/navigation-link-add.js.map +1 -0
- package/dist/tools/navigation-list.d.ts +2 -0
- package/dist/tools/navigation-list.js +16 -0
- package/dist/tools/navigation-list.js.map +1 -0
- package/dist/tools/navigation-modifier-add.d.ts +2 -0
- package/dist/tools/navigation-modifier-add.js +42 -0
- package/dist/tools/navigation-modifier-add.js.map +1 -0
- package/dist/tools/navigation-modifier-volume-add.d.ts +2 -0
- package/dist/tools/navigation-modifier-volume-add.js +41 -0
- package/dist/tools/navigation-modifier-volume-add.js.map +1 -0
- package/dist/tools/navigation-modify.d.ts +2 -0
- package/dist/tools/navigation-modify.js +47 -0
- package/dist/tools/navigation-modify.js.map +1 -0
- package/dist/tools/navigation-set-bake-settings.d.ts +2 -0
- package/dist/tools/navigation-set-bake-settings.js +42 -0
- package/dist/tools/navigation-set-bake-settings.js.map +1 -0
- package/dist/tools/navigation-surface-add.d.ts +2 -0
- package/dist/tools/navigation-surface-add.js +62 -0
- package/dist/tools/navigation-surface-add.js.map +1 -0
- package/dist/tools/navigation-surface-bake.d.ts +2 -0
- package/dist/tools/navigation-surface-bake.js +30 -0
- package/dist/tools/navigation-surface-bake.js.map +1 -0
- package/dist/tools/object-get-data.d.ts +2 -0
- package/dist/tools/object-get-data.js +59 -0
- package/dist/tools/object-get-data.js.map +1 -0
- package/dist/tools/object-modify.d.ts +2 -0
- package/dist/tools/object-modify.js +73 -0
- package/dist/tools/object-modify.js.map +1 -0
- package/dist/tools/package-add.d.ts +2 -0
- package/dist/tools/package-add.js +42 -0
- package/dist/tools/package-add.js.map +1 -0
- package/dist/tools/package-check.d.ts +2 -0
- package/dist/tools/package-check.js +27 -0
- package/dist/tools/package-check.js.map +1 -0
- package/dist/tools/package-get-dependencies.d.ts +2 -0
- package/dist/tools/package-get-dependencies.js +17 -0
- package/dist/tools/package-get-dependencies.js.map +1 -0
- package/dist/tools/package-get-info.d.ts +2 -0
- package/dist/tools/package-get-info.js +33 -0
- package/dist/tools/package-get-info.js.map +1 -0
- package/dist/tools/package-list.d.ts +2 -0
- package/dist/tools/package-list.js +57 -0
- package/dist/tools/package-list.js.map +1 -0
- package/dist/tools/package-remove.d.ts +2 -0
- package/dist/tools/package-remove.js +40 -0
- package/dist/tools/package-remove.js.map +1 -0
- package/dist/tools/package-search.d.ts +2 -0
- package/dist/tools/package-search.js +42 -0
- package/dist/tools/package-search.js.map +1 -0
- package/dist/tools/particle-system-get.d.ts +2 -0
- package/dist/tools/particle-system-get.js +42 -0
- package/dist/tools/particle-system-get.js.map +1 -0
- package/dist/tools/particle-system-modify.d.ts +2 -0
- package/dist/tools/particle-system-modify.js +73 -0
- package/dist/tools/particle-system-modify.js.map +1 -0
- package/dist/tools/ping.d.ts +2 -0
- package/dist/tools/ping.js +10 -0
- package/dist/tools/ping.js.map +1 -0
- package/dist/tools/prefab-apply.d.ts +2 -0
- package/dist/tools/prefab-apply.js +39 -0
- package/dist/tools/prefab-apply.js.map +1 -0
- package/dist/tools/prefab-close.d.ts +2 -0
- package/dist/tools/prefab-close.js +29 -0
- package/dist/tools/prefab-close.js.map +1 -0
- package/dist/tools/prefab-create.d.ts +2 -0
- package/dist/tools/prefab-create.js +52 -0
- package/dist/tools/prefab-create.js.map +1 -0
- package/dist/tools/prefab-get-overrides.d.ts +2 -0
- package/dist/tools/prefab-get-overrides.js +27 -0
- package/dist/tools/prefab-get-overrides.js.map +1 -0
- package/dist/tools/prefab-instantiate.d.ts +2 -0
- package/dist/tools/prefab-instantiate.js +52 -0
- package/dist/tools/prefab-instantiate.js.map +1 -0
- package/dist/tools/prefab-open.d.ts +2 -0
- package/dist/tools/prefab-open.js +30 -0
- package/dist/tools/prefab-open.js.map +1 -0
- package/dist/tools/prefab-revert.d.ts +2 -0
- package/dist/tools/prefab-revert.js +37 -0
- package/dist/tools/prefab-revert.js.map +1 -0
- package/dist/tools/prefab-save.d.ts +2 -0
- package/dist/tools/prefab-save.js +24 -0
- package/dist/tools/prefab-save.js.map +1 -0
- package/dist/tools/prefab-status.d.ts +2 -0
- package/dist/tools/prefab-status.js +29 -0
- package/dist/tools/prefab-status.js.map +1 -0
- package/dist/tools/prefab-unpack.d.ts +2 -0
- package/dist/tools/prefab-unpack.js +43 -0
- package/dist/tools/prefab-unpack.js.map +1 -0
- package/dist/tools/probuilder-create-shape.d.ts +2 -0
- package/dist/tools/probuilder-create-shape.js +40 -0
- package/dist/tools/probuilder-create-shape.js.map +1 -0
- package/dist/tools/probuilder-delete-faces.d.ts +2 -0
- package/dist/tools/probuilder-delete-faces.js +47 -0
- package/dist/tools/probuilder-delete-faces.js.map +1 -0
- package/dist/tools/probuilder-extrude.d.ts +2 -0
- package/dist/tools/probuilder-extrude.js +58 -0
- package/dist/tools/probuilder-extrude.js.map +1 -0
- package/dist/tools/probuilder-get-mesh-info.d.ts +2 -0
- package/dist/tools/probuilder-get-mesh-info.js +21 -0
- package/dist/tools/probuilder-get-mesh-info.js.map +1 -0
- package/dist/tools/probuilder-set-face-material.d.ts +2 -0
- package/dist/tools/probuilder-set-face-material.js +53 -0
- package/dist/tools/probuilder-set-face-material.js.map +1 -0
- package/dist/tools/profiler-capture.d.ts +2 -0
- package/dist/tools/profiler-capture.js +84 -0
- package/dist/tools/profiler-capture.js.map +1 -0
- package/dist/tools/profiler-clear-data.d.ts +2 -0
- package/dist/tools/profiler-clear-data.js +20 -0
- package/dist/tools/profiler-clear-data.js.map +1 -0
- package/dist/tools/profiler-enable-module.d.ts +2 -0
- package/dist/tools/profiler-enable-module.js +32 -0
- package/dist/tools/profiler-enable-module.js.map +1 -0
- package/dist/tools/profiler-get-config.d.ts +2 -0
- package/dist/tools/profiler-get-config.js +21 -0
- package/dist/tools/profiler-get-config.js.map +1 -0
- package/dist/tools/profiler-get-script-stats.d.ts +2 -0
- package/dist/tools/profiler-get-script-stats.js +20 -0
- package/dist/tools/profiler-get-script-stats.js.map +1 -0
- package/dist/tools/profiler-get-status.d.ts +2 -0
- package/dist/tools/profiler-get-status.js +22 -0
- package/dist/tools/profiler-get-status.js.map +1 -0
- package/dist/tools/profiler-list-modules.d.ts +2 -0
- package/dist/tools/profiler-list-modules.js +20 -0
- package/dist/tools/profiler-list-modules.js.map +1 -0
- package/dist/tools/profiler-load-data.d.ts +2 -0
- package/dist/tools/profiler-load-data.js +38 -0
- package/dist/tools/profiler-load-data.js.map +1 -0
- package/dist/tools/profiler-memory.d.ts +2 -0
- package/dist/tools/profiler-memory.js +21 -0
- package/dist/tools/profiler-memory.js.map +1 -0
- package/dist/tools/profiler-rendering.d.ts +2 -0
- package/dist/tools/profiler-rendering.js +14 -0
- package/dist/tools/profiler-rendering.js.map +1 -0
- package/dist/tools/profiler-save-data.d.ts +2 -0
- package/dist/tools/profiler-save-data.js +38 -0
- package/dist/tools/profiler-save-data.js.map +1 -0
- package/dist/tools/profiler-set-config.d.ts +2 -0
- package/dist/tools/profiler-set-config.js +72 -0
- package/dist/tools/profiler-set-config.js.map +1 -0
- package/dist/tools/profiler-start.d.ts +2 -0
- package/dist/tools/profiler-start.js +31 -0
- package/dist/tools/profiler-start.js.map +1 -0
- package/dist/tools/profiler-stop.d.ts +2 -0
- package/dist/tools/profiler-stop.js +20 -0
- package/dist/tools/profiler-stop.js.map +1 -0
- package/dist/tools/pull-events.d.ts +2 -0
- package/dist/tools/pull-events.js +43 -0
- package/dist/tools/pull-events.js.map +1 -0
- package/dist/tools/read-asset.d.ts +2 -0
- package/dist/tools/read-asset.js +62 -0
- package/dist/tools/read-asset.js.map +1 -0
- package/dist/tools/read-compile-errors.d.ts +2 -0
- package/dist/tools/read-compile-errors.js +59 -0
- package/dist/tools/read-compile-errors.js.map +1 -0
- package/dist/tools/read-console.d.ts +2 -0
- package/dist/tools/read-console.js +57 -0
- package/dist/tools/read-console.js.map +1 -0
- package/dist/tools/regression-check.d.ts +2 -0
- package/dist/tools/regression-check.js +36 -0
- package/dist/tools/regression-check.js.map +1 -0
- package/dist/tools/reserialize.d.ts +2 -0
- package/dist/tools/reserialize.js +31 -0
- package/dist/tools/reserialize.js.map +1 -0
- package/dist/tools/run-tests.d.ts +2 -0
- package/dist/tools/run-tests.js +49 -0
- package/dist/tools/run-tests.js.map +1 -0
- package/dist/tools/scan-all.d.ts +2 -0
- package/dist/tools/scan-all.js +25 -0
- package/dist/tools/scan-all.js.map +1 -0
- package/dist/tools/scan-paths.d.ts +2 -0
- package/dist/tools/scan-paths.js +40 -0
- package/dist/tools/scan-paths.js.map +1 -0
- package/dist/tools/scene-create.d.ts +2 -0
- package/dist/tools/scene-create.js +47 -0
- package/dist/tools/scene-create.js.map +1 -0
- package/dist/tools/scene-focus.d.ts +2 -0
- package/dist/tools/scene-focus.js +55 -0
- package/dist/tools/scene-focus.js.map +1 -0
- package/dist/tools/scene-get-data.d.ts +2 -0
- package/dist/tools/scene-get-data.js +52 -0
- package/dist/tools/scene-get-data.js.map +1 -0
- package/dist/tools/scene-get-dirty-summary.d.ts +2 -0
- package/dist/tools/scene-get-dirty-summary.js +17 -0
- package/dist/tools/scene-get-dirty-summary.js.map +1 -0
- package/dist/tools/scene-list-opened.d.ts +2 -0
- package/dist/tools/scene-list-opened.js +16 -0
- package/dist/tools/scene-list-opened.js.map +1 -0
- package/dist/tools/scene-open.d.ts +2 -0
- package/dist/tools/scene-open.js +48 -0
- package/dist/tools/scene-open.js.map +1 -0
- package/dist/tools/scene-save.d.ts +2 -0
- package/dist/tools/scene-save.js +38 -0
- package/dist/tools/scene-save.js.map +1 -0
- package/dist/tools/scene-set-active.d.ts +2 -0
- package/dist/tools/scene-set-active.js +33 -0
- package/dist/tools/scene-set-active.js.map +1 -0
- package/dist/tools/scene-unload.d.ts +2 -0
- package/dist/tools/scene-unload.js +33 -0
- package/dist/tools/scene-unload.js.map +1 -0
- package/dist/tools/screenshot-camera.d.ts +2 -0
- package/dist/tools/screenshot-camera.js +59 -0
- package/dist/tools/screenshot-camera.js.map +1 -0
- package/dist/tools/screenshot-window.d.ts +2 -0
- package/dist/tools/screenshot-window.js +54 -0
- package/dist/tools/screenshot-window.js.map +1 -0
- package/dist/tools/screenshot.d.ts +2 -0
- package/dist/tools/screenshot.js +47 -0
- package/dist/tools/screenshot.js.map +1 -0
- package/dist/tools/script-delete.d.ts +2 -0
- package/dist/tools/script-delete.js +37 -0
- package/dist/tools/script-delete.js.map +1 -0
- package/dist/tools/script-read.d.ts +2 -0
- package/dist/tools/script-read.js +46 -0
- package/dist/tools/script-read.js.map +1 -0
- package/dist/tools/script-write.d.ts +2 -0
- package/dist/tools/script-write.js +56 -0
- package/dist/tools/script-write.js.map +1 -0
- package/dist/tools/search-assets.d.ts +2 -0
- package/dist/tools/search-assets.js +49 -0
- package/dist/tools/search-assets.js.map +1 -0
- package/dist/tools/selection-get.d.ts +2 -0
- package/dist/tools/selection-get.js +28 -0
- package/dist/tools/selection-get.js.map +1 -0
- package/dist/tools/selection-set.d.ts +2 -0
- package/dist/tools/selection-set.js +72 -0
- package/dist/tools/selection-set.js.map +1 -0
- package/dist/tools/settings-get-lighting.d.ts +2 -0
- package/dist/tools/settings-get-lighting.js +21 -0
- package/dist/tools/settings-get-lighting.js.map +1 -0
- package/dist/tools/settings-get-physics.d.ts +2 -0
- package/dist/tools/settings-get-physics.js +17 -0
- package/dist/tools/settings-get-physics.js.map +1 -0
- package/dist/tools/settings-get-player.d.ts +2 -0
- package/dist/tools/settings-get-player.js +16 -0
- package/dist/tools/settings-get-player.js.map +1 -0
- package/dist/tools/settings-get-quality.d.ts +2 -0
- package/dist/tools/settings-get-quality.js +16 -0
- package/dist/tools/settings-get-quality.js.map +1 -0
- package/dist/tools/settings-set-lighting.d.ts +2 -0
- package/dist/tools/settings-set-lighting.js +58 -0
- package/dist/tools/settings-set-lighting.js.map +1 -0
- package/dist/tools/settings-set-physics.d.ts +2 -0
- package/dist/tools/settings-set-physics.js +52 -0
- package/dist/tools/settings-set-physics.js.map +1 -0
- package/dist/tools/settings-set-player.d.ts +2 -0
- package/dist/tools/settings-set-player.js +62 -0
- package/dist/tools/settings-set-player.js.map +1 -0
- package/dist/tools/settings-set-quality.d.ts +2 -0
- package/dist/tools/settings-set-quality.js +51 -0
- package/dist/tools/settings-set-quality.js.map +1 -0
- package/dist/tools/shader-get-data.d.ts +2 -0
- package/dist/tools/shader-get-data.js +31 -0
- package/dist/tools/shader-get-data.js.map +1 -0
- package/dist/tools/shader-list-all.d.ts +2 -0
- package/dist/tools/shader-list-all.js +24 -0
- package/dist/tools/shader-list-all.js.map +1 -0
- package/dist/tools/spatial-query.d.ts +2 -0
- package/dist/tools/spatial-query.js +117 -0
- package/dist/tools/spatial-query.js.map +1 -0
- package/dist/tools/splines-add-knot.d.ts +2 -0
- package/dist/tools/splines-add-knot.js +44 -0
- package/dist/tools/splines-add-knot.js.map +1 -0
- package/dist/tools/splines-container-create.d.ts +2 -0
- package/dist/tools/splines-container-create.js +39 -0
- package/dist/tools/splines-container-create.js.map +1 -0
- package/dist/tools/splines-evaluate.d.ts +2 -0
- package/dist/tools/splines-evaluate.js +31 -0
- package/dist/tools/splines-evaluate.js.map +1 -0
- package/dist/tools/splines-get-knots.d.ts +2 -0
- package/dist/tools/splines-get-knots.js +25 -0
- package/dist/tools/splines-get-knots.js.map +1 -0
- package/dist/tools/splines-modify.d.ts +2 -0
- package/dist/tools/splines-modify.js +35 -0
- package/dist/tools/splines-modify.js.map +1 -0
- package/dist/tools/splines-set-knot.d.ts +2 -0
- package/dist/tools/splines-set-knot.js +41 -0
- package/dist/tools/splines-set-knot.js.map +1 -0
- package/dist/tools/splines-set-tangent-mode.d.ts +2 -0
- package/dist/tools/splines-set-tangent-mode.js +43 -0
- package/dist/tools/splines-set-tangent-mode.js.map +1 -0
- package/dist/tools/type-schema.d.ts +2 -0
- package/dist/tools/type-schema.js +62 -0
- package/dist/tools/type-schema.js.map +1 -0
- package/dist/tools/validate-edit.d.ts +2 -0
- package/dist/tools/validate-edit.js +43 -0
- package/dist/tools/validate-edit.js.map +1 -0
- package/dist/unity-install-discovery.d.ts +79 -0
- package/dist/unity-install-discovery.js +206 -0
- package/dist/unity-install-discovery.js.map +1 -0
- package/dist/unity-log.d.ts +35 -0
- package/dist/unity-log.js +110 -0
- package/dist/unity-log.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
// M9 Plan 2 + Plan 3 — compressible-tool router.
|
|
2
|
+
//
|
|
3
|
+
// Intercepts `read_asset` / `search_assets`: produces the structured
|
|
4
|
+
// AssetModel / SearchModel (offline parser for text-serialized assets, or live
|
|
5
|
+
// bridge for binary formats) and applies the shared compression module
|
|
6
|
+
// (compact.ts) to produce the compact drill-down response.
|
|
7
|
+
//
|
|
8
|
+
// A session-scoped AssetModel cache lets `--component` / `--path` / `--id`
|
|
9
|
+
// drill-downs reuse the last-fetched model instead of re-parsing the asset.
|
|
10
|
+
// The cache key includes field_limit and depth (the parameters that change what
|
|
11
|
+
// the source returns); detail/component/path/id are pure TS-side render options
|
|
12
|
+
// and do not invalidate the cache.
|
|
13
|
+
import { renderAssetSummary, renderSearchSummary, } from "./compression/compact.js";
|
|
14
|
+
import { readAssetOffline, isOfflineAsset } from "./offline.js";
|
|
15
|
+
import { searchAssetsOffline } from "./offline.js";
|
|
16
|
+
import { makeErrorResult } from "./results.js";
|
|
17
|
+
const COMPRESSIBLE = new Set([
|
|
18
|
+
"unity_open_mcp_read_asset",
|
|
19
|
+
"unity_open_mcp_search_assets",
|
|
20
|
+
]);
|
|
21
|
+
export function isCompressible(toolName) {
|
|
22
|
+
return COMPRESSIBLE.has(toolName);
|
|
23
|
+
}
|
|
24
|
+
const CACHE_LIMIT = 8;
|
|
25
|
+
/** Session-scoped LRU for the last few AssetModels read by `read_asset`. */
|
|
26
|
+
export class AssetModelCache {
|
|
27
|
+
entries = new Map();
|
|
28
|
+
get(key) {
|
|
29
|
+
const entry = this.entries.get(key);
|
|
30
|
+
if (!entry)
|
|
31
|
+
return null;
|
|
32
|
+
// Move-to-end so the LRU eviction order updates.
|
|
33
|
+
this.entries.delete(key);
|
|
34
|
+
this.entries.set(key, entry);
|
|
35
|
+
return entry.model;
|
|
36
|
+
}
|
|
37
|
+
set(key, model) {
|
|
38
|
+
if (this.entries.has(key))
|
|
39
|
+
this.entries.delete(key);
|
|
40
|
+
this.entries.set(key, { model });
|
|
41
|
+
while (this.entries.size > CACHE_LIMIT) {
|
|
42
|
+
const oldest = this.entries.keys().next().value;
|
|
43
|
+
if (oldest === undefined)
|
|
44
|
+
break;
|
|
45
|
+
this.entries.delete(oldest);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
clear() {
|
|
49
|
+
this.entries.clear();
|
|
50
|
+
}
|
|
51
|
+
get size() {
|
|
52
|
+
return this.entries.size;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function makeResult(payload, cacheHit, source) {
|
|
56
|
+
return {
|
|
57
|
+
content: [
|
|
58
|
+
{
|
|
59
|
+
type: "text",
|
|
60
|
+
text: JSON.stringify({
|
|
61
|
+
...payload,
|
|
62
|
+
_cache: cacheHit ? "hit" : "miss",
|
|
63
|
+
...(source ? { _source: source } : {}),
|
|
64
|
+
}),
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
isError: false,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Route a compressible tool: try offline parser first for text-serialized
|
|
72
|
+
* assets, fall back to the live bridge for binary formats. Cache the model
|
|
73
|
+
* (read_asset only), apply the compression module, and return.
|
|
74
|
+
*/
|
|
75
|
+
export async function routeCompressible(toolName, args, live, cache, projectPath) {
|
|
76
|
+
if (toolName === "unity_open_mcp_read_asset") {
|
|
77
|
+
return routeReadAsset(args, live, cache, projectPath);
|
|
78
|
+
}
|
|
79
|
+
return routeSearchAssets(args, live, projectPath);
|
|
80
|
+
}
|
|
81
|
+
async function routeReadAsset(args, live, cache, projectPath) {
|
|
82
|
+
const assetPath = typeof args.asset_path === "string" ? args.asset_path : "";
|
|
83
|
+
if (assetPath === "") {
|
|
84
|
+
return makeErrorResult({ code: "missing_parameter", message: "'asset_path' is required." });
|
|
85
|
+
}
|
|
86
|
+
const fieldLimit = typeof args.field_limit === "number" ? args.field_limit : 0;
|
|
87
|
+
const depth = typeof args.depth === "number" ? args.depth : -1;
|
|
88
|
+
const cacheKey = `${assetPath}|${fieldLimit}|${depth}`;
|
|
89
|
+
let model = cache.get(cacheKey);
|
|
90
|
+
let cacheHit = true;
|
|
91
|
+
let source = "offline";
|
|
92
|
+
if (!model) {
|
|
93
|
+
cacheHit = false;
|
|
94
|
+
if (isOfflineAsset(assetPath)) {
|
|
95
|
+
try {
|
|
96
|
+
const result = await readAssetOffline(assetPath, { fieldLimit, projectRoot: projectPath });
|
|
97
|
+
model = result.model;
|
|
98
|
+
source = "offline";
|
|
99
|
+
cache.set(cacheKey, model);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// Offline parse failed — fall through to live bridge.
|
|
103
|
+
model = null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (!model) {
|
|
107
|
+
// Fall back to live bridge (for binary formats or parse failures).
|
|
108
|
+
const liveAvailable = await live.isLiveAvailable();
|
|
109
|
+
if (!liveAvailable) {
|
|
110
|
+
return makeErrorResult({
|
|
111
|
+
code: "source_unavailable",
|
|
112
|
+
message: isOfflineAsset(assetPath)
|
|
113
|
+
? `Offline parse failed and live bridge is unavailable for: ${assetPath}`
|
|
114
|
+
: `Binary or unsupported format requires the live bridge, which is unavailable: ${assetPath}`,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
const raw = await live.route("unity_open_mcp_read_asset", args);
|
|
118
|
+
const parsed = parseContentJson(raw);
|
|
119
|
+
if (parsed === null) {
|
|
120
|
+
return raw.isError
|
|
121
|
+
? raw
|
|
122
|
+
: makeErrorResult({ code: "bridge_error", message: "Bridge returned an unreadable asset model." });
|
|
123
|
+
}
|
|
124
|
+
if (parsed.error) {
|
|
125
|
+
return { ...raw, isError: true };
|
|
126
|
+
}
|
|
127
|
+
model = parsed;
|
|
128
|
+
source = "live";
|
|
129
|
+
cache.set(cacheKey, model);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const opts = {
|
|
133
|
+
detail: typeof args.detail === "string" ? args.detail : "summary",
|
|
134
|
+
component: typeof args.component === "string" ? args.component : undefined,
|
|
135
|
+
path: typeof args.path === "string" ? args.path : undefined,
|
|
136
|
+
id: typeof args.id === "string" ? args.id : undefined,
|
|
137
|
+
override: typeof args.override === "boolean" ? args.override : undefined,
|
|
138
|
+
depth: typeof args.depth === "number" ? args.depth : undefined,
|
|
139
|
+
limit: typeof args.limit === "number" ? args.limit : undefined,
|
|
140
|
+
};
|
|
141
|
+
const compact = renderAssetSummary(model, opts);
|
|
142
|
+
return makeResult(compact, cacheHit, source);
|
|
143
|
+
}
|
|
144
|
+
async function routeSearchAssets(args, live, projectPath) {
|
|
145
|
+
try {
|
|
146
|
+
const model = await searchAssetsOffline({
|
|
147
|
+
name: typeof args.name === "string" ? args.name : undefined,
|
|
148
|
+
component: typeof args.component === "string" ? args.component : undefined,
|
|
149
|
+
guid: typeof args.guid === "string" ? args.guid : undefined,
|
|
150
|
+
type: typeof args.type === "string" ? args.type : undefined,
|
|
151
|
+
folder: typeof args.folder === "string" ? args.folder : "Assets",
|
|
152
|
+
projectRoot: projectPath,
|
|
153
|
+
maxResults: typeof args.max_results === "number" ? args.max_results : 50,
|
|
154
|
+
});
|
|
155
|
+
const objectLimit = typeof args.object_limit === "number" ? args.object_limit : 12;
|
|
156
|
+
const matchLimit = typeof args.max_results === "number" ? args.max_results : 50;
|
|
157
|
+
const compact = renderSearchSummary(model, { objectLimit, matchLimit });
|
|
158
|
+
return makeResult(compact, false, "offline");
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
// Fall back to live bridge.
|
|
162
|
+
}
|
|
163
|
+
const raw = await live.route("unity_open_mcp_search_assets", args);
|
|
164
|
+
const parsed = parseContentJson(raw);
|
|
165
|
+
if (parsed === null) {
|
|
166
|
+
return raw.isError
|
|
167
|
+
? raw
|
|
168
|
+
: makeErrorResult({ code: "bridge_error", message: "Bridge returned an unreadable search result." });
|
|
169
|
+
}
|
|
170
|
+
if (parsed.error) {
|
|
171
|
+
return { ...raw, isError: true };
|
|
172
|
+
}
|
|
173
|
+
const objectLimit = typeof args.object_limit === "number" ? args.object_limit : 12;
|
|
174
|
+
const matchLimit = typeof args.max_results === "number" ? args.max_results : 50;
|
|
175
|
+
const compact = renderSearchSummary(parsed, { objectLimit, matchLimit });
|
|
176
|
+
return makeResult(compact, false, "live");
|
|
177
|
+
}
|
|
178
|
+
function parseContentJson(result) {
|
|
179
|
+
if (result.content.length === 0)
|
|
180
|
+
return null;
|
|
181
|
+
const first = result.content[0];
|
|
182
|
+
if (first.type !== "text")
|
|
183
|
+
return null;
|
|
184
|
+
try {
|
|
185
|
+
return JSON.parse(first.text);
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=compressible-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compressible-router.js","sourceRoot":"","sources":["../src/compressible-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export type AssetKind = "prefab" | "scene" | "asset" | "material" | "animation" | "controller" | "other";
|
|
2
|
+
export interface ComponentField {
|
|
3
|
+
/** Serialized field name (Unity's backing-field name, e.g. m_Speed). */
|
|
4
|
+
name: string;
|
|
5
|
+
/** Field value rendered as a short string (already truncated by the source). */
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
export interface AssetComponent {
|
|
9
|
+
/** Component type name (Transform, MeshRenderer, MonoBehaviour script name). */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Resolved .cs path for MonoBehaviour scripts (offline GUID index; live omits). */
|
|
12
|
+
scriptPath?: string;
|
|
13
|
+
/** Serialized fields. Present only when the source fetched them (field_limit > 0). */
|
|
14
|
+
fields?: ComponentField[];
|
|
15
|
+
}
|
|
16
|
+
export interface HierarchyNode {
|
|
17
|
+
/** GameObject display name. */
|
|
18
|
+
name: string;
|
|
19
|
+
/** Slash-joined path from the asset root (e.g. "Player/Model/Helmet"). */
|
|
20
|
+
path: string;
|
|
21
|
+
/** Depth from the root (root = 0). */
|
|
22
|
+
depth: number;
|
|
23
|
+
components: AssetComponent[];
|
|
24
|
+
children: HierarchyNode[];
|
|
25
|
+
/** Local YAML fileID. Offline-only (Plan 3); the live bridge omits this. */
|
|
26
|
+
fileID?: string;
|
|
27
|
+
}
|
|
28
|
+
/** Object entry for non-hierarchical assets (ScriptableObject, Material, .asset). */
|
|
29
|
+
export interface FlatObject {
|
|
30
|
+
name: string;
|
|
31
|
+
type: string;
|
|
32
|
+
fields?: ComponentField[];
|
|
33
|
+
}
|
|
34
|
+
/** A single prefab variant override (from PrefabInstance m_Modifications etc.). */
|
|
35
|
+
export interface PrefabOverrideEntry {
|
|
36
|
+
kind: "property" | "added-component" | "added-gameobjects" | "removed-components" | "removed-gameobjects";
|
|
37
|
+
/** Property path (backing-field names unwrapped). Property overrides only. */
|
|
38
|
+
propertyPath?: string;
|
|
39
|
+
/** Override value. Property overrides only. */
|
|
40
|
+
value?: string;
|
|
41
|
+
/** Resolved target label (GameObject path or "Component on Path"). Omitted when unresolvable. */
|
|
42
|
+
target?: string;
|
|
43
|
+
/** Resolved added-object label. Added-component / added-gameobjects only. */
|
|
44
|
+
addedObject?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface AssetModel {
|
|
47
|
+
kind: AssetKind | string;
|
|
48
|
+
path: string;
|
|
49
|
+
guid?: string;
|
|
50
|
+
/** Total YAML objects in the file (GameObjects + components + others). */
|
|
51
|
+
objectCount: number;
|
|
52
|
+
/** Total components across the hierarchy. */
|
|
53
|
+
componentCount: number;
|
|
54
|
+
roots: HierarchyNode[];
|
|
55
|
+
/** Present for non-hierarchical assets (no GameObject tree). */
|
|
56
|
+
flatObjects?: FlatObject[];
|
|
57
|
+
/** Prefab variant overrides. Populated for prefabs with PrefabInstance objects. */
|
|
58
|
+
overrides?: PrefabOverrideEntry[];
|
|
59
|
+
/** Optional source-side notice (e.g. "scene hierarchy requires offline parser"). */
|
|
60
|
+
note?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface SearchObjectMatch {
|
|
63
|
+
path: string;
|
|
64
|
+
components: string[];
|
|
65
|
+
}
|
|
66
|
+
export interface SearchMatch {
|
|
67
|
+
path: string;
|
|
68
|
+
guid?: string;
|
|
69
|
+
kind: string;
|
|
70
|
+
/** Why this file matched: "file-name" | "gameobject" | "component" | "guid". */
|
|
71
|
+
reasons: string[];
|
|
72
|
+
/** Matching GameObjects / components inside the asset (structured search). */
|
|
73
|
+
objects?: SearchObjectMatch[];
|
|
74
|
+
}
|
|
75
|
+
export interface SearchModel {
|
|
76
|
+
query: {
|
|
77
|
+
name?: string;
|
|
78
|
+
component?: string;
|
|
79
|
+
guid?: string;
|
|
80
|
+
type?: string;
|
|
81
|
+
};
|
|
82
|
+
matchCount: number;
|
|
83
|
+
matches: SearchMatch[];
|
|
84
|
+
/** Number of matches hidden by the source cap. */
|
|
85
|
+
truncated: number;
|
|
86
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// M9 Plan 2 — Shared asset model contract.
|
|
2
|
+
//
|
|
3
|
+
// Normalized representation of a text-serialized Unity asset produced by a data
|
|
4
|
+
// source (live bridge today; offline YAML parser in M9 Plan 3). The compression
|
|
5
|
+
// module (compress.ts / render.ts) consumes this shape and emits the compact
|
|
6
|
+
// drill-down response. Both the live path (bridge -> AssetModel JSON -> MCP
|
|
7
|
+
// server compresses) and the future offline path (Node parser -> AssetModel ->
|
|
8
|
+
// same compression) flow through the same types so the compression code is
|
|
9
|
+
// written once.
|
|
10
|
+
//
|
|
11
|
+
// Design rule: the model is STRUCTURED DATA, never pre-compressed. All folding,
|
|
12
|
+
// component-set declaration, omission counts, and match-reason tagging happen in
|
|
13
|
+
// the compression module so the algorithm lives in exactly one place.
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=asset-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-model.js","sourceRoot":"","sources":["../../src/compression/asset-model.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,2EAA2E;AAC3E,gBAAgB;AAChB,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,sEAAsE"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { AssetModel, AssetComponent, HierarchyNode, PrefabOverrideEntry, SearchModel, SearchObjectMatch } from "./asset-model.js";
|
|
2
|
+
/**
|
|
3
|
+
* Fold stable numbered sequences such as Recipe_001..018. Runs of fewer than
|
|
4
|
+
* three stay explicit. Names without a trailing number pass through. Ported
|
|
5
|
+
* from unity-scanner CompressNames (compress.go).
|
|
6
|
+
*/
|
|
7
|
+
export declare function compressNames(names: string[]): string[];
|
|
8
|
+
export declare function isTrivialComponent(name: string): boolean;
|
|
9
|
+
export declare function isRenderOnly(componentNames: string[]): boolean;
|
|
10
|
+
export declare function hasFocusComponent(componentNames: string[]): boolean;
|
|
11
|
+
export declare function componentMatches(component: AssetComponent, query: string): boolean;
|
|
12
|
+
export declare function displayObjectName(node: HierarchyNode): string;
|
|
13
|
+
export interface ComponentSetDeclaration {
|
|
14
|
+
code: string;
|
|
15
|
+
names: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface AssignedNode {
|
|
18
|
+
node: HierarchyNode;
|
|
19
|
+
index: number;
|
|
20
|
+
componentNames: string[];
|
|
21
|
+
componentSet: string | null;
|
|
22
|
+
focus: boolean;
|
|
23
|
+
renderOnly: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function flattenAndAssign(roots: HierarchyNode[]): {
|
|
26
|
+
rows: AssignedNode[];
|
|
27
|
+
sets: ComponentSetDeclaration[];
|
|
28
|
+
};
|
|
29
|
+
export interface FoldedRow {
|
|
30
|
+
index: number;
|
|
31
|
+
endIndex: number;
|
|
32
|
+
depth: number;
|
|
33
|
+
name: string;
|
|
34
|
+
path: string;
|
|
35
|
+
componentSet: string | null;
|
|
36
|
+
count: number;
|
|
37
|
+
foldedNames?: string[];
|
|
38
|
+
folded: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface FoldResult {
|
|
41
|
+
rows: FoldedRow[];
|
|
42
|
+
hiddenByDepth: number;
|
|
43
|
+
hiddenByLimit: number;
|
|
44
|
+
collapsed: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Walk the assigned rows and produce the folded TREE representation. Render-only
|
|
48
|
+
* leaf runs of 3+ (same depth, same component set, no children, no focus) are
|
|
49
|
+
* collapsed into a single folded row whose names run through compressNames.
|
|
50
|
+
* Depth and limit caps produce omission counts instead of silent truncation.
|
|
51
|
+
*
|
|
52
|
+
* Mirrors unity-scanner printTreeRows / collapsibleRunEnd (read.go). Full-tree
|
|
53
|
+
* mode (no folding) is selected by `fold = false`.
|
|
54
|
+
*/
|
|
55
|
+
export declare function foldHierarchy(rows: AssignedNode[], opts?: {
|
|
56
|
+
depth?: number;
|
|
57
|
+
limit?: number;
|
|
58
|
+
fold?: boolean;
|
|
59
|
+
}): FoldResult;
|
|
60
|
+
export type DetailLevel = "summary" | "normal" | "verbose";
|
|
61
|
+
export interface RenderOptions {
|
|
62
|
+
detail?: DetailLevel;
|
|
63
|
+
component?: string;
|
|
64
|
+
path?: string;
|
|
65
|
+
id?: string;
|
|
66
|
+
override?: boolean;
|
|
67
|
+
depth?: number;
|
|
68
|
+
limit?: number;
|
|
69
|
+
}
|
|
70
|
+
export interface TreeNodeOut {
|
|
71
|
+
idx: number;
|
|
72
|
+
name: string;
|
|
73
|
+
depth: number;
|
|
74
|
+
cmp?: string;
|
|
75
|
+
toIdx?: number;
|
|
76
|
+
names?: string[];
|
|
77
|
+
count?: number;
|
|
78
|
+
components?: string[];
|
|
79
|
+
}
|
|
80
|
+
export interface ComponentMatchOut {
|
|
81
|
+
object: string;
|
|
82
|
+
component: string;
|
|
83
|
+
scriptPath?: string;
|
|
84
|
+
fields?: {
|
|
85
|
+
name: string;
|
|
86
|
+
value: string;
|
|
87
|
+
}[];
|
|
88
|
+
moreFieldsHidden?: number;
|
|
89
|
+
}
|
|
90
|
+
export interface IdResult {
|
|
91
|
+
id: string;
|
|
92
|
+
matched: boolean;
|
|
93
|
+
object?: {
|
|
94
|
+
name?: string;
|
|
95
|
+
path?: string;
|
|
96
|
+
components?: string[];
|
|
97
|
+
fields?: {
|
|
98
|
+
name: string;
|
|
99
|
+
value: string;
|
|
100
|
+
}[];
|
|
101
|
+
};
|
|
102
|
+
note?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface CompactAssetResult {
|
|
105
|
+
asset: string;
|
|
106
|
+
path: string;
|
|
107
|
+
guid?: string;
|
|
108
|
+
objects: number;
|
|
109
|
+
components: number;
|
|
110
|
+
depth?: number;
|
|
111
|
+
cmp?: Record<string, string[]>;
|
|
112
|
+
tree?: TreeNodeOut[];
|
|
113
|
+
flatObjects?: AssetModel["flatObjects"];
|
|
114
|
+
note?: string;
|
|
115
|
+
moreHidden?: number;
|
|
116
|
+
collapsed?: number;
|
|
117
|
+
hint?: string;
|
|
118
|
+
componentMatches?: ComponentMatchOut[];
|
|
119
|
+
componentQuery?: string;
|
|
120
|
+
pathScope?: string;
|
|
121
|
+
idResult?: IdResult;
|
|
122
|
+
overrides?: PrefabOverrideEntry[];
|
|
123
|
+
}
|
|
124
|
+
/** Render the compact asset summary / drill-down. */
|
|
125
|
+
export declare function renderAssetSummary(model: AssetModel, opts?: RenderOptions): CompactAssetResult;
|
|
126
|
+
export interface CompactSearchResult {
|
|
127
|
+
query: SearchModel["query"];
|
|
128
|
+
matchCount: number;
|
|
129
|
+
shown: number;
|
|
130
|
+
matches: SearchMatchOut[];
|
|
131
|
+
truncated: number;
|
|
132
|
+
ext?: Record<string, string>;
|
|
133
|
+
}
|
|
134
|
+
export interface SearchMatchOut {
|
|
135
|
+
path: string;
|
|
136
|
+
kind: string;
|
|
137
|
+
guid?: string;
|
|
138
|
+
reasons: string[];
|
|
139
|
+
objects?: SearchObjectMatch[];
|
|
140
|
+
moreObjectsHidden?: number;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Render search matches. Reason tags are preserved per file; object listings are
|
|
144
|
+
* capped per file with a moreObjectsHidden count. Paths are compacted (Assets/
|
|
145
|
+
* prefix dropped) and an EXT table declared once when multiple kinds appear.
|
|
146
|
+
*/
|
|
147
|
+
export declare function renderSearchSummary(model: SearchModel, opts?: {
|
|
148
|
+
objectLimit?: number;
|
|
149
|
+
matchLimit?: number;
|
|
150
|
+
}): CompactSearchResult;
|
|
151
|
+
/** Drop the Assets/ prefix (declared once via EXT) and normalize slashes. */
|
|
152
|
+
export declare function compactPath(path: string): string;
|
|
153
|
+
export declare function extForKind(kind: string): string;
|