unity-open-mcp 0.6.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -67
- package/dist/batch-spawn.d.ts +12 -0
- package/dist/batch-spawn.js +127 -20
- package/dist/batch-spawn.js.map +1 -1
- package/dist/bridge-tools-cache.d.ts +46 -0
- package/dist/bridge-tools-cache.js +83 -0
- package/dist/bridge-tools-cache.js.map +1 -0
- package/dist/capabilities/build-capabilities.d.ts +39 -5
- package/dist/capabilities/build-capabilities.js +190 -452
- package/dist/capabilities/build-capabilities.js.map +1 -1
- package/dist/capabilities/intent-groups.d.ts +99 -0
- package/dist/capabilities/intent-groups.js +518 -0
- package/dist/capabilities/intent-groups.js.map +1 -0
- package/dist/capabilities/lifecycle.js +1 -1
- package/dist/capabilities/lifecycle.js.map +1 -1
- package/dist/capabilities/list-rules.js +12 -20
- package/dist/capabilities/list-rules.js.map +1 -1
- package/dist/capabilities/rule-catalog.d.ts +22 -1
- package/dist/capabilities/rule-catalog.js +53 -20
- package/dist/capabilities/rule-catalog.js.map +1 -1
- package/dist/capabilities/tool-groups.d.ts +14 -13
- package/dist/capabilities/tool-groups.js +47 -22
- package/dist/capabilities/tool-groups.js.map +1 -1
- package/dist/cli/cli.js +65 -8
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands.d.ts +20 -0
- package/dist/cli/commands.js +142 -73
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/help-text.d.ts +2 -0
- package/dist/cli/help-text.js +77 -0
- package/dist/cli/help-text.js.map +1 -0
- package/dist/cli/ping-poller.d.ts +7 -5
- package/dist/cli/ping-poller.js +16 -15
- package/dist/cli/ping-poller.js.map +1 -1
- package/dist/compressible-router.d.ts +9 -2
- package/dist/compressible-router.js +70 -7
- package/dist/compressible-router.js.map +1 -1
- package/dist/compression/compact.d.ts +1 -0
- package/dist/compression/compact.js +82 -14
- package/dist/compression/compact.js.map +1 -1
- package/dist/dialog-dismiss.d.ts +10 -0
- package/dist/dialog-dismiss.js +110 -10
- package/dist/dialog-dismiss.js.map +1 -1
- package/dist/editor-process-control.d.ts +68 -0
- package/dist/editor-process-control.js +249 -0
- package/dist/editor-process-control.js.map +1 -0
- package/dist/event-stream.d.ts +2 -1
- package/dist/event-stream.js +43 -8
- package/dist/event-stream.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +18 -142
- package/dist/index.js.map +1 -1
- package/dist/live-client.d.ts +52 -10
- package/dist/live-client.js +399 -42
- package/dist/live-client.js.map +1 -1
- package/dist/offline/api.js +336 -91
- package/dist/offline/api.js.map +1 -1
- package/dist/offline/hierarchy.js +100 -3
- package/dist/offline/hierarchy.js.map +1 -1
- package/dist/offline/index-builders.d.ts +120 -2
- package/dist/offline/index-builders.js +374 -35
- package/dist/offline/index-builders.js.map +1 -1
- package/dist/offline/overrides.js +5 -1
- package/dist/offline/overrides.js.map +1 -1
- package/dist/offline/parse.js +21 -9
- package/dist/offline/parse.js.map +1 -1
- package/dist/offline/paths.d.ts +32 -0
- package/dist/offline/paths.js +71 -2
- package/dist/offline/paths.js.map +1 -1
- package/dist/offline/primitives.d.ts +15 -0
- package/dist/offline/primitives.js +130 -6
- package/dist/offline/primitives.js.map +1 -1
- package/dist/offline/types.d.ts +29 -0
- package/dist/offline/types.js.map +1 -1
- package/dist/ping-cache.d.ts +35 -0
- package/dist/ping-cache.js +70 -0
- package/dist/ping-cache.js.map +1 -1
- package/dist/process-diagnostics.d.ts +146 -0
- package/dist/process-diagnostics.js +333 -0
- package/dist/process-diagnostics.js.map +1 -0
- package/dist/schema-defaults.d.ts +11 -0
- package/dist/schema-defaults.js +32 -1
- package/dist/schema-defaults.js.map +1 -1
- package/dist/server-instructions.js +7 -2
- package/dist/server-instructions.js.map +1 -1
- package/dist/server.d.ts +17 -0
- package/dist/server.js +195 -0
- package/dist/server.js.map +1 -0
- package/dist/skill/client-paths.d.ts +23 -0
- package/dist/skill/client-paths.js +46 -1
- package/dist/skill/client-paths.js.map +1 -1
- package/dist/tool-router.d.ts +55 -0
- package/dist/tool-router.js +782 -188
- package/dist/tool-router.js.map +1 -1
- package/dist/tool-session-state.d.ts +82 -10
- package/dist/tool-session-state.js +134 -22
- package/dist/tool-session-state.js.map +1 -1
- package/dist/tools/agent-capabilities.d.ts +40 -2
- package/dist/tools/agent-capabilities.js +16 -21
- package/dist/tools/agent-capabilities.js.map +1 -1
- package/dist/tools/animation-create.d.ts +40 -2
- package/dist/tools/animation-create.js +17 -26
- package/dist/tools/animation-create.js.map +1 -1
- package/dist/tools/animation-get-data.d.ts +40 -2
- package/dist/tools/animation-get-data.js +13 -18
- package/dist/tools/animation-get-data.js.map +1 -1
- package/dist/tools/animation-modify.d.ts +40 -2
- package/dist/tools/animation-modify.js +31 -40
- package/dist/tools/animation-modify.js.map +1 -1
- package/dist/tools/animator-create.d.ts +40 -2
- package/dist/tools/animator-create.js +17 -26
- package/dist/tools/animator-create.js.map +1 -1
- package/dist/tools/animator-get-data.d.ts +40 -2
- package/dist/tools/animator-get-data.js +13 -18
- package/dist/tools/animator-get-data.js.map +1 -1
- package/dist/tools/animator-modify.d.ts +40 -2
- package/dist/tools/animator-modify.js +37 -46
- package/dist/tools/animator-modify.js.map +1 -1
- package/dist/tools/apply-fix.d.ts +40 -2
- package/dist/tools/apply-fix.js +41 -52
- package/dist/tools/apply-fix.js.map +1 -1
- package/dist/tools/asmdef-create.d.ts +40 -2
- package/dist/tools/asmdef-create.js +82 -100
- package/dist/tools/asmdef-create.js.map +1 -1
- package/dist/tools/asmdef-get.d.ts +40 -2
- package/dist/tools/asmdef-get.js +14 -19
- package/dist/tools/asmdef-get.js.map +1 -1
- package/dist/tools/asmdef-list.d.ts +40 -2
- package/dist/tools/asmdef-list.js +25 -30
- package/dist/tools/asmdef-list.js.map +1 -1
- package/dist/tools/asmdef-modify.d.ts +40 -2
- package/dist/tools/asmdef-modify.js +76 -94
- package/dist/tools/asmdef-modify.js.map +1 -1
- package/dist/tools/assets-copy.d.ts +40 -2
- package/dist/tools/assets-copy.js +26 -38
- package/dist/tools/assets-copy.js.map +1 -1
- package/dist/tools/assets-create-folder.d.ts +40 -2
- package/dist/tools/assets-create-folder.js +28 -41
- package/dist/tools/assets-create-folder.js.map +1 -1
- package/dist/tools/assets-delete.d.ts +40 -2
- package/dist/tools/assets-delete.js +16 -28
- package/dist/tools/assets-delete.js.map +1 -1
- package/dist/tools/assets-move.d.ts +40 -2
- package/dist/tools/assets-move.js +27 -39
- package/dist/tools/assets-move.js.map +1 -1
- package/dist/tools/assets-refresh.d.ts +40 -2
- package/dist/tools/assets-refresh.js +16 -28
- package/dist/tools/assets-refresh.js.map +1 -1
- package/dist/tools/audio-listener-get.d.ts +40 -2
- package/dist/tools/audio-listener-get.js +8 -13
- package/dist/tools/audio-listener-get.js.map +1 -1
- package/dist/tools/audio-mixer-get-parameter.d.ts +40 -2
- package/dist/tools/audio-mixer-get-parameter.js +15 -20
- package/dist/tools/audio-mixer-get-parameter.js.map +1 -1
- package/dist/tools/audio-mixer-set-parameter.d.ts +40 -2
- package/dist/tools/audio-mixer-set-parameter.js +29 -38
- package/dist/tools/audio-mixer-set-parameter.js.map +1 -1
- package/dist/tools/audio-source-add.d.ts +40 -2
- package/dist/tools/audio-source-add.js +58 -70
- package/dist/tools/audio-source-add.js.map +1 -1
- package/dist/tools/audio-source-modify.d.ts +40 -2
- package/dist/tools/audio-source-modify.js +36 -46
- package/dist/tools/audio-source-modify.js.map +1 -1
- package/dist/tools/baseline-create.d.ts +40 -2
- package/dist/tools/baseline-create.js +12 -17
- package/dist/tools/baseline-create.js.map +1 -1
- package/dist/tools/batch-execute.d.ts +40 -2
- package/dist/tools/batch-execute.js +64 -68
- package/dist/tools/batch-execute.js.map +1 -1
- package/dist/tools/bridge-status.d.ts +40 -2
- package/dist/tools/bridge-status.js +34 -40
- package/dist/tools/bridge-status.js.map +1 -1
- package/dist/tools/build-get-active-target.d.ts +40 -2
- package/dist/tools/build-get-active-target.js +7 -12
- package/dist/tools/build-get-active-target.js.map +1 -1
- package/dist/tools/build-get-defines.d.ts +40 -2
- package/dist/tools/build-get-defines.js +7 -12
- package/dist/tools/build-get-defines.js.map +1 -1
- package/dist/tools/build-get-scenes.d.ts +40 -2
- package/dist/tools/build-get-scenes.js +7 -12
- package/dist/tools/build-get-scenes.js.map +1 -1
- package/dist/tools/build-get-targets.d.ts +40 -2
- package/dist/tools/build-get-targets.js +8 -13
- package/dist/tools/build-get-targets.js.map +1 -1
- package/dist/tools/build-set-defines.d.ts +40 -2
- package/dist/tools/build-set-defines.js +22 -40
- package/dist/tools/build-set-defines.js.map +1 -1
- package/dist/tools/build-set-scenes.d.ts +40 -2
- package/dist/tools/build-set-scenes.js +36 -49
- package/dist/tools/build-set-scenes.js.map +1 -1
- package/dist/tools/build-set-target.d.ts +40 -2
- package/dist/tools/build-set-target.js +17 -38
- package/dist/tools/build-set-target.js.map +1 -1
- package/dist/tools/build-start.d.ts +40 -2
- package/dist/tools/build-start.js +34 -50
- package/dist/tools/build-start.js.map +1 -1
- package/dist/tools/capture-inline.d.ts +40 -2
- package/dist/tools/capture-inline.js +43 -48
- package/dist/tools/capture-inline.js.map +1 -1
- package/dist/tools/checkpoint-create.d.ts +40 -2
- package/dist/tools/checkpoint-create.js +13 -13
- package/dist/tools/checkpoint-create.js.map +1 -1
- package/dist/tools/cinemachine-brain-ensure.d.ts +40 -2
- package/dist/tools/cinemachine-brain-ensure.js +14 -23
- package/dist/tools/cinemachine-brain-ensure.js.map +1 -1
- package/dist/tools/cinemachine-camera-list.d.ts +40 -2
- package/dist/tools/cinemachine-camera-list.js +6 -11
- package/dist/tools/cinemachine-camera-list.js.map +1 -1
- package/dist/tools/cinemachine-create-camera.d.ts +40 -2
- package/dist/tools/cinemachine-create-camera.js +38 -47
- package/dist/tools/cinemachine-create-camera.js.map +1 -1
- package/dist/tools/cinemachine-set-body.d.ts +40 -2
- package/dist/tools/cinemachine-set-body.js +20 -29
- package/dist/tools/cinemachine-set-body.js.map +1 -1
- package/dist/tools/cinemachine-set-lens.d.ts +40 -2
- package/dist/tools/cinemachine-set-lens.js +28 -37
- package/dist/tools/cinemachine-set-lens.js.map +1 -1
- package/dist/tools/cinemachine-set-noise.d.ts +40 -2
- package/dist/tools/cinemachine-set-noise.js +18 -27
- package/dist/tools/cinemachine-set-noise.js.map +1 -1
- package/dist/tools/cinemachine-set-targets.d.ts +40 -2
- package/dist/tools/cinemachine-set-targets.js +17 -26
- package/dist/tools/cinemachine-set-targets.js.map +1 -1
- package/dist/tools/compile-check.d.ts +40 -2
- package/dist/tools/compile-check.js +18 -23
- package/dist/tools/compile-check.js.map +1 -1
- package/dist/tools/component-add.d.ts +40 -2
- package/dist/tools/component-add.js +30 -42
- package/dist/tools/component-add.js.map +1 -1
- package/dist/tools/component-destroy.d.ts +40 -2
- package/dist/tools/component-destroy.js +29 -41
- package/dist/tools/component-destroy.js.map +1 -1
- package/dist/tools/component-get.d.ts +40 -2
- package/dist/tools/component-get.js +77 -82
- package/dist/tools/component-get.js.map +1 -1
- package/dist/tools/component-list-all.d.ts +40 -2
- package/dist/tools/component-list-all.js +29 -34
- package/dist/tools/component-list-all.js.map +1 -1
- package/dist/tools/component-modify.d.ts +40 -2
- package/dist/tools/component-modify.js +60 -72
- package/dist/tools/component-modify.js.map +1 -1
- package/dist/tools/console-clear.d.ts +40 -2
- package/dist/tools/console-clear.js +9 -14
- package/dist/tools/console-clear.js.map +1 -1
- package/dist/tools/console-log.d.ts +40 -2
- package/dist/tools/console-log.js +34 -39
- package/dist/tools/console-log.js.map +1 -1
- package/dist/tools/constraint-add.d.ts +40 -2
- package/dist/tools/constraint-add.js +49 -61
- package/dist/tools/constraint-add.js.map +1 -1
- package/dist/tools/delta.d.ts +40 -2
- package/dist/tools/delta.js +10 -14
- package/dist/tools/delta.js.map +1 -1
- package/dist/tools/dependencies.d.ts +40 -2
- package/dist/tools/dependencies.js +55 -57
- package/dist/tools/dependencies.js.map +1 -1
- package/dist/tools/editor-add-layer.d.ts +40 -2
- package/dist/tools/editor-add-layer.js +30 -43
- package/dist/tools/editor-add-layer.js.map +1 -1
- package/dist/tools/editor-add-tag.d.ts +40 -2
- package/dist/tools/editor-add-tag.js +20 -33
- package/dist/tools/editor-add-tag.js.map +1 -1
- package/dist/tools/editor-clear-history.d.ts +40 -2
- package/dist/tools/editor-clear-history.js +9 -21
- package/dist/tools/editor-clear-history.js.map +1 -1
- package/dist/tools/editor-get-layers.d.ts +40 -2
- package/dist/tools/editor-get-layers.js +12 -17
- package/dist/tools/editor-get-layers.js.map +1 -1
- package/dist/tools/editor-get-tags.d.ts +40 -2
- package/dist/tools/editor-get-tags.js +10 -15
- package/dist/tools/editor-get-tags.js.map +1 -1
- package/dist/tools/editor-redo.d.ts +40 -2
- package/dist/tools/editor-redo.js +15 -20
- package/dist/tools/editor-redo.js.map +1 -1
- package/dist/tools/editor-set-state.d.ts +40 -2
- package/dist/tools/editor-set-state.js +33 -42
- package/dist/tools/editor-set-state.js.map +1 -1
- package/dist/tools/editor-status.d.ts +40 -2
- package/dist/tools/editor-status.js +9 -14
- package/dist/tools/editor-status.js.map +1 -1
- package/dist/tools/editor-undo-history.d.ts +40 -2
- package/dist/tools/editor-undo-history.js +11 -16
- package/dist/tools/editor-undo-history.js.map +1 -1
- package/dist/tools/editor-undo.d.ts +40 -2
- package/dist/tools/editor-undo.js +17 -22
- package/dist/tools/editor-undo.js.map +1 -1
- package/dist/tools/editorprefs-delete.d.ts +40 -2
- package/dist/tools/editorprefs-delete.js +12 -17
- package/dist/tools/editorprefs-delete.js.map +1 -1
- package/dist/tools/editorprefs-get.d.ts +40 -2
- package/dist/tools/editorprefs-get.js +17 -22
- package/dist/tools/editorprefs-get.js.map +1 -1
- package/dist/tools/editorprefs-set.d.ts +40 -2
- package/dist/tools/editorprefs-set.js +22 -27
- package/dist/tools/editorprefs-set.js.map +1 -1
- package/dist/tools/execute-csharp.d.ts +40 -2
- package/dist/tools/execute-csharp.js +44 -71
- package/dist/tools/execute-csharp.js.map +1 -1
- package/dist/tools/execute-menu.d.ts +40 -2
- package/dist/tools/execute-menu.js +12 -37
- package/dist/tools/execute-menu.js.map +1 -1
- package/dist/tools/find-members.d.ts +40 -2
- package/dist/tools/find-members.js +41 -46
- package/dist/tools/find-members.js.map +1 -1
- package/dist/tools/find-references.d.ts +40 -2
- package/dist/tools/find-references.js +48 -46
- package/dist/tools/find-references.js.map +1 -1
- package/dist/tools/frame-debugger.d.ts +40 -2
- package/dist/tools/frame-debugger.js +27 -32
- package/dist/tools/frame-debugger.js.map +1 -1
- package/dist/tools/gameobject-create.d.ts +40 -2
- package/dist/tools/gameobject-create.js +44 -56
- package/dist/tools/gameobject-create.js.map +1 -1
- package/dist/tools/gameobject-destroy.d.ts +40 -2
- package/dist/tools/gameobject-destroy.js +21 -33
- package/dist/tools/gameobject-destroy.js.map +1 -1
- package/dist/tools/gameobject-duplicate.d.ts +40 -2
- package/dist/tools/gameobject-duplicate.js +23 -35
- package/dist/tools/gameobject-duplicate.js.map +1 -1
- package/dist/tools/gameobject-find.d.ts +40 -2
- package/dist/tools/gameobject-find.js +49 -54
- package/dist/tools/gameobject-find.js.map +1 -1
- package/dist/tools/gameobject-modify.d.ts +40 -2
- package/dist/tools/gameobject-modify.js +101 -113
- package/dist/tools/gameobject-modify.js.map +1 -1
- package/dist/tools/gameobject-set-parent.d.ts +40 -2
- package/dist/tools/gameobject-set-parent.js +42 -50
- package/dist/tools/gameobject-set-parent.js.map +1 -1
- package/dist/tools/gate-budget-estimate.d.ts +40 -2
- package/dist/tools/gate-budget-estimate.js +35 -40
- package/dist/tools/gate-budget-estimate.js.map +1 -1
- package/dist/tools/generate-skill.d.ts +40 -2
- package/dist/tools/generate-skill.js +30 -35
- package/dist/tools/generate-skill.js.map +1 -1
- package/dist/tools/hub-available-releases.d.ts +40 -2
- package/dist/tools/hub-available-releases.js +12 -17
- package/dist/tools/hub-available-releases.js.map +1 -1
- package/dist/tools/hub-get-install-path.d.ts +40 -2
- package/dist/tools/hub-get-install-path.js +11 -16
- package/dist/tools/hub-get-install-path.js.map +1 -1
- package/dist/tools/hub-install-editor.d.ts +40 -2
- package/dist/tools/hub-install-editor.js +29 -34
- package/dist/tools/hub-install-editor.js.map +1 -1
- package/dist/tools/hub-install-modules.d.ts +40 -2
- package/dist/tools/hub-install-modules.js +31 -36
- package/dist/tools/hub-install-modules.js.map +1 -1
- package/dist/tools/hub-list-editors.d.ts +40 -2
- package/dist/tools/hub-list-editors.js +14 -19
- package/dist/tools/hub-list-editors.js.map +1 -1
- package/dist/tools/hub-set-install-path.d.ts +40 -2
- package/dist/tools/hub-set-install-path.js +18 -23
- package/dist/tools/hub-set-install-path.js.map +1 -1
- package/dist/tools/impact-preview.d.ts +40 -2
- package/dist/tools/impact-preview.js +31 -36
- package/dist/tools/impact-preview.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +17 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inputsystem-action-add.d.ts +40 -2
- package/dist/tools/inputsystem-action-add.js +48 -57
- package/dist/tools/inputsystem-action-add.js.map +1 -1
- package/dist/tools/inputsystem-actionmap-add.d.ts +40 -2
- package/dist/tools/inputsystem-actionmap-add.js +17 -26
- package/dist/tools/inputsystem-actionmap-add.js.map +1 -1
- package/dist/tools/inputsystem-asset-create.d.ts +40 -2
- package/dist/tools/inputsystem-asset-create.js +19 -28
- package/dist/tools/inputsystem-asset-create.js.map +1 -1
- package/dist/tools/inputsystem-binding-add.d.ts +40 -2
- package/dist/tools/inputsystem-binding-add.js +34 -43
- package/dist/tools/inputsystem-binding-add.js.map +1 -1
- package/dist/tools/inputsystem-binding-composite-add.d.ts +40 -2
- package/dist/tools/inputsystem-binding-composite-add.js +37 -46
- package/dist/tools/inputsystem-binding-composite-add.js.map +1 -1
- package/dist/tools/inputsystem-controlscheme-add.d.ts +40 -2
- package/dist/tools/inputsystem-controlscheme-add.js +29 -38
- package/dist/tools/inputsystem-controlscheme-add.js.map +1 -1
- package/dist/tools/inputsystem-get.d.ts +40 -2
- package/dist/tools/inputsystem-get.js +12 -17
- package/dist/tools/inputsystem-get.js.map +1 -1
- package/dist/tools/invoke-method.d.ts +40 -2
- package/dist/tools/invoke-method.js +73 -91
- package/dist/tools/invoke-method.js.map +1 -1
- package/dist/tools/light-add.d.ts +40 -2
- package/dist/tools/light-add.js +38 -50
- package/dist/tools/light-add.js.map +1 -1
- package/dist/tools/light-modify.d.ts +40 -2
- package/dist/tools/light-modify.js +22 -31
- package/dist/tools/light-modify.js.map +1 -1
- package/dist/tools/light-set.d.ts +40 -2
- package/dist/tools/light-set.js +40 -49
- package/dist/tools/light-set.js.map +1 -1
- package/dist/tools/list-assets-of-type.d.ts +40 -2
- package/dist/tools/list-assets-of-type.js +37 -42
- package/dist/tools/list-assets-of-type.js.map +1 -1
- package/dist/tools/list-assets.d.ts +40 -2
- package/dist/tools/list-assets.js +19 -24
- package/dist/tools/list-assets.js.map +1 -1
- package/dist/tools/list-rules.d.ts +40 -2
- package/dist/tools/list-rules.js +19 -24
- package/dist/tools/list-rules.js.map +1 -1
- package/dist/tools/lod-add-level.d.ts +40 -2
- package/dist/tools/lod-add-level.js +31 -43
- package/dist/tools/lod-add-level.js.map +1 -1
- package/dist/tools/lod-group-configure.d.ts +40 -2
- package/dist/tools/lod-group-configure.js +30 -42
- package/dist/tools/lod-group-configure.js.map +1 -1
- package/dist/tools/manage-tools.d.ts +40 -2
- package/dist/tools/manage-tools.js +72 -38
- package/dist/tools/manage-tools.js.map +1 -1
- package/dist/tools/material-create.d.ts +40 -2
- package/dist/tools/material-create.js +30 -31
- package/dist/tools/material-create.js.map +1 -1
- package/dist/tools/material-get-keywords.d.ts +40 -2
- package/dist/tools/material-get-keywords.js +14 -19
- package/dist/tools/material-get-keywords.js.map +1 -1
- package/dist/tools/material-get-properties.d.ts +40 -2
- package/dist/tools/material-get-properties.js +21 -26
- package/dist/tools/material-get-properties.js.map +1 -1
- package/dist/tools/material-set-keyword.d.ts +40 -2
- package/dist/tools/material-set-keyword.js +26 -38
- package/dist/tools/material-set-keyword.js.map +1 -1
- package/dist/tools/material-set-property.d.ts +40 -2
- package/dist/tools/material-set-property.js +35 -47
- package/dist/tools/material-set-property.js.map +1 -1
- package/dist/tools/material-set-shader.d.ts +40 -2
- package/dist/tools/material-set-shader.js +23 -35
- package/dist/tools/material-set-shader.js.map +1 -1
- package/dist/tools/memory-snapshot-capture.d.ts +40 -2
- package/dist/tools/memory-snapshot-capture.js +37 -42
- package/dist/tools/memory-snapshot-capture.js.map +1 -1
- package/dist/tools/mutation-explain.d.ts +40 -2
- package/dist/tools/mutation-explain.js +19 -24
- package/dist/tools/mutation-explain.js.map +1 -1
- package/dist/tools/navigation-agent-add.d.ts +40 -2
- package/dist/tools/navigation-agent-add.js +24 -33
- package/dist/tools/navigation-agent-add.js.map +1 -1
- package/dist/tools/navigation-agent-set-destination.d.ts +40 -2
- package/dist/tools/navigation-agent-set-destination.js +18 -27
- package/dist/tools/navigation-agent-set-destination.js.map +1 -1
- package/dist/tools/navigation-get.d.ts +40 -2
- package/dist/tools/navigation-get.js +11 -16
- package/dist/tools/navigation-get.js.map +1 -1
- package/dist/tools/navigation-link-add.d.ts +40 -2
- package/dist/tools/navigation-link-add.js +43 -52
- package/dist/tools/navigation-link-add.js.map +1 -1
- package/dist/tools/navigation-list.d.ts +40 -2
- package/dist/tools/navigation-list.js +8 -13
- package/dist/tools/navigation-list.js.map +1 -1
- package/dist/tools/navigation-modifier-add.d.ts +40 -2
- package/dist/tools/navigation-modifier-add.js +28 -37
- package/dist/tools/navigation-modifier-add.js.map +1 -1
- package/dist/tools/navigation-modifier-volume-add.d.ts +40 -2
- package/dist/tools/navigation-modifier-volume-add.js +27 -36
- package/dist/tools/navigation-modifier-volume-add.js.map +1 -1
- package/dist/tools/navigation-modify.d.ts +40 -2
- package/dist/tools/navigation-modify.js +33 -42
- package/dist/tools/navigation-modify.js.map +1 -1
- package/dist/tools/navigation-set-bake-settings.d.ts +40 -2
- package/dist/tools/navigation-set-bake-settings.js +27 -36
- package/dist/tools/navigation-set-bake-settings.js.map +1 -1
- package/dist/tools/navigation-surface-add.d.ts +40 -2
- package/dist/tools/navigation-surface-add.js +27 -39
- package/dist/tools/navigation-surface-add.js.map +1 -1
- package/dist/tools/navigation-surface-bake.d.ts +40 -2
- package/dist/tools/navigation-surface-bake.js +15 -24
- package/dist/tools/navigation-surface-bake.js.map +1 -1
- package/dist/tools/object-get-data.d.ts +40 -2
- package/dist/tools/object-get-data.js +44 -49
- package/dist/tools/object-get-data.js.map +1 -1
- package/dist/tools/object-modify.d.ts +40 -2
- package/dist/tools/object-modify.js +48 -60
- package/dist/tools/object-modify.js.map +1 -1
- package/dist/tools/package-add.d.ts +40 -2
- package/dist/tools/package-add.js +20 -35
- package/dist/tools/package-add.js.map +1 -1
- package/dist/tools/package-check.d.ts +40 -2
- package/dist/tools/package-check.js +15 -20
- package/dist/tools/package-check.js.map +1 -1
- package/dist/tools/package-get-dependencies.d.ts +40 -2
- package/dist/tools/package-get-dependencies.js +8 -13
- package/dist/tools/package-get-dependencies.js.map +1 -1
- package/dist/tools/package-get-info.d.ts +40 -2
- package/dist/tools/package-get-info.js +21 -26
- package/dist/tools/package-get-info.js.map +1 -1
- package/dist/tools/package-list.d.ts +40 -2
- package/dist/tools/package-list.js +45 -50
- package/dist/tools/package-list.js.map +1 -1
- package/dist/tools/package-remove.d.ts +40 -2
- package/dist/tools/package-remove.js +18 -33
- package/dist/tools/package-remove.js.map +1 -1
- package/dist/tools/package-search.d.ts +40 -2
- package/dist/tools/package-search.js +29 -34
- package/dist/tools/package-search.js.map +1 -1
- package/dist/tools/particle-system-get.d.ts +40 -2
- package/dist/tools/particle-system-get.js +24 -29
- package/dist/tools/particle-system-get.js.map +1 -1
- package/dist/tools/particle-system-modify.d.ts +40 -2
- package/dist/tools/particle-system-modify.js +50 -59
- package/dist/tools/particle-system-modify.js.map +1 -1
- package/dist/tools/ping.d.ts +40 -2
- package/dist/tools/ping.js +4 -9
- package/dist/tools/ping.js.map +1 -1
- package/dist/tools/playerprefs-delete.d.ts +40 -2
- package/dist/tools/playerprefs-delete.js +13 -18
- package/dist/tools/playerprefs-delete.js.map +1 -1
- package/dist/tools/playerprefs-get.d.ts +40 -2
- package/dist/tools/playerprefs-get.js +17 -22
- package/dist/tools/playerprefs-get.js.map +1 -1
- package/dist/tools/playerprefs-set.d.ts +40 -2
- package/dist/tools/playerprefs-set.js +25 -30
- package/dist/tools/playerprefs-set.js.map +1 -1
- package/dist/tools/prefab-apply.d.ts +40 -2
- package/dist/tools/prefab-apply.js +22 -34
- package/dist/tools/prefab-apply.js.map +1 -1
- package/dist/tools/prefab-close.d.ts +40 -2
- package/dist/tools/prefab-close.js +13 -25
- package/dist/tools/prefab-close.js.map +1 -1
- package/dist/tools/prefab-create.d.ts +40 -2
- package/dist/tools/prefab-create.js +35 -47
- package/dist/tools/prefab-create.js.map +1 -1
- package/dist/tools/prefab-get-overrides.d.ts +40 -2
- package/dist/tools/prefab-get-overrides.js +18 -23
- package/dist/tools/prefab-get-overrides.js.map +1 -1
- package/dist/tools/prefab-instantiate.d.ts +40 -2
- package/dist/tools/prefab-instantiate.js +35 -47
- package/dist/tools/prefab-instantiate.js.map +1 -1
- package/dist/tools/prefab-open.d.ts +40 -2
- package/dist/tools/prefab-open.js +12 -24
- package/dist/tools/prefab-open.js.map +1 -1
- package/dist/tools/prefab-revert.d.ts +40 -2
- package/dist/tools/prefab-revert.js +21 -33
- package/dist/tools/prefab-revert.js.map +1 -1
- package/dist/tools/prefab-save.d.ts +40 -2
- package/dist/tools/prefab-save.js +8 -20
- package/dist/tools/prefab-save.js.map +1 -1
- package/dist/tools/prefab-status.d.ts +40 -2
- package/dist/tools/prefab-status.js +18 -23
- package/dist/tools/prefab-status.js.map +1 -1
- package/dist/tools/prefab-unpack.d.ts +40 -2
- package/dist/tools/prefab-unpack.js +27 -39
- package/dist/tools/prefab-unpack.js.map +1 -1
- package/dist/tools/probuilder-create-shape.d.ts +40 -2
- package/dist/tools/probuilder-create-shape.js +24 -33
- package/dist/tools/probuilder-create-shape.js.map +1 -1
- package/dist/tools/probuilder-delete-faces.d.ts +40 -2
- package/dist/tools/probuilder-delete-faces.js +24 -33
- package/dist/tools/probuilder-delete-faces.js.map +1 -1
- package/dist/tools/probuilder-extrude.d.ts +40 -2
- package/dist/tools/probuilder-extrude.js +35 -44
- package/dist/tools/probuilder-extrude.js.map +1 -1
- package/dist/tools/probuilder-get-mesh-info.d.ts +40 -2
- package/dist/tools/probuilder-get-mesh-info.js +12 -17
- package/dist/tools/probuilder-get-mesh-info.js.map +1 -1
- package/dist/tools/probuilder-set-face-material.d.ts +40 -2
- package/dist/tools/probuilder-set-face-material.js +30 -39
- package/dist/tools/probuilder-set-face-material.js.map +1 -1
- package/dist/tools/profiler-capture-frame.d.ts +40 -2
- package/dist/tools/profiler-capture-frame.js +59 -63
- package/dist/tools/profiler-capture-frame.js.map +1 -1
- package/dist/tools/profiler-capture.d.ts +40 -2
- package/dist/tools/profiler-capture.js +76 -81
- package/dist/tools/profiler-capture.js.map +1 -1
- package/dist/tools/profiler-clear-data.d.ts +40 -2
- package/dist/tools/profiler-clear-data.js +9 -14
- package/dist/tools/profiler-clear-data.js.map +1 -1
- package/dist/tools/profiler-enable-module.d.ts +40 -2
- package/dist/tools/profiler-enable-module.js +18 -23
- package/dist/tools/profiler-enable-module.js.map +1 -1
- package/dist/tools/profiler-get-config.d.ts +40 -2
- package/dist/tools/profiler-get-config.js +10 -15
- package/dist/tools/profiler-get-config.js.map +1 -1
- package/dist/tools/profiler-get-script-stats.d.ts +40 -2
- package/dist/tools/profiler-get-script-stats.js +9 -14
- package/dist/tools/profiler-get-script-stats.js.map +1 -1
- package/dist/tools/profiler-get-status.d.ts +40 -2
- package/dist/tools/profiler-get-status.js +10 -15
- package/dist/tools/profiler-get-status.js.map +1 -1
- package/dist/tools/profiler-list-modules.d.ts +40 -2
- package/dist/tools/profiler-list-modules.js +9 -14
- package/dist/tools/profiler-list-modules.js.map +1 -1
- package/dist/tools/profiler-load-data.d.ts +40 -2
- package/dist/tools/profiler-load-data.js +23 -28
- package/dist/tools/profiler-load-data.js.map +1 -1
- package/dist/tools/profiler-memory.d.ts +40 -2
- package/dist/tools/profiler-memory.js +13 -18
- package/dist/tools/profiler-memory.js.map +1 -1
- package/dist/tools/profiler-rendering.d.ts +40 -2
- package/dist/tools/profiler-rendering.js +8 -13
- package/dist/tools/profiler-rendering.js.map +1 -1
- package/dist/tools/profiler-save-data.d.ts +40 -2
- package/dist/tools/profiler-save-data.js +16 -28
- package/dist/tools/profiler-save-data.js.map +1 -1
- package/dist/tools/profiler-set-config.d.ts +40 -2
- package/dist/tools/profiler-set-config.js +58 -63
- package/dist/tools/profiler-set-config.js.map +1 -1
- package/dist/tools/profiler-start.d.ts +40 -2
- package/dist/tools/profiler-start.js +16 -21
- package/dist/tools/profiler-start.js.map +1 -1
- package/dist/tools/profiler-stop.d.ts +40 -2
- package/dist/tools/profiler-stop.js +9 -14
- package/dist/tools/profiler-stop.js.map +1 -1
- package/dist/tools/pull-events.d.ts +40 -2
- package/dist/tools/pull-events.js +23 -28
- package/dist/tools/pull-events.js.map +1 -1
- package/dist/tools/read-asset.d.ts +40 -2
- package/dist/tools/read-asset.js +66 -71
- package/dist/tools/read-asset.js.map +1 -1
- package/dist/tools/read-compile-errors.d.ts +40 -2
- package/dist/tools/read-compile-errors.js +40 -45
- package/dist/tools/read-compile-errors.js.map +1 -1
- package/dist/tools/read-console.d.ts +40 -2
- package/dist/tools/read-console.js +49 -54
- package/dist/tools/read-console.js.map +1 -1
- package/dist/tools/reflection-probe-bake.d.ts +40 -2
- package/dist/tools/reflection-probe-bake.js +30 -40
- package/dist/tools/reflection-probe-bake.js.map +1 -1
- package/dist/tools/reflection-probe-get.d.ts +40 -2
- package/dist/tools/reflection-probe-get.js +10 -15
- package/dist/tools/reflection-probe-get.js.map +1 -1
- package/dist/tools/regression-check.d.ts +40 -2
- package/dist/tools/regression-check.js +28 -33
- package/dist/tools/regression-check.js.map +1 -1
- package/dist/tools/reimport-package.d.ts +40 -2
- package/dist/tools/reimport-package.js +22 -38
- package/dist/tools/reimport-package.js.map +1 -1
- package/dist/tools/reserialize.d.ts +40 -2
- package/dist/tools/reserialize.js +19 -28
- package/dist/tools/reserialize.js.map +1 -1
- package/dist/tools/resource-pressure.d.ts +40 -0
- package/dist/tools/resource-pressure.js +57 -0
- package/dist/tools/resource-pressure.js.map +1 -0
- package/dist/tools/restart-editor.d.ts +40 -0
- package/dist/tools/restart-editor.js +74 -0
- package/dist/tools/restart-editor.js.map +1 -0
- package/dist/tools/run-tests.d.ts +40 -2
- package/dist/tools/run-tests.js +41 -46
- package/dist/tools/run-tests.js.map +1 -1
- package/dist/tools/scan-all.d.ts +40 -2
- package/dist/tools/scan-all.js +17 -22
- package/dist/tools/scan-all.js.map +1 -1
- package/dist/tools/scan-paths.d.ts +40 -2
- package/dist/tools/scan-paths.js +51 -56
- package/dist/tools/scan-paths.js.map +1 -1
- package/dist/tools/scene-create.d.ts +40 -2
- package/dist/tools/scene-create.js +41 -42
- package/dist/tools/scene-create.js.map +1 -1
- package/dist/tools/scene-focus.d.ts +40 -2
- package/dist/tools/scene-focus.js +38 -50
- package/dist/tools/scene-focus.js.map +1 -1
- package/dist/tools/scene-get-data.d.ts +40 -2
- package/dist/tools/scene-get-data.js +66 -71
- package/dist/tools/scene-get-data.js.map +1 -1
- package/dist/tools/scene-get-dirty-summary.d.ts +40 -2
- package/dist/tools/scene-get-dirty-summary.js +9 -14
- package/dist/tools/scene-get-dirty-summary.js.map +1 -1
- package/dist/tools/scene-list-opened.d.ts +40 -2
- package/dist/tools/scene-list-opened.js +8 -13
- package/dist/tools/scene-list-opened.js.map +1 -1
- package/dist/tools/scene-open.d.ts +40 -2
- package/dist/tools/scene-open.js +24 -43
- package/dist/tools/scene-open.js.map +1 -1
- package/dist/tools/scene-save.d.ts +40 -2
- package/dist/tools/scene-save.js +25 -38
- package/dist/tools/scene-save.js.map +1 -1
- package/dist/tools/scene-set-active.d.ts +40 -2
- package/dist/tools/scene-set-active.js +27 -39
- package/dist/tools/scene-set-active.js.map +1 -1
- package/dist/tools/scene-unload.d.ts +40 -2
- package/dist/tools/scene-unload.js +25 -38
- package/dist/tools/scene-unload.js.map +1 -1
- package/dist/tools/sceneview-get-camera.d.ts +40 -2
- package/dist/tools/sceneview-get-camera.js +7 -12
- package/dist/tools/sceneview-get-camera.js.map +1 -1
- package/dist/tools/sceneview-set-camera.d.ts +40 -2
- package/dist/tools/sceneview-set-camera.js +38 -50
- package/dist/tools/sceneview-set-camera.js.map +1 -1
- package/dist/tools/schema-fragments.d.ts +86 -0
- package/dist/tools/schema-fragments.js +119 -0
- package/dist/tools/schema-fragments.js.map +1 -0
- package/dist/tools/screenshot-camera.d.ts +40 -2
- package/dist/tools/screenshot-camera.js +47 -52
- package/dist/tools/screenshot-camera.js.map +1 -1
- package/dist/tools/screenshot-window.d.ts +40 -2
- package/dist/tools/screenshot-window.js +40 -45
- package/dist/tools/screenshot-window.js.map +1 -1
- package/dist/tools/screenshot.d.ts +40 -2
- package/dist/tools/screenshot.js +39 -44
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/script-delete.d.ts +40 -2
- package/dist/tools/script-delete.js +18 -30
- package/dist/tools/script-delete.js.map +1 -1
- package/dist/tools/script-read.d.ts +40 -2
- package/dist/tools/script-read.js +34 -39
- package/dist/tools/script-read.js.map +1 -1
- package/dist/tools/script-write.d.ts +40 -2
- package/dist/tools/script-write.js +37 -49
- package/dist/tools/script-write.js.map +1 -1
- package/dist/tools/scriptableobject-create.d.ts +40 -2
- package/dist/tools/scriptableobject-create.js +56 -68
- package/dist/tools/scriptableobject-create.js.map +1 -1
- package/dist/tools/search-assets.d.ts +40 -2
- package/dist/tools/search-assets.js +55 -58
- package/dist/tools/search-assets.js.map +1 -1
- package/dist/tools/selection-get.d.ts +40 -2
- package/dist/tools/selection-get.js +16 -21
- package/dist/tools/selection-get.js.map +1 -1
- package/dist/tools/selection-set.d.ts +40 -2
- package/dist/tools/selection-set.js +57 -62
- package/dist/tools/selection-set.js.map +1 -1
- package/dist/tools/settings-get-lighting.d.ts +40 -2
- package/dist/tools/settings-get-lighting.js +9 -14
- package/dist/tools/settings-get-lighting.js.map +1 -1
- package/dist/tools/settings-get-physics.d.ts +40 -2
- package/dist/tools/settings-get-physics.js +7 -12
- package/dist/tools/settings-get-physics.js.map +1 -1
- package/dist/tools/settings-get-player.d.ts +40 -2
- package/dist/tools/settings-get-player.js +7 -12
- package/dist/tools/settings-get-player.js.map +1 -1
- package/dist/tools/settings-get-quality.d.ts +40 -2
- package/dist/tools/settings-get-quality.js +7 -12
- package/dist/tools/settings-get-quality.js.map +1 -1
- package/dist/tools/settings-get-render-pipeline.d.ts +40 -2
- package/dist/tools/settings-get-render-pipeline.js +10 -15
- package/dist/tools/settings-get-render-pipeline.js.map +1 -1
- package/dist/tools/settings-get-time.d.ts +40 -2
- package/dist/tools/settings-get-time.js +9 -14
- package/dist/tools/settings-get-time.js.map +1 -1
- package/dist/tools/settings-set-lighting.d.ts +40 -2
- package/dist/tools/settings-set-lighting.js +33 -46
- package/dist/tools/settings-set-lighting.js.map +1 -1
- package/dist/tools/settings-set-physics.d.ts +40 -2
- package/dist/tools/settings-set-physics.js +30 -43
- package/dist/tools/settings-set-physics.js.map +1 -1
- package/dist/tools/settings-set-player.d.ts +40 -2
- package/dist/tools/settings-set-player.js +35 -53
- package/dist/tools/settings-set-player.js.map +1 -1
- package/dist/tools/settings-set-quality-level.d.ts +40 -2
- package/dist/tools/settings-set-quality-level.js +25 -38
- package/dist/tools/settings-set-quality-level.js.map +1 -1
- package/dist/tools/settings-set-quality.d.ts +40 -2
- package/dist/tools/settings-set-quality.js +29 -42
- package/dist/tools/settings-set-quality.js.map +1 -1
- package/dist/tools/settings-set-time.d.ts +40 -2
- package/dist/tools/settings-set-time.js +31 -44
- package/dist/tools/settings-set-time.js.map +1 -1
- package/dist/tools/shader-get-data.d.ts +40 -2
- package/dist/tools/shader-get-data.js +20 -25
- package/dist/tools/shader-get-data.js.map +1 -1
- package/dist/tools/shader-graph-create.d.ts +40 -2
- package/dist/tools/shader-graph-create.js +23 -32
- package/dist/tools/shader-graph-create.js.map +1 -1
- package/dist/tools/shader-graph-node-add.d.ts +40 -2
- package/dist/tools/shader-graph-node-add.js +34 -43
- package/dist/tools/shader-graph-node-add.js.map +1 -1
- package/dist/tools/shader-graph-node-connect.d.ts +40 -2
- package/dist/tools/shader-graph-node-connect.js +44 -53
- package/dist/tools/shader-graph-node-connect.js.map +1 -1
- package/dist/tools/shader-graph-open.d.ts +40 -2
- package/dist/tools/shader-graph-open.js +15 -20
- package/dist/tools/shader-graph-open.js.map +1 -1
- package/dist/tools/shader-list-all.d.ts +40 -2
- package/dist/tools/shader-list-all.js +12 -17
- package/dist/tools/shader-list-all.js.map +1 -1
- package/dist/tools/skybox-get.d.ts +40 -2
- package/dist/tools/skybox-get.js +5 -10
- package/dist/tools/skybox-get.js.map +1 -1
- package/dist/tools/skybox-set.d.ts +40 -2
- package/dist/tools/skybox-set.js +16 -27
- package/dist/tools/skybox-set.js.map +1 -1
- package/dist/tools/spatial-query.d.ts +40 -2
- package/dist/tools/spatial-query.js +110 -115
- package/dist/tools/spatial-query.js.map +1 -1
- package/dist/tools/splines-add-knot.d.ts +40 -2
- package/dist/tools/splines-add-knot.js +29 -38
- package/dist/tools/splines-add-knot.js.map +1 -1
- package/dist/tools/splines-container-create.d.ts +40 -2
- package/dist/tools/splines-container-create.js +23 -32
- package/dist/tools/splines-container-create.js.map +1 -1
- package/dist/tools/splines-evaluate.d.ts +40 -2
- package/dist/tools/splines-evaluate.js +21 -26
- package/dist/tools/splines-evaluate.js.map +1 -1
- package/dist/tools/splines-get-knots.d.ts +40 -2
- package/dist/tools/splines-get-knots.js +15 -20
- package/dist/tools/splines-get-knots.js.map +1 -1
- package/dist/tools/splines-modify.d.ts +40 -2
- package/dist/tools/splines-modify.js +20 -29
- package/dist/tools/splines-modify.js.map +1 -1
- package/dist/tools/splines-set-knot.d.ts +40 -2
- package/dist/tools/splines-set-knot.js +26 -35
- package/dist/tools/splines-set-knot.js.map +1 -1
- package/dist/tools/splines-set-tangent-mode.d.ts +40 -2
- package/dist/tools/splines-set-tangent-mode.js +28 -37
- package/dist/tools/splines-set-tangent-mode.js.map +1 -1
- package/dist/tools/spriteatlas-add-packable.d.ts +40 -2
- package/dist/tools/spriteatlas-add-packable.js +22 -34
- package/dist/tools/spriteatlas-add-packable.js.map +1 -1
- package/dist/tools/spriteatlas-create.d.ts +40 -2
- package/dist/tools/spriteatlas-create.js +22 -34
- package/dist/tools/spriteatlas-create.js.map +1 -1
- package/dist/tools/spriteatlas-delete.d.ts +40 -2
- package/dist/tools/spriteatlas-delete.js +14 -26
- package/dist/tools/spriteatlas-delete.js.map +1 -1
- package/dist/tools/spriteatlas-get.d.ts +40 -2
- package/dist/tools/spriteatlas-get.js +13 -18
- package/dist/tools/spriteatlas-get.js.map +1 -1
- package/dist/tools/spriteatlas-list.d.ts +40 -2
- package/dist/tools/spriteatlas-list.js +10 -15
- package/dist/tools/spriteatlas-list.js.map +1 -1
- package/dist/tools/spriteatlas-modify.d.ts +40 -2
- package/dist/tools/spriteatlas-modify.js +36 -48
- package/dist/tools/spriteatlas-modify.js.map +1 -1
- package/dist/tools/spriteatlas-remove-packable.d.ts +40 -2
- package/dist/tools/spriteatlas-remove-packable.js +21 -33
- package/dist/tools/spriteatlas-remove-packable.js.map +1 -1
- package/dist/tools/terrain-create.d.ts +40 -2
- package/dist/tools/terrain-create.js +48 -62
- package/dist/tools/terrain-create.js.map +1 -1
- package/dist/tools/terrain-paint-layer.d.ts +40 -2
- package/dist/tools/terrain-paint-layer.js +47 -61
- package/dist/tools/terrain-paint-layer.js.map +1 -1
- package/dist/tools/terrain-place-trees.d.ts +40 -2
- package/dist/tools/terrain-place-trees.js +56 -68
- package/dist/tools/terrain-place-trees.js.map +1 -1
- package/dist/tools/terrain-set-heights.d.ts +40 -2
- package/dist/tools/terrain-set-heights.js +31 -43
- package/dist/tools/terrain-set-heights.js.map +1 -1
- package/dist/tools/terrain-set-neighbors.d.ts +40 -2
- package/dist/tools/terrain-set-neighbors.js +22 -34
- package/dist/tools/terrain-set-neighbors.js.map +1 -1
- package/dist/tools/texture-get-importer.d.ts +40 -2
- package/dist/tools/texture-get-importer.js +15 -20
- package/dist/tools/texture-get-importer.js.map +1 -1
- package/dist/tools/texture-get.d.ts +40 -2
- package/dist/tools/texture-get.js +12 -17
- package/dist/tools/texture-get.js.map +1 -1
- package/dist/tools/texture-reimport.d.ts +40 -2
- package/dist/tools/texture-reimport.js +15 -27
- package/dist/tools/texture-reimport.js.map +1 -1
- package/dist/tools/texture-set-import.d.ts +40 -2
- package/dist/tools/texture-set-import.js +32 -44
- package/dist/tools/texture-set-import.js.map +1 -1
- package/dist/tools/tilemap-box-fill.d.ts +40 -2
- package/dist/tools/tilemap-box-fill.js +20 -29
- package/dist/tools/tilemap-box-fill.js.map +1 -1
- package/dist/tools/tilemap-create-rule-tile.d.ts +40 -2
- package/dist/tools/tilemap-create-rule-tile.js +22 -31
- package/dist/tools/tilemap-create-rule-tile.js.map +1 -1
- package/dist/tools/tilemap-create-tile-asset.d.ts +40 -2
- package/dist/tools/tilemap-create-tile-asset.js +21 -30
- package/dist/tools/tilemap-create-tile-asset.js.map +1 -1
- package/dist/tools/tilemap-create.d.ts +40 -2
- package/dist/tools/tilemap-create.js +17 -26
- package/dist/tools/tilemap-create.js.map +1 -1
- package/dist/tools/tilemap-set-tile.d.ts +40 -2
- package/dist/tools/tilemap-set-tile.js +20 -29
- package/dist/tools/tilemap-set-tile.js.map +1 -1
- package/dist/tools/timeline-clip-add.d.ts +40 -2
- package/dist/tools/timeline-clip-add.js +30 -39
- package/dist/tools/timeline-clip-add.js.map +1 -1
- package/dist/tools/timeline-create.d.ts +40 -2
- package/dist/tools/timeline-create.js +17 -26
- package/dist/tools/timeline-create.js.map +1 -1
- package/dist/tools/timeline-director-bind.d.ts +40 -2
- package/dist/tools/timeline-director-bind.js +20 -29
- package/dist/tools/timeline-director-bind.js.map +1 -1
- package/dist/tools/timeline-modify.d.ts +40 -2
- package/dist/tools/timeline-modify.js +30 -39
- package/dist/tools/timeline-modify.js.map +1 -1
- package/dist/tools/timeline-track-add.d.ts +40 -2
- package/dist/tools/timeline-track-add.js +24 -33
- package/dist/tools/timeline-track-add.js.map +1 -1
- package/dist/tools/type-schema.d.ts +40 -2
- package/dist/tools/type-schema.js +47 -52
- package/dist/tools/type-schema.js.map +1 -1
- package/dist/tools/ui-canvas-add.d.ts +40 -2
- package/dist/tools/ui-canvas-add.js +29 -41
- package/dist/tools/ui-canvas-add.js.map +1 -1
- package/dist/tools/ui-element-add.d.ts +40 -2
- package/dist/tools/ui-element-add.js +47 -56
- package/dist/tools/ui-element-add.js.map +1 -1
- package/dist/tools/ui-element-modify.d.ts +40 -2
- package/dist/tools/ui-element-modify.js +41 -50
- package/dist/tools/ui-element-modify.js.map +1 -1
- package/dist/tools/ui-layout-group-add.d.ts +40 -2
- package/dist/tools/ui-layout-group-add.js +64 -73
- package/dist/tools/ui-layout-group-add.js.map +1 -1
- package/dist/tools/validate-edit.d.ts +40 -2
- package/dist/tools/validate-edit.js +56 -61
- package/dist/tools/validate-edit.js.map +1 -1
- package/dist/tools/vfx-block-edit.d.ts +40 -2
- package/dist/tools/vfx-block-edit.js +32 -41
- package/dist/tools/vfx-block-edit.js.map +1 -1
- package/dist/tools/vfx-list.d.ts +40 -2
- package/dist/tools/vfx-list.js +17 -22
- package/dist/tools/vfx-list.js.map +1 -1
- package/dist/tools/vfx-open.d.ts +40 -2
- package/dist/tools/vfx-open.js +14 -19
- package/dist/tools/vfx-open.js.map +1 -1
- package/package.json +1 -1
package/dist/offline/api.js
CHANGED
|
@@ -18,7 +18,7 @@ import { cleanScalar, findGUIDs, readGUIDField } from "./primitives.js";
|
|
|
18
18
|
import { parseAsset } from "./parse.js";
|
|
19
19
|
import { displayFieldName } from "./names.js";
|
|
20
20
|
import { buildAssetModel, buildJsonAssetModel, runYamlIntegrityChecks, } from "./model.js";
|
|
21
|
-
import { buildGUIDIndex,
|
|
21
|
+
import { buildGUIDIndex, buildScriptIndexForQuery, buildGuidAndScriptIndex, collectFiles, collectMetaTriples, parallelMap, resolveGUIDPaths, safeReadMetaGUID, scriptGUIDs, walkFiles, } from "./index-builders.js";
|
|
22
22
|
import { toAssetPath, relativeDir } from "./paths.js";
|
|
23
23
|
import { OVERRIDE_LABEL_HELPERS } from "./references.js";
|
|
24
24
|
import { setLabelHelpers } from "./overrides.js";
|
|
@@ -75,12 +75,14 @@ export async function readAssetOffline(assetPath, opts) {
|
|
|
75
75
|
parsed.path = assetPath;
|
|
76
76
|
parsed.kind = kind;
|
|
77
77
|
parsed.guid = guid;
|
|
78
|
+
// M31-optimizations Plan 2 / H5 — build both the script (.cs subset) and
|
|
79
|
+
// field-GUID indices in a SINGLE meta walk by unioning the wanted sets.
|
|
80
|
+
// Previously this was buildScriptIndex (which itself walks the meta tree
|
|
81
|
+
// via buildGUIDIndex) followed by another buildGUIDIndex walk — every cold
|
|
82
|
+
// read_asset paid two back-to-back walks of the same tree.
|
|
78
83
|
const wantedScripts = scriptGUIDs(parsed);
|
|
79
|
-
const scriptIndex = await buildScriptIndex(opts.projectRoot, wantedScripts);
|
|
80
84
|
const wantedGUIDs = collectFieldGUIDs(parsed);
|
|
81
|
-
const guidIndex = await
|
|
82
|
-
for (const [g, p] of scriptIndex)
|
|
83
|
-
guidIndex.set(g, p);
|
|
85
|
+
const { guidIndex, scriptIndex } = await buildGuidAndScriptIndex(opts.projectRoot, wantedGUIDs, wantedScripts);
|
|
84
86
|
const integrity = runYamlIntegrityChecks(parsed, guidIndex);
|
|
85
87
|
return {
|
|
86
88
|
model: { ...buildAssetModel(parsed, scriptIndex, guidIndex, opts.fieldLimit), ...(integrity ? { integrity } : {}) },
|
|
@@ -109,8 +111,23 @@ export async function searchAssetsOffline(opts) {
|
|
|
109
111
|
const guidQuery = (opts.guid ?? "").trim().toLowerCase();
|
|
110
112
|
const typeFilter = opts.type ? parseKindSet(opts.type) : null;
|
|
111
113
|
const folder = opts.folder ?? "Assets";
|
|
112
|
-
|
|
114
|
+
// M1 — `0` (and any negative) is the documented "unlimited (for paging)"
|
|
115
|
+
// sentinel forwarded by compressible-router.ts when the caller supplies a
|
|
116
|
+
// page_size; `??` does not treat 0 as absent, so the previous
|
|
117
|
+
// `opts.maxResults ?? 50` made `0` a hard cap and the loop broke on the
|
|
118
|
+
// first file (`0 >= 0`). Treat `<= 0` as unlimited, mirroring
|
|
119
|
+
// dependenciesOffline (`maxResults > 0 && totalCount > maxResults`) and
|
|
120
|
+
// renderSearchSummary (`matchLimit > 0 ? ... : all.length`).
|
|
121
|
+
const maxResults = (typeof opts.maxResults === "number" && opts.maxResults > 0)
|
|
122
|
+
? opts.maxResults
|
|
123
|
+
: Number.POSITIVE_INFINITY;
|
|
113
124
|
const searchDir = join(opts.projectRoot, folder);
|
|
125
|
+
// M31-optimizations Plan 2 / L2 — when a component query is present, build
|
|
126
|
+
// the script-name → guid → path index from the same single walk that would
|
|
127
|
+
// already populate the guid + script indices. Previously this was a
|
|
128
|
+
// separate buildScriptIndexForQuery walk. The guid-query path still uses
|
|
129
|
+
// resolveGUIDPaths (its early-exit-on-first-match optimization is worth
|
|
130
|
+
// more than collapsing its walk into this one).
|
|
114
131
|
const scriptIndex = componentQuery
|
|
115
132
|
? await buildScriptIndexForQuery(opts.projectRoot, componentQuery)
|
|
116
133
|
: new Map();
|
|
@@ -188,8 +205,16 @@ function checkMatch(parsed, scriptIndex, guidIndex, assetPath, kind, guid, crite
|
|
|
188
205
|
reasons.push("guid");
|
|
189
206
|
}
|
|
190
207
|
const hierarchy = buildHierarchy(parsed);
|
|
208
|
+
// M31-optimizations Plan 3 / L3 — flatten the hierarchy exactly once per
|
|
209
|
+
// asset and reuse the flattened list for both the name-query and component-
|
|
210
|
+
// query scans. Previously checkMatch called flattenHierarchy(hierarchy)
|
|
211
|
+
// twice (once per query branch), each producing a fresh flattened array.
|
|
212
|
+
// componentsFor now also consults the per-asset goID→components cache built
|
|
213
|
+
// during buildHierarchy above, so each node's component set is an O(1)
|
|
214
|
+
// Map lookup instead of a linear scan over all objects.
|
|
215
|
+
const flatNodes = flattenHierarchy(hierarchy);
|
|
191
216
|
if (nameQuery) {
|
|
192
|
-
for (const node of
|
|
217
|
+
for (const node of flatNodes) {
|
|
193
218
|
if (node.gameObject.name.toLowerCase().includes(nameQuery)) {
|
|
194
219
|
const comps = componentsFor(parsed, node.gameObject.id, scriptIndex);
|
|
195
220
|
objects.push({ path: node.path, components: comps.map((c) => c.name) });
|
|
@@ -200,7 +225,7 @@ function checkMatch(parsed, scriptIndex, guidIndex, assetPath, kind, guid, crite
|
|
|
200
225
|
}
|
|
201
226
|
if (componentQuery) {
|
|
202
227
|
let componentMatch = false;
|
|
203
|
-
for (const node of
|
|
228
|
+
for (const node of flatNodes) {
|
|
204
229
|
const comps = componentsFor(parsed, node.gameObject.id, scriptIndex);
|
|
205
230
|
const matching = comps.filter((c) => c.name.toLowerCase().includes(componentQuery) ||
|
|
206
231
|
(c.scriptPath && c.scriptPath.toLowerCase().includes(componentQuery)));
|
|
@@ -325,7 +350,15 @@ export async function listAssetsOffline(opts) {
|
|
|
325
350
|
const REFERENCEABLE_EXTENSIONS = OFFLINE_PARSEABLE_EXTENSIONS;
|
|
326
351
|
export async function findReferencesOffline(opts) {
|
|
327
352
|
const detail = (opts.detail ?? "normal");
|
|
328
|
-
|
|
353
|
+
// M2 — `0` (and any negative) is the documented "unlimited (for paging)"
|
|
354
|
+
// sentinel forwarded by tool-router.ts when the caller supplies a
|
|
355
|
+
// page_size; `??` does not treat 0 as absent, so the previous
|
|
356
|
+
// `opts.maxResults ?? 100` made `0` a hard cap and `displayHits.slice(0,0)`
|
|
357
|
+
// returned an empty list (page_size:1 → referencedBy:[]). Treat `<= 0` as
|
|
358
|
+
// unlimited, mirroring dependenciesOffline and searchAssetsOffline.
|
|
359
|
+
const maxResults = (typeof opts.maxResults === "number" && opts.maxResults > 0)
|
|
360
|
+
? opts.maxResults
|
|
361
|
+
: Number.POSITIVE_INFINITY;
|
|
329
362
|
const maxPerFile = opts.maxPerFile ?? 5;
|
|
330
363
|
const patternThreshold = opts.patternThreshold ?? 0;
|
|
331
364
|
// Resolve target GUID + path.
|
|
@@ -369,7 +402,8 @@ export async function findReferencesOffline(opts) {
|
|
|
369
402
|
catch {
|
|
370
403
|
continue;
|
|
371
404
|
}
|
|
372
|
-
// Fast filter: skip files that don't mention the GUID at all.
|
|
405
|
+
// Fast filter: skip files that don't mention the GUID at all. This stays
|
|
406
|
+
// on the joined content (the cheap fast-reject before any per-line work).
|
|
373
407
|
if (!content.includes(targetGuid))
|
|
374
408
|
continue;
|
|
375
409
|
const assetPath = toAssetPath(opts.projectRoot, absPath);
|
|
@@ -386,7 +420,14 @@ export async function findReferencesOffline(opts) {
|
|
|
386
420
|
folder,
|
|
387
421
|
};
|
|
388
422
|
if (detail === "verbose") {
|
|
389
|
-
|
|
423
|
+
// M31-optimizations Plan 2 / L4 — split content into lines ONCE and
|
|
424
|
+
// pass the line array downstream. Previously extractReferenceLocations
|
|
425
|
+
// re-split the same content it was given; now the single split is
|
|
426
|
+
// visible at the call site and the per-line scan reuses it. The
|
|
427
|
+
// substring pre-filter above already ran on the joined content (the
|
|
428
|
+
// fast-reject), so this is the ONLY split for the verbose path.
|
|
429
|
+
const lines = content.split("\n");
|
|
430
|
+
entry.locations = extractReferenceLocationsFromLines(lines, targetGuid, maxPerFile);
|
|
390
431
|
}
|
|
391
432
|
hits.push(entry);
|
|
392
433
|
}
|
|
@@ -444,9 +485,15 @@ export async function findReferencesOffline(opts) {
|
|
|
444
485
|
truncated,
|
|
445
486
|
};
|
|
446
487
|
}
|
|
447
|
-
|
|
488
|
+
/**
|
|
489
|
+
* M31-optimizations Plan 2 / L4 — extract field-location labels for a target
|
|
490
|
+
* GUID from a pre-split line array. The caller ({@link findReferencesOffline})
|
|
491
|
+
* splits the content once and passes the lines here so the verbose path does
|
|
492
|
+
* not re-split the same content downstream. The per-line scan iterates the
|
|
493
|
+
* array directly.
|
|
494
|
+
*/
|
|
495
|
+
function extractReferenceLocationsFromLines(lines, targetGuid, maxPerFile) {
|
|
448
496
|
const locations = [];
|
|
449
|
-
const lines = content.split("\n");
|
|
450
497
|
for (let i = 0; i < lines.length; i++) {
|
|
451
498
|
if (!lines[i].includes(targetGuid))
|
|
452
499
|
continue;
|
|
@@ -528,22 +575,57 @@ export async function dependenciesOffline(opts) {
|
|
|
528
575
|
forwardSkipped = err instanceof Error ? err.message : String(err);
|
|
529
576
|
}
|
|
530
577
|
}
|
|
531
|
-
// ---- Reverse edges ----
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
578
|
+
// ---- Reverse edges ----
|
|
579
|
+
// M31-optimizations Plan 2 / H4 + M5 — build the project-wide reverse-edge
|
|
580
|
+
// graph ONCE per dependenciesOffline call when impact is requested.
|
|
581
|
+
// Previously the single reverse-edge lookup called findReferencesOffline
|
|
582
|
+
// (one full project walk), and computeTransitiveImpact called
|
|
583
|
+
// findReferencesOffline per BFS frontier node — re-walking the whole
|
|
584
|
+
// project K times for a closure of size K (O(closure × project size)). The
|
|
585
|
+
// graph is a Map<guid, ReverseEdge[]> built in a single pass over
|
|
586
|
+
// parseable assets; both the direct reverse-edge lookup and the impact BFS
|
|
587
|
+
// consult it via pure Map.get, so no per-node project walk remains. The
|
|
588
|
+
// graph is a local variable (per-call only; root AGENTS.md forbids disk
|
|
589
|
+
// caches).
|
|
590
|
+
//
|
|
591
|
+
// When impact is NOT requested, skip the graph build — the direct reverse-
|
|
592
|
+
// edge lookup via findReferencesOffline is cheaper than building the whole
|
|
593
|
+
// project graph (it early-exits the candidate scan as soon as it has read
|
|
594
|
+
// each file once, and produces the verbose-fold fields dependenciesOffline
|
|
595
|
+
// does not need but finds cheaper to inherit than to re-derive).
|
|
596
|
+
const reverseEdgeGraph = includeImpact
|
|
597
|
+
? await buildReverseEdgeGraph(opts.projectRoot)
|
|
598
|
+
: null;
|
|
599
|
+
const reverseEdges = reverseEdgeGraph
|
|
600
|
+
? findReferencesFromGraph(reverseEdgeGraph.graph, targetGuid, targetPath)
|
|
601
|
+
: (await findReferencesOffline({
|
|
602
|
+
assetPath: targetPath || undefined,
|
|
603
|
+
guid: targetGuid,
|
|
604
|
+
detail: "normal",
|
|
605
|
+
// M5 — fetch the FULL reverse-edge set and let the outer cap below be
|
|
606
|
+
// the single source of truth for truncation. Previously this call
|
|
607
|
+
// omitted maxResults, so findReferencesOffline applied its inner
|
|
608
|
+
// default of 100, pre-truncated `referencedBy`, and discarded its own
|
|
609
|
+
// `truncated` count. `reverseEdges` was then silently capped at 100,
|
|
610
|
+
// `totalCount` was computed from the already-truncated list, and the
|
|
611
|
+
// outer `totalCount > maxResults` check could never fire — so an agent
|
|
612
|
+
// using `dependencies` as a pre-delete impact check got a list that
|
|
613
|
+
// claimed to be complete (`truncated: 0`) while omitting the tail.
|
|
614
|
+
// `0` is the documented "unlimited (for paging)" sentinel both layers
|
|
615
|
+
// already agree on (M2 normalized findReferencesOffline to treat `<= 0`
|
|
616
|
+
// as unlimited). The outer cap at lines below then slices + reports
|
|
617
|
+
// `truncated` correctly against the true count.
|
|
618
|
+
maxResults: 0,
|
|
619
|
+
projectRoot: opts.projectRoot,
|
|
620
|
+
})).referencedBy.map((e) => ({
|
|
621
|
+
assetPath: e.assetPath,
|
|
622
|
+
guid: e.guid ?? "",
|
|
623
|
+
kind: e.kind,
|
|
624
|
+
}));
|
|
543
625
|
// ---- Transitive impact (optional) ----
|
|
544
626
|
let impact;
|
|
545
|
-
if (includeImpact) {
|
|
546
|
-
impact = await
|
|
627
|
+
if (includeImpact && reverseEdgeGraph) {
|
|
628
|
+
impact = await computeTransitiveImpactFromGraph(targetGuid, targetPath, reverseEdgeGraph.graph, reverseEdgeGraph.pathToGuid, maxImpactDepth);
|
|
547
629
|
}
|
|
548
630
|
// ---- Apply detail + caps ----
|
|
549
631
|
const displayForward = detail === "summary" ? [] : forwardEdges;
|
|
@@ -573,6 +655,7 @@ export async function dependenciesOffline(opts) {
|
|
|
573
655
|
detail,
|
|
574
656
|
truncated,
|
|
575
657
|
...(forwardSkipped ? { forwardSkipped } : {}),
|
|
658
|
+
// Inline tag is load-bearing — see the note on DependenciesOfflineResult._source.
|
|
576
659
|
_source: "offline",
|
|
577
660
|
};
|
|
578
661
|
}
|
|
@@ -588,35 +671,55 @@ function emptyDependencies(path, guid, detail) {
|
|
|
588
671
|
reverseCount: 0,
|
|
589
672
|
detail,
|
|
590
673
|
truncated: 0,
|
|
674
|
+
// Inline tag is load-bearing — see the note on DependenciesOfflineResult._source.
|
|
591
675
|
_source: "offline",
|
|
592
676
|
};
|
|
593
677
|
}
|
|
594
678
|
/** Collect the forward edges declared by a single asset. */
|
|
595
679
|
function collectForwardEdges(parsed) {
|
|
596
|
-
|
|
680
|
+
// M31-optimizations Plan 3 / H6 — single pass over parsed.objects.
|
|
681
|
+
// Previously this ran three separate `for (const obj of parsed.objects)`
|
|
682
|
+
// loops (one per edge kind), each re-scanning all objects (+ all lines for
|
|
683
|
+
// the pptr kind) — O(3 × objects × lines). The single pass below branches
|
|
684
|
+
// on obj.type and on whether the line declares an m_Script / m_SourcePrefab
|
|
685
|
+
// / generic guid: field, accumulating into three per-kind buffers that are
|
|
686
|
+
// concatenated at the end. The concatenation order (prefab_source, then
|
|
687
|
+
// script, then pptr) preserves the exact edge ordering the previous
|
|
688
|
+
// three-pass implementation produced, so the forwardDependencies output
|
|
689
|
+
// stays byte-identical. The shared `seen` set dedupes within each kind
|
|
690
|
+
// (a guid can appear as both a prefab_source and a pptr edge — different
|
|
691
|
+
// seen keys, same as before).
|
|
692
|
+
const prefabEdges = [];
|
|
693
|
+
const scriptEdges = [];
|
|
694
|
+
const pptrEdges = [];
|
|
597
695
|
const seen = new Set();
|
|
598
|
-
// 1. PrefabInstance.m_SourcePrefab — the base-prefab edge of a variant.
|
|
599
696
|
for (const obj of parsed.objects) {
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
697
|
+
// 1. PrefabInstance.m_SourcePrefab — the base-prefab edge of a variant.
|
|
698
|
+
// Read once via readGUIDField (the previous pass-1 scanner); the line
|
|
699
|
+
// scan below still picks up target: GUIDs inside m_Modifications as
|
|
700
|
+
// pptr edges, so variant overrides still count.
|
|
701
|
+
if (obj.type === "PrefabInstance") {
|
|
702
|
+
const sourceGuid = readGUIDField(obj.lines, "m_SourcePrefab");
|
|
703
|
+
if (sourceGuid !== "" && seen.add(`prefab:${sourceGuid}`)) {
|
|
704
|
+
prefabEdges.push({ guid: sourceGuid, assetPath: "", kind: "prefab_source", resolved: false });
|
|
705
|
+
}
|
|
605
706
|
}
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
if (obj.type
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
707
|
+
// 2. m_Script GUIDs on MonoBehaviours — the script-class edge. The
|
|
708
|
+
// parsed object already carries scriptGUID (extracted during
|
|
709
|
+
// finishObject), so no line re-scan is needed for this kind.
|
|
710
|
+
if (obj.type === "MonoBehaviour" && obj.scriptGUID !== "") {
|
|
711
|
+
if (seen.add(`script:${obj.scriptGUID}`)) {
|
|
712
|
+
scriptEdges.push({ guid: obj.scriptGUID, assetPath: "", kind: "script", resolved: false });
|
|
713
|
+
}
|
|
613
714
|
}
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
715
|
+
// 3. Every other guid: field on every object — material refs, asset refs,
|
|
716
|
+
// animation clips, etc. m_Script lines are excluded (handled above);
|
|
717
|
+
// the m_SourcePrefab field's GUID is captured as a prefab_source edge
|
|
718
|
+
// in branch 1, but a `guid:` token appearing on the m_SourcePrefab
|
|
719
|
+
// line would ALSO match here — the original code had the same
|
|
720
|
+
// overlap, deduped via the per-kind seen key (prefab: vs pptr:), so
|
|
721
|
+
// the same guid legitimately produces both edges. The line.includes
|
|
722
|
+
// fast-reject mirrors the previous pass-3 loop.
|
|
620
723
|
for (const line of obj.lines) {
|
|
621
724
|
if (!line.includes("guid:"))
|
|
622
725
|
continue;
|
|
@@ -625,10 +728,19 @@ function collectForwardEdges(parsed) {
|
|
|
625
728
|
for (const g of findGUIDs(line)) {
|
|
626
729
|
if (!seen.add(`pptr:${g}`))
|
|
627
730
|
continue;
|
|
628
|
-
|
|
731
|
+
pptrEdges.push({ guid: g, assetPath: "", kind: "pptr", resolved: false });
|
|
629
732
|
}
|
|
630
733
|
}
|
|
631
734
|
}
|
|
735
|
+
// Concatenate in the previous implementation's kind order so the
|
|
736
|
+
// forwardDependencies array stays byte-identical.
|
|
737
|
+
const edges = [];
|
|
738
|
+
for (const e of prefabEdges)
|
|
739
|
+
edges.push(e);
|
|
740
|
+
for (const e of scriptEdges)
|
|
741
|
+
edges.push(e);
|
|
742
|
+
for (const e of pptrEdges)
|
|
743
|
+
edges.push(e);
|
|
632
744
|
return edges;
|
|
633
745
|
}
|
|
634
746
|
/** Resolve forward edges against the GUID→path index. Mutates each edge in
|
|
@@ -672,7 +784,13 @@ async function detectCyclesOffline(startPath, startEdges, projectRoot, maxDepth)
|
|
|
672
784
|
}
|
|
673
785
|
}
|
|
674
786
|
const visiting = new Set();
|
|
675
|
-
|
|
787
|
+
// M31-optimizations Plan 3 / L12 — push/pop trail mutation. The previous
|
|
788
|
+
// recursion built the trail immutably via `[...trail, edge.assetPath]` per
|
|
789
|
+
// call (O(n²) path-build via spread). The trail is now a single mutable
|
|
790
|
+
// array pushed before recursing and popped after; the only place an
|
|
791
|
+
// immutable copy is needed is when emitting a discovered cycle (slice).
|
|
792
|
+
const trail = [];
|
|
793
|
+
async function dfs(current) {
|
|
676
794
|
if (trail.length > maxDepth)
|
|
677
795
|
return;
|
|
678
796
|
const edges = await edgesOf(current);
|
|
@@ -680,13 +798,17 @@ async function detectCyclesOffline(startPath, startEdges, projectRoot, maxDepth)
|
|
|
680
798
|
if (!edge.resolved || edge.assetPath === "")
|
|
681
799
|
continue;
|
|
682
800
|
if (edge.assetPath === startPath) {
|
|
801
|
+
// Snapshot the trail + the closing startPath — the only immutable
|
|
802
|
+
// copy (the previous code's [...trail, startPath] at emit time).
|
|
683
803
|
cycles.push([...trail, startPath]);
|
|
684
804
|
continue;
|
|
685
805
|
}
|
|
686
806
|
if (visiting.has(edge.assetPath))
|
|
687
807
|
continue;
|
|
688
808
|
visiting.add(edge.assetPath);
|
|
689
|
-
|
|
809
|
+
trail.push(edge.assetPath);
|
|
810
|
+
await dfs(edge.assetPath);
|
|
811
|
+
trail.pop();
|
|
690
812
|
visiting.delete(edge.assetPath);
|
|
691
813
|
}
|
|
692
814
|
}
|
|
@@ -695,23 +817,117 @@ async function detectCyclesOffline(startPath, startEdges, projectRoot, maxDepth)
|
|
|
695
817
|
continue;
|
|
696
818
|
visiting.clear();
|
|
697
819
|
visiting.add(edge.assetPath);
|
|
698
|
-
|
|
820
|
+
// Seed the mutable trail with [startPath, edge.assetPath] — the same
|
|
821
|
+
// starting state the previous dfs(edge.assetPath, [startPath, edge.assetPath])
|
|
822
|
+
// used. Pop both before the next seed so the trail is empty again.
|
|
823
|
+
trail.length = 0;
|
|
824
|
+
trail.push(startPath, edge.assetPath);
|
|
825
|
+
await dfs(edge.assetPath);
|
|
699
826
|
}
|
|
700
827
|
return cycles;
|
|
701
828
|
}
|
|
702
|
-
/**
|
|
703
|
-
|
|
829
|
+
/**
|
|
830
|
+
* M31-optimizations Plan 2 / H4 + M5 — build the project-wide reverse-edge
|
|
831
|
+
* graph in a SINGLE pass over parseable assets. Returns:
|
|
832
|
+
* - graph: Map<referenced-guid, ReverseEdge[]> — every asset that references
|
|
833
|
+
* each guid. Each edge carries the referencing asset's path + kind + its
|
|
834
|
+
* OWN guid (so the BFS can resolve a frontier node's guid without an
|
|
835
|
+
* extra .meta read).
|
|
836
|
+
* - pathToGuid: Map<asset-path, own-guid> — the inverse lookup for the BFS.
|
|
837
|
+
*
|
|
838
|
+
* Used by {@link dependenciesOffline} to serve both the direct reverse-edge
|
|
839
|
+
* lookup AND the transitive impact BFS via pure Map.get, eliminating the
|
|
840
|
+
* O(closure × project size) re-walk the previous per-node
|
|
841
|
+
* findReferencesOffline calls incurred.
|
|
842
|
+
*
|
|
843
|
+
* In-memory, per-call only (a local variable in dependenciesOffline). Root
|
|
844
|
+
* AGENTS.md forbids disk caches; this is the same category as
|
|
845
|
+
* detectCyclesOffline's edgeCache.
|
|
846
|
+
*
|
|
847
|
+
* Edge semantics mirror findReferencesOffline: a file references a guid when
|
|
848
|
+
* its content contains the guid substring. Self-references are filtered at
|
|
849
|
+
* lookup time (findReferencesFromGraph), not here, so the graph captures
|
|
850
|
+
* every edge regardless of the eventual target.
|
|
851
|
+
*/
|
|
852
|
+
async function buildReverseEdgeGraph(projectRoot) {
|
|
853
|
+
const graph = new Map();
|
|
854
|
+
const pathToGuid = new Map();
|
|
855
|
+
const candidates = await collectFiles(join(projectRoot, "Assets"));
|
|
856
|
+
// Read each parseable asset once. Scan it for every guid: reference and
|
|
857
|
+
// append the asset's edge to each referenced guid's edge list. Also record
|
|
858
|
+
// the asset's own guid (from its .meta) so the impact BFS can resolve a
|
|
859
|
+
// frontier node's guid without re-reading .meta per hop.
|
|
860
|
+
await parallelMap(candidates, async (absPath) => {
|
|
861
|
+
const ext = extname(absPath).toLowerCase();
|
|
862
|
+
if (!OFFLINE_PARSEABLE_EXTENSIONS.has(ext))
|
|
863
|
+
return;
|
|
864
|
+
let content;
|
|
865
|
+
try {
|
|
866
|
+
content = await readFile(absPath, "utf-8");
|
|
867
|
+
}
|
|
868
|
+
catch {
|
|
869
|
+
return;
|
|
870
|
+
}
|
|
871
|
+
if (!content.includes("guid:"))
|
|
872
|
+
return;
|
|
873
|
+
const assetPath = toAssetPath(projectRoot, absPath);
|
|
874
|
+
const kind = kindForPath(absPath);
|
|
875
|
+
// Resolve the asset's own guid once (cheap .meta read, OS-cached).
|
|
876
|
+
const ownGuid = (await safeReadMetaGUID(absPath + ".meta")).toLowerCase();
|
|
877
|
+
const edge = { assetPath, guid: ownGuid, kind };
|
|
878
|
+
if (ownGuid !== "")
|
|
879
|
+
pathToGuid.set(assetPath, ownGuid);
|
|
880
|
+
// findGUIDs returns every guid: substring in the content (lowercased).
|
|
881
|
+
// Dedup within this file via a Set so a guid referenced N times in one
|
|
882
|
+
// asset still produces one edge entry (matches findReferencesOffline,
|
|
883
|
+
// which pushes at most one entry per referencing file).
|
|
884
|
+
const referenced = new Set(findGUIDs(content));
|
|
885
|
+
for (const guid of referenced) {
|
|
886
|
+
let list = graph.get(guid);
|
|
887
|
+
if (!list) {
|
|
888
|
+
list = [];
|
|
889
|
+
graph.set(guid, list);
|
|
890
|
+
}
|
|
891
|
+
list.push(edge);
|
|
892
|
+
}
|
|
893
|
+
});
|
|
894
|
+
return { graph, pathToGuid };
|
|
895
|
+
}
|
|
896
|
+
/**
|
|
897
|
+
* M31-optimizations Plan 2 / H4 — consult the precomputed reverse-edge graph
|
|
898
|
+
* for a single target guid, mirroring findReferencesOffline's reverse-edge
|
|
899
|
+
* semantics (skip self-references; one entry per referencing asset). Pure
|
|
900
|
+
* Map.get — no I/O. The graph is keyed by lowercased guid; the target guid
|
|
901
|
+
* is already lowercased by dependenciesOffline's resolution path.
|
|
902
|
+
*/
|
|
903
|
+
function findReferencesFromGraph(graph, targetGuid, targetPath) {
|
|
904
|
+
const list = graph.get(targetGuid);
|
|
905
|
+
if (!list)
|
|
906
|
+
return [];
|
|
907
|
+
const out = [];
|
|
908
|
+
for (const edge of list) {
|
|
909
|
+
if (edge.assetPath === targetPath)
|
|
910
|
+
continue; // self-reference
|
|
911
|
+
out.push(edge);
|
|
912
|
+
}
|
|
913
|
+
return out;
|
|
914
|
+
}
|
|
915
|
+
/**
|
|
916
|
+
* M31-optimizations Plan 2 / H4 — graph-driven transitive impact BFS.
|
|
917
|
+
* Replaces the previous computeTransitiveImpact, which called
|
|
918
|
+
* findReferencesOffline per frontier node (re-walking the project K times
|
|
919
|
+
* for a closure of size K — O(closure × project size)). The BFS is now pure
|
|
920
|
+
* Map.get on the precomputed reverse-edge graph; the only remaining per-node
|
|
921
|
+
* work is the pathToGuid lookup (a Map.get, not a .meta read — the asset's
|
|
922
|
+
* own guid was captured once during buildReverseEdgeGraph).
|
|
923
|
+
*/
|
|
924
|
+
async function computeTransitiveImpactFromGraph(startGuid, startPath, graph, pathToGuid, maxDepth) {
|
|
704
925
|
const affected = [];
|
|
705
926
|
const seen = new Set([startPath]);
|
|
706
927
|
let frontier = [];
|
|
707
928
|
let truncated = false;
|
|
708
|
-
const seed =
|
|
709
|
-
|
|
710
|
-
guid: startGuid,
|
|
711
|
-
detail: "normal",
|
|
712
|
-
projectRoot,
|
|
713
|
-
});
|
|
714
|
-
for (const e of seed.referencedBy) {
|
|
929
|
+
const seed = findReferencesFromGraph(graph, startGuid, startPath);
|
|
930
|
+
for (const e of seed) {
|
|
715
931
|
if (seen.has(e.assetPath))
|
|
716
932
|
continue;
|
|
717
933
|
seen.add(e.assetPath);
|
|
@@ -723,15 +939,16 @@ async function computeTransitiveImpact(startGuid, startPath, projectRoot, maxDep
|
|
|
723
939
|
break;
|
|
724
940
|
const next = [];
|
|
725
941
|
for (const nodePath of frontier) {
|
|
726
|
-
|
|
727
|
-
|
|
942
|
+
// Resolve the frontier node's guid via the precomputed pathToGuid
|
|
943
|
+
// index — a Map.get, no .meta read. A node whose .meta was missing/
|
|
944
|
+
// blank during the graph build contributes no outgoing edges here,
|
|
945
|
+
// matching the previous safeReadMetaGUID-based path's `if (nodeGuid
|
|
946
|
+
// === "") continue;` guard.
|
|
947
|
+
const nodeGuid = pathToGuid.get(nodePath);
|
|
948
|
+
if (nodeGuid === undefined)
|
|
728
949
|
continue;
|
|
729
|
-
const
|
|
730
|
-
|
|
731
|
-
detail: "normal",
|
|
732
|
-
projectRoot,
|
|
733
|
-
});
|
|
734
|
-
for (const e of res.referencedBy) {
|
|
950
|
+
const referencedByNode = findReferencesFromGraph(graph, nodeGuid, nodePath);
|
|
951
|
+
for (const e of referencedByNode) {
|
|
735
952
|
if (seen.has(e.assetPath))
|
|
736
953
|
continue;
|
|
737
954
|
seen.add(e.assetPath);
|
|
@@ -753,33 +970,52 @@ async function computeTransitiveImpact(startGuid, startPath, projectRoot, maxDep
|
|
|
753
970
|
}
|
|
754
971
|
export async function scanIntegrityOffline(opts) {
|
|
755
972
|
const issues = [];
|
|
756
|
-
|
|
973
|
+
// M31-optimizations Plan 2 / H3 — single meta walk for the whole scan.
|
|
974
|
+
// Previously this walked the meta tree 4× (collectFiles, per-file
|
|
975
|
+
// safeReadMetaGUID, walkMeta for orphans, buildGUIDIndex for integrity).
|
|
976
|
+
// The triples carry everything the scan needs: guidByPath, allAssetPaths,
|
|
977
|
+
// orphan detection, and the full GUID index (no second/third walk).
|
|
978
|
+
const triples = await collectMetaTriples(opts.projectRoot);
|
|
979
|
+
// Derive guidByPath and the full GUID index from the single meta-walk pass.
|
|
980
|
+
// `t.assetPath` is absolute (collectMetaTriples strips the .meta suffix
|
|
981
|
+
// from the absolute metaPath); convert to project-relative once.
|
|
757
982
|
const guidByPath = new Map();
|
|
758
|
-
const
|
|
983
|
+
const fullGuidIndex = new Map();
|
|
984
|
+
for (const t of triples) {
|
|
985
|
+
const assetRel = toAssetPath(opts.projectRoot, t.assetPath);
|
|
986
|
+
if (t.guid !== "") {
|
|
987
|
+
guidByPath.set(assetRel, t.guid);
|
|
988
|
+
fullGuidIndex.set(t.guid, assetRel);
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
// allAssetPaths: every real asset on disk (not just those with .meta), used
|
|
992
|
+
// for orphan detection (a .meta whose companion asset is missing) and the
|
|
993
|
+
// assetsScanned count. The previous implementation derived this from a
|
|
994
|
+
// collectFiles walk; that walk is NOT a meta-walk, so keeping it does not
|
|
995
|
+
// regress H3 (which only consolidates the meta walks). The collectFiles
|
|
996
|
+
// walk is bounded-parallel (Plan 2 / M4) and shares the same readdir-order
|
|
997
|
+
// traversal as collectMetaTriples, so iteration order stays byte-identical.
|
|
998
|
+
const assetsDir = join(opts.projectRoot, "Assets");
|
|
759
999
|
const assetFiles = await collectFiles(assetsDir);
|
|
1000
|
+
const allAssetPaths = new Set();
|
|
760
1001
|
for (const absPath of assetFiles) {
|
|
761
|
-
|
|
762
|
-
allAssetPaths.add(assetPath);
|
|
763
|
-
const metaGuid = await safeReadMetaGUID(absPath + ".meta");
|
|
764
|
-
if (metaGuid !== "") {
|
|
765
|
-
guidByPath.set(assetPath, metaGuid);
|
|
766
|
-
}
|
|
1002
|
+
allAssetPaths.add(toAssetPath(opts.projectRoot, absPath));
|
|
767
1003
|
}
|
|
768
|
-
const metaOnlyPaths = new Set();
|
|
769
|
-
await walkMeta(assetsDir, async (metaPath) => {
|
|
770
|
-
const assetPath = toAssetPath(opts.projectRoot, metaPath.slice(0, -5));
|
|
771
|
-
if (!allAssetPaths.has(assetPath)) {
|
|
772
|
-
metaOnlyPaths.add(assetPath);
|
|
773
|
-
}
|
|
774
|
-
});
|
|
775
1004
|
// ---- orphan_meta: .meta whose companion asset is gone ----
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
1005
|
+
// An orphan is a triple whose companion asset path is NOT in the on-disk
|
|
1006
|
+
// asset file set. (Previously detected via a second walkMeta pass diffing
|
|
1007
|
+
// against allAssetPaths; now derived from the single triples pass + the
|
|
1008
|
+
// one collectFiles walk we already needed for the integrity loop.)
|
|
1009
|
+
for (const t of triples) {
|
|
1010
|
+
const assetRel = toAssetPath(opts.projectRoot, t.assetPath);
|
|
1011
|
+
if (!allAssetPaths.has(assetRel)) {
|
|
1012
|
+
issues.push({
|
|
1013
|
+
path: assetRel + ".meta",
|
|
1014
|
+
code: "orphan_meta",
|
|
1015
|
+
severity: "warning",
|
|
1016
|
+
detail: `meta file has no companion asset at ${assetRel}`,
|
|
1017
|
+
});
|
|
1018
|
+
}
|
|
783
1019
|
}
|
|
784
1020
|
// ---- duplicate_guid: GUID shared by 2+ assets ----
|
|
785
1021
|
const pathsByGuid = new Map();
|
|
@@ -790,6 +1026,11 @@ export async function scanIntegrityOffline(opts) {
|
|
|
790
1026
|
else
|
|
791
1027
|
pathsByGuid.set(guid, [assetPath]);
|
|
792
1028
|
}
|
|
1029
|
+
// M31-optimizations Plan 2 / H3 — preserve the previous iteration order so
|
|
1030
|
+
// duplicate_guid issue ordering stays byte-identical. The previous impl
|
|
1031
|
+
// iterated guidByPath (Map insertion order = assetFiles walk order); the
|
|
1032
|
+
// triples-derived guidByPath preserves that same order because triples
|
|
1033
|
+
// are pushed in walkMeta's readdir-order walk (matching collectFiles).
|
|
793
1034
|
for (const [guid, paths] of pathsByGuid) {
|
|
794
1035
|
if (paths.length < 2)
|
|
795
1036
|
continue;
|
|
@@ -804,7 +1045,10 @@ export async function scanIntegrityOffline(opts) {
|
|
|
804
1045
|
}
|
|
805
1046
|
}
|
|
806
1047
|
// ---- aggregated missing references (the per-read check, project-wide) ----
|
|
807
|
-
|
|
1048
|
+
// fullGuidIndex was populated from the single triples pass above — no
|
|
1049
|
+
// separate buildGUIDIndex walk. The asset-body reads below are inherent to
|
|
1050
|
+
// scanning (each YAML asset must be parsed to surface its missing refs);
|
|
1051
|
+
// this plan only collapsed the meta walks, not the body reads.
|
|
808
1052
|
for (const absPath of assetFiles) {
|
|
809
1053
|
const ext = extname(absPath).toLowerCase();
|
|
810
1054
|
if (!OFFLINE_PARSEABLE_EXTENSIONS.has(ext))
|
|
@@ -846,6 +1090,7 @@ export async function scanIntegrityOffline(opts) {
|
|
|
846
1090
|
byCode,
|
|
847
1091
|
totalIssues: issues.length,
|
|
848
1092
|
assetsScanned: allAssetPaths.size,
|
|
1093
|
+
// Inline tag is load-bearing — see the note on IntegrityScanResult._source.
|
|
849
1094
|
_source: "offline",
|
|
850
1095
|
};
|
|
851
1096
|
}
|