typescript-to-gdscript 0.1.0 → 0.1.1

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.
Files changed (158) hide show
  1. package/README.md +229 -103
  2. package/dist/converter/common/index.d.ts +17 -1
  3. package/dist/converter/common/index.d.ts.map +1 -1
  4. package/dist/converter/common/index.js +69 -19
  5. package/dist/converter/common/index.js.map +1 -1
  6. package/dist/converter/ts-to-gd/class-members.d.ts.map +1 -1
  7. package/dist/converter/ts-to-gd/class-members.js +5 -5
  8. package/dist/converter/ts-to-gd/class-members.js.map +1 -1
  9. package/dist/converter/ts-to-gd/expressions.d.ts.map +1 -1
  10. package/dist/converter/ts-to-gd/expressions.js +1 -1
  11. package/dist/converter/ts-to-gd/expressions.js.map +1 -1
  12. package/dist/converter/ts-to-gd/file-scope.d.ts.map +1 -1
  13. package/dist/converter/ts-to-gd/file-scope.js +1 -1
  14. package/dist/converter/ts-to-gd/file-scope.js.map +1 -1
  15. package/dist/converter/ts-to-gd/gd-getset.js +2 -2
  16. package/dist/converter/ts-to-gd/gd-getset.js.map +1 -1
  17. package/dist/converter/ts-to-gd/index.d.ts.map +1 -1
  18. package/dist/converter/ts-to-gd/index.js +1 -0
  19. package/dist/converter/ts-to-gd/index.js.map +1 -1
  20. package/dist/converter/ts-to-gd/parameters.d.ts.map +1 -1
  21. package/dist/converter/ts-to-gd/parameters.js +2 -2
  22. package/dist/converter/ts-to-gd/parameters.js.map +1 -1
  23. package/dist/converter/ts-to-gd/statements.d.ts.map +1 -1
  24. package/dist/converter/ts-to-gd/statements.js +1 -1
  25. package/dist/converter/ts-to-gd/statements.js.map +1 -1
  26. package/dist/typings/override-system.d.ts.map +1 -1
  27. package/dist/typings/override-system.js +6 -0
  28. package/dist/typings/override-system.js.map +1 -1
  29. package/package.json +6 -1
  30. package/typings/classes/AnimationNodeBlendSpace1D.d.ts +2 -17
  31. package/typings/classes/AnimationNodeBlendSpace2D.d.ts +2 -17
  32. package/typings/classes/Area3D.d.ts +7 -14
  33. package/typings/classes/ArrayMesh.d.ts +0 -15
  34. package/typings/classes/AudioEffectAmplify.d.ts +2 -2
  35. package/typings/classes/AudioEffectBandLimitFilter.d.ts +1 -1
  36. package/typings/classes/AudioEffectBandPassFilter.d.ts +1 -1
  37. package/typings/classes/AudioEffectCapture.d.ts +9 -10
  38. package/typings/classes/AudioEffectChorus.d.ts +28 -57
  39. package/typings/classes/AudioEffectCompressor.d.ts +9 -11
  40. package/typings/classes/AudioEffectDelay.d.ts +15 -21
  41. package/typings/classes/AudioEffectDistortion.d.ts +10 -19
  42. package/typings/classes/AudioEffectEQ.d.ts +2 -2
  43. package/typings/classes/AudioEffectEQ10.d.ts +2 -2
  44. package/typings/classes/AudioEffectEQ21.d.ts +2 -2
  45. package/typings/classes/AudioEffectEQ6.d.ts +2 -2
  46. package/typings/classes/AudioEffectFilter.d.ts +9 -25
  47. package/typings/classes/AudioEffectHardLimiter.d.ts +5 -8
  48. package/typings/classes/AudioEffectHighPassFilter.d.ts +1 -1
  49. package/typings/classes/AudioEffectHighShelfFilter.d.ts +1 -1
  50. package/typings/classes/AudioEffectLimiter.d.ts +4 -9
  51. package/typings/classes/AudioEffectLowPassFilter.d.ts +1 -1
  52. package/typings/classes/AudioEffectLowShelfFilter.d.ts +1 -1
  53. package/typings/classes/AudioEffectNotchFilter.d.ts +1 -1
  54. package/typings/classes/AudioEffectPanner.d.ts +2 -7
  55. package/typings/classes/AudioEffectPhaser.d.ts +7 -9
  56. package/typings/classes/AudioEffectPitchShift.d.ts +3 -3
  57. package/typings/classes/AudioEffectReverb.d.ts +8 -17
  58. package/typings/classes/AudioEffectSpectrumAnalyzer.d.ts +5 -4
  59. package/typings/classes/AudioEffectStereoEnhance.d.ts +4 -7
  60. package/typings/classes/AudioServer.d.ts +2 -2
  61. package/typings/classes/AudioStreamPlaybackResampled.d.ts +0 -8
  62. package/typings/classes/BaseButton.d.ts +1 -1
  63. package/typings/classes/Basis.d.ts +0 -4
  64. package/typings/classes/Camera3D.d.ts +1 -1
  65. package/typings/classes/CameraAttributes.d.ts +0 -1
  66. package/typings/classes/CameraFeed.d.ts +0 -4
  67. package/typings/classes/CanvasItem.d.ts +1 -1
  68. package/typings/classes/CodeEdit.d.ts +0 -4
  69. package/typings/classes/CollisionObject2D.d.ts +0 -6
  70. package/typings/classes/CollisionPolygon2D.d.ts +0 -5
  71. package/typings/classes/CollisionShape2D.d.ts +0 -5
  72. package/typings/classes/Container.d.ts +0 -6
  73. package/typings/classes/Control.d.ts +0 -59
  74. package/typings/classes/DPITexture.d.ts +0 -14
  75. package/typings/classes/Decal.d.ts +0 -1
  76. package/typings/classes/Dictionary.d.ts +0 -1
  77. package/typings/classes/DisplayServer.d.ts +1 -128
  78. package/typings/classes/EditorDock.d.ts +2 -8
  79. package/typings/classes/EditorExportPlugin.d.ts +0 -5
  80. package/typings/classes/EditorFileSystem.d.ts +0 -2
  81. package/typings/classes/EditorInterface.d.ts +2 -4
  82. package/typings/classes/EditorSettings.d.ts +133 -197
  83. package/typings/classes/EditorSpinSlider.d.ts +0 -6
  84. package/typings/classes/Environment.d.ts +2 -7
  85. package/typings/classes/FileAccess.d.ts +1 -1
  86. package/typings/classes/FileDialog.d.ts +1 -1
  87. package/typings/classes/FoldableContainer.d.ts +1 -1
  88. package/typings/classes/Font.d.ts +2 -2
  89. package/typings/classes/GPUParticles3D.d.ts +0 -4
  90. package/typings/classes/GeometryInstance3D.d.ts +1 -1
  91. package/typings/classes/GradientTexture2D.d.ts +0 -2
  92. package/typings/classes/Image.d.ts +0 -1
  93. package/typings/classes/ImageTexture.d.ts +2 -0
  94. package/typings/classes/ImporterMesh.d.ts +0 -6
  95. package/typings/classes/Input.d.ts +13 -148
  96. package/typings/classes/InputEvent.d.ts +0 -8
  97. package/typings/classes/InputEventGesture.d.ts +3 -2
  98. package/typings/classes/InputEventMouse.d.ts +3 -2
  99. package/typings/classes/InputEventWithModifiers.d.ts +3 -2
  100. package/typings/classes/InputMap.d.ts +0 -3
  101. package/typings/classes/ItemList.d.ts +2 -9
  102. package/typings/classes/Joint3D.d.ts +0 -1
  103. package/typings/classes/LookAtModifier3D.d.ts +1 -2
  104. package/typings/classes/MainLoop.d.ts +0 -4
  105. package/typings/classes/NativeMenu.d.ts +3 -10
  106. package/typings/classes/Node.d.ts +5 -9
  107. package/typings/classes/OS.d.ts +2 -2
  108. package/typings/classes/Object.d.ts +2 -5
  109. package/typings/classes/OptionButton.d.ts +0 -6
  110. package/typings/classes/PCKPacker.d.ts +0 -4
  111. package/typings/classes/ParticleProcessMaterial.d.ts +0 -5
  112. package/typings/classes/PhysicsDirectBodyState2D.d.ts +1 -2
  113. package/typings/classes/PhysicsDirectBodyState3D.d.ts +1 -2
  114. package/typings/classes/PhysicsServer2D.d.ts +2 -2
  115. package/typings/classes/PhysicsServer2DExtension.d.ts +1 -1
  116. package/typings/classes/PhysicsServer3D.d.ts +42 -145
  117. package/typings/classes/PopupMenu.d.ts +8 -22
  118. package/typings/classes/PopupPanel.d.ts +0 -2
  119. package/typings/classes/PortableCompressedTexture2D.d.ts +2 -0
  120. package/typings/classes/ProjectSettings.d.ts +60 -44
  121. package/typings/classes/RDShaderSPIRV.d.ts +0 -30
  122. package/typings/classes/RDShaderSource.d.ts +0 -10
  123. package/typings/classes/RenderingDevice.d.ts +0 -104
  124. package/typings/classes/RenderingServer.d.ts +11 -213
  125. package/typings/classes/Resource.d.ts +2 -2
  126. package/typings/classes/ResourceImporterDynamicFont.d.ts +1 -3
  127. package/typings/classes/ResourceImporterSVG.d.ts +0 -10
  128. package/typings/classes/ResourceImporterTexture.d.ts +2 -2
  129. package/typings/classes/SceneTree.d.ts +29 -5
  130. package/typings/classes/ScriptEditor.d.ts +0 -6
  131. package/typings/classes/Shader.d.ts +0 -2
  132. package/typings/classes/Shape3D.d.ts +0 -1
  133. package/typings/classes/SplitContainer.d.ts +0 -6
  134. package/typings/classes/String.d.ts +1 -1
  135. package/typings/classes/SubViewport.d.ts +0 -4
  136. package/typings/classes/TextEdit.d.ts +0 -3
  137. package/typings/classes/TextServer.d.ts +0 -2
  138. package/typings/classes/TextServerExtension.d.ts +0 -2
  139. package/typings/classes/Texture2D.d.ts +0 -14
  140. package/typings/classes/TextureRect.d.ts +1 -4
  141. package/typings/classes/Tree.d.ts +2 -9
  142. package/typings/classes/TreeItem.d.ts +0 -8
  143. package/typings/classes/Tween.d.ts +0 -13
  144. package/typings/classes/Viewport.d.ts +0 -10
  145. package/typings/classes/VisualShader.d.ts +0 -2
  146. package/typings/classes/VisualShaderNodeColorFunc.d.ts +2 -2
  147. package/typings/classes/VoxelGIData.d.ts +0 -10
  148. package/typings/classes/Window.d.ts +0 -23
  149. package/typings/classes/XRCamera3D.d.ts +1 -1
  150. package/typings/classes/XRServer.d.ts +0 -2
  151. package/typings/classes/_globals.d.ts +86 -45
  152. package/typings/classes/index.d.ts +0 -5
  153. package/typings/godot-class-registry.json +108 -1254
  154. package/typings/classes/AccessibilityServer.d.ts +0 -405
  155. package/typings/classes/AwaitTweener.d.ts +0 -10
  156. package/typings/classes/BlitMaterial.d.ts +0 -22
  157. package/typings/classes/DrawableTexture2D.d.ts +0 -47
  158. package/typings/classes/VirtualJoystick.d.ts +0 -94
