typescript-to-gdscript 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +324 -0
- package/dist/cache/index.d.ts +203 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +609 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/checker/godot-project.d.ts +15 -0
- package/dist/checker/godot-project.d.ts.map +1 -0
- package/dist/checker/godot-project.js +14 -0
- package/dist/checker/godot-project.js.map +1 -0
- package/dist/checker/index.d.ts +61 -0
- package/dist/checker/index.d.ts.map +1 -0
- package/dist/checker/index.js +229 -0
- package/dist/checker/index.js.map +1 -0
- package/dist/checker/ts-diagnostics.d.ts +11 -0
- package/dist/checker/ts-diagnostics.d.ts.map +1 -0
- package/dist/checker/ts-diagnostics.js +67 -0
- package/dist/checker/ts-diagnostics.js.map +1 -0
- package/dist/cli/clear-cache.d.ts +3 -0
- package/dist/cli/clear-cache.d.ts.map +1 -0
- package/dist/cli/clear-cache.js +42 -0
- package/dist/cli/clear-cache.js.map +1 -0
- package/dist/cli/convert-gd.d.ts +3 -0
- package/dist/cli/convert-gd.d.ts.map +1 -0
- package/dist/cli/convert-gd.js +148 -0
- package/dist/cli/convert-gd.js.map +1 -0
- package/dist/cli/convert.d.ts +3 -0
- package/dist/cli/convert.d.ts.map +1 -0
- package/dist/cli/convert.js +165 -0
- package/dist/cli/convert.js.map +1 -0
- package/dist/cli/generate-addon-typings.d.ts +3 -0
- package/dist/cli/generate-addon-typings.d.ts.map +1 -0
- package/dist/cli/generate-addon-typings.js +31 -0
- package/dist/cli/generate-addon-typings.js.map +1 -0
- package/dist/cli/generate-gdscript-global-typings.d.ts +3 -0
- package/dist/cli/generate-gdscript-global-typings.d.ts.map +1 -0
- package/dist/cli/generate-gdscript-global-typings.js +172 -0
- package/dist/cli/generate-gdscript-global-typings.js.map +1 -0
- package/dist/cli/generate-typings.d.ts +3 -0
- package/dist/cli/generate-typings.d.ts.map +1 -0
- package/dist/cli/generate-typings.js +48 -0
- package/dist/cli/generate-typings.js.map +1 -0
- package/dist/cli/helpers.d.ts +47 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/helpers.js +180 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +35 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +8 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +222 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/initial-convert-gd-to-ts.d.ts +3 -0
- package/dist/cli/initial-convert-gd-to-ts.d.ts.map +1 -0
- package/dist/cli/initial-convert-gd-to-ts.js +149 -0
- package/dist/cli/initial-convert-gd-to-ts.js.map +1 -0
- package/dist/cli/lint.d.ts +3 -0
- package/dist/cli/lint.d.ts.map +1 -0
- package/dist/cli/lint.js +191 -0
- package/dist/cli/lint.js.map +1 -0
- package/dist/cli/open-editor.d.ts +21 -0
- package/dist/cli/open-editor.d.ts.map +1 -0
- package/dist/cli/open-editor.js +148 -0
- package/dist/cli/open-editor.js.map +1 -0
- package/dist/cli/set-latest.d.ts +3 -0
- package/dist/cli/set-latest.d.ts.map +1 -0
- package/dist/cli/set-latest.js +23 -0
- package/dist/cli/set-latest.js.map +1 -0
- package/dist/cli/validate-gd.d.ts +3 -0
- package/dist/cli/validate-gd.d.ts.map +1 -0
- package/dist/cli/validate-gd.js +37 -0
- package/dist/cli/validate-gd.js.map +1 -0
- package/dist/cli/watch.d.ts +3 -0
- package/dist/cli/watch.d.ts.map +1 -0
- package/dist/cli/watch.js +58 -0
- package/dist/cli/watch.js.map +1 -0
- package/dist/config/index.d.ts +142 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +161 -0
- package/dist/config/index.js.map +1 -0
- package/dist/converter/common/index.d.ts +169 -0
- package/dist/converter/common/index.d.ts.map +1 -0
- package/dist/converter/common/index.js +298 -0
- package/dist/converter/common/index.js.map +1 -0
- package/dist/converter/gd-to-ts/class-scope.d.ts +80 -0
- package/dist/converter/gd-to-ts/class-scope.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/class-scope.js +208 -0
- package/dist/converter/gd-to-ts/class-scope.js.map +1 -0
- package/dist/converter/gd-to-ts/context.d.ts +94 -0
- package/dist/converter/gd-to-ts/context.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/context.js +71 -0
- package/dist/converter/gd-to-ts/context.js.map +1 -0
- package/dist/converter/gd-to-ts/expressions.d.ts +18 -0
- package/dist/converter/gd-to-ts/expressions.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/expressions.js +535 -0
- package/dist/converter/gd-to-ts/expressions.js.map +1 -0
- package/dist/converter/gd-to-ts/file-scope-emitter.d.ts +34 -0
- package/dist/converter/gd-to-ts/file-scope-emitter.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/file-scope-emitter.js +191 -0
- package/dist/converter/gd-to-ts/file-scope-emitter.js.map +1 -0
- package/dist/converter/gd-to-ts/functions.d.ts +20 -0
- package/dist/converter/gd-to-ts/functions.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/functions.js +313 -0
- package/dist/converter/gd-to-ts/functions.js.map +1 -0
- package/dist/converter/gd-to-ts/helpers/explicit-convert.d.ts +42 -0
- package/dist/converter/gd-to-ts/helpers/explicit-convert.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/helpers/explicit-convert.js +173 -0
- package/dist/converter/gd-to-ts/helpers/explicit-convert.js.map +1 -0
- package/dist/converter/gd-to-ts/helpers/nullable-return.d.ts +19 -0
- package/dist/converter/gd-to-ts/helpers/nullable-return.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/helpers/nullable-return.js +116 -0
- package/dist/converter/gd-to-ts/helpers/nullable-return.js.map +1 -0
- package/dist/converter/gd-to-ts/helpers/nullable.d.ts +41 -0
- package/dist/converter/gd-to-ts/helpers/nullable.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/helpers/nullable.js +526 -0
- package/dist/converter/gd-to-ts/helpers/nullable.js.map +1 -0
- package/dist/converter/gd-to-ts/helpers/operator-fix.d.ts +20 -0
- package/dist/converter/gd-to-ts/helpers/operator-fix.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/helpers/operator-fix.js +114 -0
- package/dist/converter/gd-to-ts/helpers/operator-fix.js.map +1 -0
- package/dist/converter/gd-to-ts/helpers/ready-field-types.d.ts +48 -0
- package/dist/converter/gd-to-ts/helpers/ready-field-types.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/helpers/ready-field-types.js +217 -0
- package/dist/converter/gd-to-ts/helpers/ready-field-types.js.map +1 -0
- package/dist/converter/gd-to-ts/helpers/unsafe-helpers.d.ts +64 -0
- package/dist/converter/gd-to-ts/helpers/unsafe-helpers.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/helpers/unsafe-helpers.js +336 -0
- package/dist/converter/gd-to-ts/helpers/unsafe-helpers.js.map +1 -0
- package/dist/converter/gd-to-ts/imports.d.ts +47 -0
- package/dist/converter/gd-to-ts/imports.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/imports.js +98 -0
- package/dist/converter/gd-to-ts/imports.js.map +1 -0
- package/dist/converter/gd-to-ts/index.d.ts +59 -0
- package/dist/converter/gd-to-ts/index.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/index.js +189 -0
- package/dist/converter/gd-to-ts/index.js.map +1 -0
- package/dist/converter/gd-to-ts/inject-imports.d.ts +55 -0
- package/dist/converter/gd-to-ts/inject-imports.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/inject-imports.js +161 -0
- package/dist/converter/gd-to-ts/inject-imports.js.map +1 -0
- package/dist/converter/gd-to-ts/members.d.ts +15 -0
- package/dist/converter/gd-to-ts/members.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/members.js +397 -0
- package/dist/converter/gd-to-ts/members.js.map +1 -0
- package/dist/converter/gd-to-ts/source-emitter.d.ts +27 -0
- package/dist/converter/gd-to-ts/source-emitter.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/source-emitter.js +420 -0
- package/dist/converter/gd-to-ts/source-emitter.js.map +1 -0
- package/dist/converter/gd-to-ts/statements.d.ts +6 -0
- package/dist/converter/gd-to-ts/statements.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/statements.js +385 -0
- package/dist/converter/gd-to-ts/statements.js.map +1 -0
- package/dist/converter/gd-to-ts/ts-helpers.d.ts +49 -0
- package/dist/converter/gd-to-ts/ts-helpers.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/ts-helpers.js +161 -0
- package/dist/converter/gd-to-ts/ts-helpers.js.map +1 -0
- package/dist/converter/gd-to-ts/type-inference.d.ts +41 -0
- package/dist/converter/gd-to-ts/type-inference.d.ts.map +1 -0
- package/dist/converter/gd-to-ts/type-inference.js +168 -0
- package/dist/converter/gd-to-ts/type-inference.js.map +1 -0
- package/dist/converter/ts-to-gd/class-body.d.ts +62 -0
- package/dist/converter/ts-to-gd/class-body.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/class-body.js +290 -0
- package/dist/converter/ts-to-gd/class-body.js.map +1 -0
- package/dist/converter/ts-to-gd/class-members.d.ts +18 -0
- package/dist/converter/ts-to-gd/class-members.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/class-members.js +246 -0
- package/dist/converter/ts-to-gd/class-members.js.map +1 -0
- package/dist/converter/ts-to-gd/diagnostics.d.ts +27 -0
- package/dist/converter/ts-to-gd/diagnostics.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/diagnostics.js +95 -0
- package/dist/converter/ts-to-gd/diagnostics.js.map +1 -0
- package/dist/converter/ts-to-gd/emitter.d.ts +40 -0
- package/dist/converter/ts-to-gd/emitter.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/emitter.js +88 -0
- package/dist/converter/ts-to-gd/emitter.js.map +1 -0
- package/dist/converter/ts-to-gd/expressions.d.ts +46 -0
- package/dist/converter/ts-to-gd/expressions.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/expressions.js +793 -0
- package/dist/converter/ts-to-gd/expressions.js.map +1 -0
- package/dist/converter/ts-to-gd/file-scope.d.ts +42 -0
- package/dist/converter/ts-to-gd/file-scope.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/file-scope.js +463 -0
- package/dist/converter/ts-to-gd/file-scope.js.map +1 -0
- package/dist/converter/ts-to-gd/gd-getset.d.ts +31 -0
- package/dist/converter/ts-to-gd/gd-getset.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/gd-getset.js +219 -0
- package/dist/converter/ts-to-gd/gd-getset.js.map +1 -0
- package/dist/converter/ts-to-gd/gd-helpers.d.ts +44 -0
- package/dist/converter/ts-to-gd/gd-helpers.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/gd-helpers.js +458 -0
- package/dist/converter/ts-to-gd/gd-helpers.js.map +1 -0
- package/dist/converter/ts-to-gd/imports.d.ts +67 -0
- package/dist/converter/ts-to-gd/imports.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/imports.js +150 -0
- package/dist/converter/ts-to-gd/imports.js.map +1 -0
- package/dist/converter/ts-to-gd/index.d.ts +34 -0
- package/dist/converter/ts-to-gd/index.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/index.js +52 -0
- package/dist/converter/ts-to-gd/index.js.map +1 -0
- package/dist/converter/ts-to-gd/parameters.d.ts +12 -0
- package/dist/converter/ts-to-gd/parameters.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/parameters.js +100 -0
- package/dist/converter/ts-to-gd/parameters.js.map +1 -0
- package/dist/converter/ts-to-gd/statements.d.ts +12 -0
- package/dist/converter/ts-to-gd/statements.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/statements.js +262 -0
- package/dist/converter/ts-to-gd/statements.js.map +1 -0
- package/dist/converter/ts-to-gd/transformer-types.d.ts +33 -0
- package/dist/converter/ts-to-gd/transformer-types.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/transformer-types.js +2 -0
- package/dist/converter/ts-to-gd/transformer-types.js.map +1 -0
- package/dist/converter/ts-to-gd/transformer.d.ts +83 -0
- package/dist/converter/ts-to-gd/transformer.d.ts.map +1 -0
- package/dist/converter/ts-to-gd/transformer.js +344 -0
- package/dist/converter/ts-to-gd/transformer.js.map +1 -0
- package/dist/eslint/plugin.d.ts +11 -0
- package/dist/eslint/plugin.d.ts.map +1 -0
- package/dist/eslint/plugin.js +12 -0
- package/dist/eslint/plugin.js.map +1 -0
- package/dist/eslint/rules/convert.d.ts +4 -0
- package/dist/eslint/rules/convert.d.ts.map +1 -0
- package/dist/eslint/rules/convert.js +286 -0
- package/dist/eslint/rules/convert.js.map +1 -0
- package/dist/eslint/rules/no-in-variant.d.ts +10 -0
- package/dist/eslint/rules/no-in-variant.d.ts.map +1 -0
- package/dist/eslint/rules/no-in-variant.js +126 -0
- package/dist/eslint/rules/no-in-variant.js.map +1 -0
- package/dist/godot-validate/error-parser.d.ts +64 -0
- package/dist/godot-validate/error-parser.d.ts.map +1 -0
- package/dist/godot-validate/error-parser.js +170 -0
- package/dist/godot-validate/error-parser.js.map +1 -0
- package/dist/godot-validate/index.d.ts +76 -0
- package/dist/godot-validate/index.d.ts.map +1 -0
- package/dist/godot-validate/index.js +267 -0
- package/dist/godot-validate/index.js.map +1 -0
- package/dist/godot-validate/source-map-remap.d.ts +48 -0
- package/dist/godot-validate/source-map-remap.d.ts.map +1 -0
- package/dist/godot-validate/source-map-remap.js +195 -0
- package/dist/godot-validate/source-map-remap.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/gdscript/generate-types.d.ts +7 -0
- package/dist/parser/gdscript/generate-types.d.ts.map +1 -0
- package/dist/parser/gdscript/generate-types.js +134 -0
- package/dist/parser/gdscript/generate-types.js.map +1 -0
- package/dist/parser/gdscript/index.d.ts +9 -0
- package/dist/parser/gdscript/index.d.ts.map +1 -0
- package/dist/parser/gdscript/index.js +17 -0
- package/dist/parser/gdscript/index.js.map +1 -0
- package/dist/parser/gdscript/types.d.ts +689 -0
- package/dist/parser/gdscript/types.d.ts.map +1 -0
- package/dist/parser/gdscript/types.js +89 -0
- package/dist/parser/gdscript/types.js.map +1 -0
- package/dist/parser/godot-resource/index.d.ts +7 -0
- package/dist/parser/godot-resource/index.d.ts.map +1 -0
- package/dist/parser/godot-resource/index.js +14 -0
- package/dist/parser/godot-resource/index.js.map +1 -0
- package/dist/parser/godot-resource/types.d.ts +330 -0
- package/dist/parser/godot-resource/types.d.ts.map +1 -0
- package/dist/parser/godot-resource/types.js +22 -0
- package/dist/parser/godot-resource/types.js.map +1 -0
- package/dist/parser/typescript/index.d.ts +12 -0
- package/dist/parser/typescript/index.d.ts.map +1 -0
- package/dist/parser/typescript/index.js +30 -0
- package/dist/parser/typescript/index.js.map +1 -0
- package/dist/sourcemap/index.d.ts +59 -0
- package/dist/sourcemap/index.d.ts.map +1 -0
- package/dist/sourcemap/index.js +85 -0
- package/dist/sourcemap/index.js.map +1 -0
- package/dist/ts-plugin/index.d.ts +47 -0
- package/dist/ts-plugin/index.d.ts.map +1 -0
- package/dist/ts-plugin/index.js +227 -0
- package/dist/ts-plugin/index.js.map +1 -0
- package/dist/ts-plugin/lint.d.ts +48 -0
- package/dist/ts-plugin/lint.d.ts.map +1 -0
- package/dist/ts-plugin/lint.js +424 -0
- package/dist/ts-plugin/lint.js.map +1 -0
- package/dist/ts-plugin/lru.d.ts +40 -0
- package/dist/ts-plugin/lru.d.ts.map +1 -0
- package/dist/ts-plugin/lru.js +82 -0
- package/dist/ts-plugin/lru.js.map +1 -0
- package/dist/ts-plugin/navigation.d.ts +58 -0
- package/dist/ts-plugin/navigation.d.ts.map +1 -0
- package/dist/ts-plugin/navigation.js +427 -0
- package/dist/ts-plugin/navigation.js.map +1 -0
- package/dist/ts-plugin/shadow-refs.d.ts +31 -0
- package/dist/ts-plugin/shadow-refs.d.ts.map +1 -0
- package/dist/ts-plugin/shadow-refs.js +76 -0
- package/dist/ts-plugin/shadow-refs.js.map +1 -0
- package/dist/ts-plugin/snapshot-transform.d.ts +61 -0
- package/dist/ts-plugin/snapshot-transform.d.ts.map +1 -0
- package/dist/ts-plugin/snapshot-transform.js +55 -0
- package/dist/ts-plugin/snapshot-transform.js.map +1 -0
- package/dist/typings/class-generator.d.ts +54 -0
- package/dist/typings/class-generator.d.ts.map +1 -0
- package/dist/typings/class-generator.js +524 -0
- package/dist/typings/class-generator.js.map +1 -0
- package/dist/typings/classes.d.ts +24 -0
- package/dist/typings/classes.d.ts.map +1 -0
- package/dist/typings/classes.js +139 -0
- package/dist/typings/classes.js.map +1 -0
- package/dist/typings/content-generators.d.ts +62 -0
- package/dist/typings/content-generators.d.ts.map +1 -0
- package/dist/typings/content-generators.js +536 -0
- package/dist/typings/content-generators.js.map +1 -0
- package/dist/typings/global-generator.d.ts +32 -0
- package/dist/typings/global-generator.d.ts.map +1 -0
- package/dist/typings/global-generator.js +242 -0
- package/dist/typings/global-generator.js.map +1 -0
- package/dist/typings/godot-docs.d.ts +27 -0
- package/dist/typings/godot-docs.d.ts.map +1 -0
- package/dist/typings/godot-docs.js +310 -0
- package/dist/typings/godot-docs.js.map +1 -0
- package/dist/typings/godot-registry.d.ts +123 -0
- package/dist/typings/godot-registry.d.ts.map +1 -0
- package/dist/typings/godot-registry.js +157 -0
- package/dist/typings/godot-registry.js.map +1 -0
- package/dist/typings/index.d.ts +4 -0
- package/dist/typings/index.d.ts.map +1 -0
- package/dist/typings/index.js +4 -0
- package/dist/typings/index.js.map +1 -0
- package/dist/typings/override-system.d.ts +36 -0
- package/dist/typings/override-system.d.ts.map +1 -0
- package/dist/typings/override-system.js +341 -0
- package/dist/typings/override-system.js.map +1 -0
- package/dist/typings/registry-generator.d.ts +44 -0
- package/dist/typings/registry-generator.d.ts.map +1 -0
- package/dist/typings/registry-generator.js +170 -0
- package/dist/typings/registry-generator.js.map +1 -0
- package/dist/typings/scene-parser.d.ts +113 -0
- package/dist/typings/scene-parser.d.ts.map +1 -0
- package/dist/typings/scene-parser.js +436 -0
- package/dist/typings/scene-parser.js.map +1 -0
- package/dist/typings/scene-tree.d.ts +33 -0
- package/dist/typings/scene-tree.d.ts.map +1 -0
- package/dist/typings/scene-tree.js +118 -0
- package/dist/typings/scene-tree.js.map +1 -0
- package/dist/typings/scene-utils.d.ts +131 -0
- package/dist/typings/scene-utils.d.ts.map +1 -0
- package/dist/typings/scene-utils.js +604 -0
- package/dist/typings/scene-utils.js.map +1 -0
- package/dist/typings/scenes.d.ts +96 -0
- package/dist/typings/scenes.d.ts.map +1 -0
- package/dist/typings/scenes.js +368 -0
- package/dist/typings/scenes.js.map +1 -0
- package/dist/typings/type-mapping.d.ts +76 -0
- package/dist/typings/type-mapping.d.ts.map +1 -0
- package/dist/typings/type-mapping.js +239 -0
- package/dist/typings/type-mapping.js.map +1 -0
- package/dist/typings/xml-parser.d.ts +91 -0
- package/dist/typings/xml-parser.d.ts.map +1 -0
- package/dist/typings/xml-parser.js +275 -0
- package/dist/typings/xml-parser.js.map +1 -0
- package/dist/watcher/index.d.ts +74 -0
- package/dist/watcher/index.d.ts.map +1 -0
- package/dist/watcher/index.js +410 -0
- package/dist/watcher/index.js.map +1 -0
- package/package.json +115 -0
- package/ts-plugin/index.js +9 -0
- package/ts-plugin/package.json +7 -0
- package/typings/classes/AABB.d.ts +177 -0
- package/typings/classes/AESContext.d.ts +34 -0
- package/typings/classes/AStar2D.d.ts +108 -0
- package/typings/classes/AStar3D.d.ts +108 -0
- package/typings/classes/AStarGrid2D.d.ts +184 -0
- package/typings/classes/AcceptDialog.d.ts +77 -0
- package/typings/classes/AccessibilityServer.d.ts +405 -0
- package/typings/classes/AimModifier3D.d.ts +40 -0
- package/typings/classes/AnimatableBody2D.d.ts +14 -0
- package/typings/classes/AnimatableBody3D.d.ts +14 -0
- package/typings/classes/AnimatedSprite2D.d.ts +108 -0
- package/typings/classes/AnimatedSprite3D.d.ts +89 -0
- package/typings/classes/AnimatedTexture.d.ts +54 -0
- package/typings/classes/Animation.d.ts +340 -0
- package/typings/classes/AnimationLibrary.d.ts +34 -0
- package/typings/classes/AnimationMixer.d.ts +226 -0
- package/typings/classes/AnimationNode.d.ts +116 -0
- package/typings/classes/AnimationNodeAdd2.d.ts +6 -0
- package/typings/classes/AnimationNodeAdd3.d.ts +6 -0
- package/typings/classes/AnimationNodeAnimation.d.ts +64 -0
- package/typings/classes/AnimationNodeBlend2.d.ts +6 -0
- package/typings/classes/AnimationNodeBlend3.d.ts +6 -0
- package/typings/classes/AnimationNodeBlendSpace1D.d.ts +79 -0
- package/typings/classes/AnimationNodeBlendSpace2D.d.ts +104 -0
- package/typings/classes/AnimationNodeBlendTree.d.ts +53 -0
- package/typings/classes/AnimationNodeExtension.d.ts +18 -0
- package/typings/classes/AnimationNodeOneShot.d.ts +78 -0
- package/typings/classes/AnimationNodeOutput.d.ts +6 -0
- package/typings/classes/AnimationNodeStateMachine.d.ts +80 -0
- package/typings/classes/AnimationNodeStateMachinePlayback.d.ts +67 -0
- package/typings/classes/AnimationNodeStateMachineTransition.d.ts +83 -0
- package/typings/classes/AnimationNodeSub2.d.ts +6 -0
- package/typings/classes/AnimationNodeSync.d.ts +13 -0
- package/typings/classes/AnimationNodeTimeScale.d.ts +6 -0
- package/typings/classes/AnimationNodeTimeSeek.d.ts +12 -0
- package/typings/classes/AnimationNodeTransition.d.ts +45 -0
- package/typings/classes/AnimationPlayer.d.ts +203 -0
- package/typings/classes/AnimationRootNode.d.ts +8 -0
- package/typings/classes/AnimationTree.d.ts +35 -0
- package/typings/classes/Area2D.d.ts +166 -0
- package/typings/classes/Area3D.d.ts +214 -0
- package/typings/classes/Array.d.ts +301 -0
- package/typings/classes/ArrayMesh.d.ts +94 -0
- package/typings/classes/ArrayOccluder3D.d.ts +23 -0
- package/typings/classes/AspectRatioContainer.d.ts +46 -0
- package/typings/classes/AtlasTexture.d.ts +32 -0
- package/typings/classes/AudioBusLayout.d.ts +6 -0
- package/typings/classes/AudioEffect.d.ts +11 -0
- package/typings/classes/AudioEffectAmplify.d.ts +19 -0
- package/typings/classes/AudioEffectBandLimitFilter.d.ts +6 -0
- package/typings/classes/AudioEffectBandPassFilter.d.ts +6 -0
- package/typings/classes/AudioEffectCapture.d.ts +35 -0
- package/typings/classes/AudioEffectChorus.d.ts +108 -0
- package/typings/classes/AudioEffectCompressor.d.ts +47 -0
- package/typings/classes/AudioEffectDelay.d.ts +71 -0
- package/typings/classes/AudioEffectDistortion.d.ts +55 -0
- package/typings/classes/AudioEffectEQ.d.ts +15 -0
- package/typings/classes/AudioEffectEQ10.d.ts +9 -0
- package/typings/classes/AudioEffectEQ21.d.ts +9 -0
- package/typings/classes/AudioEffectEQ6.d.ts +9 -0
- package/typings/classes/AudioEffectFilter.d.ts +50 -0
- package/typings/classes/AudioEffectHardLimiter.d.ts +24 -0
- package/typings/classes/AudioEffectHighPassFilter.d.ts +6 -0
- package/typings/classes/AudioEffectHighShelfFilter.d.ts +6 -0
- package/typings/classes/AudioEffectInstance.d.ts +16 -0
- package/typings/classes/AudioEffectLimiter.d.ts +26 -0
- package/typings/classes/AudioEffectLowPassFilter.d.ts +6 -0
- package/typings/classes/AudioEffectLowShelfFilter.d.ts +6 -0
- package/typings/classes/AudioEffectNotchFilter.d.ts +6 -0
- package/typings/classes/AudioEffectPanner.d.ts +15 -0
- package/typings/classes/AudioEffectPhaser.d.ts +37 -0
- package/typings/classes/AudioEffectPitchShift.d.ts +47 -0
- package/typings/classes/AudioEffectRecord.d.ts +19 -0
- package/typings/classes/AudioEffectReverb.d.ts +55 -0
- package/typings/classes/AudioEffectSpectrumAnalyzer.d.ts +40 -0
- package/typings/classes/AudioEffectSpectrumAnalyzerInstance.d.ts +17 -0
- package/typings/classes/AudioEffectStereoEnhance.d.ts +27 -0
- package/typings/classes/AudioListener2D.d.ts +15 -0
- package/typings/classes/AudioListener3D.d.ts +37 -0
- package/typings/classes/AudioSample.d.ts +6 -0
- package/typings/classes/AudioSamplePlayback.d.ts +6 -0
- package/typings/classes/AudioServer.d.ts +199 -0
- package/typings/classes/AudioStream.d.ts +66 -0
- package/typings/classes/AudioStreamGenerator.d.ts +38 -0
- package/typings/classes/AudioStreamGeneratorPlayback.d.ts +28 -0
- package/typings/classes/AudioStreamMicrophone.d.ts +6 -0
- package/typings/classes/AudioStreamPlayback.d.ts +69 -0
- package/typings/classes/AudioStreamPlaybackPolyphonic.d.ts +32 -0
- package/typings/classes/AudioStreamPlaybackResampled.d.ts +16 -0
- package/typings/classes/AudioStreamPlayer.d.ts +110 -0
- package/typings/classes/AudioStreamPlayer2D.d.ts +96 -0
- package/typings/classes/AudioStreamPlayer3D.d.ts +162 -0
- package/typings/classes/AudioStreamPolyphonic.d.ts +12 -0
- package/typings/classes/AudioStreamRandomizer.d.ts +67 -0
- package/typings/classes/AudioStreamWAV.d.ts +87 -0
- package/typings/classes/AwaitTweener.d.ts +10 -0
- package/typings/classes/BackBufferCopy.d.ts +26 -0
- package/typings/classes/BaseButton.d.ts +116 -0
- package/typings/classes/BaseMaterial3D.d.ts +1021 -0
- package/typings/classes/Basis.d.ts +225 -0
- package/typings/classes/BitMap.d.ts +42 -0
- package/typings/classes/BlitMaterial.d.ts +22 -0
- package/typings/classes/Bone2D.d.ts +45 -0
- package/typings/classes/BoneAttachment3D.d.ts +39 -0
- package/typings/classes/BoneConstraint3D.d.ts +67 -0
- package/typings/classes/BoneMap.d.ts +39 -0
- package/typings/classes/BoneTwistDisperser3D.d.ts +126 -0
- package/typings/classes/BoxContainer.d.ts +36 -0
- package/typings/classes/BoxMesh.d.ts +22 -0
- package/typings/classes/BoxOccluder3D.d.ts +10 -0
- package/typings/classes/BoxShape3D.d.ts +10 -0
- package/typings/classes/Button.d.ts +75 -0
- package/typings/classes/ButtonGroup.d.ts +21 -0
- package/typings/classes/CCDIK3D.d.ts +6 -0
- package/typings/classes/CPUParticles2D.d.ts +397 -0
- package/typings/classes/CPUParticles3D.d.ts +421 -0
- package/typings/classes/Callable.d.ts +203 -0
- package/typings/classes/CallbackTweener.d.ts +11 -0
- package/typings/classes/Camera2D.d.ts +214 -0
- package/typings/classes/Camera3D.d.ts +207 -0
- package/typings/classes/CameraAttributes.d.ts +35 -0
- package/typings/classes/CameraAttributesPhysical.d.ts +61 -0
- package/typings/classes/CameraAttributesPractical.d.ts +64 -0
- package/typings/classes/CameraFeed.d.ts +81 -0
- package/typings/classes/CameraServer.d.ts +44 -0
- package/typings/classes/CameraTexture.d.ts +19 -0
- package/typings/classes/CanvasGroup.d.ts +24 -0
- package/typings/classes/CanvasItem.d.ts +503 -0
- package/typings/classes/CanvasItemMaterial.d.ts +61 -0
- package/typings/classes/CanvasLayer.d.ts +74 -0
- package/typings/classes/CanvasModulate.d.ts +10 -0
- package/typings/classes/CanvasTexture.d.ts +42 -0
- package/typings/classes/CapsuleMesh.d.ts +28 -0
- package/typings/classes/CapsuleShape2D.d.ts +26 -0
- package/typings/classes/CapsuleShape3D.d.ts +26 -0
- package/typings/classes/CenterContainer.d.ts +10 -0
- package/typings/classes/ChainIK3D.d.ts +50 -0
- package/typings/classes/CharFXTransform.d.ts +88 -0
- package/typings/classes/CharacterBody2D.d.ts +199 -0
- package/typings/classes/CharacterBody3D.d.ts +201 -0
- package/typings/classes/CheckBox.d.ts +8 -0
- package/typings/classes/CheckButton.d.ts +8 -0
- package/typings/classes/CircleShape2D.d.ts +10 -0
- package/typings/classes/ClassDB.d.ts +110 -0
- package/typings/classes/CodeEdit.d.ts +402 -0
- package/typings/classes/CodeHighlighter.d.ts +81 -0
- package/typings/classes/CollisionObject2D.d.ts +171 -0
- package/typings/classes/CollisionObject3D.d.ts +141 -0
- package/typings/classes/CollisionPolygon2D.d.ts +51 -0
- package/typings/classes/CollisionPolygon3D.d.ts +39 -0
- package/typings/classes/CollisionShape2D.d.ts +41 -0
- package/typings/classes/CollisionShape3D.d.ts +36 -0
- package/typings/classes/Color.d.ts +517 -0
- package/typings/classes/ColorPalette.d.ts +12 -0
- package/typings/classes/ColorPicker.d.ts +118 -0
- package/typings/classes/ColorPickerButton.d.ts +37 -0
- package/typings/classes/ColorRect.d.ts +10 -0
- package/typings/classes/Compositor.d.ts +12 -0
- package/typings/classes/CompositorEffect.d.ts +76 -0
- package/typings/classes/CompressedCubemap.d.ts +6 -0
- package/typings/classes/CompressedCubemapArray.d.ts +6 -0
- package/typings/classes/CompressedTexture2D.d.ts +13 -0
- package/typings/classes/CompressedTexture2DArray.d.ts +6 -0
- package/typings/classes/CompressedTexture3D.d.ts +12 -0
- package/typings/classes/CompressedTextureLayered.d.ts +12 -0
- package/typings/classes/ConcavePolygonShape2D.d.ts +12 -0
- package/typings/classes/ConcavePolygonShape3D.d.ts +21 -0
- package/typings/classes/ConeTwistJoint3D.d.ts +63 -0
- package/typings/classes/ConfigFile.d.ts +71 -0
- package/typings/classes/ConfirmationDialog.d.ts +19 -0
- package/typings/classes/Container.d.ts +42 -0
- package/typings/classes/Control.d.ts +1125 -0
- package/typings/classes/ConvertTransformModifier3D.d.ts +65 -0
- package/typings/classes/ConvexPolygonShape2D.d.ts +18 -0
- package/typings/classes/ConvexPolygonShape3D.d.ts +10 -0
- package/typings/classes/CopyTransformModifier3D.d.ts +117 -0
- package/typings/classes/Crypto.d.ts +41 -0
- package/typings/classes/CryptoKey.d.ts +26 -0
- package/typings/classes/Cubemap.d.ts +8 -0
- package/typings/classes/CubemapArray.d.ts +8 -0
- package/typings/classes/Curve.d.ts +96 -0
- package/typings/classes/Curve2D.d.ts +97 -0
- package/typings/classes/Curve3D.d.ts +129 -0
- package/typings/classes/CurveTexture.d.ts +30 -0
- package/typings/classes/CurveXYZTexture.d.ts +25 -0
- package/typings/classes/CylinderMesh.d.ts +48 -0
- package/typings/classes/CylinderShape3D.d.ts +14 -0
- package/typings/classes/DPITexture.d.ts +48 -0
- package/typings/classes/DTLSServer.d.ts +13 -0
- package/typings/classes/DampedSpringJoint2D.d.ts +28 -0
- package/typings/classes/Decal.d.ts +120 -0
- package/typings/classes/Dictionary.d.ts +181 -0
- package/typings/classes/DirAccess.d.ts +199 -0
- package/typings/classes/DirectionalLight2D.d.ts +16 -0
- package/typings/classes/DirectionalLight3D.d.ts +71 -0
- package/typings/classes/DisplayServer.d.ts +2153 -0
- package/typings/classes/DrawableTexture2D.d.ts +47 -0
- package/typings/classes/EditorCommandPalette.d.ts +21 -0
- package/typings/classes/EditorContextMenuPlugin.d.ts +59 -0
- package/typings/classes/EditorDebuggerPlugin.d.ts +33 -0
- package/typings/classes/EditorDebuggerSession.d.ts +41 -0
- package/typings/classes/EditorDock.d.ts +141 -0
- package/typings/classes/EditorExportPlatform.d.ts +125 -0
- package/typings/classes/EditorExportPlatformAppleEmbedded.d.ts +6 -0
- package/typings/classes/EditorExportPlatformExtension.d.ts +131 -0
- package/typings/classes/EditorExportPlatformPC.d.ts +6 -0
- package/typings/classes/EditorExportPlugin.d.ts +207 -0
- package/typings/classes/EditorExportPreset.d.ts +83 -0
- package/typings/classes/EditorFeatureProfile.d.ts +90 -0
- package/typings/classes/EditorFileDialog.d.ts +15 -0
- package/typings/classes/EditorFileSystem.d.ts +48 -0
- package/typings/classes/EditorFileSystemDirectory.d.ts +42 -0
- package/typings/classes/EditorFileSystemImportFormatSupportQuery.d.ts +12 -0
- package/typings/classes/EditorImportPlugin.d.ts +67 -0
- package/typings/classes/EditorInspector.d.ts +54 -0
- package/typings/classes/EditorInspectorPlugin.d.ts +34 -0
- package/typings/classes/EditorInterface.d.ts +254 -0
- package/typings/classes/EditorNode3DGizmo.d.ts +104 -0
- package/typings/classes/EditorNode3DGizmoPlugin.d.ts +103 -0
- package/typings/classes/EditorPaths.d.ts +52 -0
- package/typings/classes/EditorPlugin.d.ts +384 -0
- package/typings/classes/EditorProperty.d.ts +133 -0
- package/typings/classes/EditorResourceConversionPlugin.d.ts +20 -0
- package/typings/classes/EditorResourcePicker.d.ts +47 -0
- package/typings/classes/EditorResourcePreview.d.ts +25 -0
- package/typings/classes/EditorResourcePreviewGenerator.d.ts +34 -0
- package/typings/classes/EditorResourceTooltipPlugin.d.ts +20 -0
- package/typings/classes/EditorSceneFormatImporter.d.ts +36 -0
- package/typings/classes/EditorScenePostImport.d.ts +10 -0
- package/typings/classes/EditorScenePostImportPlugin.d.ts +57 -0
- package/typings/classes/EditorScript.d.ts +18 -0
- package/typings/classes/EditorScriptPicker.d.ts +10 -0
- package/typings/classes/EditorSelection.d.ts +29 -0
- package/typings/classes/EditorSettings.d.ts +1821 -0
- package/typings/classes/EditorSpinSlider.d.ts +65 -0
- package/typings/classes/EditorSyntaxHighlighter.d.ts +12 -0
- package/typings/classes/EditorToaster.d.ts +16 -0
- package/typings/classes/EditorTranslationParserPlugin.d.ts +12 -0
- package/typings/classes/EditorUndoRedoManager.d.ts +86 -0
- package/typings/classes/EditorVCSInterface.d.ts +121 -0
- package/typings/classes/EncodedObjectAsID.d.ts +12 -0
- package/typings/classes/Engine.d.ts +202 -0
- package/typings/classes/EngineDebugger.d.ts +66 -0
- package/typings/classes/EngineProfiler.d.ts +14 -0
- package/typings/classes/Environment.d.ts +720 -0
- package/typings/classes/Expression.d.ts +20 -0
- package/typings/classes/ExternalTexture.d.ts +22 -0
- package/typings/classes/FABRIK3D.d.ts +6 -0
- package/typings/classes/FileAccess.d.ts +411 -0
- package/typings/classes/FileDialog.d.ts +277 -0
- package/typings/classes/FileSystemDock.d.ts +35 -0
- package/typings/classes/FlowContainer.d.ts +64 -0
- package/typings/classes/FogMaterial.d.ts +43 -0
- package/typings/classes/FogVolume.d.ts +26 -0
- package/typings/classes/FoldableContainer.d.ts +65 -0
- package/typings/classes/FoldableGroup.d.ts +21 -0
- package/typings/classes/Font.d.ts +144 -0
- package/typings/classes/FontFile.d.ts +286 -0
- package/typings/classes/FontVariation.d.ts +56 -0
- package/typings/classes/FramebufferCacheRD.d.ts +10 -0
- package/typings/classes/GDExtension.d.ts +26 -0
- package/typings/classes/GDExtensionManager.d.ts +60 -0
- package/typings/classes/GPUParticles2D.d.ts +220 -0
- package/typings/classes/GPUParticles3D.d.ts +239 -0
- package/typings/classes/GPUParticlesAttractor3D.d.ts +33 -0
- package/typings/classes/GPUParticlesAttractorBox3D.d.ts +10 -0
- package/typings/classes/GPUParticlesAttractorSphere3D.d.ts +13 -0
- package/typings/classes/GPUParticlesAttractorVectorField3D.d.ts +19 -0
- package/typings/classes/GPUParticlesCollision3D.d.ts +14 -0
- package/typings/classes/GPUParticlesCollisionBox3D.d.ts +10 -0
- package/typings/classes/GPUParticlesCollisionHeightField3D.d.ts +75 -0
- package/typings/classes/GPUParticlesCollisionSDF3D.d.ts +59 -0
- package/typings/classes/GPUParticlesCollisionSphere3D.d.ts +10 -0
- package/typings/classes/Generic6DOFJoint3D.d.ts +241 -0
- package/typings/classes/Geometry2D.d.ts +147 -0
- package/typings/classes/Geometry3D.d.ts +67 -0
- package/typings/classes/GeometryInstance3D.d.ts +183 -0
- package/typings/classes/GodotInstance.d.ts +20 -0
- package/typings/classes/Gradient.d.ts +74 -0
- package/typings/classes/GradientTexture1D.d.ts +18 -0
- package/typings/classes/GradientTexture2D.d.ts +64 -0
- package/typings/classes/GraphEdit.d.ts +306 -0
- package/typings/classes/GraphElement.d.ts +56 -0
- package/typings/classes/GraphFrame.d.ts +46 -0
- package/typings/classes/GraphNode.d.ts +132 -0
- package/typings/classes/GridContainer.d.ts +12 -0
- package/typings/classes/GrooveJoint2D.d.ts +18 -0
- package/typings/classes/HBoxContainer.d.ts +6 -0
- package/typings/classes/HFlowContainer.d.ts +6 -0
- package/typings/classes/HMACContext.d.ts +16 -0
- package/typings/classes/HScrollBar.d.ts +6 -0
- package/typings/classes/HSeparator.d.ts +6 -0
- package/typings/classes/HSlider.d.ts +6 -0
- package/typings/classes/HSplitContainer.d.ts +8 -0
- package/typings/classes/HTTPClient.d.ts +384 -0
- package/typings/classes/HTTPRequest.d.ts +124 -0
- package/typings/classes/HashingContext.d.ts +22 -0
- package/typings/classes/HeightMapShape3D.d.ts +36 -0
- package/typings/classes/HingeJoint3D.d.ts +66 -0
- package/typings/classes/IKModifier3D.d.ts +22 -0
- package/typings/classes/IP.d.ts +71 -0
- package/typings/classes/Image.d.ts +567 -0
- package/typings/classes/ImageFormatLoader.d.ts +11 -0
- package/typings/classes/ImageFormatLoaderExtension.d.ts +20 -0
- package/typings/classes/ImageTexture.d.ts +25 -0
- package/typings/classes/ImageTexture3D.d.ts +14 -0
- package/typings/classes/ImageTextureLayered.d.ts +20 -0
- package/typings/classes/ImmediateMesh.d.ts +31 -0
- package/typings/classes/ImporterMesh.d.ts +84 -0
- package/typings/classes/ImporterMeshInstance3D.d.ts +35 -0
- package/typings/classes/Input.d.ts +504 -0
- package/typings/classes/InputEvent.d.ts +85 -0
- package/typings/classes/InputEventAction.d.ts +27 -0
- package/typings/classes/InputEventFromWindow.d.ts +10 -0
- package/typings/classes/InputEventGesture.d.ts +11 -0
- package/typings/classes/InputEventJoypadButton.d.ts +16 -0
- package/typings/classes/InputEventJoypadMotion.d.ts +16 -0
- package/typings/classes/InputEventKey.d.ts +86 -0
- package/typings/classes/InputEventMIDI.d.ts +59 -0
- package/typings/classes/InputEventMagnifyGesture.d.ts +12 -0
- package/typings/classes/InputEventMouse.d.ts +25 -0
- package/typings/classes/InputEventMouseButton.d.ts +26 -0
- package/typings/classes/InputEventMouseMotion.d.ts +54 -0
- package/typings/classes/InputEventPanGesture.d.ts +10 -0
- package/typings/classes/InputEventScreenDrag.d.ts +54 -0
- package/typings/classes/InputEventScreenTouch.d.ts +24 -0
- package/typings/classes/InputEventShortcut.d.ts +12 -0
- package/typings/classes/InputEventWithModifiers.d.ts +37 -0
- package/typings/classes/InputMap.d.ts +50 -0
- package/typings/classes/InstancePlaceholder.d.ts +20 -0
- package/typings/classes/IntervalTweener.d.ts +6 -0
- package/typings/classes/ItemList.d.ts +277 -0
- package/typings/classes/IterateIK3D.d.ts +85 -0
- package/typings/classes/JNISingleton.d.ts +8 -0
- package/typings/classes/JSON.d.ts +53 -0
- package/typings/classes/JSONRPC.d.ts +59 -0
- package/typings/classes/JacobianIK3D.d.ts +6 -0
- package/typings/classes/JavaClass.d.ts +16 -0
- package/typings/classes/JavaClassWrapper.d.ts +20 -0
- package/typings/classes/JavaObject.d.ts +10 -0
- package/typings/classes/JavaScriptBridge.d.ts +62 -0
- package/typings/classes/JavaScriptObject.d.ts +6 -0
- package/typings/classes/Joint2D.d.ts +28 -0
- package/typings/classes/Joint3D.d.ts +34 -0
- package/typings/classes/JointLimitation3D.d.ts +6 -0
- package/typings/classes/JointLimitationCone3D.d.ts +13 -0
- package/typings/classes/KinematicCollision2D.d.ts +36 -0
- package/typings/classes/KinematicCollision3D.d.ts +50 -0
- package/typings/classes/Label.d.ts +134 -0
- package/typings/classes/Label3D.d.ts +202 -0
- package/typings/classes/LabelSettings.d.ts +93 -0
- package/typings/classes/Light2D.d.ts +109 -0
- package/typings/classes/Light3D.d.ts +227 -0
- package/typings/classes/LightOccluder2D.d.ts +22 -0
- package/typings/classes/LightmapGI.d.ts +225 -0
- package/typings/classes/LightmapGIData.d.ts +50 -0
- package/typings/classes/LightmapProbe.d.ts +6 -0
- package/typings/classes/Lightmapper.d.ts +6 -0
- package/typings/classes/LightmapperRD.d.ts +6 -0
- package/typings/classes/LimitAngularVelocityModifier3D.d.ts +50 -0
- package/typings/classes/Line2D.d.ts +127 -0
- package/typings/classes/LineEdit.d.ts +370 -0
- package/typings/classes/LinkButton.d.ts +54 -0
- package/typings/classes/Logger.d.ts +31 -0
- package/typings/classes/LookAtModifier3D.d.ts +196 -0
- package/typings/classes/MainLoop.d.ts +80 -0
- package/typings/classes/MarginContainer.d.ts +6 -0
- package/typings/classes/Marker2D.d.ts +10 -0
- package/typings/classes/Marker3D.d.ts +10 -0
- package/typings/classes/Marshalls.d.ts +27 -0
- package/typings/classes/Material.d.ts +50 -0
- package/typings/classes/MenuBar.d.ts +64 -0
- package/typings/classes/MenuButton.d.ts +35 -0
- package/typings/classes/Mesh.d.ts +255 -0
- package/typings/classes/MeshConvexDecompositionSettings.d.ts +68 -0
- package/typings/classes/MeshDataTool.d.ts +99 -0
- package/typings/classes/MeshInstance2D.d.ts +19 -0
- package/typings/classes/MeshInstance3D.d.ts +87 -0
- package/typings/classes/MeshLibrary.d.ts +68 -0
- package/typings/classes/MeshTexture.d.ts +19 -0
- package/typings/classes/MethodTweener.d.ts +18 -0
- package/typings/classes/MissingNode.d.ts +26 -0
- package/typings/classes/MissingResource.d.ts +16 -0
- package/typings/classes/ModifierBoneTarget3D.d.ts +14 -0
- package/typings/classes/MovieWriter.d.ts +36 -0
- package/typings/classes/MultiMesh.d.ts +138 -0
- package/typings/classes/MultiMeshInstance2D.d.ts +19 -0
- package/typings/classes/MultiMeshInstance3D.d.ts +12 -0
- package/typings/classes/MultiplayerAPI.d.ts +93 -0
- package/typings/classes/MultiplayerAPIExtension.d.ts +24 -0
- package/typings/classes/MultiplayerPeer.d.ts +90 -0
- package/typings/classes/MultiplayerPeerExtension.d.ts +90 -0
- package/typings/classes/Mutex.d.ts +22 -0
- package/typings/classes/NativeMenu.d.ts +428 -0
- package/typings/classes/NavigationAgent2D.d.ts +292 -0
- package/typings/classes/NavigationAgent3D.d.ts +311 -0
- package/typings/classes/NavigationLink2D.d.ts +77 -0
- package/typings/classes/NavigationLink3D.d.ts +77 -0
- package/typings/classes/NavigationMesh.d.ts +207 -0
- package/typings/classes/NavigationMeshGenerator.d.ts +22 -0
- package/typings/classes/NavigationMeshSourceGeometryData2D.d.ts +52 -0
- package/typings/classes/NavigationMeshSourceGeometryData3D.d.ts +64 -0
- package/typings/classes/NavigationObstacle2D.d.ts +67 -0
- package/typings/classes/NavigationObstacle3D.d.ts +80 -0
- package/typings/classes/NavigationPathQueryParameters2D.d.ts +114 -0
- package/typings/classes/NavigationPathQueryParameters3D.d.ts +114 -0
- package/typings/classes/NavigationPathQueryResult2D.d.ts +41 -0
- package/typings/classes/NavigationPathQueryResult3D.d.ts +41 -0
- package/typings/classes/NavigationPolygon.d.ts +150 -0
- package/typings/classes/NavigationRegion2D.d.ts +74 -0
- package/typings/classes/NavigationRegion3D.d.ts +72 -0
- package/typings/classes/NavigationServer2D.d.ts +443 -0
- package/typings/classes/NavigationServer2DManager.d.ts +16 -0
- package/typings/classes/NavigationServer3D.d.ts +499 -0
- package/typings/classes/NavigationServer3DManager.d.ts +16 -0
- package/typings/classes/NinePatchRect.d.ts +65 -0
- package/typings/classes/Node.d.ts +1021 -0
- package/typings/classes/Node2D.d.ts +107 -0
- package/typings/classes/Node3D.d.ts +331 -0
- package/typings/classes/Node3DGizmo.d.ts +6 -0
- package/typings/classes/NodePath.d.ts +107 -0
- package/typings/classes/ORMMaterial3D.d.ts +6 -0
- package/typings/classes/OS.d.ts +556 -0
- package/typings/classes/Object.d.ts +434 -0
- package/typings/classes/Occluder3D.d.ts +10 -0
- package/typings/classes/OccluderInstance3D.d.ts +39 -0
- package/typings/classes/OccluderPolygon2D.d.ts +28 -0
- package/typings/classes/OmniLight3D.d.ts +31 -0
- package/typings/classes/OptimizedTranslation.d.ts +12 -0
- package/typings/classes/OptionButton.d.ts +136 -0
- package/typings/classes/PCKPacker.d.ts +27 -0
- package/typings/classes/PackedByteArray.d.ts +327 -0
- package/typings/classes/PackedColorArray.d.ts +125 -0
- package/typings/classes/PackedDataContainer.d.ts +13 -0
- package/typings/classes/PackedDataContainerRef.d.ts +8 -0
- package/typings/classes/PackedFloat32Array.d.ts +140 -0
- package/typings/classes/PackedFloat64Array.d.ts +140 -0
- package/typings/classes/PackedInt32Array.d.ts +127 -0
- package/typings/classes/PackedInt64Array.d.ts +127 -0
- package/typings/classes/PackedScene.d.ts +40 -0
- package/typings/classes/PackedStringArray.d.ts +124 -0
- package/typings/classes/PackedVector2Array.d.ts +139 -0
- package/typings/classes/PackedVector3Array.d.ts +139 -0
- package/typings/classes/PackedVector4Array.d.ts +138 -0
- package/typings/classes/PacketPeer.d.ts +33 -0
- package/typings/classes/PacketPeerDTLS.d.ts +34 -0
- package/typings/classes/PacketPeerExtension.d.ts +9 -0
- package/typings/classes/PacketPeerStream.d.ts +16 -0
- package/typings/classes/PacketPeerUDP.d.ts +61 -0
- package/typings/classes/Panel.d.ts +6 -0
- package/typings/classes/PanelContainer.d.ts +7 -0
- package/typings/classes/PanoramaSkyMaterial.d.ts +18 -0
- package/typings/classes/Parallax2D.d.ts +63 -0
- package/typings/classes/ParallaxBackground.d.ts +37 -0
- package/typings/classes/ParallaxLayer.d.ts +26 -0
- package/typings/classes/ParticleProcessMaterial.d.ts +595 -0
- package/typings/classes/Path2D.d.ts +10 -0
- package/typings/classes/Path3D.d.ts +21 -0
- package/typings/classes/PathFollow2D.d.ts +45 -0
- package/typings/classes/PathFollow3D.d.ts +76 -0
- package/typings/classes/Performance.d.ts +229 -0
- package/typings/classes/PhysicalBone2D.d.ts +44 -0
- package/typings/classes/PhysicalBone3D.d.ts +130 -0
- package/typings/classes/PhysicalBoneSimulator3D.d.ts +29 -0
- package/typings/classes/PhysicalSkyMaterial.d.ts +66 -0
- package/typings/classes/PhysicsBody2D.d.ts +34 -0
- package/typings/classes/PhysicsBody3D.d.ts +51 -0
- package/typings/classes/PhysicsDirectBodyState2D.d.ts +162 -0
- package/typings/classes/PhysicsDirectBodyState2DExtension.d.ts +132 -0
- package/typings/classes/PhysicsDirectBodyState3D.d.ts +165 -0
- package/typings/classes/PhysicsDirectBodyState3DExtension.d.ts +58 -0
- package/typings/classes/PhysicsDirectSpaceState2D.d.ts +58 -0
- package/typings/classes/PhysicsDirectSpaceState2DExtension.d.ts +15 -0
- package/typings/classes/PhysicsDirectSpaceState3D.d.ts +62 -0
- package/typings/classes/PhysicsDirectSpaceState3DExtension.d.ts +16 -0
- package/typings/classes/PhysicsMaterial.d.ts +27 -0
- package/typings/classes/PhysicsPointQueryParameters2D.d.ts +38 -0
- package/typings/classes/PhysicsPointQueryParameters3D.d.ts +31 -0
- package/typings/classes/PhysicsRayQueryParameters2D.d.ts +46 -0
- package/typings/classes/PhysicsRayQueryParameters3D.d.ts +52 -0
- package/typings/classes/PhysicsServer2D.d.ts +739 -0
- package/typings/classes/PhysicsServer2DExtension.d.ts +354 -0
- package/typings/classes/PhysicsServer2DManager.d.ts +16 -0
- package/typings/classes/PhysicsServer3D.d.ts +1028 -0
- package/typings/classes/PhysicsServer3DExtension.d.ts +204 -0
- package/typings/classes/PhysicsServer3DManager.d.ts +16 -0
- package/typings/classes/PhysicsServer3DRenderingServerHandler.d.ts +26 -0
- package/typings/classes/PhysicsShapeQueryParameters2D.d.ts +51 -0
- package/typings/classes/PhysicsShapeQueryParameters3D.d.ts +51 -0
- package/typings/classes/PhysicsTestMotionParameters2D.d.ts +46 -0
- package/typings/classes/PhysicsTestMotionParameters3D.d.ts +52 -0
- package/typings/classes/PhysicsTestMotionResult2D.d.ts +38 -0
- package/typings/classes/PhysicsTestMotionResult3D.d.ts +54 -0
- package/typings/classes/PinJoint2D.d.ts +34 -0
- package/typings/classes/PinJoint3D.d.ts +35 -0
- package/typings/classes/PlaceholderCubemap.d.ts +6 -0
- package/typings/classes/PlaceholderCubemapArray.d.ts +6 -0
- package/typings/classes/PlaceholderMaterial.d.ts +6 -0
- package/typings/classes/PlaceholderMesh.d.ts +9 -0
- package/typings/classes/PlaceholderTexture2D.d.ts +11 -0
- package/typings/classes/PlaceholderTexture2DArray.d.ts +6 -0
- package/typings/classes/PlaceholderTexture3D.d.ts +10 -0
- package/typings/classes/PlaceholderTextureLayered.d.ts +13 -0
- package/typings/classes/Plane.d.ts +143 -0
- package/typings/classes/PlaneMesh.d.ts +38 -0
- package/typings/classes/PointLight2D.d.ts +22 -0
- package/typings/classes/PointMesh.d.ts +6 -0
- package/typings/classes/Polygon2D.d.ts +101 -0
- package/typings/classes/PolygonOccluder3D.d.ts +13 -0
- package/typings/classes/PolygonPathFinder.d.ts +18 -0
- package/typings/classes/Popup.d.ts +18 -0
- package/typings/classes/PopupMenu.d.ts +349 -0
- package/typings/classes/PopupPanel.d.ts +10 -0
- package/typings/classes/PortableCompressedTexture2D.d.ts +47 -0
- package/typings/classes/PrimitiveMesh.d.ts +48 -0
- package/typings/classes/PrismMesh.d.ts +28 -0
- package/typings/classes/ProceduralSkyMaterial.d.ts +68 -0
- package/typings/classes/ProgressBar.d.ts +38 -0
- package/typings/classes/ProjectSettings.d.ts +3818 -0
- package/typings/classes/Projection.d.ts +193 -0
- package/typings/classes/PropertyTweener.d.ts +38 -0
- package/typings/classes/QuadMesh.d.ts +8 -0
- package/typings/classes/QuadOccluder3D.d.ts +10 -0
- package/typings/classes/Quaternion.d.ts +188 -0
- package/typings/classes/RDAttachmentFormat.d.ts +18 -0
- package/typings/classes/RDFramebufferPass.d.ts +33 -0
- package/typings/classes/RDPipelineColorBlendState.d.ts +22 -0
- package/typings/classes/RDPipelineColorBlendStateAttachment.d.ts +61 -0
- package/typings/classes/RDPipelineDepthStencilState.d.ts +102 -0
- package/typings/classes/RDPipelineMultisampleState.d.ts +42 -0
- package/typings/classes/RDPipelineRasterizationState.d.ts +64 -0
- package/typings/classes/RDPipelineSpecializationConstant.d.ts +18 -0
- package/typings/classes/RDSamplerState.d.ts +91 -0
- package/typings/classes/RDShaderFile.d.ts +21 -0
- package/typings/classes/RDShaderSPIRV.d.ts +85 -0
- package/typings/classes/RDShaderSource.d.ts +40 -0
- package/typings/classes/RDTextureFormat.d.ts +62 -0
- package/typings/classes/RDTextureView.d.ts +28 -0
- package/typings/classes/RDUniform.d.ts +23 -0
- package/typings/classes/RDVertexAttribute.d.ts +35 -0
- package/typings/classes/RID.d.ts +65 -0
- package/typings/classes/RandomNumberGenerator.d.ts +45 -0
- package/typings/classes/Range.d.ts +76 -0
- package/typings/classes/RayCast2D.d.ts +90 -0
- package/typings/classes/RayCast3D.d.ts +113 -0
- package/typings/classes/Rect2.d.ts +135 -0
- package/typings/classes/Rect2i.d.ts +127 -0
- package/typings/classes/RectangleShape2D.d.ts +10 -0
- package/typings/classes/RefCounted.d.ts +23 -0
- package/typings/classes/ReferenceRect.d.ts +22 -0
- package/typings/classes/ReflectionProbe.d.ts +118 -0
- package/typings/classes/RemoteTransform2D.d.ts +33 -0
- package/typings/classes/RemoteTransform3D.d.ts +33 -0
- package/typings/classes/RenderData.d.ts +20 -0
- package/typings/classes/RenderDataExtension.d.ts +18 -0
- package/typings/classes/RenderDataRD.d.ts +6 -0
- package/typings/classes/RenderSceneBuffers.d.ts +10 -0
- package/typings/classes/RenderSceneBuffersConfiguration.d.ts +48 -0
- package/typings/classes/RenderSceneBuffersExtension.d.ts +16 -0
- package/typings/classes/RenderSceneBuffersRD.d.ts +85 -0
- package/typings/classes/RenderSceneData.d.ts +29 -0
- package/typings/classes/RenderSceneDataExtension.d.ts +20 -0
- package/typings/classes/RenderSceneDataRD.d.ts +6 -0
- package/typings/classes/RenderingDevice.d.ts +2373 -0
- package/typings/classes/RenderingServer.d.ts +3501 -0
- package/typings/classes/Resource.d.ts +130 -0
- package/typings/classes/ResourceFormatLoader.d.ts +73 -0
- package/typings/classes/ResourceFormatSaver.d.ts +26 -0
- package/typings/classes/ResourceImporter.d.ts +18 -0
- package/typings/classes/ResourceImporterBMFont.d.ts +14 -0
- package/typings/classes/ResourceImporterBitMap.d.ts +16 -0
- package/typings/classes/ResourceImporterCSVTranslation.d.ts +23 -0
- package/typings/classes/ResourceImporterDynamicFont.d.ts +96 -0
- package/typings/classes/ResourceImporterImage.d.ts +6 -0
- package/typings/classes/ResourceImporterImageFont.d.ts +46 -0
- package/typings/classes/ResourceImporterLayeredTexture.d.ts +65 -0
- package/typings/classes/ResourceImporterOBJ.d.ts +38 -0
- package/typings/classes/ResourceImporterSVG.d.ts +24 -0
- package/typings/classes/ResourceImporterScene.d.ts +114 -0
- package/typings/classes/ResourceImporterShaderFile.d.ts +6 -0
- package/typings/classes/ResourceImporterTexture.d.ts +188 -0
- package/typings/classes/ResourceImporterTextureAtlas.d.ts +27 -0
- package/typings/classes/ResourceImporterWAV.d.ts +57 -0
- package/typings/classes/ResourceLoader.d.ts +106 -0
- package/typings/classes/ResourcePreloader.d.ts +20 -0
- package/typings/classes/ResourceSaver.d.ts +53 -0
- package/typings/classes/ResourceUID.d.ts +59 -0
- package/typings/classes/RetargetModifier3D.d.ts +51 -0
- package/typings/classes/RibbonTrailMesh.d.ts +42 -0
- package/typings/classes/RichTextEffect.d.ts +10 -0
- package/typings/classes/RichTextLabel.d.ts +524 -0
- package/typings/classes/RigidBody2D.d.ts +280 -0
- package/typings/classes/RigidBody3D.d.ts +271 -0
- package/typings/classes/RootMotionView.d.ts +30 -0
- package/typings/classes/SceneState.d.ts +93 -0
- package/typings/classes/SceneTree.d.ts +257 -0
- package/typings/classes/SceneTreeTimer.d.ts +13 -0
- package/typings/classes/Script.d.ts +64 -0
- package/typings/classes/ScriptBacktrace.d.ts +63 -0
- package/typings/classes/ScriptCreateDialog.d.ts +17 -0
- package/typings/classes/ScriptEditor.d.ts +60 -0
- package/typings/classes/ScriptEditorBase.d.ts +39 -0
- package/typings/classes/ScriptExtension.d.ts +48 -0
- package/typings/classes/ScriptLanguage.d.ts +12 -0
- package/typings/classes/ScriptLanguageExtension.d.ts +110 -0
- package/typings/classes/ScrollBar.d.ts +19 -0
- package/typings/classes/ScrollContainer.d.ts +120 -0
- package/typings/classes/SegmentShape2D.d.ts +14 -0
- package/typings/classes/Semaphore.d.ts +14 -0
- package/typings/classes/SeparationRayShape2D.d.ts +17 -0
- package/typings/classes/SeparationRayShape3D.d.ts +17 -0
- package/typings/classes/Separator.d.ts +6 -0
- package/typings/classes/Shader.d.ts +48 -0
- package/typings/classes/ShaderGlobalsOverride.d.ts +6 -0
- package/typings/classes/ShaderInclude.d.ts +12 -0
- package/typings/classes/ShaderIncludeDB.d.ts +14 -0
- package/typings/classes/ShaderMaterial.d.ts +19 -0
- package/typings/classes/Shape2D.d.ts +44 -0
- package/typings/classes/Shape3D.d.ts +24 -0
- package/typings/classes/ShapeCast2D.d.ts +107 -0
- package/typings/classes/ShapeCast3D.d.ts +116 -0
- package/typings/classes/Shortcut.d.ts +22 -0
- package/typings/classes/Signal.d.ts +86 -0
- package/typings/classes/Skeleton2D.d.ts +35 -0
- package/typings/classes/Skeleton3D.d.ts +225 -0
- package/typings/classes/SkeletonIK3D.d.ts +83 -0
- package/typings/classes/SkeletonModification2D.d.ts +52 -0
- package/typings/classes/SkeletonModification2DCCDIK.d.ts +64 -0
- package/typings/classes/SkeletonModification2DFABRIK.d.ts +40 -0
- package/typings/classes/SkeletonModification2DJiggle.d.ts +97 -0
- package/typings/classes/SkeletonModification2DLookAt.d.ts +48 -0
- package/typings/classes/SkeletonModification2DPhysicalBones.d.ts +32 -0
- package/typings/classes/SkeletonModification2DStackHolder.d.ts +12 -0
- package/typings/classes/SkeletonModification2DTwoBoneIK.d.ts +57 -0
- package/typings/classes/SkeletonModificationStack2D.d.ts +46 -0
- package/typings/classes/SkeletonModifier3D.d.ts +101 -0
- package/typings/classes/SkeletonProfile.d.ts +119 -0
- package/typings/classes/SkeletonProfileHumanoid.d.ts +10 -0
- package/typings/classes/Skin.d.ts +16 -0
- package/typings/classes/SkinReference.d.ts +15 -0
- package/typings/classes/Sky.d.ts +61 -0
- package/typings/classes/Slider.d.ts +49 -0
- package/typings/classes/SliderJoint3D.d.ts +166 -0
- package/typings/classes/SocketServer.d.ts +14 -0
- package/typings/classes/SoftBody3D.d.ts +136 -0
- package/typings/classes/SphereMesh.d.ts +29 -0
- package/typings/classes/SphereOccluder3D.d.ts +10 -0
- package/typings/classes/SphereShape3D.d.ts +10 -0
- package/typings/classes/SpinBox.d.ts +60 -0
- package/typings/classes/SplineIK3D.d.ts +37 -0
- package/typings/classes/SplitContainer.d.ts +114 -0
- package/typings/classes/SpotLight3D.d.ts +28 -0
- package/typings/classes/SpringArm3D.d.ts +47 -0
- package/typings/classes/SpringBoneCollision3D.d.ts +25 -0
- package/typings/classes/SpringBoneCollisionCapsule3D.d.ts +30 -0
- package/typings/classes/SpringBoneCollisionPlane3D.d.ts +6 -0
- package/typings/classes/SpringBoneCollisionSphere3D.d.ts +14 -0
- package/typings/classes/SpringBoneSimulator3D.d.ts +283 -0
- package/typings/classes/Sprite2D.d.ts +88 -0
- package/typings/classes/Sprite3D.d.ts +51 -0
- package/typings/classes/SpriteBase3D.d.ts +147 -0
- package/typings/classes/SpriteFrames.d.ts +57 -0
- package/typings/classes/StandardMaterial3D.d.ts +6 -0
- package/typings/classes/StaticBody2D.d.ts +27 -0
- package/typings/classes/StaticBody3D.d.ts +27 -0
- package/typings/classes/StatusIndicator.d.ts +36 -0
- package/typings/classes/StreamPeer.d.ts +102 -0
- package/typings/classes/StreamPeerBuffer.d.ts +23 -0
- package/typings/classes/StreamPeerExtension.d.ts +10 -0
- package/typings/classes/StreamPeerGZIP.d.ts +21 -0
- package/typings/classes/StreamPeerSocket.d.ts +22 -0
- package/typings/classes/StreamPeerTCP.d.ts +26 -0
- package/typings/classes/StreamPeerTLS.d.ts +40 -0
- package/typings/classes/StreamPeerUDS.d.ts +15 -0
- package/typings/classes/String.d.ts +475 -0
- package/typings/classes/StringName.d.ts +4 -0
- package/typings/classes/StyleBox.d.ts +64 -0
- package/typings/classes/StyleBoxEmpty.d.ts +6 -0
- package/typings/classes/StyleBoxFlat.d.ts +120 -0
- package/typings/classes/StyleBoxLine.d.ts +30 -0
- package/typings/classes/StyleBoxTexture.d.ts +99 -0
- package/typings/classes/SubViewport.d.ts +57 -0
- package/typings/classes/SubViewportContainer.d.ts +33 -0
- package/typings/classes/SubtweenTweener.d.ts +10 -0
- package/typings/classes/SurfaceTool.d.ts +178 -0
- package/typings/classes/SyntaxHighlighter.d.ts +33 -0
- package/typings/classes/SystemFont.d.ts +94 -0
- package/typings/classes/TCPServer.d.ts +17 -0
- package/typings/classes/TLSOptions.d.ts +38 -0
- package/typings/classes/TabBar.d.ts +203 -0
- package/typings/classes/TabContainer.d.ts +184 -0
- package/typings/classes/TextEdit.d.ts +877 -0
- package/typings/classes/TextLine.d.ts +100 -0
- package/typings/classes/TextMesh.d.ts +103 -0
- package/typings/classes/TextParagraph.d.ts +160 -0
- package/typings/classes/TextServer.d.ts +1006 -0
- package/typings/classes/TextServerDummy.d.ts +6 -0
- package/typings/classes/TextServerExtension.d.ts +586 -0
- package/typings/classes/TextServerManager.d.ts +31 -0
- package/typings/classes/Texture.d.ts +6 -0
- package/typings/classes/Texture2D.d.ts +69 -0
- package/typings/classes/Texture2DArray.d.ts +10 -0
- package/typings/classes/Texture2DArrayRD.d.ts +6 -0
- package/typings/classes/Texture2DRD.d.ts +11 -0
- package/typings/classes/Texture3D.d.ts +36 -0
- package/typings/classes/Texture3DRD.d.ts +10 -0
- package/typings/classes/TextureButton.d.ts +80 -0
- package/typings/classes/TextureCubemapArrayRD.d.ts +6 -0
- package/typings/classes/TextureCubemapRD.d.ts +6 -0
- package/typings/classes/TextureLayered.d.ts +46 -0
- package/typings/classes/TextureLayeredRD.d.ts +10 -0
- package/typings/classes/TextureProgressBar.d.ts +120 -0
- package/typings/classes/TextureRect.d.ts +69 -0
- package/typings/classes/Theme.d.ts +335 -0
- package/typings/classes/ThemeDB.d.ts +58 -0
- package/typings/classes/Thread.d.ts +55 -0
- package/typings/classes/TileData.d.ts +155 -0
- package/typings/classes/TileMap.d.ts +303 -0
- package/typings/classes/TileMapLayer.d.ts +244 -0
- package/typings/classes/TileMapPattern.d.ts +26 -0
- package/typings/classes/TileSet.d.ts +348 -0
- package/typings/classes/TileSetAtlasSource.d.ts +160 -0
- package/typings/classes/TileSetScenesCollectionSource.d.ts +37 -0
- package/typings/classes/TileSetSource.d.ts +24 -0
- package/typings/classes/Time.d.ts +149 -0
- package/typings/classes/Timer.d.ts +71 -0
- package/typings/classes/TorusMesh.d.ts +22 -0
- package/typings/classes/TouchScreenButton.d.ts +61 -0
- package/typings/classes/Transform2D.d.ts +207 -0
- package/typings/classes/Transform3D.d.ts +173 -0
- package/typings/classes/Translation.d.ts +51 -0
- package/typings/classes/TranslationDomain.d.ts +115 -0
- package/typings/classes/TranslationServer.d.ts +117 -0
- package/typings/classes/Tree.d.ts +298 -0
- package/typings/classes/TreeItem.d.ts +374 -0
- package/typings/classes/TriangleMesh.d.ts +33 -0
- package/typings/classes/TubeTrailMesh.d.ts +50 -0
- package/typings/classes/Tween.d.ts +218 -0
- package/typings/classes/Tweener.d.ts +11 -0
- package/typings/classes/TwoBoneIK3D.d.ts +87 -0
- package/typings/classes/UDPServer.d.ts +35 -0
- package/typings/classes/UDSServer.d.ts +13 -0
- package/typings/classes/UndoRedo.d.ts +92 -0
- package/typings/classes/UniformSetCacheRD.d.ts +8 -0
- package/typings/classes/VBoxContainer.d.ts +6 -0
- package/typings/classes/VFlowContainer.d.ts +6 -0
- package/typings/classes/VScrollBar.d.ts +8 -0
- package/typings/classes/VSeparator.d.ts +6 -0
- package/typings/classes/VSlider.d.ts +8 -0
- package/typings/classes/VSplitContainer.d.ts +8 -0
- package/typings/classes/Variant.d.ts +6 -0
- package/typings/classes/Vector2.d.ts +298 -0
- package/typings/classes/Vector2i.d.ts +166 -0
- package/typings/classes/Vector3.d.ts +309 -0
- package/typings/classes/Vector3i.d.ts +172 -0
- package/typings/classes/Vector4.d.ts +216 -0
- package/typings/classes/Vector4i.d.ts +164 -0
- package/typings/classes/VehicleBody3D.d.ts +26 -0
- package/typings/classes/VehicleWheel3D.d.ts +112 -0
- package/typings/classes/VideoStream.d.ts +18 -0
- package/typings/classes/VideoStreamPlayback.d.ts +52 -0
- package/typings/classes/VideoStreamPlayer.d.ts +82 -0
- package/typings/classes/Viewport.d.ts +815 -0
- package/typings/classes/ViewportTexture.d.ts +13 -0
- package/typings/classes/VirtualJoystick.d.ts +94 -0
- package/typings/classes/VisibleOnScreenEnabler2D.d.ts +26 -0
- package/typings/classes/VisibleOnScreenEnabler3D.d.ts +26 -0
- package/typings/classes/VisibleOnScreenNotifier2D.d.ts +27 -0
- package/typings/classes/VisibleOnScreenNotifier3D.d.ts +20 -0
- package/typings/classes/VisualInstance3D.d.ts +53 -0
- package/typings/classes/VisualShader.d.ts +112 -0
- package/typings/classes/VisualShaderNode.d.ts +63 -0
- package/typings/classes/VisualShaderNodeBillboard.d.ts +28 -0
- package/typings/classes/VisualShaderNodeBooleanConstant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeBooleanParameter.d.ts +14 -0
- package/typings/classes/VisualShaderNodeClamp.d.ts +26 -0
- package/typings/classes/VisualShaderNodeColorConstant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeColorFunc.d.ts +32 -0
- package/typings/classes/VisualShaderNodeColorOp.d.ts +32 -0
- package/typings/classes/VisualShaderNodeColorParameter.d.ts +14 -0
- package/typings/classes/VisualShaderNodeComment.d.ts +12 -0
- package/typings/classes/VisualShaderNodeCompare.d.ts +68 -0
- package/typings/classes/VisualShaderNodeConstant.d.ts +6 -0
- package/typings/classes/VisualShaderNodeCubemap.d.ts +43 -0
- package/typings/classes/VisualShaderNodeCubemapParameter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeCurveTexture.d.ts +10 -0
- package/typings/classes/VisualShaderNodeCurveXYZTexture.d.ts +10 -0
- package/typings/classes/VisualShaderNodeCustom.d.ts +122 -0
- package/typings/classes/VisualShaderNodeDerivativeFunc.d.ts +56 -0
- package/typings/classes/VisualShaderNodeDeterminant.d.ts +6 -0
- package/typings/classes/VisualShaderNodeDistanceFade.d.ts +6 -0
- package/typings/classes/VisualShaderNodeDotProduct.d.ts +6 -0
- package/typings/classes/VisualShaderNodeExpression.d.ts +12 -0
- package/typings/classes/VisualShaderNodeFaceForward.d.ts +8 -0
- package/typings/classes/VisualShaderNodeFloatConstant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeFloatFunc.d.ts +108 -0
- package/typings/classes/VisualShaderNodeFloatOp.d.ts +36 -0
- package/typings/classes/VisualShaderNodeFloatParameter.d.ts +52 -0
- package/typings/classes/VisualShaderNodeFrame.d.ts +35 -0
- package/typings/classes/VisualShaderNodeFresnel.d.ts +6 -0
- package/typings/classes/VisualShaderNodeGlobalExpression.d.ts +6 -0
- package/typings/classes/VisualShaderNodeGroupBase.d.ts +60 -0
- package/typings/classes/VisualShaderNodeIf.d.ts +8 -0
- package/typings/classes/VisualShaderNodeInput.d.ts +20 -0
- package/typings/classes/VisualShaderNodeIntConstant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeIntFunc.d.ts +24 -0
- package/typings/classes/VisualShaderNodeIntOp.d.ts +48 -0
- package/typings/classes/VisualShaderNodeIntParameter.d.ts +58 -0
- package/typings/classes/VisualShaderNodeIs.d.ts +18 -0
- package/typings/classes/VisualShaderNodeLinearSceneDepth.d.ts +6 -0
- package/typings/classes/VisualShaderNodeMix.d.ts +28 -0
- package/typings/classes/VisualShaderNodeMultiplyAdd.d.ts +22 -0
- package/typings/classes/VisualShaderNodeOuterProduct.d.ts +6 -0
- package/typings/classes/VisualShaderNodeOutput.d.ts +6 -0
- package/typings/classes/VisualShaderNodeParameter.d.ts +32 -0
- package/typings/classes/VisualShaderNodeParameterRef.d.ts +10 -0
- package/typings/classes/VisualShaderNodeParticleAccelerator.d.ts +20 -0
- package/typings/classes/VisualShaderNodeParticleBoxEmitter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeParticleConeVelocity.d.ts +6 -0
- package/typings/classes/VisualShaderNodeParticleEmit.d.ts +22 -0
- package/typings/classes/VisualShaderNodeParticleEmitter.d.ts +12 -0
- package/typings/classes/VisualShaderNodeParticleMeshEmitter.d.ts +20 -0
- package/typings/classes/VisualShaderNodeParticleMultiplyByAxisAngle.d.ts +10 -0
- package/typings/classes/VisualShaderNodeParticleOutput.d.ts +6 -0
- package/typings/classes/VisualShaderNodeParticleRandomness.d.ts +22 -0
- package/typings/classes/VisualShaderNodeParticleRingEmitter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeParticleSphereEmitter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeProximityFade.d.ts +6 -0
- package/typings/classes/VisualShaderNodeRandomRange.d.ts +6 -0
- package/typings/classes/VisualShaderNodeRemap.d.ts +33 -0
- package/typings/classes/VisualShaderNodeReroute.d.ts +8 -0
- package/typings/classes/VisualShaderNodeResizableBase.d.ts +10 -0
- package/typings/classes/VisualShaderNodeRotationByAxis.d.ts +6 -0
- package/typings/classes/VisualShaderNodeSDFRaymarch.d.ts +6 -0
- package/typings/classes/VisualShaderNodeSDFToScreenUV.d.ts +8 -0
- package/typings/classes/VisualShaderNodeSample3D.d.ts +18 -0
- package/typings/classes/VisualShaderNodeScreenNormalWorldSpace.d.ts +6 -0
- package/typings/classes/VisualShaderNodeScreenUVToSDF.d.ts +8 -0
- package/typings/classes/VisualShaderNodeSmoothStep.d.ts +28 -0
- package/typings/classes/VisualShaderNodeStep.d.ts +28 -0
- package/typings/classes/VisualShaderNodeSwitch.d.ts +30 -0
- package/typings/classes/VisualShaderNodeTexture.d.ts +57 -0
- package/typings/classes/VisualShaderNodeTexture2DArray.d.ts +12 -0
- package/typings/classes/VisualShaderNodeTexture2DArrayParameter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTexture2DParameter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTexture3D.d.ts +12 -0
- package/typings/classes/VisualShaderNodeTexture3DParameter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTextureParameter.d.ts +104 -0
- package/typings/classes/VisualShaderNodeTextureParameterTriplanar.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTextureSDF.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTextureSDFNormal.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTransformCompose.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTransformConstant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeTransformDecompose.d.ts +6 -0
- package/typings/classes/VisualShaderNodeTransformFunc.d.ts +18 -0
- package/typings/classes/VisualShaderNodeTransformOp.d.ts +32 -0
- package/typings/classes/VisualShaderNodeTransformParameter.d.ts +14 -0
- package/typings/classes/VisualShaderNodeTransformVecMult.d.ts +22 -0
- package/typings/classes/VisualShaderNodeUIntConstant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeUIntFunc.d.ts +20 -0
- package/typings/classes/VisualShaderNodeUIntOp.d.ts +48 -0
- package/typings/classes/VisualShaderNodeUIntParameter.d.ts +16 -0
- package/typings/classes/VisualShaderNodeUVFunc.d.ts +22 -0
- package/typings/classes/VisualShaderNodeUVPolarCoord.d.ts +6 -0
- package/typings/classes/VisualShaderNodeVarying.d.ts +14 -0
- package/typings/classes/VisualShaderNodeVaryingGetter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeVaryingSetter.d.ts +6 -0
- package/typings/classes/VisualShaderNodeVec2Constant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeVec2Parameter.d.ts +14 -0
- package/typings/classes/VisualShaderNodeVec3Constant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeVec3Parameter.d.ts +14 -0
- package/typings/classes/VisualShaderNodeVec4Constant.d.ts +10 -0
- package/typings/classes/VisualShaderNodeVec4Parameter.d.ts +14 -0
- package/typings/classes/VisualShaderNodeVectorBase.d.ts +20 -0
- package/typings/classes/VisualShaderNodeVectorCompose.d.ts +8 -0
- package/typings/classes/VisualShaderNodeVectorDecompose.d.ts +8 -0
- package/typings/classes/VisualShaderNodeVectorDistance.d.ts +6 -0
- package/typings/classes/VisualShaderNodeVectorFunc.d.ts +84 -0
- package/typings/classes/VisualShaderNodeVectorLen.d.ts +6 -0
- package/typings/classes/VisualShaderNodeVectorOp.d.ts +42 -0
- package/typings/classes/VisualShaderNodeVectorRefract.d.ts +8 -0
- package/typings/classes/VisualShaderNodeWorldPositionFromDepth.d.ts +8 -0
- package/typings/classes/VoxelGI.d.ts +54 -0
- package/typings/classes/VoxelGIData.d.ts +70 -0
- package/typings/classes/WeakRef.d.ts +12 -0
- package/typings/classes/Window.d.ts +790 -0
- package/typings/classes/WorkerThreadPool.d.ts +55 -0
- package/typings/classes/World2D.d.ts +24 -0
- package/typings/classes/World3D.d.ts +32 -0
- package/typings/classes/WorldBoundaryShape2D.d.ts +19 -0
- package/typings/classes/WorldBoundaryShape3D.d.ts +10 -0
- package/typings/classes/WorldEnvironment.d.ts +22 -0
- package/typings/classes/X509Certificate.d.ts +16 -0
- package/typings/classes/XMLParser.d.ts +74 -0
- package/typings/classes/XRAnchor3D.d.ts +12 -0
- package/typings/classes/XRBodyModifier3D.d.ts +35 -0
- package/typings/classes/XRBodyTracker.d.ts +218 -0
- package/typings/classes/XRCamera3D.d.ts +7 -0
- package/typings/classes/XRController3D.d.ts +39 -0
- package/typings/classes/XRControllerTracker.d.ts +7 -0
- package/typings/classes/XRFaceModifier3D.d.ts +14 -0
- package/typings/classes/XRFaceTracker.d.ts +308 -0
- package/typings/classes/XRHandModifier3D.d.ts +24 -0
- package/typings/classes/XRHandTracker.d.ts +127 -0
- package/typings/classes/XRInterface.d.ts +181 -0
- package/typings/classes/XRInterfaceExtension.d.ts +94 -0
- package/typings/classes/XRNode3D.d.ts +46 -0
- package/typings/classes/XROrigin3D.d.ts +18 -0
- package/typings/classes/XRPose.d.ts +55 -0
- package/typings/classes/XRPositionalTracker.d.ts +64 -0
- package/typings/classes/XRServer.d.ts +130 -0
- package/typings/classes/XRTracker.d.ts +27 -0
- package/typings/classes/XRVRS.d.ts +28 -0
- package/typings/classes/_globals.d.ts +2243 -0
- package/typings/classes/_number-ops.d.ts +19 -0
- package/typings/classes/index.d.ts +915 -0
- package/typings/globals/gd-helpers.d.ts +354 -0
- package/typings/globals/globals.d.ts +511 -0
- package/typings/godot-class-registry.json +61322 -0
- package/typings/index.d.ts +3 -0
- package/typings-overrides/_globals.d.ts +114 -0
- package/typings-overrides/array.d.ts +54 -0
- package/typings-overrides/callable-function.d.ts +92 -0
- package/typings-overrides/class-db.d.ts +19 -0
- package/typings-overrides/dictionary.d.ts +26 -0
- package/typings-overrides/function.d.ts +29 -0
- package/typings-overrides/godot-object.d.ts +32 -0
- package/typings-overrides/node.d.ts +9 -0
- package/typings-overrides/non-nullable.json +117 -0
- package/typings-overrides/packed-scene.d.ts +7 -0
- package/typings-overrides/project-settings.d.ts +73 -0
- package/typings-overrides/property-tweener.d.ts +8 -0
- package/typings-overrides/resource.d.ts +3 -0
- package/typings-overrides/scene-tree.d.ts +54 -0
- package/typings-overrides/signal.d.ts +10 -0
- package/typings-overrides/tween.d.ts +18 -0
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lint overlay for the typescript-to-gdscript language-service plugin.
|
|
3
|
+
*
|
|
4
|
+
* Surfaces converter + Godot diagnostics as regular `ts.Diagnostic`s so
|
|
5
|
+
* the IDE shows TS→GD problems inline, exactly like TypeScript's own
|
|
6
|
+
* errors. Two tiers, in preference order:
|
|
7
|
+
*
|
|
8
|
+
* 1. **Live convert** (`liveDiagnosticsFor`) — runs `convertTsToGd`
|
|
9
|
+
* in-process against tsserver's own `ts.Program`. Handles the
|
|
10
|
+
* dirty buffer (unsaved changes), produces converter diagnostics
|
|
11
|
+
* synchronously, and kicks off async Godot validation. Results
|
|
12
|
+
* are memoized per (file, SourceFile.version) in an LRU.
|
|
13
|
+
*
|
|
14
|
+
* 2. **Cached fallback** (`cachedDiagnosticsFor`) — reads diagnostics
|
|
15
|
+
* the CLI/watcher already stored in the `ProjectCache`. Used when
|
|
16
|
+
* live convert can't run (e.g. convert threw) OR produced nothing
|
|
17
|
+
* but the on-disk cache has a fresh entry.
|
|
18
|
+
*
|
|
19
|
+
* Godot validation runs async on every successful live convert. When
|
|
20
|
+
* Godot returns we merge its diagnostics into the live memo and call
|
|
21
|
+
* `info.project.refreshDiagnostics()` so tsserver re-queries the file
|
|
22
|
+
* without waiting for another edit.
|
|
23
|
+
*/
|
|
24
|
+
import { resolve, relative } from 'path';
|
|
25
|
+
import { ProjectCache, hashContent, } from "../cache/index.js";
|
|
26
|
+
import { resolveGodotPath } from "../config/index.js";
|
|
27
|
+
import { convertTsToGd } from "../converter/ts-to-gd/index.js";
|
|
28
|
+
import { validateGdFiles } from "../godot-validate/index.js";
|
|
29
|
+
import { LRU } from "./lru.js";
|
|
30
|
+
/** Diagnostic codes the plugin owns — users can filter them via source === 'tstogd'. */
|
|
31
|
+
const DIAG_CODE_BASE = 90000;
|
|
32
|
+
export function createLintOverlay(deps) {
|
|
33
|
+
const { ts, info, ls, cfg, cache, log, trace } = deps;
|
|
34
|
+
/**
|
|
35
|
+
* Per-file memo of converter + Godot diagnostics, keyed by fileName.
|
|
36
|
+
* Each entry is small (a few hundred bytes) so the cap is generous
|
|
37
|
+
* — it exists purely to keep the Map from growing for the life of
|
|
38
|
+
* the tsserver process.
|
|
39
|
+
*/
|
|
40
|
+
const liveCache = new LRU(100);
|
|
41
|
+
/**
|
|
42
|
+
* In-flight Godot validations, one per file. Aborting a previous
|
|
43
|
+
* run before starting a new one kills its child process and lets
|
|
44
|
+
* `validateGdFiles` return early instead of parsing stale output.
|
|
45
|
+
*
|
|
46
|
+
* Entries self-clean on settle — we only delete when the stored
|
|
47
|
+
* controller is still our own, so a superseding request doesn't
|
|
48
|
+
* race-clear the newer controller that just replaced ours. At
|
|
49
|
+
* steady state the size is bounded by the number of files
|
|
50
|
+
* concurrently being validated — normally 1, at most a handful.
|
|
51
|
+
*/
|
|
52
|
+
const pendingGodot = new Map();
|
|
53
|
+
/**
|
|
54
|
+
* Last-known Godot diagnostics per file, stored as `CachedDiagnostic[]`
|
|
55
|
+
* (SourceFile-independent) so they can be re-anchored against any
|
|
56
|
+
* future version's `SourceFile`. Crucial for on-the-fly validation
|
|
57
|
+
* in WebStorm: WebStorm only repaints squiggles from a "primary"
|
|
58
|
+
* `getErr` round (one it initiated), not from async follow-ups
|
|
59
|
+
* triggered by `refreshDiagnostics()`. By seeding every new
|
|
60
|
+
* `LiveEntry.godot` from this cache, the very first `getErr` for
|
|
61
|
+
* a new version already carries Godot diagnostics — so WebStorm
|
|
62
|
+
* paints them on its own primary-round response, no async-refresh
|
|
63
|
+
* dependency needed.
|
|
64
|
+
*
|
|
65
|
+
* The diag positions are stale until fresh Godot catches up (at most
|
|
66
|
+
* one line or two off during active typing), but the presence of
|
|
67
|
+
* the squiggle is what matters UX-wise. Fresh Godot overwrites both
|
|
68
|
+
* `liveCache[file].godot` and this map on every completion.
|
|
69
|
+
*
|
|
70
|
+
* `LRU(100)` caps the map size. Evicted entries just mean those
|
|
71
|
+
* files start without a seed on the next edit — no data loss for
|
|
72
|
+
* on-disk state.
|
|
73
|
+
*/
|
|
74
|
+
const lastGodotByFile = new LRU(100);
|
|
75
|
+
/**
|
|
76
|
+
* Accept a file for plugin overlays iff it's a plain `.ts` (not
|
|
77
|
+
* `.d.ts`) AND it lives under `cfg.tsDir`. Pure O(1) check — no
|
|
78
|
+
* I/O, no memos. Files outside `tsDir` are foreign; the plugin
|
|
79
|
+
* ignores them.
|
|
80
|
+
*/
|
|
81
|
+
function isInScope(fileName) {
|
|
82
|
+
if (!fileName.endsWith('.ts') || fileName.endsWith('.d.ts')) {
|
|
83
|
+
trace(`skip ${fileName}: not a plain .ts file`);
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
// `rel` starts with `..` iff `fileName` is outside `cfg.tsDir`.
|
|
87
|
+
const rel = relative(cfg.tsDir, fileName);
|
|
88
|
+
if (rel.startsWith('..')) {
|
|
89
|
+
trace(`skip ${fileName}: outside tsDir (${cfg.tsDir})`);
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
function severityToCategory(sev) {
|
|
95
|
+
switch (sev) {
|
|
96
|
+
case 'error':
|
|
97
|
+
case 'type-error':
|
|
98
|
+
return ts.DiagnosticCategory.Error;
|
|
99
|
+
case 'warning':
|
|
100
|
+
return ts.DiagnosticCategory.Warning;
|
|
101
|
+
default:
|
|
102
|
+
return ts.DiagnosticCategory.Suggestion;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Convert cached converter diagnostics into ts.Diagnostic objects
|
|
107
|
+
* anchored at the right positions in the current source file.
|
|
108
|
+
* Skips any diagnostic whose file doesn't match `fileName` — keeps
|
|
109
|
+
* cross-file diagnostics from being mis-attributed to the wrong
|
|
110
|
+
* SourceFile (which would make positions nonsensical).
|
|
111
|
+
*/
|
|
112
|
+
function cachedToTsDiagnostics(fileName, cached) {
|
|
113
|
+
const program = ls.getProgram();
|
|
114
|
+
if (!program)
|
|
115
|
+
return [];
|
|
116
|
+
const sf = program.getSourceFile(fileName);
|
|
117
|
+
if (!sf)
|
|
118
|
+
return [];
|
|
119
|
+
const out = [];
|
|
120
|
+
for (const d of cached) {
|
|
121
|
+
if (resolve(d.file) !== resolve(fileName))
|
|
122
|
+
continue;
|
|
123
|
+
if (d.severity === 'info')
|
|
124
|
+
continue;
|
|
125
|
+
// CachedDiagnostic line/column are 1-based from the converter.
|
|
126
|
+
const line = Math.max(0, d.line - 1);
|
|
127
|
+
const col = Math.max(0, d.column - 1);
|
|
128
|
+
let start;
|
|
129
|
+
try {
|
|
130
|
+
start = ts.getPositionOfLineAndCharacter(sf, line, col);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// Out-of-range position — anchor at line start as a fallback.
|
|
134
|
+
try {
|
|
135
|
+
start = ts.getPositionOfLineAndCharacter(sf, Math.min(line, sf.getLineStarts().length - 1), 0);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
start = 0;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Make the squiggle span the remainder of the line so it's
|
|
142
|
+
// visible even when column info is imprecise.
|
|
143
|
+
const lineStarts = sf.getLineStarts();
|
|
144
|
+
const nextLineStart = line + 1 < lineStarts.length ? lineStarts[line + 1] : sf.getEnd();
|
|
145
|
+
const length = Math.max(1, nextLineStart - start - 1);
|
|
146
|
+
out.push({
|
|
147
|
+
file: sf,
|
|
148
|
+
start,
|
|
149
|
+
length,
|
|
150
|
+
category: severityToCategory(d.severity),
|
|
151
|
+
code: DIAG_CODE_BASE + (d.severity === 'type-error' ? 1 : 0),
|
|
152
|
+
messageText: d.message,
|
|
153
|
+
source: 'tstogd',
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return out;
|
|
157
|
+
}
|
|
158
|
+
function toCachedDiagnostics(diags) {
|
|
159
|
+
return diags.map((d) => ({
|
|
160
|
+
message: d.message,
|
|
161
|
+
severity: d.severity,
|
|
162
|
+
file: d.file,
|
|
163
|
+
line: d.line,
|
|
164
|
+
column: d.column,
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
// ── Tier 1: cached fallback ───────────────────────────────
|
|
168
|
+
function cachedDiagnosticsFor(fileName) {
|
|
169
|
+
if (!isInScope(fileName))
|
|
170
|
+
return [];
|
|
171
|
+
const relPath = relative(cfg.tsDir, fileName);
|
|
172
|
+
const gdPath = resolve(cfg.gdDir, relPath.replace(/\.ts$/, '.gd'));
|
|
173
|
+
// Accept the entry if either:
|
|
174
|
+
// (a) disk is fresh (real .gd matches entry), or
|
|
175
|
+
// (b) cache-folder has a fresh copy (plugin/CLI just ran but
|
|
176
|
+
// hasn't promoted yet) — in which case the diagnostics in
|
|
177
|
+
// the entry still correspond to the current source.
|
|
178
|
+
const freshOnDisk = cache.isTsToGdFresh(fileName, gdPath);
|
|
179
|
+
const freshInCache = cache.hasFreshCachedGd(fileName);
|
|
180
|
+
if (!freshOnDisk && !freshInCache)
|
|
181
|
+
return [];
|
|
182
|
+
const diags = cache.getDiagnostics(fileName);
|
|
183
|
+
if (!diags)
|
|
184
|
+
return [];
|
|
185
|
+
return cachedToTsDiagnostics(fileName, diags);
|
|
186
|
+
}
|
|
187
|
+
function liveDiagnosticsFor(fileName) {
|
|
188
|
+
trace(`getSemanticDiagnostics fileName=${fileName}`);
|
|
189
|
+
if (!isInScope(fileName))
|
|
190
|
+
return [];
|
|
191
|
+
const program = ls.getProgram();
|
|
192
|
+
if (!program) {
|
|
193
|
+
trace(`skip ${fileName}: no program`);
|
|
194
|
+
return [];
|
|
195
|
+
}
|
|
196
|
+
const sf = program.getSourceFile(fileName);
|
|
197
|
+
if (!sf) {
|
|
198
|
+
trace(`skip ${fileName}: source file not in program`);
|
|
199
|
+
return [];
|
|
200
|
+
}
|
|
201
|
+
// tsserver sets `.version` on every SourceFile it tracks, but it's
|
|
202
|
+
// not in the public type. Fall back to a content hash when absent
|
|
203
|
+
// (e.g. SourceFiles from a raw createProgram, which `tsc --noEmit`
|
|
204
|
+
// uses in tests).
|
|
205
|
+
const version =
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
207
|
+
sf.version ?? hashContent(sf.getFullText());
|
|
208
|
+
// LRU.get() already bumps the entry to most-recently-used on hit.
|
|
209
|
+
const memo = liveCache.get(fileName);
|
|
210
|
+
if (memo && memo.version === version) {
|
|
211
|
+
trace(`memo hit ${fileName} version=${version} converter=${memo.converter.length} godot=${memo.godot.length} → returning ${memo.converter.length + memo.godot.length} ts.Diagnostic(s)`);
|
|
212
|
+
return [...memo.converter, ...memo.godot];
|
|
213
|
+
}
|
|
214
|
+
if (memo) {
|
|
215
|
+
trace(`memo MISS ${fileName} had version=${memo.version} current=${version}`);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
trace(`memo MISS ${fileName} (no entry) current=${version}`);
|
|
219
|
+
}
|
|
220
|
+
// Convert in-process using tsserver's warm program. The converter
|
|
221
|
+
// sees the file exactly as the user wrote it — no snapshot
|
|
222
|
+
// transformation — and the GDScript output is produced directly
|
|
223
|
+
// from that AST. `this.X` references (for lifts that land as
|
|
224
|
+
// script-class members via the user's explicit
|
|
225
|
+
// `export namespace Foo { ... }` paired with `export class Foo`)
|
|
226
|
+
// resolve via TypeScript's native namespace + class merging, which
|
|
227
|
+
// the program already has evaluated.
|
|
228
|
+
let result;
|
|
229
|
+
try {
|
|
230
|
+
result = convertTsToGd({
|
|
231
|
+
filePath: fileName,
|
|
232
|
+
rootDir: cfg.tsDir,
|
|
233
|
+
tsDir: cfg.tsDir,
|
|
234
|
+
gdDir: cfg.gdDir,
|
|
235
|
+
projectRoot: cfg.rootDir,
|
|
236
|
+
sourceMap: true,
|
|
237
|
+
program,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
log(`convertTsToGd failed for ${fileName}: ${err instanceof Error ? err.message : String(err)}`);
|
|
242
|
+
return [];
|
|
243
|
+
}
|
|
244
|
+
trace(`converter produced ${result.diagnostics.length} diag(s) for ${fileName}`);
|
|
245
|
+
const converterDiags = cachedToTsDiagnostics(fileName, toCachedDiagnostics(result.diagnostics));
|
|
246
|
+
trace(`mapped to ${converterDiags.length} ts.Diagnostic(s) (after current-file filter + severity=info drop)`);
|
|
247
|
+
// Seed the new entry's Godot diagnostics with the last-known set
|
|
248
|
+
// (possibly from a prior version). Positions are re-anchored against
|
|
249
|
+
// the CURRENT SourceFile via `cachedToTsDiagnostics`, so no stale
|
|
250
|
+
// `ts.SourceFile` references leak across versions. During active
|
|
251
|
+
// typing this keeps the squiggle visible in WebStorm (which only
|
|
252
|
+
// repaints on primary `getErr` rounds, not on async refresh
|
|
253
|
+
// follow-ups) — fresh Godot overwrites with precise positions when
|
|
254
|
+
// it finishes for this version.
|
|
255
|
+
const priorGodot = lastGodotByFile.get(fileName);
|
|
256
|
+
const entry = {
|
|
257
|
+
version,
|
|
258
|
+
converter: converterDiags,
|
|
259
|
+
godot: priorGodot ? cachedToTsDiagnostics(fileName, priorGodot) : [],
|
|
260
|
+
};
|
|
261
|
+
liveCache.set(fileName, entry);
|
|
262
|
+
// Persist to the ProjectCache so CLI/watcher can promote the bytes
|
|
263
|
+
// we just produced without re-converting. Key by bufferHash (not
|
|
264
|
+
// disk hash) — when user saves, disk == buffer → CLI matches.
|
|
265
|
+
//
|
|
266
|
+
// `saveAsync()` returns immediately; the actual cache.json write
|
|
267
|
+
// runs off the tsserver event loop. The in-memory update
|
|
268
|
+
// (`updateTsToGd`) has already made the entry visible to this
|
|
269
|
+
// instance; the disk flush exists purely so other processes (CLI
|
|
270
|
+
// watcher) can see it.
|
|
271
|
+
//
|
|
272
|
+
// Godot validation is chained STRICTLY after the save settles so
|
|
273
|
+
// it always runs against a fully-persisted on-disk cache state.
|
|
274
|
+
// `.finally()` ensures a failed save doesn't swallow the Godot
|
|
275
|
+
// kick-off — the mirror .gd was written synchronously inside
|
|
276
|
+
// `updateTsToGd`, so Godot has what it needs either way.
|
|
277
|
+
try {
|
|
278
|
+
// The plugin no longer wraps the host's getScriptSnapshot, so
|
|
279
|
+
// the SourceFile text IS the user's source — direct
|
|
280
|
+
// `sf.getFullText()` match the on-disk hash.
|
|
281
|
+
const bufferText = sf.getFullText();
|
|
282
|
+
const relPath = relative(cfg.tsDir, fileName);
|
|
283
|
+
const gdPath = resolve(cfg.gdDir, relPath.replace(/\.ts$/, '.gd'));
|
|
284
|
+
cache.updateTsToGd(fileName, gdPath, result.sourceMap ?? '{}', result.diagnostics, { tsContent: bufferText, gdContent: result.code });
|
|
285
|
+
cache
|
|
286
|
+
.saveAsync()
|
|
287
|
+
.catch((err) => {
|
|
288
|
+
log(`cache saveAsync failed for ${fileName}: ${err instanceof Error ? err.message : String(err)}`);
|
|
289
|
+
})
|
|
290
|
+
.finally(() => {
|
|
291
|
+
maybeStartGodotValidation(fileName, version, result);
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
catch (err) {
|
|
295
|
+
log(`cache persist failed for ${fileName}: ${err instanceof Error ? err.message : String(err)}`);
|
|
296
|
+
}
|
|
297
|
+
return [...entry.converter, ...entry.godot];
|
|
298
|
+
}
|
|
299
|
+
function maybeStartGodotValidation(fileName, version, convertResult) {
|
|
300
|
+
if (cfg.disableGodotLint) {
|
|
301
|
+
trace(`godot: skip ${fileName} — disableGodotLint is true`);
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
// Skip Godot when the converter itself failed — invalid GD would
|
|
305
|
+
// just spew parse errors that duplicate what the converter said.
|
|
306
|
+
if (convertResult.diagnostics.some((d) => d.severity === 'error')) {
|
|
307
|
+
trace(`godot: skip ${fileName} — converter reported an 'error' severity`);
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
if (!convertResult.code) {
|
|
311
|
+
trace(`godot: skip ${fileName} — converter produced no output`);
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
const projectRoot = cfg.rootDir;
|
|
315
|
+
let godotPath;
|
|
316
|
+
try {
|
|
317
|
+
godotPath = resolveGodotPath({ godotPath: cfg.godotPath });
|
|
318
|
+
}
|
|
319
|
+
catch (err) {
|
|
320
|
+
trace(`godot: skip ${fileName} — resolveGodotPath threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
trace(`godot: start ${fileName} godot=${godotPath} projectRoot=${projectRoot}`);
|
|
324
|
+
// Abort any prior Godot run for this file — its result would
|
|
325
|
+
// apply to a stale version.
|
|
326
|
+
pendingGodot.get(fileName)?.abort();
|
|
327
|
+
// Reuse the `.gd` bytes the caller just persisted to the
|
|
328
|
+
// ProjectCache mirror (`<cacheDir>/gd-output/<hash>-<name>.gd`) —
|
|
329
|
+
// no separate scratch file needed. The mirror is typically under
|
|
330
|
+
// `os.tmpdir()`, so Godot sees it as outside-project and the
|
|
331
|
+
// "Class X hides a global script class" false positive is
|
|
332
|
+
// automatically suppressed by `isDuplicateClassFalsePositive`.
|
|
333
|
+
const cachedGdPath = cache.getCachedGdPath(fileName);
|
|
334
|
+
if (!cachedGdPath) {
|
|
335
|
+
trace(`godot: skip ${fileName} — cache mirror path unavailable`);
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
const ctrl = new AbortController();
|
|
339
|
+
pendingGodot.set(fileName, ctrl);
|
|
340
|
+
validateGdFiles({
|
|
341
|
+
// Pass the source map inline (we just produced it in-process).
|
|
342
|
+
// With `tsFilePath` set, remapError anchors diagnostics at the
|
|
343
|
+
// real TS file regardless of where the cache mirror lives.
|
|
344
|
+
gdFiles: [
|
|
345
|
+
{
|
|
346
|
+
path: cachedGdPath,
|
|
347
|
+
sourceMapJson: convertResult.sourceMap,
|
|
348
|
+
tsFilePath: fileName,
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
projectRoot,
|
|
352
|
+
godotPath,
|
|
353
|
+
// Tell the validator where our cache mirror lives so it can
|
|
354
|
+
// suppress the "Class X hides a global script class" false
|
|
355
|
+
// positive Godot emits when it sees both the real .gd and
|
|
356
|
+
// our throwaway mirror.
|
|
357
|
+
cacheDir: cfg.cacheDir,
|
|
358
|
+
// Hand the abort controller's signal to the validator so a
|
|
359
|
+
// superseded request kills its child Godot process and returns
|
|
360
|
+
// immediately — no wasted parsing/remapping, no Godot backlog.
|
|
361
|
+
signal: ctrl.signal,
|
|
362
|
+
}).then((validate) => {
|
|
363
|
+
// Settle: drop our pendingGodot entry so the Map doesn't
|
|
364
|
+
// accumulate one slot per file touched over the session.
|
|
365
|
+
// Only delete if we're still the owner — a superseding
|
|
366
|
+
// request may have replaced us with a newer controller.
|
|
367
|
+
if (pendingGodot.get(fileName) === ctrl)
|
|
368
|
+
pendingGodot.delete(fileName);
|
|
369
|
+
trace(`godot: result ${fileName} available=${validate.godotAvailable} diagnostics=${validate.diagnostics.length} ` +
|
|
370
|
+
`aborted=${ctrl.signal.aborted} liveVersion=${liveCache.get(fileName)?.version} requestVersion=${version}`);
|
|
371
|
+
if (ctrl.signal.aborted)
|
|
372
|
+
return;
|
|
373
|
+
// Superseded by a newer version while Godot was running.
|
|
374
|
+
const current = liveCache.get(fileName);
|
|
375
|
+
if (!current || current.version !== version)
|
|
376
|
+
return;
|
|
377
|
+
// We pass `tsFilePath` into validateGdFiles, so diagnostics
|
|
378
|
+
// already point at the real TS file — no normalization needed.
|
|
379
|
+
const normalizedDiags = toCachedDiagnostics(validate.diagnostics);
|
|
380
|
+
current.godot = cachedToTsDiagnostics(fileName, normalizedDiags);
|
|
381
|
+
// Also stash the raw `CachedDiagnostic[]` form so the next
|
|
382
|
+
// version's memo-miss path can seed its `LiveEntry.godot`
|
|
383
|
+
// from this (re-anchored against the new SourceFile). See
|
|
384
|
+
// `lastGodotByFile` docs for why this sidesteps WebStorm's
|
|
385
|
+
// "async refresh ignored" behavior.
|
|
386
|
+
lastGodotByFile.set(fileName, normalizedDiags);
|
|
387
|
+
trace(`godot: stored ${current.godot.length} ts.Diagnostic(s) for ${fileName}; nudging tsserver`);
|
|
388
|
+
// Nudge tsserver to re-query this file so the freshly-arrived
|
|
389
|
+
// Godot diagnostics show up without waiting for another edit.
|
|
390
|
+
// `refreshDiagnostics()` isn't in the public LS type — cast.
|
|
391
|
+
// VS Code honors this; WebStorm's tsserver client does not —
|
|
392
|
+
// there, users see Godot errors on their next natural `geterr`
|
|
393
|
+
// (save / focus change / idle timeout).
|
|
394
|
+
try {
|
|
395
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
396
|
+
const refresh = info.project.refreshDiagnostics;
|
|
397
|
+
if (typeof refresh === 'function') {
|
|
398
|
+
refresh.call(info.project);
|
|
399
|
+
trace(`godot: refreshDiagnostics() invoked`);
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
trace(`godot: refreshDiagnostics NOT available on info.project`);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
catch (err) {
|
|
406
|
+
trace(`godot: refreshDiagnostics threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
407
|
+
}
|
|
408
|
+
}, (err) => {
|
|
409
|
+
// Same settle cleanup as the success path.
|
|
410
|
+
if (pendingGodot.get(fileName) === ctrl)
|
|
411
|
+
pendingGodot.delete(fileName);
|
|
412
|
+
log(`Godot validation failed for ${fileName}: ${err instanceof Error ? (err.stack ?? err.message) : String(err)}`);
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
return {
|
|
416
|
+
getSemanticDiagnostics(fileName) {
|
|
417
|
+
const live = liveDiagnosticsFor(fileName);
|
|
418
|
+
if (live.length > 0)
|
|
419
|
+
return live;
|
|
420
|
+
return cachedDiagnosticsFor(fileName);
|
|
421
|
+
},
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
//# sourceMappingURL=lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/ts-plugin/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal LRU (least-recently-used) cache keyed by string.
|
|
3
|
+
*
|
|
4
|
+
* Backed by a plain `Map` — JS Maps iterate in insertion order, so:
|
|
5
|
+
* - `get()` bumps the key to "newest" (delete + re-set).
|
|
6
|
+
* - `set()` on an existing key does the same; on a new key past
|
|
7
|
+
* `max`, the iterator's first key (= oldest) is evicted.
|
|
8
|
+
*
|
|
9
|
+
* The optional `onEvict(key, value)` hook fires exactly once per
|
|
10
|
+
* displaced entry — intended for releasing resources held by the
|
|
11
|
+
* evicted value (file watchers, subprocesses, …). Not called on
|
|
12
|
+
* explicit `delete()` or re-`set()` of the same key.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately tiny and dependency-free. Used by the ts-plugin to
|
|
15
|
+
* bound per-session Maps that would otherwise grow for the life of
|
|
16
|
+
* the tsserver process.
|
|
17
|
+
*/
|
|
18
|
+
export declare class LRU<V> {
|
|
19
|
+
readonly max: number;
|
|
20
|
+
private readonly onEvict?;
|
|
21
|
+
private readonly map;
|
|
22
|
+
constructor(max: number, onEvict?: (key: string, value: V) => void);
|
|
23
|
+
get size(): number;
|
|
24
|
+
has(key: string): boolean;
|
|
25
|
+
/** Get a value and bump it to most-recently-used. Returns `undefined` if absent. */
|
|
26
|
+
get(key: string): V | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Store a value and mark it most-recently-used. Evicts the oldest
|
|
29
|
+
* key when adding a new one would exceed `max` — the eviction hook
|
|
30
|
+
* (if any) is called with the evicted entry.
|
|
31
|
+
*/
|
|
32
|
+
set(key: string, value: V): void;
|
|
33
|
+
/** Remove an entry. Does NOT fire `onEvict` — explicit deletes are caller-managed. */
|
|
34
|
+
delete(key: string): boolean;
|
|
35
|
+
/** Empty the cache. Fires `onEvict` for every remaining entry. */
|
|
36
|
+
clear(): void;
|
|
37
|
+
keys(): IterableIterator<string>;
|
|
38
|
+
values(): IterableIterator<V>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=lru.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lru.d.ts","sourceRoot":"","sources":["../../src/ts-plugin/lru.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,GAAG,CAAC,CAAC;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAwB;gBAEhC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI;IAMlE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,oFAAoF;IACpF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAU/B;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAchC,sFAAsF;IACtF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,kEAAkE;IAClE,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC;CAG9B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal LRU (least-recently-used) cache keyed by string.
|
|
3
|
+
*
|
|
4
|
+
* Backed by a plain `Map` — JS Maps iterate in insertion order, so:
|
|
5
|
+
* - `get()` bumps the key to "newest" (delete + re-set).
|
|
6
|
+
* - `set()` on an existing key does the same; on a new key past
|
|
7
|
+
* `max`, the iterator's first key (= oldest) is evicted.
|
|
8
|
+
*
|
|
9
|
+
* The optional `onEvict(key, value)` hook fires exactly once per
|
|
10
|
+
* displaced entry — intended for releasing resources held by the
|
|
11
|
+
* evicted value (file watchers, subprocesses, …). Not called on
|
|
12
|
+
* explicit `delete()` or re-`set()` of the same key.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately tiny and dependency-free. Used by the ts-plugin to
|
|
15
|
+
* bound per-session Maps that would otherwise grow for the life of
|
|
16
|
+
* the tsserver process.
|
|
17
|
+
*/
|
|
18
|
+
export class LRU {
|
|
19
|
+
max;
|
|
20
|
+
onEvict;
|
|
21
|
+
map = new Map();
|
|
22
|
+
constructor(max, onEvict) {
|
|
23
|
+
if (max <= 0)
|
|
24
|
+
throw new Error(`LRU max must be > 0, got ${max}`);
|
|
25
|
+
this.max = max;
|
|
26
|
+
this.onEvict = onEvict;
|
|
27
|
+
}
|
|
28
|
+
get size() {
|
|
29
|
+
return this.map.size;
|
|
30
|
+
}
|
|
31
|
+
has(key) {
|
|
32
|
+
return this.map.has(key);
|
|
33
|
+
}
|
|
34
|
+
/** Get a value and bump it to most-recently-used. Returns `undefined` if absent. */
|
|
35
|
+
get(key) {
|
|
36
|
+
if (!this.map.has(key))
|
|
37
|
+
return undefined;
|
|
38
|
+
// `has` guarded the access — value is whatever was stored,
|
|
39
|
+
// including legitimately-undefined or null. Safe to assert.
|
|
40
|
+
const v = this.map.get(key);
|
|
41
|
+
this.map.delete(key);
|
|
42
|
+
this.map.set(key, v);
|
|
43
|
+
return v;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Store a value and mark it most-recently-used. Evicts the oldest
|
|
47
|
+
* key when adding a new one would exceed `max` — the eviction hook
|
|
48
|
+
* (if any) is called with the evicted entry.
|
|
49
|
+
*/
|
|
50
|
+
set(key, value) {
|
|
51
|
+
this.map.delete(key); // no-op if absent
|
|
52
|
+
this.map.set(key, value);
|
|
53
|
+
if (this.map.size > this.max) {
|
|
54
|
+
const iter = this.map.keys().next();
|
|
55
|
+
if (!iter.done) {
|
|
56
|
+
const oldestKey = iter.value;
|
|
57
|
+
const oldestValue = this.map.get(oldestKey);
|
|
58
|
+
this.map.delete(oldestKey);
|
|
59
|
+
this.onEvict?.(oldestKey, oldestValue);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** Remove an entry. Does NOT fire `onEvict` — explicit deletes are caller-managed. */
|
|
64
|
+
delete(key) {
|
|
65
|
+
return this.map.delete(key);
|
|
66
|
+
}
|
|
67
|
+
/** Empty the cache. Fires `onEvict` for every remaining entry. */
|
|
68
|
+
clear() {
|
|
69
|
+
if (this.onEvict) {
|
|
70
|
+
for (const [k, v] of this.map)
|
|
71
|
+
this.onEvict(k, v);
|
|
72
|
+
}
|
|
73
|
+
this.map.clear();
|
|
74
|
+
}
|
|
75
|
+
keys() {
|
|
76
|
+
return this.map.keys();
|
|
77
|
+
}
|
|
78
|
+
values() {
|
|
79
|
+
return this.map.values();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=lru.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lru.js","sourceRoot":"","sources":["../../src/ts-plugin/lru.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,GAAG;IACL,GAAG,CAAS;IACJ,OAAO,CAAmC;IAC1C,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;IAE5C,YAAY,GAAW,EAAE,OAAyC;QAChE,IAAI,GAAG,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,oFAAoF;IACpF,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,2DAA2D;QAC3D,4DAA4D;QAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,kEAAkE;IAClE,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG;gBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation overlay for the typescript-to-gdscript language-service
|
|
3
|
+
* plugin.
|
|
4
|
+
*
|
|
5
|
+
* Bridges the converter's generated *shadow classes* back to their real
|
|
6
|
+
* sources so IDE navigation (go-to-def, find-usages) treats `Foo` the
|
|
7
|
+
* global and `Foo` the source-file class as one thing.
|
|
8
|
+
*
|
|
9
|
+
* The typings generator emits, per script `.d.ts`:
|
|
10
|
+
*
|
|
11
|
+
* import type { Foo as ScriptClass } from "./Foo.js";
|
|
12
|
+
* declare global {
|
|
13
|
+
* class Foo extends ScriptClass {
|
|
14
|
+
* run: ScriptClass["run"];
|
|
15
|
+
* name: ScriptClass["name"];
|
|
16
|
+
* static create: typeof ScriptClass["create"];
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* Each forwarded member gives WebStorm/VS Code a real indexed symbol to
|
|
21
|
+
* find-all-refs from — but the symbol is technically on the shadow
|
|
22
|
+
* class, distinct from the source class member. Without this overlay,
|
|
23
|
+
* navigating or finding usages from the source member misses the
|
|
24
|
+
* global callsites, and vice versa.
|
|
25
|
+
*
|
|
26
|
+
* Two groups of language-service methods are wrapped:
|
|
27
|
+
*
|
|
28
|
+
* 1. `getDefinitionAtPosition` / `getDefinitionAndBoundSpan` /
|
|
29
|
+
* `getTypeDefinitionAtPosition` / `getImplementationAtPosition` —
|
|
30
|
+
* when the default result lands on a shadow class or a forwarded
|
|
31
|
+
* shadow member, follow the chain to the real source declaration.
|
|
32
|
+
*
|
|
33
|
+
* 2. `findReferences` / `getReferencesAtPosition` — when the cursor
|
|
34
|
+
* is on a class identifier or a class member whose other side
|
|
35
|
+
* (shadow or source) exists, run the refs query from both sides
|
|
36
|
+
* and merge the results (deduped by position).
|
|
37
|
+
*
|
|
38
|
+
* The checker's type view is NOT modified — this is purely navigation.
|
|
39
|
+
*/
|
|
40
|
+
import type tsModule from 'typescript';
|
|
41
|
+
type TS = typeof tsModule;
|
|
42
|
+
type LS = tsModule.LanguageService;
|
|
43
|
+
export interface NavigationOverlayDeps {
|
|
44
|
+
ts: TS;
|
|
45
|
+
ls: LS;
|
|
46
|
+
log: (msg: string) => void;
|
|
47
|
+
}
|
|
48
|
+
export interface NavigationOverlay {
|
|
49
|
+
getDefinitionAndBoundSpan: NonNullable<LS['getDefinitionAndBoundSpan']>;
|
|
50
|
+
getDefinitionAtPosition: NonNullable<LS['getDefinitionAtPosition']>;
|
|
51
|
+
getTypeDefinitionAtPosition: NonNullable<LS['getTypeDefinitionAtPosition']>;
|
|
52
|
+
getImplementationAtPosition: NonNullable<LS['getImplementationAtPosition']>;
|
|
53
|
+
findReferences: NonNullable<LS['findReferences']>;
|
|
54
|
+
getReferencesAtPosition: NonNullable<LS['getReferencesAtPosition']>;
|
|
55
|
+
}
|
|
56
|
+
export declare function createNavigationOverlay(deps: NavigationOverlayDeps): NavigationOverlay;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/ts-plugin/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAQvC,KAAK,EAAE,GAAG,OAAO,QAAQ,CAAC;AAC1B,KAAK,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,EAAE,CAAC;IACP,EAAE,EAAE,EAAE,CAAC;IACP,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,yBAAyB,EAAE,WAAW,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACxE,uBAAuB,EAAE,WAAW,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACpE,2BAA2B,EAAE,WAAW,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5E,2BAA2B,EAAE,WAAW,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5E,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAClD,uBAAuB,EAAE,WAAW,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;CACrE;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,qBAAqB,GAC1B,iBAAiB,CA4anB"}
|