unity-open-mcp 0.7.0 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/batch-spawn.d.ts +12 -0
- package/dist/batch-spawn.js +106 -10
- 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 +34 -0
- package/dist/capabilities/build-capabilities.js +188 -450
- 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/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 +8 -4
- package/dist/capabilities/tool-groups.js +36 -9
- 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 +64 -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/constants.d.ts +6 -5
- package/dist/constants.js +6 -5
- package/dist/constants.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 -140
- 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 +333 -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 +54 -0
- package/dist/tool-router.js +689 -51
- package/dist/tool-router.js.map +1 -1
- package/dist/tool-session-state.d.ts +82 -10
- package/dist/tool-session-state.js +116 -13
- 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 -57
- 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 -74
- package/dist/tools/batch-execute.js.map +1 -1
- package/dist/tools/bridge-status.d.ts +40 -2
- package/dist/tools/bridge-status.js +33 -38
- 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 -14
- 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 -15
- package/dist/tools/delta.js.map +1 -1
- package/dist/tools/dependencies.d.ts +40 -2
- package/dist/tools/dependencies.js +55 -60
- 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 -53
- 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 +70 -36
- 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 -60
- 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
|
@@ -6,9 +6,105 @@
|
|
|
6
6
|
// entry points use. Depends on types + primitives only.
|
|
7
7
|
import { readFile, readdir, stat } from "node:fs/promises";
|
|
8
8
|
import { join } from "node:path";
|
|
9
|
-
import { shouldSkipDir, toAssetPath } from "./paths.js";
|
|
9
|
+
import { shouldSkipDir, toAssetPath, extractExtension } from "./paths.js";
|
|
10
10
|
import { readMetaGUID } from "./primitives.js";
|
|
11
11
|
// ===========================================================================
|
|
12
|
+
// Bounded-parallel map helper (M31-optimizations Plan 2 / M4).
|
|
13
|
+
//
|
|
14
|
+
// Walkers fan out `Promise.all(entries.map(...))` to overlap stat/readdir
|
|
15
|
+
// syscalls across sibling entries. Unbounded fan-out on a project with
|
|
16
|
+
// thousands of sibling files can exhaust the process fd table before the
|
|
17
|
+
// first responses settle. `parallelMap` applies `fn` to each entry inside
|
|
18
|
+
// fixed-size chunks, awaiting each chunk before starting the next. The chunk
|
|
19
|
+
// order matches input order so callers that push results in iteration order
|
|
20
|
+
// keep deterministic output.
|
|
21
|
+
//
|
|
22
|
+
// 64 is the same heuristic the existing walkMeta path effectively relies on
|
|
23
|
+
// (its Promise.all burst typically stays well under the per-process soft fd
|
|
24
|
+
// limit on macOS/Linux, ~256). Tuned to leave headroom for the rest of the
|
|
25
|
+
// process while still overlapping the bulk of the stat latency.
|
|
26
|
+
//
|
|
27
|
+
// M16 — parallelMap caps concurrency PER CALL, but walkMeta/collectFiles
|
|
28
|
+
// recurse INSIDE the mapped fn, so each of the 64 concurrent slots could
|
|
29
|
+
// spawn another 64-wide parallelMap → worst-case 64^depth concurrent syscalls.
|
|
30
|
+
// The recursive walkers now share a single AsyncSemaphore (see below) across
|
|
31
|
+
// the whole tree, so the global in-flight count stays bounded by
|
|
32
|
+
// WALK_CONCURRENCY regardless of depth. parallelMap itself is unchanged (still
|
|
33
|
+
// used by non-recursive callers + exported for direct unit tests).
|
|
34
|
+
// ===========================================================================
|
|
35
|
+
const PARALLEL_CHUNK_SIZE = 64;
|
|
36
|
+
export async function parallelMap(items, fn, chunkSize = PARALLEL_CHUNK_SIZE) {
|
|
37
|
+
const out = [];
|
|
38
|
+
for (let i = 0; i < items.length; i += chunkSize) {
|
|
39
|
+
const slice = items.slice(i, i + chunkSize);
|
|
40
|
+
const mapped = await Promise.all(slice.map((item, j) => fn(item, i + j)));
|
|
41
|
+
for (const m of mapped)
|
|
42
|
+
out.push(m);
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
// ===========================================================================
|
|
47
|
+
// M16 — AsyncSemaphore: bounds the TOTAL concurrent async operations across a
|
|
48
|
+
// whole recursive walk, not just per recursion level. `parallelMap` alone
|
|
49
|
+
// gives 64^depth worst-case fan-out because each level's mapped fn recurses
|
|
50
|
+
// into another 64-wide parallelMap. Sharing one semaphore across the tree
|
|
51
|
+
// caps the global in-flight count at WALK_CONCURRENCY.
|
|
52
|
+
//
|
|
53
|
+
// acquire() resolves once a slot is free (FIFO via a queue of deferred
|
|
54
|
+
// resolvers); release() frees a slot and wakes the next waiter. The walkers
|
|
55
|
+
// acquire BEFORE each stat/readdir/fn call and release in a finally so a
|
|
56
|
+
// throw never leaks a slot.
|
|
57
|
+
// ===========================================================================
|
|
58
|
+
export const WALK_CONCURRENCY = 64;
|
|
59
|
+
export class AsyncSemaphore {
|
|
60
|
+
permits;
|
|
61
|
+
available;
|
|
62
|
+
waiters = [];
|
|
63
|
+
constructor(permits = WALK_CONCURRENCY) {
|
|
64
|
+
this.permits = permits;
|
|
65
|
+
if (permits < 1)
|
|
66
|
+
throw new Error("AsyncSemaphore requires permits >= 1");
|
|
67
|
+
this.available = permits;
|
|
68
|
+
}
|
|
69
|
+
async acquire() {
|
|
70
|
+
if (this.available > 0) {
|
|
71
|
+
this.available--;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
await new Promise((resolve) => {
|
|
75
|
+
this.waiters.push(resolve);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
release() {
|
|
79
|
+
const next = this.waiters.shift();
|
|
80
|
+
if (next) {
|
|
81
|
+
// Hand the slot directly to the next waiter (count stays constant).
|
|
82
|
+
next();
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.available++;
|
|
86
|
+
}
|
|
87
|
+
/** Run `fn` while holding one permit. Always releases (even on throw). */
|
|
88
|
+
async withPermit(fn) {
|
|
89
|
+
await this.acquire();
|
|
90
|
+
try {
|
|
91
|
+
return await fn();
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
this.release();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* M16 note: the recursive walkers (walkMeta, collectFiles) fan out siblings
|
|
100
|
+
* with `Promise.all` and acquire a permit around each individual async
|
|
101
|
+
* filesystem op (stat / readdir / fn), NOT around the recursive call. This
|
|
102
|
+
* bounds the GLOBAL in-flight op count at `semaphore.permits` regardless of
|
|
103
|
+
* tree depth, without deadlocking (a permit held across recursion would
|
|
104
|
+
* wedge once the tree is wider than `permits`). Output order is preserved by
|
|
105
|
+
* placing each sibling's result in an input-order-indexed slot.
|
|
106
|
+
*/
|
|
107
|
+
// ===========================================================================
|
|
12
108
|
// Parsed-asset GUID extraction — scopes the index builders to only the GUIDs
|
|
13
109
|
// a given asset references.
|
|
14
110
|
// ===========================================================================
|
|
@@ -67,78 +163,321 @@ export async function buildScriptIndex(projectRoot, wanted) {
|
|
|
67
163
|
return index;
|
|
68
164
|
}
|
|
69
165
|
export async function buildScriptIndexForQuery(projectRoot, query) {
|
|
70
|
-
|
|
166
|
+
// M31-optimizations Plan 2 / L2 — delegate to buildGuidScriptAndNameIndex
|
|
167
|
+
// so the script-name → guid → path mapping is produced by the same
|
|
168
|
+
// single-walk primitive the read_asset path uses. The function's public
|
|
169
|
+
// contract (scriptIndex filtered by name substring) is preserved; the
|
|
170
|
+
// scriptNameIndex + guidIndex byproducts are dropped here because the
|
|
171
|
+
// call site only needs the script subset.
|
|
71
172
|
const q = query.trim().toLowerCase();
|
|
72
173
|
if (q === "")
|
|
73
|
-
return
|
|
174
|
+
return new Map();
|
|
175
|
+
const { scriptNameIndex } = await buildGuidScriptAndNameIndex(projectRoot, {
|
|
176
|
+
componentQuery: q,
|
|
177
|
+
});
|
|
178
|
+
const index = new Map();
|
|
179
|
+
for (const [guid, entry] of scriptNameIndex)
|
|
180
|
+
index.set(guid, entry.path);
|
|
181
|
+
return index;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Build both the GUID→path index and the script (.cs) subset in a SINGLE meta
|
|
185
|
+
* walk, filtered to the union of `wantedGuids` and `wantedScripts`. Mirrors
|
|
186
|
+
* the previous two-call sequence (buildScriptIndex + buildGUIDIndex) but
|
|
187
|
+
* collapses the redundant second walk. `wantedScripts` is a separate argument
|
|
188
|
+
* (rather than folded into `wantedGuids`) so the script subset can be
|
|
189
|
+
* filtered against it even when the caller wants all field GUIDs.
|
|
190
|
+
*
|
|
191
|
+
* When both wanted sets are empty, returns empty indices without touching the
|
|
192
|
+
* filesystem (matches the previous early-out in buildGUIDIndex).
|
|
193
|
+
*/
|
|
194
|
+
export async function buildGuidAndScriptIndex(projectRoot, wantedGuids, wantedScripts) {
|
|
195
|
+
const guidIndex = new Map();
|
|
196
|
+
const scriptIndex = new Map();
|
|
197
|
+
if (wantedGuids && wantedGuids.size === 0 && (!wantedScripts || wantedScripts.size === 0)) {
|
|
198
|
+
return { guidIndex, scriptIndex };
|
|
199
|
+
}
|
|
200
|
+
// Union the wanted sets: one entry is read at most once during the walk.
|
|
201
|
+
// A meta file's GUID is interesting if it appears in either set; the script
|
|
202
|
+
// subset is the .cs entries within that intersection.
|
|
203
|
+
const wanted = new Set();
|
|
204
|
+
if (wantedGuids)
|
|
205
|
+
for (const g of wantedGuids)
|
|
206
|
+
wanted.add(g);
|
|
207
|
+
if (wantedScripts)
|
|
208
|
+
for (const g of wantedScripts)
|
|
209
|
+
wanted.add(g);
|
|
74
210
|
const assetsDir = join(projectRoot, "Assets");
|
|
75
211
|
await walkMeta(assetsDir, async (metaPath) => {
|
|
76
|
-
if (!metaPath.endsWith(".cs.meta"))
|
|
77
|
-
return;
|
|
78
|
-
const scriptPath = metaPath.slice(0, -5);
|
|
79
|
-
const base = scriptPath.split("/").pop() ?? scriptPath;
|
|
80
|
-
const ext = scriptPath.match(/\.[^.]+$/)?.[0] ?? "";
|
|
81
|
-
const name = ext ? base.slice(0, -ext.length) : base;
|
|
82
|
-
if (!name.toLowerCase().includes(q))
|
|
83
|
-
return;
|
|
84
212
|
try {
|
|
85
213
|
const data = await readFile(metaPath, "utf-8");
|
|
86
|
-
|
|
214
|
+
let guid = readMetaGUID(data);
|
|
87
215
|
if (guid === "")
|
|
88
216
|
return;
|
|
89
|
-
|
|
217
|
+
guid = guid.toLowerCase();
|
|
218
|
+
if (wanted.size > 0 && !wanted.has(guid))
|
|
219
|
+
return;
|
|
220
|
+
const assetPath = toAssetPath(projectRoot, metaPath.slice(0, -5));
|
|
221
|
+
guidIndex.set(guid, assetPath);
|
|
222
|
+
if (assetPath.endsWith(".cs"))
|
|
223
|
+
scriptIndex.set(guid, assetPath);
|
|
90
224
|
}
|
|
91
225
|
catch { /* skip */ }
|
|
92
226
|
});
|
|
93
|
-
return
|
|
227
|
+
return { guidIndex, scriptIndex };
|
|
94
228
|
}
|
|
95
|
-
|
|
229
|
+
/**
|
|
230
|
+
* Extend {@link buildGuidAndScriptIndex} with a script-name → guid → path
|
|
231
|
+
* mapping for every `.cs` file seen during the walk. Used by search_assets's
|
|
232
|
+
* `component` query (L2): instead of a separate `buildScriptIndexForQuery`
|
|
233
|
+
* walk, the component path derives its script-name-substring index from the
|
|
234
|
+
* same single walk that builds the guid + script indices.
|
|
235
|
+
*
|
|
236
|
+
* When a `componentQuery` is supplied, only the .cs files whose lowercased
|
|
237
|
+
* filename contains the query are added to `scriptNameIndex` — matching the
|
|
238
|
+
* previous buildScriptIndexForQuery filter exactly. Pass undefined to collect
|
|
239
|
+
* every script's name mapping (the search_assets guid-query path uses the
|
|
240
|
+
* guidIndex only, but the walk is shared so the name index is a free
|
|
241
|
+
* byproduct).
|
|
242
|
+
*/
|
|
243
|
+
export async function buildGuidScriptAndNameIndex(projectRoot, opts = {}) {
|
|
244
|
+
const guidIndex = new Map();
|
|
245
|
+
const scriptIndex = new Map();
|
|
246
|
+
const scriptNameIndex = new Map();
|
|
247
|
+
const wanted = new Set();
|
|
248
|
+
if (opts.wantedGuids)
|
|
249
|
+
for (const g of opts.wantedGuids)
|
|
250
|
+
wanted.add(g);
|
|
251
|
+
if (opts.wantedScripts)
|
|
252
|
+
for (const g of opts.wantedScripts)
|
|
253
|
+
wanted.add(g);
|
|
254
|
+
if (wanted.size === 0 && opts.componentQuery === undefined) {
|
|
255
|
+
return { guidIndex, scriptIndex, scriptNameIndex };
|
|
256
|
+
}
|
|
257
|
+
const q = opts.componentQuery?.trim().toLowerCase();
|
|
258
|
+
const assetsDir = join(projectRoot, "Assets");
|
|
259
|
+
await walkMeta(assetsDir, async (metaPath) => {
|
|
260
|
+
if (!metaPath.endsWith(".cs.meta")) {
|
|
261
|
+
// Non-script meta: only relevant for the wanted-guid set.
|
|
262
|
+
if (wanted.size === 0)
|
|
263
|
+
return;
|
|
264
|
+
try {
|
|
265
|
+
const data = await readFile(metaPath, "utf-8");
|
|
266
|
+
let guid = readMetaGUID(data);
|
|
267
|
+
if (guid === "")
|
|
268
|
+
return;
|
|
269
|
+
guid = guid.toLowerCase();
|
|
270
|
+
if (!wanted.has(guid))
|
|
271
|
+
return;
|
|
272
|
+
guidIndex.set(guid, toAssetPath(projectRoot, metaPath.slice(0, -5)));
|
|
273
|
+
}
|
|
274
|
+
catch { /* skip */ }
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
// .cs.meta — derive the script name from the path (no file body read
|
|
278
|
+
// needed; the name is the filename without extension). Mirror
|
|
279
|
+
// buildScriptIndexForQuery's name-extraction exactly so the substring
|
|
280
|
+
// filter matches byte-for-byte. M31-optimizations Plan 3 / L8-offline —
|
|
281
|
+
// extension extraction delegates to the shared extractExtension helper
|
|
282
|
+
// (was an inline `scriptPath.match(/\.[^.]+$/)` literal on the hot
|
|
283
|
+
// meta-walk path; hoisted to paths.ts so this and overrides.ts share one
|
|
284
|
+
// compile).
|
|
285
|
+
const scriptPath = metaPath.slice(0, -5);
|
|
286
|
+
const base = scriptPath.split("/").pop() ?? scriptPath;
|
|
287
|
+
const ext = extractExtension(scriptPath);
|
|
288
|
+
const name = (ext ? base.slice(0, -ext.length) : base).toLowerCase();
|
|
289
|
+
const assetPath = toAssetPath(projectRoot, scriptPath);
|
|
290
|
+
let guid = "";
|
|
291
|
+
try {
|
|
292
|
+
guid = readMetaGUID(await readFile(metaPath, "utf-8"));
|
|
293
|
+
}
|
|
294
|
+
catch { /* skip */ }
|
|
295
|
+
if (guid === "")
|
|
296
|
+
return;
|
|
297
|
+
guid = guid.toLowerCase();
|
|
298
|
+
// Only populate guidIndex/scriptIndex when a wanted set is in force —
|
|
299
|
+
// callers that pass only a componentQuery (e.g. buildScriptIndexForQuery)
|
|
300
|
+
// never consult those maps, so skipping their population saves the per-cs
|
|
301
|
+
// Map.set work in that path.
|
|
302
|
+
if (wanted.size > 0 && wanted.has(guid)) {
|
|
303
|
+
guidIndex.set(guid, assetPath);
|
|
304
|
+
scriptIndex.set(guid, assetPath);
|
|
305
|
+
}
|
|
306
|
+
// scriptNameIndex is populated for matching names regardless of the
|
|
307
|
+
// wanted set — the component-query path resolves a script-name substring
|
|
308
|
+
// to its guid(s) unconditionally (mirrors buildScriptIndexForQuery,
|
|
309
|
+
// which never consulted a wanted set).
|
|
310
|
+
if (q === undefined || name.includes(q)) {
|
|
311
|
+
scriptNameIndex.set(guid, { name, path: assetPath });
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
return { guidIndex, scriptIndex, scriptNameIndex };
|
|
315
|
+
}
|
|
316
|
+
// ===========================================================================
|
|
317
|
+
// M31-optimizations Plan 2 — test-only walk counters.
|
|
318
|
+
//
|
|
319
|
+
// The single-walk acceptance criteria (H3 / H5) are easiest to verify with a
|
|
320
|
+
// side-channel counter of how many times the meta-tree walker is entered per
|
|
321
|
+
// operation. The counters are module-level, reset via resetWalkCounters, and
|
|
322
|
+
// incremented at the top of walkMeta / collectFiles. They have zero overhead
|
|
323
|
+
// in production (one integer increment per walk entry) and no effect on
|
|
324
|
+
// behavior. Read via walkMetaCount / collectFilesCount.
|
|
325
|
+
// ===========================================================================
|
|
326
|
+
let walkMetaCount = 0;
|
|
327
|
+
let collectFilesCount = 0;
|
|
328
|
+
/** Test seam: reset the walk counters to zero. */
|
|
329
|
+
export function resetWalkCounters() {
|
|
330
|
+
walkMetaCount = 0;
|
|
331
|
+
collectFilesCount = 0;
|
|
332
|
+
}
|
|
333
|
+
/** Test seam: number of times `walkMeta` has been entered since the last
|
|
334
|
+
* reset. Each call counts the top-level entry plus one recursive entry per
|
|
335
|
+
* subdirectory — so for a tree with D directories, a single walk reports
|
|
336
|
+
* walkMetaCount === D. */
|
|
337
|
+
export function getWalkMetaCount() {
|
|
338
|
+
return walkMetaCount;
|
|
339
|
+
}
|
|
340
|
+
/** Test seam: number of times `collectFiles` has been entered since the last
|
|
341
|
+
* reset. Same counting shape as walkMetaCount. */
|
|
342
|
+
export function getCollectFilesCount() {
|
|
343
|
+
return collectFilesCount;
|
|
344
|
+
}
|
|
345
|
+
export async function walkMeta(dir, fn, semaphore) {
|
|
346
|
+
walkMetaCount++;
|
|
347
|
+
// M16 — create one shared semaphore at the top-level entry and thread it
|
|
348
|
+
// through every recursion so the GLOBAL count of in-flight filesystem
|
|
349
|
+
// operations is bounded across the whole tree (not 64^depth). The permit is
|
|
350
|
+
// acquired around each individual async op (stat, fn), NOT around the
|
|
351
|
+
// recursive walkMeta call — otherwise a directory entry would hold its
|
|
352
|
+
// permit across the entire subtree walk, deadlocking once the tree is wider
|
|
353
|
+
// than `permits`. Recursion fans out freely; only the leaf ops are gated.
|
|
354
|
+
const sem = semaphore ?? new AsyncSemaphore();
|
|
96
355
|
let entries;
|
|
356
|
+
// A9 — gate readdir under the SAME permit as stat/fn. readdir is the op that
|
|
357
|
+
// actually opens a directory handle, so leaving it ungated let the in-flight
|
|
358
|
+
// directory-handle count grow with the number of directories in the tree
|
|
359
|
+
// (each child walk issued its readdir ungated the moment its parent's stat
|
|
360
|
+
// resolved), contradicting the "global in-flight count is bounded by
|
|
361
|
+
// WALK_CONCURRENCY" invariant the M16 comment claims. On error (missing /
|
|
362
|
+
// unreadable dir) there is nothing to walk — return early.
|
|
97
363
|
try {
|
|
98
|
-
entries = await readdir(dir);
|
|
364
|
+
entries = await sem.withPermit(() => readdir(dir));
|
|
99
365
|
}
|
|
100
366
|
catch {
|
|
101
367
|
return;
|
|
102
368
|
}
|
|
369
|
+
// Fan out all siblings at once; the semaphore is the ONLY concurrency bound.
|
|
370
|
+
// Each entry acquires a permit just for its stat (+ the fn call for .meta
|
|
371
|
+
// files), then releases before recursing so the subtree's ops compete for
|
|
372
|
+
// permits on equal footing with this level's other siblings.
|
|
103
373
|
await Promise.all(entries.map(async (name) => {
|
|
104
374
|
if (shouldSkipDir(name))
|
|
105
375
|
return;
|
|
106
376
|
const fullPath = join(dir, name);
|
|
377
|
+
let isDir = false;
|
|
107
378
|
try {
|
|
108
|
-
const s = await stat(fullPath);
|
|
109
|
-
|
|
110
|
-
await walkMeta(fullPath, fn);
|
|
111
|
-
else if (name.endsWith(".meta"))
|
|
112
|
-
await fn(fullPath);
|
|
379
|
+
const s = await sem.withPermit(() => stat(fullPath));
|
|
380
|
+
isDir = s.isDirectory();
|
|
113
381
|
}
|
|
114
382
|
catch { /* skip */ }
|
|
383
|
+
if (isDir) {
|
|
384
|
+
// Recurse WITHOUT holding a permit — the child walk's own stat/fn ops
|
|
385
|
+
// acquire permits, so the global in-flight count stays bounded.
|
|
386
|
+
await walkMeta(fullPath, fn, sem);
|
|
387
|
+
}
|
|
388
|
+
else if (name.endsWith(".meta")) {
|
|
389
|
+
await sem.withPermit(() => fn(fullPath));
|
|
390
|
+
}
|
|
115
391
|
}));
|
|
116
392
|
}
|
|
393
|
+
/**
|
|
394
|
+
* Walk the `Assets/` tree once and return one {@link MetaTriple} per `.meta`
|
|
395
|
+
* file. Each triple carries the .meta path, its companion asset path (which
|
|
396
|
+
* may not exist — an orphan), and the lowercased GUID (or "" when missing).
|
|
397
|
+
* Callers derive guidByPath / allAssetPaths / fullGuidIndex / orphan detection
|
|
398
|
+
* from this single pass instead of re-walking the tree for each derivation.
|
|
399
|
+
*/
|
|
400
|
+
export async function collectMetaTriples(projectRoot) {
|
|
401
|
+
const triples = [];
|
|
402
|
+
const assetsDir = join(projectRoot, "Assets");
|
|
403
|
+
await walkMeta(assetsDir, async (metaPath) => {
|
|
404
|
+
let guid = "";
|
|
405
|
+
try {
|
|
406
|
+
guid = readMetaGUID(await readFile(metaPath, "utf-8")).toLowerCase();
|
|
407
|
+
}
|
|
408
|
+
catch { /* leave guid = "" */ }
|
|
409
|
+
triples.push({ metaPath, assetPath: metaPath.slice(0, -5), guid });
|
|
410
|
+
});
|
|
411
|
+
return triples;
|
|
412
|
+
}
|
|
117
413
|
// ===========================================================================
|
|
118
414
|
// Recursive file walkers (non-.meta) shared by search / find-refs / integrity.
|
|
119
415
|
// ===========================================================================
|
|
120
|
-
|
|
121
|
-
|
|
416
|
+
/**
|
|
417
|
+
* Recursively collect non-`.meta` file paths under `dir`.
|
|
418
|
+
*
|
|
419
|
+
* M31-optimizations Plan 2 / M4 + L5, reworked by M16/A9 — fans out all
|
|
420
|
+
* siblings at once via a single `Promise.all`, with a shared
|
|
421
|
+
* {@link AsyncSemaphore} (threaded through the recursion) bounding the
|
|
422
|
+
* global number of in-flight readdir/stat syscalls to WALK_CONCURRENCY
|
|
423
|
+
* regardless of tree depth. This replaced both the original sequential
|
|
424
|
+
* per-sibling await and the intermediate per-call `parallelMap` chunking
|
|
425
|
+
* (which multiplied across recursion levels). The order-stable merge
|
|
426
|
+
* remains: each entry's results land in a fixed input-order slot instead of
|
|
427
|
+
* the previous `results.push(...await collectFiles(fullPath))` spread
|
|
428
|
+
* (which was O(depth × N) element copies).
|
|
429
|
+
*
|
|
430
|
+
* Output ordering matches the original sequential implementation: entries
|
|
431
|
+
* appear in `readdir` order, with each directory's descendants inlined where
|
|
432
|
+
* the directory sat in its parent's listing. The slot-based merge guarantees
|
|
433
|
+
* a subdir's descendants always land in `results` at the position the subdir
|
|
434
|
+
* occupied, regardless of which sibling's stat settled first.
|
|
435
|
+
*/
|
|
436
|
+
export async function collectFiles(dir, semaphore) {
|
|
437
|
+
collectFilesCount++;
|
|
438
|
+
// M16 — shared semaphore threaded through recursion (see walkMeta). The
|
|
439
|
+
// permit gates only the stat syscall, not the recursive collectFiles call.
|
|
440
|
+
const sem = semaphore ?? new AsyncSemaphore();
|
|
122
441
|
let entries;
|
|
442
|
+
// A9 — gate readdir under the shared permit (see walkMeta): readdir opens a
|
|
443
|
+
// directory handle, so leaving it ungated broke the "global in-flight op
|
|
444
|
+
// count is bounded by WALK_CONCURRENCY" invariant. On error return [].
|
|
123
445
|
try {
|
|
124
|
-
entries = await readdir(dir);
|
|
446
|
+
entries = await sem.withPermit(() => readdir(dir));
|
|
125
447
|
}
|
|
126
448
|
catch {
|
|
127
|
-
return
|
|
449
|
+
return [];
|
|
128
450
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
451
|
+
// Each entry contributes a list of paths (a file → [fullPath]; a subdir →
|
|
452
|
+
// its own collectFiles result; an error/skip → []). Fan out siblings at
|
|
453
|
+
// once; the semaphore bounds global in-flight stat ops. Results land in
|
|
454
|
+
// input-order slots (each entry's list is placed at its index) so the
|
|
455
|
+
// flattened output is deterministic regardless of resolution order.
|
|
456
|
+
const perEntry = new Array(entries.length);
|
|
457
|
+
await Promise.all(entries.map(async (name, i) => {
|
|
458
|
+
if (shouldSkipDir(name)) {
|
|
459
|
+
perEntry[i] = [];
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
132
462
|
const fullPath = join(dir, name);
|
|
133
463
|
try {
|
|
134
|
-
const s = await stat(fullPath);
|
|
135
|
-
if (s.isDirectory())
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
464
|
+
const s = await sem.withPermit(() => stat(fullPath));
|
|
465
|
+
if (s.isDirectory()) {
|
|
466
|
+
// Recurse WITHOUT holding a permit.
|
|
467
|
+
perEntry[i] = await collectFiles(fullPath, sem);
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
perEntry[i] = name.endsWith(".meta") ? [] : [fullPath];
|
|
471
|
+
return;
|
|
139
472
|
}
|
|
140
|
-
catch {
|
|
141
|
-
|
|
473
|
+
catch {
|
|
474
|
+
perEntry[i] = [];
|
|
475
|
+
}
|
|
476
|
+
}));
|
|
477
|
+
const results = [];
|
|
478
|
+
for (const list of perEntry)
|
|
479
|
+
for (const p of list)
|
|
480
|
+
results.push(p);
|
|
142
481
|
return results;
|
|
143
482
|
}
|
|
144
483
|
export async function resolveGUIDPaths(projectRoot, guidQuery) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-builders.js","sourceRoot":"","sources":["../../src/offline/index-builders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-builders.js","sourceRoot":"","sources":["../../src/offline/index-builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { basename } from "node:path";
|
|
14
14
|
import { displayFieldName } from "./names.js";
|
|
15
15
|
import { cleanScalar, extractFileID, extractGUID } from "./primitives.js";
|
|
16
|
+
import { extractExtension } from "./paths.js";
|
|
16
17
|
// ===========================================================================
|
|
17
18
|
// Prefab override name resolution — runs at parse time.
|
|
18
19
|
// ===========================================================================
|
|
@@ -258,9 +259,12 @@ function labelForParsedObject(obj, parsed, scriptIndex) {
|
|
|
258
259
|
}
|
|
259
260
|
// Re-export basename-derived helper for the script-path name extraction so the
|
|
260
261
|
// hierarchy module's componentName can share it without re-importing node:path.
|
|
262
|
+
// M31-optimizations Plan 3 / L8-offline — extension extraction delegates to
|
|
263
|
+
// the shared extractExtension helper (was an inline `path.match(/\.[^.]+$/)`
|
|
264
|
+
// literal duplicating index-builders.ts's copy; both now share one regex).
|
|
261
265
|
export function scriptBaseName(path) {
|
|
262
266
|
const base = basename(path);
|
|
263
|
-
const ext = path
|
|
267
|
+
const ext = extractExtension(path);
|
|
264
268
|
return ext ? base.slice(0, -ext.length) : base;
|
|
265
269
|
}
|
|
266
270
|
//# sourceMappingURL=overrides.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/offline/overrides.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,2EAA2E;AAC3E,+BAA+B;AAC/B,2EAA2E;AAC3E,kEAAkE;AAClE,yEAAyE;AACzE,qEAAqE;AACrE,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,+DAA+D;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AASrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/offline/overrides.ts"],"names":[],"mappings":"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"}
|
package/dist/offline/parse.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// Depends on types + primitives + overrides (for applyPrefabNameOverrides at
|
|
14
14
|
// parse time).
|
|
15
15
|
import { EMPTY_PARSED } from "./types.js";
|
|
16
|
-
import { parseHeaderLine,
|
|
16
|
+
import { parseHeaderLine, scanObjectTypeLine, extractKnownFields, } from "./primitives.js";
|
|
17
17
|
import { applyPrefabNameOverrides } from "./overrides.js";
|
|
18
18
|
// ===========================================================================
|
|
19
19
|
// YAML parser — split YAML into documents, extract key fields per object.
|
|
@@ -58,25 +58,37 @@ export function parseAsset(data) {
|
|
|
58
58
|
return { path: "", kind: "", guid: "", objects, byID };
|
|
59
59
|
}
|
|
60
60
|
function finishObject(o, objects, byID) {
|
|
61
|
+
// M31-optimizations Plan 3 / H7 — single-pass known-field extraction.
|
|
62
|
+
// Previously finishObject called up to 6 independent scanners on o.lines
|
|
63
|
+
// (readScalar, readFileIDField ×N, readGUIDField ×N, readComponentIDs),
|
|
64
|
+
// each restarting from line 0 (O(6 × lines) per object). extractKnownFields
|
|
65
|
+
// walks the line array exactly once and returns every field finishObject
|
|
66
|
+
// needs. The per-type switch below picks the relevant subset — the same
|
|
67
|
+
// shape as the previous implementation, so parsed-object output is
|
|
68
|
+
// byte-identical. The type switch is preserved because the previous code
|
|
69
|
+
// only populated certain fields for certain types (e.g. componentIDs only
|
|
70
|
+
// for GameObject); extractKnownFields returns every field it finds, but
|
|
71
|
+
// only the ones this object's type would have read are assigned here.
|
|
61
72
|
if (o.lines.length > 0) {
|
|
62
|
-
|
|
73
|
+
const f = extractKnownFields(o.lines);
|
|
74
|
+
o.name = f.name;
|
|
63
75
|
switch (o.type) {
|
|
64
76
|
case "GameObject":
|
|
65
|
-
o.componentIDs =
|
|
77
|
+
o.componentIDs = f.componentIDs;
|
|
66
78
|
break;
|
|
67
79
|
case "Transform":
|
|
68
80
|
case "RectTransform":
|
|
69
|
-
o.gameObjectID =
|
|
70
|
-
o.fatherTransformID =
|
|
81
|
+
o.gameObjectID = f.gameObjectID;
|
|
82
|
+
o.fatherTransformID = f.fatherTransformID;
|
|
71
83
|
break;
|
|
72
84
|
default:
|
|
73
|
-
o.gameObjectID =
|
|
85
|
+
o.gameObjectID = f.gameObjectID;
|
|
74
86
|
break;
|
|
75
87
|
}
|
|
76
|
-
o.sourceObjectID =
|
|
77
|
-
o.sourceGUID =
|
|
88
|
+
o.sourceObjectID = f.sourceObjectID;
|
|
89
|
+
o.sourceGUID = f.sourceGUID;
|
|
78
90
|
if (o.type === "MonoBehaviour") {
|
|
79
|
-
o.scriptGUID =
|
|
91
|
+
o.scriptGUID = f.scriptGUID;
|
|
80
92
|
}
|
|
81
93
|
}
|
|
82
94
|
objects.push(o);
|