@@ -3,12 +3,6 @@
3
3
 
4
4
  /** Stores globally-accessible variables. */
5
5
  declare interface ProjectSettings {
6
- /**
7
- * Accessibility driver:
8
- * -**accesskit** (default): AccessKit driver.
9
- * -**dummy**: Dummy driver, screen reader support is disabled.
10
- */
11
- 'accessibility/general/accessibility_driver': string;
12
6
  /**
13
7
  * Accessibility support mode:
14
8
  * - **Auto** (`0`): Accessibility support is enabled, but updates to the accessibility information are processed only if an assistive app (such as a screen reader or a Braille display) is active (default).
@@ -846,11 +840,6 @@ declare interface ProjectSettings {
846
840
  * **Note:** When set to a portrait orientation, this project setting does not flip the project resolution's width and height automatically. Instead, you have to set {@link display/window/size/viewport_width} and {@link display/window/size/viewport_height} accordingly.
847
841
  */
848
842
  'display/window/handheld/orientation': int;
849
- /**
850
- * If `true`, HDR output is requested for the main window and the editor. The main window and editor will automatically switch between HDR and SDR if it is moved between screens, screen capabilities change, or system settings are modified. This will internally force {@link Viewport.use_hdr_2d} to be enabled on the main {@link Viewport}. All other {@link SubViewport} of the {@link Window} must have their {@link Viewport.use_hdr_2d} property enabled to produce HDR output.
851
- * **Note:** This property is only read when the project starts. To change this property at runtime, set {@link Window.hdr_output_requested}.
852
- */
853
- 'display/window/hdr/request_hdr_output': boolean;
854
843
  /**
855
844
  * If `true`, iOS devices that support high refresh rate/"ProMotion" will be allowed to render at up to 120 frames per second.
856
845
  */
@@ -983,11 +972,11 @@ declare interface ProjectSettings {
983
972
  /**
984
973
  * If `true`, subwindows are embedded in the main window (this is also called single-window mode). Single-window mode can be faster as it does not need to create a separate window for every popup and tooltip, which can be a slow operation depending on the operating system and rendering method in use.
985
974
  * If `false`, subwindows are created as separate windows (this is also called multi-window mode). This allows them to be moved outside the main window and use native operating system window decorations.
986
- * This is equivalent to {@link EditorSettings.interface/editor/display/single_window_mode} in the editor.
975
+ * This is equivalent to {@link EditorSettings.interface/editor/single_window_mode} in the editor.
987
976
  */
988
977
  'display/window/subwindows/embed_subwindows': boolean;
989
978
  /**
990
- * Sets the V-Sync mode for the main game window. The editor's own V-Sync mode can be set using {@link EditorSettings.interface/editor/display/vsync_mode}.
979
+ * Sets the V-Sync mode for the main game window. The editor's own V-Sync mode can be set using {@link EditorSettings.interface/editor/vsync_mode}.
991
980
  * See {@link DisplayServer.VSyncMode} for possible values and how they affect the behavior of your application.
992
981
  * Depending on the platform and rendering method, the engine will fall back to **Enabled** if the desired mode is not supported.
993
982
  * V-Sync can be disabled on the command line using the `--disable-vsync` command line argument ($DOCS_URL/tutorials/editor/command_line_tutorial.html).
@@ -1633,10 +1622,6 @@ declare interface ProjectSettings {
1633
1622
  * **Note:** You should in nearly all cases prefer the `false` setting. The legacy behavior is to enable supporting old projects that rely on the old logic, without changes to script.
1634
1623
  */
1635
1624
  'input_devices/compatibility/legacy_just_pressed_behavior': boolean;
1636
- /**
1637
- * If `true`, joypad input (including motion sensors) and LED light changes will be ignored and joypad vibration will be stopped when the application is not focused.
1638
- */
1639
- 'input_devices/joypads/ignore_joypad_on_unfocused_application': boolean;
1640
1625
  /**
1641
1626
  * Specifies the tablet driver to use. If left empty, the default driver will be used.
1642
1627
  * **Note:** The driver in use can be overridden at runtime via the `--tablet-driver` command line argument ($DOCS_URL/tutorials/editor/command_line_tutorial.html).
@@ -2397,12 +2382,10 @@ declare interface ProjectSettings {
2397
2382
  'physics/2d/sleep_threshold_angular': float;
2398
2383
  /**
2399
2384
  * Threshold linear velocity under which a 2D physics body will be considered inactive. See {@link PhysicsServer2D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD}.
2400
- * **Note:** Only supported when using GodotPhysics3D. This project setting is ignored when using Jolt Physics.
2401
2385
  */
2402
2386
  'physics/2d/sleep_threshold_linear': float;
2403
2387
  /**
2404
2388
  * Maximum distance a shape can penetrate another shape before it is considered a collision. See {@link PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION}.
2405
- * **Note:** Only supported when using GodotPhysics3D. This project setting is ignored when using Jolt Physics.
2406
2389
  */
2407
2390
  'physics/2d/solver/contact_max_allowed_penetration': float;
2408
2391
  /**
@@ -2480,43 +2463,35 @@ declare interface ProjectSettings {
2480
2463
  'physics/3d/run_on_separate_thread': boolean;
2481
2464
  /**
2482
2465
  * Threshold angular velocity under which a 3D physics body will be considered inactive. See {@link PhysicsServer3D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD}.
2483
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2484
2466
  */
2485
2467
  'physics/3d/sleep_threshold_angular': float;
2486
2468
  /**
2487
2469
  * Threshold linear velocity under which a 3D physics body will be considered inactive. See {@link PhysicsServer3D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD}.
2488
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2489
2470
  */
2490
2471
  'physics/3d/sleep_threshold_linear': float;
2491
2472
  /**
2492
2473
  * Maximum distance a shape can penetrate another shape before it is considered a collision. See {@link PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION}.
2493
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2494
2474
  */
2495
2475
  'physics/3d/solver/contact_max_allowed_penetration': float;
2496
2476
  /**
2497
2477
  * Maximum distance a shape can be from another before they are considered separated and the contact is discarded. See {@link PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_SEPARATION}.
2498
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2499
2478
  */
2500
2479
  'physics/3d/solver/contact_max_separation': float;
2501
2480
  /**
2502
2481
  * Maximum distance a pair of bodies has to move before their collision status has to be recalculated. See {@link PhysicsServer3D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS}.
2503
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2504
2482
  */
2505
2483
  'physics/3d/solver/contact_recycle_radius': float;
2506
2484
  /**
2507
2485
  * Default solver bias for all physics contacts. Defines how much bodies react to enforce contact separation. See {@link PhysicsServer3D.SPACE_PARAM_CONTACT_DEFAULT_BIAS}.
2508
2486
  * Individual shapes can have a specific bias value (see {@link Shape3D.custom_solver_bias}).
2509
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2510
2487
  */
2511
2488
  'physics/3d/solver/default_contact_bias': float;
2512
2489
  /**
2513
2490
  * Number of solver iterations for all contacts and constraints. The greater the number of iterations, the more accurate the collisions will be. However, a greater number of iterations requires more CPU power, which can decrease performance. See {@link PhysicsServer3D.SPACE_PARAM_SOLVER_ITERATIONS}.
2514
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2515
2491
  */
2516
2492
  'physics/3d/solver/solver_iterations': int;
2517
2493
  /**
2518
2494
  * Time (in seconds) of inactivity before which a 3D physics body will put to sleep. See {@link PhysicsServer3D.SPACE_PARAM_BODY_TIME_TO_SLEEP}.
2519
- * **Note:** This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
2520
2495
  */
2521
2496
  'physics/3d/time_before_sleep': float;
2522
2497
  /** Enables {@link Viewport.physics_object_picking} on the root viewport. */
@@ -3083,7 +3058,6 @@ declare interface ProjectSettings {
3083
3058
  'rendering/lightmapping/primitive_meshes/texel_size': float;
3084
3059
  /**
3085
3060
  * The framerate-independent update speed when representing dynamic object lighting from {@link LightmapProbe}s. Higher values make dynamic object lighting update faster. Higher values can prevent fast-moving objects from having "outdated" indirect lighting displayed on them, at the cost of possible flickering when an object moves from a bright area to a shaded area.
3086
- * **Note:** This property is only read when the project starts. To adjust the BVH build quality at runtime, use {@link RenderingServer.lightmap_set_probe_capture_update_speed}.
3087
3061
  */
3088
3062
  'rendering/lightmapping/probe_capture/update_speed': float;
3089
3063
  /**
@@ -3193,7 +3167,6 @@ declare interface ProjectSettings {
3193
3167
  'rendering/limits/time/time_rollover_secs': float;
3194
3168
  /**
3195
3169
  * The automatic LOD bias to use for meshes rendered within the {@link ReflectionProbe}. Higher values will use less detailed versions of meshes that have LOD variations generated. If set to `0.0`, automatic LOD is disabled. Increase {@link rendering/mesh_lod/lod_change/threshold_pixels} to improve performance at the cost of geometry detail.
3196
- * **Note:** Depending on the mesh's attributes (vertex colors, blend shapes, ...), a mesh may have fewer levels of LOD generated to avoid visible distortion of the mesh once it is affected by vertex colors or blend shapes. Meshes with a very low vertex count will also not have any LODs generated, which means this setting will not affect them at all. In general, this setting makes the largest impact on static meshes with a high vertex count.
3197
3170
  * **Note:** {@link rendering/mesh_lod/lod_change/threshold_pixels} does not affect {@link GeometryInstance3D} visibility ranges (also known as "manual" LOD or hierarchical LOD).
3198
3171
  * **Note:** This property is only read when the project starts. To adjust the automatic LOD threshold at runtime, set {@link Viewport.mesh_lod_threshold} on the root {@link Viewport}.
3199
3172
  */
@@ -3666,8 +3639,6 @@ declare interface ProjectSettings {
3666
3639
  * **Note:** This requires that the OpenXR spatial entities extension is supported by the XR runtime. If not supported this setting will be ignored.
3667
3640
  */
3668
3641
  'xr/openxr/extensions/spatial_entity/enabled': boolean;
3669
- /** If `true`, the user presence extension is enabled if available. */
3670
- 'xr/openxr/extensions/user_presence': boolean;
3671
3642
  /** Specify whether OpenXR should be configured for an HMD or a hand held device. */
3672
3643
  'xr/openxr/form_factor': int;
3673
3644
  /**
@@ -3711,7 +3682,9 @@ declare interface ProjectSettings {
3711
3682
  */
3712
3683
  check_changed_settings_in_group(setting_prefix: string): boolean;
3713
3684
  /** Clears the whole configuration (not recommended, may break things). */
3714
- clear<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T): void;
3685
+ clear<const T extends keyof ProjectSettings & `${string}/${string}`>(
3686
+ name: T,
3687
+ ): void;
3715
3688
  clear(name: string): void;
3716
3689
  /**
3717
3690
  * Gets an array of the settings which have been changed since the last save. Note that internally `changed_settings` is cleared after a successful save, so generally the most appropriate place to use this method is when processing {@link settings_changed}.
@@ -3728,26 +3701,43 @@ declare interface ProjectSettings {
3728
3701
  */
3729
3702
  get_global_class_list(): Array<Dictionary>;
3730
3703
  /** Returns the order of a configuration value (influences when saved to the config file). */
3731
- get_order<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T): int;
3704
+ get_order<const T extends keyof ProjectSettings & `${string}/${string}`>(
3705
+ name: T,
3706
+ ): int;
3732
3707
  get_order(name: string): int;
3733
3708
  /**
3734
3709
  * Returns the value of the setting identified by `name`. If the setting doesn't exist and `default_value` is specified, the value of `default_value` is returned. Otherwise, `null` is returned.
3735
3710
  * **Note:** This method doesn't take potential feature overrides into account automatically. Use {@link get_setting_with_override} to handle seamlessly.
3736
3711
  * See also {@link has_setting} to check whether a setting exists.
3737
3712
  */
3738
- get_setting<const T extends keyof ProjectSettings & `${string}/${string}`, D>(name: T, default_value?: ProjectSettings[T]): ProjectSettings[T];
3713
+ get_setting<const T extends keyof ProjectSettings & `${string}/${string}`, D>(
3714
+ name: T,
3715
+ default_value?: ProjectSettings[T],
3716
+ ): ProjectSettings[T];
3739
3717
  get_setting(name: string, default_value?: unknown): unknown;
3740
3718
  /**
3741
3719
  * Similar to {@link get_setting}, but applies feature tag overrides if any exists and is valid.
3742
3720
  * **Example:** If the setting override `"application/config/name.windows"` exists, and the following code is executed on a *Windows* operating system, the overridden setting is printed instead:
3743
3721
  */
3744
- get_setting_with_override<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T): ProjectSettings[T];
3722
+ get_setting_with_override<
3723
+ const T extends keyof ProjectSettings & `${string}/${string}`,
3724
+ >(
3725
+ name: T,
3726
+ ): ProjectSettings[T];
3745
3727
  get_setting_with_override(name: string): unknown;
3746
3728
  /**
3747
3729
  * Similar to {@link get_setting_with_override}, but applies feature tag overrides instead of current OS features.
3748
3730
  */
3749
- get_setting_with_override_and_custom_features<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T, features: PackedStringArray): ProjectSettings[T];
3750
- get_setting_with_override_and_custom_features(name: string, features: PackedStringArray): unknown;
3731
+ get_setting_with_override_and_custom_features<
3732
+ const T extends keyof ProjectSettings & `${string}/${string}`,
3733
+ >(
3734
+ name: T,
3735
+ features: PackedStringArray,
3736
+ ): ProjectSettings[T];
3737
+ get_setting_with_override_and_custom_features(
3738
+ name: string,
3739
+ features: PackedStringArray,
3740
+ ): unknown;
3751
3741
  /**
3752
3742
  * Returns the absolute, native OS path corresponding to the localized `path` (starting with `res://` or `user://`). The returned path will vary depending on the operating system and user preferences. See File paths in Godot projects ($DOCS_URL/tutorials/io/data_paths.html) to see what those paths convert to. See also {@link localize_path}.
3753
3743
  * **Note:** {@link globalize_path} with `res://` will not work in an exported project. Instead, prepend the executable's base directory to the path when running from an exported project:
@@ -3757,7 +3747,9 @@ declare interface ProjectSettings {
3757
3747
  * Returns `true` if a configuration value is present.
3758
3748
  * **Note:** In order to be be detected, custom settings have to be either defined with {@link set_setting}, or exist in the `project.godot` file. This is especially relevant when using {@link set_initial_value}.
3759
3749
  */
3760
- has_setting<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T): boolean;
3750
+ has_setting<const T extends keyof ProjectSettings & `${string}/${string}`>(
3751
+ name: T,
3752
+ ): boolean;
3761
3753
  has_setting(name: string): boolean;
3762
3754
  /**
3763
3755
  * Loads the contents of the .pck or .zip file specified by `pack` into the resource filesystem (`res://`). Returns `true` on success.
@@ -3782,33 +3774,57 @@ declare interface ProjectSettings {
3782
3774
  /**
3783
3775
  * Defines if the specified setting is considered basic or advanced. Basic settings will always be shown in the project settings. Advanced settings will only be shown if the user enables the "Advanced Settings" option.
3784
3776
  */
3785
- set_as_basic<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T, basic: boolean): void;
3777
+ set_as_basic<const T extends keyof ProjectSettings & `${string}/${string}`>(
3778
+ name: T,
3779
+ basic: boolean,
3780
+ ): void;
3786
3781
  set_as_basic(name: string, basic: boolean): void;
3787
3782
  /**
3788
3783
  * Defines if the specified setting is considered internal. An internal setting won't show up in the Project Settings dialog. This is mostly useful for addons that need to store their own internal settings without exposing them directly to the user.
3789
3784
  */
3790
- set_as_internal<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T, internal: boolean): void;
3785
+ set_as_internal<
3786
+ const T extends keyof ProjectSettings & `${string}/${string}`,
3787
+ >(
3788
+ name: T,
3789
+ internal: boolean,
3790
+ ): void;
3791
3791
  set_as_internal(name: string, internal: boolean): void;
3792
3792
  /**
3793
3793
  * Sets the specified setting's initial value. This is the value the setting reverts to. The setting should already exist before calling this method. Note that project settings equal to their default value are not saved, so your code needs to account for that.
3794
3794
  * If you have a project setting defined by an {@link EditorPlugin}, but want to use it in a running project, you will need a similar code at runtime.
3795
3795
  */
3796
- set_initial_value<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T, value: unknown): void;
3796
+ set_initial_value<
3797
+ const T extends keyof ProjectSettings & `${string}/${string}`,
3798
+ >(
3799
+ name: T,
3800
+ value: unknown,
3801
+ ): void;
3797
3802
  set_initial_value(name: string, value: unknown): void;
3798
3803
  /** Sets the order of a configuration value (influences when saved to the config file). */
3799
- set_order<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T, position: int): void;
3804
+ set_order<const T extends keyof ProjectSettings & `${string}/${string}`>(
3805
+ name: T,
3806
+ position: int,
3807
+ ): void;
3800
3808
  set_order(name: string, position: int): void;
3801
3809
  /**
3802
3810
  * Sets whether a setting requires restarting the editor to properly take effect.
3803
3811
  * **Note:** This is just a hint to display to the user that the editor must be restarted for changes to take effect. Enabling {@link set_restart_if_changed} does *not* delay the setting being set when changed.
3804
3812
  */
3805
- set_restart_if_changed<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T, restart: boolean): void;
3813
+ set_restart_if_changed<
3814
+ const T extends keyof ProjectSettings & `${string}/${string}`,
3815
+ >(
3816
+ name: T,
3817
+ restart: boolean,
3818
+ ): void;
3806
3819
  set_restart_if_changed(name: string, restart: boolean): void;
3807
3820
  /**
3808
3821
  * Sets the value of a setting.
3809
3822
  * This can also be used to erase custom project settings. To do this change the setting value to `null`.
3810
3823
  */
3811
- set_setting<const T extends keyof ProjectSettings & `${string}/${string}`>(name: T, value: unknown): void;
3824
+ set_setting<const T extends keyof ProjectSettings & `${string}/${string}`>(
3825
+ name: T,
3826
+ value: unknown,
3827
+ ): void;
3812
3828
  set_setting(name: string, value: unknown): void;
3813
3829
 
3814
3830
  /** Emitted when any setting is changed, up to once per process frame. */
@@ -5,34 +5,16 @@
5
5
  * SPIR-V intermediate representation as part of an {@link RDShaderFile} (used by {@link RenderingDevice}).
6
6
  */
7
7
  declare class RDShaderSPIRV extends Resource {
8
- /** The SPIR-V bytecode for the any hit shader stage. */
9
- bytecode_any_hit: PackedByteArray;
10
- /** The SPIR-V bytecode for the closest hit shader stage. */
11
- bytecode_closest_hit: PackedByteArray;
12
8
  /** The SPIR-V bytecode for the compute shader stage. */
13
9
  bytecode_compute: PackedByteArray;
14
10
  /** The SPIR-V bytecode for the fragment shader stage. */
15
11
  bytecode_fragment: PackedByteArray;
16
- /** The SPIR-V bytecode for the intersection shader stage. */
17
- bytecode_intersection: PackedByteArray;
18
- /** The SPIR-V bytecode for the miss shader stage. */
19
- bytecode_miss: PackedByteArray;
20
- /** The SPIR-V bytecode for the ray generation shader stage. */
21
- bytecode_raygen: PackedByteArray;
22
12
  /** The SPIR-V bytecode for the tessellation control shader stage. */
23
13
  bytecode_tesselation_control: PackedByteArray;
24
14
  /** The SPIR-V bytecode for the tessellation evaluation shader stage. */
25
15
  bytecode_tesselation_evaluation: PackedByteArray;
26
16
  /** The SPIR-V bytecode for the vertex shader stage. */
27
17
  bytecode_vertex: PackedByteArray;
28
- /**
29
- * The compilation error message for the any hit shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
30
- */
31
- compile_error_any_hit: string;
32
- /**
33
- * The compilation error message for the closest hit shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
34
- */
35
- compile_error_closest_hit: string;
36
18
  /**
37
19
  * The compilation error message for the compute shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
38
20
  */
@@ -41,18 +23,6 @@ declare class RDShaderSPIRV extends Resource {
41
23
  * The compilation error message for the fragment shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
42
24
  */
43
25
  compile_error_fragment: string;
44
- /**
45
- * The compilation error message for the intersection shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
46
- */
47
- compile_error_intersection: string;
48
- /**
49
- * The compilation error message for the miss shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
50
- */
51
- compile_error_miss: string;
52
- /**
53
- * The compilation error message for the ray generation shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
54
- */
55
- compile_error_raygen: string;
56
26
  /**
57
27
  * The compilation error message for the tessellation control shader stage (set by the SPIR-V compiler and Godot). If empty, shader compilation was successful.
58
28
  */
@@ -5,20 +5,10 @@
5
5
  declare class RDShaderSource extends RefCounted {
6
6
  /** The language the shader is written in. */
7
7
  language: int;
8
- /** Source code for the shader's any hit stage. */
9
- source_any_hit: string;
10
- /** Source code for the shader's closest hit stage. */
11
- source_closest_hit: string;
12
8
  /** Source code for the shader's compute stage. */
13
9
  source_compute: string;
14
10
  /** Source code for the shader's fragment stage. */
15
11
  source_fragment: string;
16
- /** Source code for the shader's intersection stage. */
17
- source_intersection: string;
18
- /** Source code for the shader's miss stage. */
19
- source_miss: string;
20
- /** Source code for the shader's ray generation stage. */
21
- source_raygen: string;
22
12
  /** Source code for the shader's tessellation control stage. */
23
13
  source_tesselation_control: string;
24
14
  /** Source code for the shader's tessellation evaluation stage. */
@@ -3,16 +3,8 @@
3
3
 
4
4
  /** Abstraction for working with modern low-level graphics APIs. */
5
5
  declare class RenderingDevice extends GodotObject {
6
- /** Builds the `acceleration_structure`. */
7
- acceleration_structure_build(acceleration_structure: RID): int;
8
6
  /** This method does nothing. */
9
7
  barrier(from_: int, to: int): void;
10
- /**
11
- * Creates a new Bottom Level Acceleration Structure. It can be accessed with the RID that is returned.
12
- * Once finished with your RID, you will want to free the RID using the RenderingDevice's {@link free_rid} method.
13
- * `position_attribute_location` selects which vertex attribute location supplies the position data (default is 0).
14
- */
15
- blas_create(vertex_array: RID, index_array: RID, geometry_bits: int, position_attribute_location?: int): RID;
16
8
  /**
17
9
  * Clears the contents of the `buffer`, clearing `size_bytes` bytes, starting at `offset`.
18
10
  * Prints an error if:
@@ -351,36 +343,6 @@ declare class RenderingDevice extends GodotObject {
351
343
  * Limits for various graphics hardware can be found in the Vulkan Hardware Database (https://vulkan.gpuinfo.org/).
352
344
  */
353
345
  limit_get(limit: int): int;
354
- /**
355
- * Starts a list of raytracing commands. The returned value should be passed to other `raytracing_list_*` functions.
356
- * Multiple raytracing lists cannot be created at the same time; you must finish the previous raytracing list first using {@link raytracing_list_end}.
357
- * A simple raytracing operation might look like this (code is not a complete example):
358
- */
359
- raytracing_list_begin(): int;
360
- /** Binds `raytracing_pipeline` to the specified `raytracing_list`. */
361
- raytracing_list_bind_raytracing_pipeline(raytracing_list: int, raytracing_pipeline: RID): void;
362
- /** Binds the `uniform_set` to this `raytracing_list`. */
363
- raytracing_list_bind_uniform_set(raytracing_list: int, uniform_set: RID, set_index: int): void;
364
- /** Finishes a list of raytracing commands created with the `raytracing_*` methods. */
365
- raytracing_list_end(): void;
366
- /**
367
- * Sets the push constant data to `buffer` for the specified `raytracing_list`. The shader determines how this binary data is used. The buffer's size in bytes must also be specified in `size_bytes` (this can be obtained by calling the {@link PackedByteArray.size} method on the passed `buffer`).
368
- */
369
- raytracing_list_set_push_constant(raytracing_list: int, buffer: PackedByteArray | Array<unknown>, size_bytes: int): void;
370
- /**
371
- * Initializes a ray tracing dispatch for the specified `raytracing_list` assembling a group of `width` x `height` rays.
372
- */
373
- raytracing_list_trace_rays(raytracing_list: int, width: int, height: int): void;
374
- /**
375
- * Creates a new raytracing pipeline. It can be accessed with the RID that is returned.
376
- * Once finished with your RID, you will want to free the RID using the RenderingDevice's {@link free_rid} method.
377
- * **Note:**: Recursive raytracing is not permitted.
378
- */
379
- raytracing_pipeline_create(shader: RID, specialization_constants?: Array<RDPipelineSpecializationConstant>): RID;
380
- /**
381
- * Returns `true` if the raytracing pipeline specified by the `raytracing_pipeline` RID is valid, `false` otherwise.
382
- */
383
- raytracing_pipeline_is_valid(raytracing_pipeline: RID): boolean;
384
346
  /**
385
347
  * Creates a new render pipeline. It can be accessed with the RID that is returned.
386
348
  * Once finished with your RID, you will want to free the RID using the RenderingDevice's {@link free_rid} method.
@@ -563,21 +525,6 @@ declare class RenderingDevice extends GodotObject {
563
525
  * **Note:** The existing `texture` requires the {@link TEXTURE_USAGE_CAN_UPDATE_BIT} to be updatable.
564
526
  */
565
527
  texture_update(texture: RID, layer: int, data: PackedByteArray | Array<unknown>): int;
566
- /**
567
- * Creates a new Top Level Acceleration Structure. It can be accessed with the RID that is returned.
568
- * The instances buffer passed as input is expected to be filled before building the TLAS.
569
- * Once finished with your RID, you will want to free the RID using the RenderingDevice's {@link free_rid} method.
570
- */
571
- tlas_create(instances_buffer: RID): RID;
572
- /**
573
- * Creates a new instances buffer which can be used to create a TLAS. It can be accessed with the RID that is returned.
574
- * Once finished with your RID, you will want to free the RID using the RenderingDevice's {@link free_rid} method.
575
- */
576
- tlas_instances_buffer_create(instance_count: int, creation_bits: int): RID;
577
- /**
578
- * Fills the content of an instances buffer. The number of BLASes and transforms passed as input should be the same and should equal the instance count used at instance buffer creation time.
579
- */
580
- tlas_instances_buffer_fill(instances_buffer: RID, blases: Array<RID>, transforms: Array<Transform3D>): void;
581
528
  /**
582
529
  * Creates a new uniform buffer. It can be accessed with the RID that is returned.
583
530
  * Once finished with your RID, you will want to free the RID using the RenderingDevice's {@link free_rid} method.
@@ -1773,15 +1720,6 @@ declare class RenderingDevice extends GodotObject {
1773
1720
  * Set this flag so that it is created as storage. This is useful if Compute Shaders need access (for reading or writing) to the buffer, e.g. skeletal animations are processed in Compute Shaders which need access to vertex buffers, to be later consumed by vertex shaders as part of the regular rasterization pipeline.
1774
1721
  */
1775
1722
  static readonly BUFFER_CREATION_AS_STORAGE_BIT: int;
1776
- /**
1777
- * Allows usage of this buffer as input data for an acceleration structure build operation. You must first check that the GPU supports it:
1778
- */
1779
- static readonly BUFFER_CREATION_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT: int;
1780
- // enum AccelerationStructureGeometryBits
1781
- /** An opaque geometry does not invoke the any hit shaders. */
1782
- static readonly ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE: int;
1783
- /** This geometry only calls the any hit shader a single time for each primitive. */
1784
- static readonly ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION: int;
1785
1723
  // enum UniformType
1786
1724
  /** Sampler uniform. */
1787
1725
  static readonly UNIFORM_TYPE_SAMPLER: int;
@@ -1815,8 +1753,6 @@ declare class RenderingDevice extends GodotObject {
1815
1753
  * It's exposed in case GD users receive a buffer created with such flag from Godot.
1816
1754
  */
1817
1755
  static readonly UNIFORM_TYPE_STORAGE_BUFFER_DYNAMIC: int;
1818
- /** Acceleration structure uniform. */
1819
- static readonly UNIFORM_TYPE_ACCELERATION_STRUCTURE: int;
1820
1756
  /** Represents the size of the {@link UniformType} enum. */
1821
1757
  static readonly UNIFORM_TYPE_MAX: int;
1822
1758
  // enum RenderPrimitive
@@ -2082,24 +2018,6 @@ declare class RenderingDevice extends GodotObject {
2082
2018
  * Compute shader stage. This can be used to run arbitrary computing tasks in a shader, performing them on the GPU instead of the CPU.
2083
2019
  */
2084
2020
  static readonly SHADER_STAGE_COMPUTE: int;
2085
- /** Ray generation shader stage. This can be used to generate primary rays. */
2086
- static readonly SHADER_STAGE_RAYGEN: int;
2087
- /**
2088
- * Any hit shader stage. Invoked when ray intersections are not opaque. This can be used to specify what happens when a ray hits any of the geometry in the scene.
2089
- */
2090
- static readonly SHADER_STAGE_ANY_HIT: int;
2091
- /**
2092
- * Closest hit shader stage. This can be used to specify what happens when a ray hits the closest geometry in the scene.
2093
- */
2094
- static readonly SHADER_STAGE_CLOSEST_HIT: int;
2095
- /**
2096
- * Miss shader stage. This can be used to specify what happens if a ray does not hit anything in the scene.
2097
- */
2098
- static readonly SHADER_STAGE_MISS: int;
2099
- /**
2100
- * Intersection shader stage. The intersection shader for triangles is built-in. This can be used to compute ray intersections with primitives that are not triangles.
2101
- */
2102
- static readonly SHADER_STAGE_INTERSECTION: int;
2103
2021
  /** Represents the size of the {@link ShaderStage} enum. */
2104
2022
  static readonly SHADER_STAGE_MAX: int;
2105
2023
  /** Vertex shader stage bit (see also {@link SHADER_STAGE_VERTEX}). */
@@ -2112,16 +2030,6 @@ declare class RenderingDevice extends GodotObject {
2112
2030
  static readonly SHADER_STAGE_TESSELATION_EVALUATION_BIT: int;
2113
2031
  /** Compute shader stage bit (see also {@link SHADER_STAGE_COMPUTE}). */
2114
2032
  static readonly SHADER_STAGE_COMPUTE_BIT: int;
2115
- /** Ray generation shader stage bit (see also {@link SHADER_STAGE_RAYGEN}). */
2116
- static readonly SHADER_STAGE_RAYGEN_BIT: int;
2117
- /** Any hit shader stage bit (see also {@link SHADER_STAGE_ANY_HIT}). */
2118
- static readonly SHADER_STAGE_ANY_HIT_BIT: int;
2119
- /** Closest hit shader stage bit (see also {@link SHADER_STAGE_CLOSEST_HIT}). */
2120
- static readonly SHADER_STAGE_CLOSEST_HIT_BIT: int;
2121
- /** Miss shader stage bit (see also {@link SHADER_STAGE_MISS}). */
2122
- static readonly SHADER_STAGE_MISS_BIT: int;
2123
- /** Intersection shader stage bit (see also {@link SHADER_STAGE_INTERSECTION}). */
2124
- static readonly SHADER_STAGE_INTERSECTION_BIT: int;
2125
2033
  // enum ShaderLanguage
2126
2034
  /**
2127
2035
  * Khronos' GLSL shading language (used natively by OpenGL and Vulkan). This is the language used for core Godot shaders.
@@ -2147,18 +2055,6 @@ declare class RenderingDevice extends GodotObject {
2147
2055
  static readonly SUPPORTS_BUFFER_DEVICE_ADDRESS: int;
2148
2056
  /** Support for 32-bit image atomic operations. */
2149
2057
  static readonly SUPPORTS_IMAGE_ATOMIC_32_BIT: int;
2150
- /**
2151
- * Support for ray query extension.
2152
- * **Note:** This is currently only supported when using Vulkan. This is not supported on macOS and iOS (even on hardware supporting raytracing) due to MoltenVK limitations.
2153
- */
2154
- static readonly SUPPORTS_RAY_QUERY: int;
2155
- /**
2156
- * Support for raytracing pipeline extension.
2157
- * **Note:** This is currently only supported when using Vulkan. This is not supported on macOS and iOS (even on hardware supporting raytracing) due to MoltenVK limitations.
2158
- */
2159
- static readonly SUPPORTS_RAYTRACING_PIPELINE: int;
2160
- /** Support for high dynamic range (HDR) output. */
2161
- static readonly SUPPORTS_HDR_OUTPUT: int;
2162
2058
  // enum Limit
2163
2059
  /** Maximum number of uniform sets that can be bound at a given time. */
2164
2060
  static readonly LIMIT_MAX_BOUND_UNIFORM_SETS: int;