typescript-to-gdscript 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +232 -104
  2. package/dist/cli/convert.d.ts.map +1 -1
  3. package/dist/cli/convert.js +15 -5
  4. package/dist/cli/convert.js.map +1 -1
  5. package/dist/converter/common/index.d.ts +17 -1
  6. package/dist/converter/common/index.d.ts.map +1 -1
  7. package/dist/converter/common/index.js +69 -19
  8. package/dist/converter/common/index.js.map +1 -1
  9. package/dist/converter/ts-to-gd/access-rewrite.d.ts +40 -0
  10. package/dist/converter/ts-to-gd/access-rewrite.d.ts.map +1 -0
  11. package/dist/converter/ts-to-gd/access-rewrite.js +124 -0
  12. package/dist/converter/ts-to-gd/access-rewrite.js.map +1 -0
  13. package/dist/converter/ts-to-gd/class-members.d.ts.map +1 -1
  14. package/dist/converter/ts-to-gd/class-members.js +5 -5
  15. package/dist/converter/ts-to-gd/class-members.js.map +1 -1
  16. package/dist/converter/ts-to-gd/expressions.d.ts.map +1 -1
  17. package/dist/converter/ts-to-gd/expressions.js +32 -8
  18. package/dist/converter/ts-to-gd/expressions.js.map +1 -1
  19. package/dist/converter/ts-to-gd/file-scope.d.ts.map +1 -1
  20. package/dist/converter/ts-to-gd/file-scope.js +1 -1
  21. package/dist/converter/ts-to-gd/file-scope.js.map +1 -1
  22. package/dist/converter/ts-to-gd/gd-getset.js +2 -2
  23. package/dist/converter/ts-to-gd/gd-getset.js.map +1 -1
  24. package/dist/converter/ts-to-gd/index.d.ts.map +1 -1
  25. package/dist/converter/ts-to-gd/index.js +1 -0
  26. package/dist/converter/ts-to-gd/index.js.map +1 -1
  27. package/dist/converter/ts-to-gd/parameters.d.ts.map +1 -1
  28. package/dist/converter/ts-to-gd/parameters.js +2 -2
  29. package/dist/converter/ts-to-gd/parameters.js.map +1 -1
  30. package/dist/converter/ts-to-gd/statements.d.ts.map +1 -1
  31. package/dist/converter/ts-to-gd/statements.js +1 -1
  32. package/dist/converter/ts-to-gd/statements.js.map +1 -1
  33. package/dist/typings/override-system.d.ts.map +1 -1
  34. package/dist/typings/override-system.js +6 -0
  35. package/dist/typings/override-system.js.map +1 -1
  36. package/dist/watcher/check.d.ts +87 -0
  37. package/dist/watcher/check.d.ts.map +1 -0
  38. package/dist/watcher/check.js +209 -0
  39. package/dist/watcher/check.js.map +1 -0
  40. package/dist/watcher/heal.d.ts +66 -0
  41. package/dist/watcher/heal.d.ts.map +1 -0
  42. package/dist/watcher/heal.js +132 -0
  43. package/dist/watcher/heal.js.map +1 -0
  44. package/dist/watcher/index.d.ts +1 -0
  45. package/dist/watcher/index.d.ts.map +1 -1
  46. package/dist/watcher/index.js +48 -52
  47. package/dist/watcher/index.js.map +1 -1
  48. package/package.json +6 -1
  49. package/typings/classes/AccessibilityServer.d.ts +1 -1
  50. package/typings/classes/AnimationLibrary.d.ts +4 -4
  51. package/typings/classes/AnimationNodeBlendSpace1D.d.ts +28 -2
  52. package/typings/classes/AnimationNodeBlendSpace2D.d.ts +28 -2
  53. package/typings/classes/AreaLight3D.d.ts +37 -0
  54. package/typings/classes/AudioEffectInstance.d.ts +1 -1
  55. package/typings/classes/AudioStreamRandomizer.d.ts +10 -0
  56. package/typings/classes/Basis.d.ts +2 -2
  57. package/typings/classes/CPUParticles2D.d.ts +2 -2
  58. package/typings/classes/CPUParticles3D.d.ts +2 -2
  59. package/typings/classes/CanvasItem.d.ts +15 -0
  60. package/typings/classes/CodeEdit.d.ts +2 -0
  61. package/typings/classes/CollisionObject2D.d.ts +2 -2
  62. package/typings/classes/Container.d.ts +1 -0
  63. package/typings/classes/Control.d.ts +68 -9
  64. package/typings/classes/Curve.d.ts +26 -1
  65. package/typings/classes/Curve2D.d.ts +15 -0
  66. package/typings/classes/Curve3D.d.ts +20 -0
  67. package/typings/classes/DirAccess.d.ts +6 -1
  68. package/typings/classes/DisplayServer.d.ts +35 -10
  69. package/typings/classes/DrawableTexture2D.d.ts +0 -4
  70. package/typings/classes/EditorCommandPalette.d.ts +0 -2
  71. package/typings/classes/EditorContextMenuPlugin.d.ts +4 -0
  72. package/typings/classes/EditorDock.d.ts +2 -3
  73. package/typings/classes/EditorExportPlatform.d.ts +4 -2
  74. package/typings/classes/EditorExportPlugin.d.ts +2 -0
  75. package/typings/classes/EditorFeatureProfile.d.ts +1 -1
  76. package/typings/classes/EditorInspector.d.ts +10 -0
  77. package/typings/classes/EditorInterface.d.ts +2 -2
  78. package/typings/classes/EditorNode3DGizmoPlugin.d.ts +4 -0
  79. package/typings/classes/EditorPlugin.d.ts +4 -4
  80. package/typings/classes/EditorResourcePicker.d.ts +2 -1
  81. package/typings/classes/EditorSceneFormatImporter.d.ts +23 -0
  82. package/typings/classes/EditorSettings.d.ts +44 -7
  83. package/typings/classes/EditorTranslationParserPlugin.d.ts +4 -0
  84. package/typings/classes/EditorVCSInterface.d.ts +6 -2
  85. package/typings/classes/FileDialog.d.ts +15 -0
  86. package/typings/classes/Font.d.ts +13 -1
  87. package/typings/classes/FontVariation.d.ts +10 -0
  88. package/typings/classes/GDScript.d.ts +8 -0
  89. package/typings/classes/GDScriptLanguageProtocol.d.ts +25 -0
  90. package/typings/classes/GDScriptSyntaxHighlighter.d.ts +6 -0
  91. package/typings/classes/GDScriptTextDocument.d.ts +27 -0
  92. package/typings/classes/GDScriptWorkspace.d.ts +17 -0
  93. package/typings/classes/GPUParticles2D.d.ts +2 -2
  94. package/typings/classes/GPUParticles3D.d.ts +15 -2
  95. package/typings/classes/Geometry2D.d.ts +2 -2
  96. package/typings/classes/Image.d.ts +6 -4
  97. package/typings/classes/ImageFormatLoader.d.ts +5 -0
  98. package/typings/classes/Input.d.ts +11 -2
  99. package/typings/classes/InputEventMouseMotion.d.ts +2 -2
  100. package/typings/classes/ItemList.d.ts +20 -0
  101. package/typings/classes/IterateIK3D.d.ts +6 -3
  102. package/typings/classes/JavaClassWrapper.d.ts +13 -0
  103. package/typings/classes/JavaScriptBridge.d.ts +1 -1
  104. package/typings/classes/Label.d.ts +1 -0
  105. package/typings/classes/LabelSettings.d.ts +25 -0
  106. package/typings/classes/Light3D.d.ts +1 -1
  107. package/typings/classes/Logger.d.ts +1 -1
  108. package/typings/classes/LookAtModifier3D.d.ts +1 -1
  109. package/typings/classes/MenuButton.d.ts +35 -0
  110. package/typings/classes/MeshLibrary.d.ts +2 -0
  111. package/typings/classes/MovieWriter.d.ts +2 -0
  112. package/typings/classes/MultiplayerPeerExtension.d.ts +9 -9
  113. package/typings/classes/Node.d.ts +6 -0
  114. package/typings/classes/Node3D.d.ts +6 -4
  115. package/typings/classes/OS.d.ts +1 -1
  116. package/typings/classes/Object.d.ts +11 -8
  117. package/typings/classes/OptimizedTranslation.d.ts +2 -2
  118. package/typings/classes/OptionButton.d.ts +51 -7
  119. package/typings/classes/PacketPeerExtension.d.ts +1 -1
  120. package/typings/classes/ParticleProcessMaterial.d.ts +58 -0
  121. package/typings/classes/PhysicsDirectSpaceState2DExtension.d.ts +6 -6
  122. package/typings/classes/PhysicsDirectSpaceState3DExtension.d.ts +6 -6
  123. package/typings/classes/PhysicsServer2DExtension.d.ts +5 -5
  124. package/typings/classes/PhysicsServer3DExtension.d.ts +1 -1
  125. package/typings/classes/PopupMenu.d.ts +58 -6
  126. package/typings/classes/ProjectSettings.d.ts +89 -21
  127. package/typings/classes/Quaternion.d.ts +2 -2
  128. package/typings/classes/RDAccelerationStructureGeometry.d.ts +42 -0
  129. package/typings/classes/RDAccelerationStructureInstance.d.ts +34 -0
  130. package/typings/classes/RDHitGroup.d.ts +20 -0
  131. package/typings/classes/RDPipelineShader.d.ts +14 -0
  132. package/typings/classes/RandomNumberGenerator.d.ts +4 -2
  133. package/typings/classes/RenderSceneBuffersConfiguration.d.ts +4 -1
  134. package/typings/classes/RenderingDevice.d.ts +93 -23
  135. package/typings/classes/RenderingServer.d.ts +51 -3
  136. package/typings/classes/Resource.d.ts +2 -0
  137. package/typings/classes/ResourceImporterOBJ.d.ts +1 -1
  138. package/typings/classes/ResourceImporterScene.d.ts +11 -3
  139. package/typings/classes/RichTextLabel.d.ts +14 -6
  140. package/typings/classes/SceneTree.d.ts +29 -5
  141. package/typings/classes/Script.d.ts +2 -0
  142. package/typings/classes/ScriptEditor.d.ts +7 -0
  143. package/typings/classes/ScriptLanguageExtension.d.ts +7 -0
  144. package/typings/classes/ScrollContainer.d.ts +17 -5
  145. package/typings/classes/SkeletonModification2DJiggle.d.ts +4 -0
  146. package/typings/classes/SpringBoneSimulator3D.d.ts +4 -2
  147. package/typings/classes/SpriteFrames.d.ts +20 -4
  148. package/typings/classes/StreamPeerExtension.d.ts +2 -2
  149. package/typings/classes/TabBar.d.ts +20 -0
  150. package/typings/classes/TabContainer.d.ts +21 -3
  151. package/typings/classes/TextEdit.d.ts +2 -2
  152. package/typings/classes/TextServer.d.ts +23 -1
  153. package/typings/classes/TextServerExtension.d.ts +23 -1
  154. package/typings/classes/TileSet.d.ts +3 -1
  155. package/typings/classes/Tree.d.ts +16 -7
  156. package/typings/classes/TreeItem.d.ts +9 -2
  157. package/typings/classes/UndoRedo.d.ts +2 -2
  158. package/typings/classes/Vector2.d.ts +4 -2
  159. package/typings/classes/Vector2i.d.ts +4 -2
  160. package/typings/classes/Vector3.d.ts +4 -2
  161. package/typings/classes/Vector3i.d.ts +4 -2
  162. package/typings/classes/Vector4.d.ts +4 -2
  163. package/typings/classes/Vector4i.d.ts +4 -2
  164. package/typings/classes/Viewport.d.ts +17 -1
  165. package/typings/classes/Window.d.ts +20 -6
  166. package/typings/classes/_globals.d.ts +104 -26
  167. package/typings/classes/index.d.ts +10 -112
  168. package/typings/godot-class-registry.json +885 -3604
  169. package/typings/classes/VisualShader.d.ts +0 -112
  170. package/typings/classes/VisualShaderNode.d.ts +0 -63
  171. package/typings/classes/VisualShaderNodeBillboard.d.ts +0 -28
  172. package/typings/classes/VisualShaderNodeBooleanConstant.d.ts +0 -10
  173. package/typings/classes/VisualShaderNodeBooleanParameter.d.ts +0 -14
  174. package/typings/classes/VisualShaderNodeClamp.d.ts +0 -26
  175. package/typings/classes/VisualShaderNodeColorConstant.d.ts +0 -10
  176. package/typings/classes/VisualShaderNodeColorFunc.d.ts +0 -32
  177. package/typings/classes/VisualShaderNodeColorOp.d.ts +0 -32
  178. package/typings/classes/VisualShaderNodeColorParameter.d.ts +0 -14
  179. package/typings/classes/VisualShaderNodeComment.d.ts +0 -12
  180. package/typings/classes/VisualShaderNodeCompare.d.ts +0 -68
  181. package/typings/classes/VisualShaderNodeConstant.d.ts +0 -6
  182. package/typings/classes/VisualShaderNodeCubemap.d.ts +0 -43
  183. package/typings/classes/VisualShaderNodeCubemapParameter.d.ts +0 -6
  184. package/typings/classes/VisualShaderNodeCurveTexture.d.ts +0 -10
  185. package/typings/classes/VisualShaderNodeCurveXYZTexture.d.ts +0 -10
  186. package/typings/classes/VisualShaderNodeCustom.d.ts +0 -122
  187. package/typings/classes/VisualShaderNodeDerivativeFunc.d.ts +0 -56
  188. package/typings/classes/VisualShaderNodeDeterminant.d.ts +0 -6
  189. package/typings/classes/VisualShaderNodeDistanceFade.d.ts +0 -6
  190. package/typings/classes/VisualShaderNodeDotProduct.d.ts +0 -6
  191. package/typings/classes/VisualShaderNodeExpression.d.ts +0 -12
  192. package/typings/classes/VisualShaderNodeFaceForward.d.ts +0 -8
  193. package/typings/classes/VisualShaderNodeFloatConstant.d.ts +0 -10
  194. package/typings/classes/VisualShaderNodeFloatFunc.d.ts +0 -108
  195. package/typings/classes/VisualShaderNodeFloatOp.d.ts +0 -36
  196. package/typings/classes/VisualShaderNodeFloatParameter.d.ts +0 -52
  197. package/typings/classes/VisualShaderNodeFrame.d.ts +0 -35
  198. package/typings/classes/VisualShaderNodeFresnel.d.ts +0 -6
  199. package/typings/classes/VisualShaderNodeGlobalExpression.d.ts +0 -6
  200. package/typings/classes/VisualShaderNodeGroupBase.d.ts +0 -60
  201. package/typings/classes/VisualShaderNodeIf.d.ts +0 -8
  202. package/typings/classes/VisualShaderNodeInput.d.ts +0 -20
  203. package/typings/classes/VisualShaderNodeIntConstant.d.ts +0 -10
  204. package/typings/classes/VisualShaderNodeIntFunc.d.ts +0 -24
  205. package/typings/classes/VisualShaderNodeIntOp.d.ts +0 -48
  206. package/typings/classes/VisualShaderNodeIntParameter.d.ts +0 -58
  207. package/typings/classes/VisualShaderNodeIs.d.ts +0 -18
  208. package/typings/classes/VisualShaderNodeLinearSceneDepth.d.ts +0 -6
  209. package/typings/classes/VisualShaderNodeMix.d.ts +0 -28
  210. package/typings/classes/VisualShaderNodeMultiplyAdd.d.ts +0 -22
  211. package/typings/classes/VisualShaderNodeOuterProduct.d.ts +0 -6
  212. package/typings/classes/VisualShaderNodeOutput.d.ts +0 -6
  213. package/typings/classes/VisualShaderNodeParameter.d.ts +0 -32
  214. package/typings/classes/VisualShaderNodeParameterRef.d.ts +0 -10
  215. package/typings/classes/VisualShaderNodeParticleAccelerator.d.ts +0 -20
  216. package/typings/classes/VisualShaderNodeParticleBoxEmitter.d.ts +0 -6
  217. package/typings/classes/VisualShaderNodeParticleConeVelocity.d.ts +0 -6
  218. package/typings/classes/VisualShaderNodeParticleEmit.d.ts +0 -22
  219. package/typings/classes/VisualShaderNodeParticleEmitter.d.ts +0 -12
  220. package/typings/classes/VisualShaderNodeParticleMeshEmitter.d.ts +0 -20
  221. package/typings/classes/VisualShaderNodeParticleMultiplyByAxisAngle.d.ts +0 -10
  222. package/typings/classes/VisualShaderNodeParticleOutput.d.ts +0 -6
  223. package/typings/classes/VisualShaderNodeParticleRandomness.d.ts +0 -22
  224. package/typings/classes/VisualShaderNodeParticleRingEmitter.d.ts +0 -6
  225. package/typings/classes/VisualShaderNodeParticleSphereEmitter.d.ts +0 -6
  226. package/typings/classes/VisualShaderNodeProximityFade.d.ts +0 -6
  227. package/typings/classes/VisualShaderNodeRandomRange.d.ts +0 -6
  228. package/typings/classes/VisualShaderNodeRemap.d.ts +0 -33
  229. package/typings/classes/VisualShaderNodeReroute.d.ts +0 -8
  230. package/typings/classes/VisualShaderNodeResizableBase.d.ts +0 -10
  231. package/typings/classes/VisualShaderNodeRotationByAxis.d.ts +0 -6
  232. package/typings/classes/VisualShaderNodeSDFRaymarch.d.ts +0 -6
  233. package/typings/classes/VisualShaderNodeSDFToScreenUV.d.ts +0 -8
  234. package/typings/classes/VisualShaderNodeSample3D.d.ts +0 -18
  235. package/typings/classes/VisualShaderNodeScreenNormalWorldSpace.d.ts +0 -6
  236. package/typings/classes/VisualShaderNodeScreenUVToSDF.d.ts +0 -8
  237. package/typings/classes/VisualShaderNodeSmoothStep.d.ts +0 -28
  238. package/typings/classes/VisualShaderNodeStep.d.ts +0 -28
  239. package/typings/classes/VisualShaderNodeSwitch.d.ts +0 -30
  240. package/typings/classes/VisualShaderNodeTexture.d.ts +0 -57
  241. package/typings/classes/VisualShaderNodeTexture2DArray.d.ts +0 -12
  242. package/typings/classes/VisualShaderNodeTexture2DArrayParameter.d.ts +0 -6
  243. package/typings/classes/VisualShaderNodeTexture2DParameter.d.ts +0 -6
  244. package/typings/classes/VisualShaderNodeTexture3D.d.ts +0 -12
  245. package/typings/classes/VisualShaderNodeTexture3DParameter.d.ts +0 -6
  246. package/typings/classes/VisualShaderNodeTextureParameter.d.ts +0 -104
  247. package/typings/classes/VisualShaderNodeTextureParameterTriplanar.d.ts +0 -6
  248. package/typings/classes/VisualShaderNodeTextureSDF.d.ts +0 -6
  249. package/typings/classes/VisualShaderNodeTextureSDFNormal.d.ts +0 -6
  250. package/typings/classes/VisualShaderNodeTransformCompose.d.ts +0 -6
  251. package/typings/classes/VisualShaderNodeTransformConstant.d.ts +0 -10
  252. package/typings/classes/VisualShaderNodeTransformDecompose.d.ts +0 -6
  253. package/typings/classes/VisualShaderNodeTransformFunc.d.ts +0 -18
  254. package/typings/classes/VisualShaderNodeTransformOp.d.ts +0 -32
  255. package/typings/classes/VisualShaderNodeTransformParameter.d.ts +0 -14
  256. package/typings/classes/VisualShaderNodeTransformVecMult.d.ts +0 -22
  257. package/typings/classes/VisualShaderNodeUIntConstant.d.ts +0 -10
  258. package/typings/classes/VisualShaderNodeUIntFunc.d.ts +0 -20
  259. package/typings/classes/VisualShaderNodeUIntOp.d.ts +0 -48
  260. package/typings/classes/VisualShaderNodeUIntParameter.d.ts +0 -16
  261. package/typings/classes/VisualShaderNodeUVFunc.d.ts +0 -22
  262. package/typings/classes/VisualShaderNodeUVPolarCoord.d.ts +0 -6
  263. package/typings/classes/VisualShaderNodeVarying.d.ts +0 -14
  264. package/typings/classes/VisualShaderNodeVaryingGetter.d.ts +0 -6
  265. package/typings/classes/VisualShaderNodeVaryingSetter.d.ts +0 -6
  266. package/typings/classes/VisualShaderNodeVec2Constant.d.ts +0 -10
  267. package/typings/classes/VisualShaderNodeVec2Parameter.d.ts +0 -14
  268. package/typings/classes/VisualShaderNodeVec3Constant.d.ts +0 -10
  269. package/typings/classes/VisualShaderNodeVec3Parameter.d.ts +0 -14
  270. package/typings/classes/VisualShaderNodeVec4Constant.d.ts +0 -10
  271. package/typings/classes/VisualShaderNodeVec4Parameter.d.ts +0 -14
  272. package/typings/classes/VisualShaderNodeVectorBase.d.ts +0 -20
  273. package/typings/classes/VisualShaderNodeVectorCompose.d.ts +0 -8
  274. package/typings/classes/VisualShaderNodeVectorDecompose.d.ts +0 -8
  275. package/typings/classes/VisualShaderNodeVectorDistance.d.ts +0 -6
  276. package/typings/classes/VisualShaderNodeVectorFunc.d.ts +0 -84
  277. package/typings/classes/VisualShaderNodeVectorLen.d.ts +0 -6
  278. package/typings/classes/VisualShaderNodeVectorOp.d.ts +0 -42
  279. package/typings/classes/VisualShaderNodeVectorRefract.d.ts +0 -8
  280. package/typings/classes/VisualShaderNodeWorldPositionFromDepth.d.ts +0 -8
@@ -43,7 +43,8 @@ declare class IterateIK3D extends ChainIK3D {
43
43
  * Returns the joint limitation rotation offset at `joint` in the bone chain's joint list.
44
44
  * Rotation is done in the local space which is constructed by the bone direction (in general parent to child) as the +Y axis and {@link get_joint_limitation_right_axis_vector} as the +X axis.
45
45
  * If the +X and +Y axes are not orthogonal, the +X axis is implicitly modified to make it orthogonal.
46
- * Also, if the length of {@link get_joint_limitation_right_axis_vector} is zero, the space is created by rotating the bone rest using the shortest arc that rotates the +Y axis of the bone rest to match the bone direction.
46
+ * Also, if the length of {@link get_joint_limitation_right_axis_vector} is zero, the space is created by rotating the reference pose using the shortest arc that rotates the +Y axis of the reference pose to match the bone direction.
47
+ * In here, the reference pose is the bone pose immediately before processing IK.
47
48
  */
48
49
  get_joint_limitation_rotation_offset(index: int, joint: int): Quaternion;
49
50
  /** Returns the rotation axis at `joint` in the bone chain's joint list. */
@@ -65,12 +66,14 @@ declare class IterateIK3D extends ChainIK3D {
65
66
  * Sets the joint limitation rotation offset at `joint` in the bone chain's joint list.
66
67
  * Rotation is done in the local space which is constructed by the bone direction (in general parent to child) as the +Y axis and {@link get_joint_limitation_right_axis_vector} as the +X axis.
67
68
  * If the +X and +Y axes are not orthogonal, the +X axis is implicitly modified to make it orthogonal.
68
- * Also, if the length of {@link get_joint_limitation_right_axis_vector} is zero, the space is created by rotating the bone rest using the shortest arc that rotates the +Y axis of the bone rest to match the bone direction.
69
+ * Also, if the length of {@link get_joint_limitation_right_axis_vector} is zero, the space is created by rotating the reference pose using the shortest arc that rotates the +Y axis of the reference pose to match the bone direction.
70
+ * In here, the reference pose is the bone pose immediately before processing IK.
69
71
  */
70
72
  set_joint_limitation_rotation_offset(index: int, joint: int, offset: Quaternion | Basis): void;
71
73
  /**
72
74
  * Sets the rotation axis at `joint` in the bone chain's joint list.
73
- * The axes are based on the {@link Skeleton3D.get_bone_rest}'s space, if `axis` is {@link SkeletonModifier3D.ROTATION_AXIS_CUSTOM}, you can specify any axis.
75
+ * The axes are based on the reference pose's space, if `axis` is {@link SkeletonModifier3D.ROTATION_AXIS_CUSTOM}, you can specify any axis.
76
+ * In here, the reference pose is the bone pose immediately before processing IK.
74
77
  * **Note:** The rotation axis and the forward vector shouldn't be colinear to avoid unintended rotation since {@link ChainIK3D} does not factor in twisting forces.
75
78
  */
76
79
  set_joint_rotation_axis(index: int, joint: int, axis: int): void;
@@ -3,6 +3,19 @@
3
3
 
4
4
  /** Provides access to the Java Native Interface. */
5
5
  declare interface JavaClassWrapper extends GodotObject {
6
+ /**
7
+ * Creates a {@link JavaObject} implementing the given Java interfaces using the given {@link Object} as the implementation.
8
+ * The `object` must contain methods signatures matching the methods signatures from the passed Java `interfaces`. Invoking methods from the Java `interfaces` will route to the matching `object` method.
9
+ * **Note:** This method only works on Android. On every other platform, this method will always return `null`.
10
+ */
11
+ create_proxy(object: GodotObject, interfaces: PackedStringArray | Array<unknown>): JavaObject | null;
12
+ /**
13
+ * Creates a {@link JavaObject} implementing the Java Single Abstract Method (SAM) interface using the Godot {@link Callable} as the implementation.
14
+ * The `sam_interface` **must be** a Java SAM interface, meaning it must only have a single abstract method to implement.
15
+ * The `callable` must be able to handle the same parameter types as the SAM interface method, and must provide the same return type. The `callable` will be invoked as a callback, passing the arguments from the Java SAM interface method.
16
+ * **Note:** This method only works on Android. On every other platform, this method will always return `null`.
17
+ */
18
+ create_sam_callback(sam_interface: string | NodePath, callable: Callable): JavaObject | null;
6
19
  /**
7
20
  * Returns the Java exception from the last call into a Java class. If there was no exception, it will return `null`.
8
21
  * **Note:** This method only works on Android. On every other platform, this method will always return `null`.
@@ -34,7 +34,7 @@ declare interface JavaScriptBridge extends GodotObject {
34
34
  */
35
35
  get_interface(interface_: string | NodePath): JavaScriptObject | null;
36
36
  /**
37
- * Returns `true` if the given `javascript_object` is of type `ArrayBuffer` (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer), `DataView` (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView), or one of the many typed array objects (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray).
37
+ * Returns `true` if the given `javascript_object` is of type ArrayBuffer (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer), DataView (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView), or one of the many typed array objects (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray).
38
38
  */
39
39
  is_js_buffer(javascript_object: JavaScriptObject): boolean;
40
40
  /**
@@ -5,6 +5,7 @@
5
5
  declare class Label extends Control {
6
6
  /**
7
7
  * If set to something other than {@link TextServer.AUTOWRAP_OFF}, the text gets wrapped inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text.
8
+ * **Note:** Labels with autowrapping enabled must have a custom maximum width configured to work correctly, either through the Label's own {@link Control.custom_maximum_size} or as a result of a propagated maximum size from a parent Control with {@link Control.propagate_maximum_size} enabled.
8
9
  */
9
10
  autowrap_mode: int;
10
11
  /**
@@ -27,8 +27,33 @@ declare class LabelSettings extends Resource {
27
27
  shadow_size: int;
28
28
  /** The number of stacked outlines. */
29
29
  stacked_outline_count: int;
30
+ /**
31
+ * The color of the outline at `index`.
32
+ * **Note:** `index` is a value in the `0 .. stacked_outline_count - 1` range.
33
+ */
34
+ 'stacked_outline_{index}/color': Color;
35
+ /**
36
+ * The size of the outline at `index`.
37
+ * **Note:** `index` is a value in the `0 .. stacked_outline_count - 1` range.
38
+ */
39
+ 'stacked_outline_{index}/size': int;
30
40
  /** The number of stacked shadows. */
31
41
  stacked_shadow_count: int;
42
+ /**
43
+ * The color of the shadow at `index`.
44
+ * **Note:** `index` is a value in the `0 .. stacked_shadow_count - 1` range.
45
+ */
46
+ 'stacked_shadow_{index}/color': Color;
47
+ /**
48
+ * The offset of the shadow at `index`.
49
+ * **Note:** `index` is a value in the `0 .. stacked_shadow_count - 1` range.
50
+ */
51
+ 'stacked_shadow_{index}/offset': Vector2;
52
+ /**
53
+ * The size of the shadow outline at `index`.
54
+ * **Note:** `index` is a value in the `0 .. stacked_shadow_count - 1` range.
55
+ */
56
+ 'stacked_shadow_{index}/outline_size': int;
32
57
  set_font(value: Font | null): void;
33
58
  get_font(): Font | null;
34
59
  set_font_color(value: Color): void;
@@ -76,7 +76,7 @@ declare class Light3D extends VisualInstance3D {
76
76
  */
77
77
  light_projector: Texture2D | null;
78
78
  /**
79
- * The size of the light in Godot units. Only available for {@link OmniLight3D}s and {@link SpotLight3D}s. Increasing this value will make the light fade out slower and shadows appear blurrier (also called percentage-closer soft shadows, or PCSS). This can be used to simulate area lights to an extent. Increasing this value above `0.0` for lights with shadows enabled will have a noticeable performance cost due to PCSS.
79
+ * The simulated size of the light in Godot units, affecting shading and shadows. For {@link OmniLight3D}s and {@link SpotLight3D}s, increasing this value simulates a spherical area light, expanding the size of specular highlights. If shadows are enabled, a penumbra is rendered, making shadows appear blurrier. For {@link AreaLight3D}s, only the shadows are affected. Penumbras are simulated with percentage-closer soft shadows, or PCSS, which has a noticeable performance cost for values above `0.0`.
80
80
  * **Note:** {@link light_size} is not affected by {@link Node3D.scale} (the light's scale or its parent's scale).
81
81
  * **Note:** PCSS for positional lights is only supported in the Forward+ and Mobile rendering methods, not Compatibility.
82
82
  */
@@ -8,7 +8,7 @@ declare class Logger extends RefCounted {
8
8
  * The type of error provided by `error_type` is described in the {@link ErrorType} enumeration.
9
9
  * Additionally, `script_backtraces` provides backtraces for each of the script languages. These will only contain stack frames in editor builds and debug builds by default. To enable them for release builds as well, you need to enable {@link ProjectSettings.debug/settings/gdscript/always_track_call_stacks}.
10
10
  * **Warning:** This method will be called from threads other than the main thread, possibly at the same time, so you will need to have some kind of thread-safety in your implementation of it, like a {@link Mutex}.
11
- * **Note:** `script_backtraces` will not contain any captured variables, due to its prohibitively high cost. To get those you will need to capture the backtraces yourself, from within the {@link Logger} virtual methods, using {@link Engine.capture_script_backtraces}.
11
+ * **Note:** `script_backtraces` will not contain any captured variables, due to its prohibitively high cost. To get those, you will need to capture the backtraces yourself, from within the {@link Logger} virtual methods, using {@link Engine.capture_script_backtraces}.
12
12
  * **Note:** Logging errors from this method using functions like {@link @GlobalScope.push_error} or {@link @GlobalScope.push_warning} is not supported, as it could cause infinite recursion. These errors will only show up in the console output.
13
13
  */
14
14
  _log_error(function_: string | NodePath, file: string | NodePath, line: int, code: string | NodePath, rationale: string | NodePath, editor_notify: boolean, error_type: int, script_backtraces: Array<ScriptBacktrace>): void;
@@ -68,7 +68,7 @@ declare class LookAtModifier3D extends SkeletonModifier3D {
68
68
  primary_rotation_axis: int;
69
69
  /**
70
70
  * The relative option. If `true`, the rotation is applied relative to the pose. If `false`, the rotation is applied relative to the rest. It means to replace the current pose with the {@link LookAtModifier3D}'s result.
71
- * **Note:** This option affects the base angle for {@link use_angle_limitation} unlike {@link IterateIK3D}'s {@link JointLimitation3D}. Since the {@link LookAtModifier3D} relies strongly on Euler rotation, the axis that determines the limitation and the actual rotation are strongly tied together.
71
+ * **Note:** This option affects the base angle for {@link use_angle_limitation}. Since the {@link LookAtModifier3D} relies strongly on Euler rotation, the axis that determines the limitation and the actual rotation are strongly tied together.
72
72
  */
73
73
  relative: boolean;
74
74
  /** The threshold to start damping for {@link secondary_limit_angle}. */
@@ -10,6 +10,41 @@ declare class MenuButton extends Button {
10
10
  * The number of items currently in the list.
11
11
  */
12
12
  action_mode: int;
13
+ /**
14
+ * The checkable item type of the item at `index`.
15
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
16
+ */
17
+ 'popup/item_{index}/checkable': int;
18
+ /**
19
+ * If `true`, the item at `index` is checked.
20
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
21
+ */
22
+ 'popup/item_{index}/checked': boolean;
23
+ /**
24
+ * If `true`, the item at `index` is disabled.
25
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
26
+ */
27
+ 'popup/item_{index}/disabled': boolean;
28
+ /**
29
+ * The icon of the item at `index`.
30
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
31
+ */
32
+ 'popup/item_{index}/icon': Texture2D | null;
33
+ /**
34
+ * The ID of the item at `index`.
35
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
36
+ */
37
+ 'popup/item_{index}/id': int;
38
+ /**
39
+ * If `true`, the item at `index` is a separator.
40
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
41
+ */
42
+ 'popup/item_{index}/separator': boolean;
43
+ /**
44
+ * The text of the item at `index`.
45
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
46
+ */
47
+ 'popup/item_{index}/text': string;
13
48
  /**
14
49
  * If `true`, when the cursor hovers above another {@link MenuButton} within the same parent which also has {@link switch_on_hover} enabled, it will close the current {@link MenuButton} and open the other one.
15
50
  */
@@ -12,6 +12,8 @@ declare class MeshLibrary extends Resource {
12
12
  create_item(id: int): void;
13
13
  /** Returns the first item with the given name, or `-1` if no item is found. */
14
14
  find_item_by_name(name: string | NodePath): int;
15
+ /** Returns the number of items present in the library. */
16
+ get_item_count(): int;
15
17
  /** Returns the list of item IDs in use. */
16
18
  get_item_list(): PackedInt32Array;
17
19
  /** Returns the item's mesh. */
@@ -11,6 +11,8 @@ declare class MovieWriter extends GodotObject {
11
11
  * Called when the audio speaker mode used for recording the audio is requested by the engine. This can affect the number of output channels in the resulting audio file/stream. Defaults to {@link AudioServer.SPEAKER_MODE_STEREO} if {@link _get_audio_speaker_mode} is not overridden.
12
12
  */
13
13
  _get_audio_speaker_mode(): int;
14
+ /** Returns the list of supported filename extensions for movies written with this {@link MovieWriter}. */
15
+ _get_supported_extensions(): PackedStringArray;
14
16
  /**
15
17
  * Called when the engine determines whether this {@link MovieWriter} is able to handle the file at `path`. Must return `true` if this {@link MovieWriter} is able to handle the given file path, `false` otherwise. Typically, {@link _handles_file} is overridden as follows to allow the user to record a file at any path with a given file extension:
16
18
  */
@@ -6,9 +6,9 @@ declare class MultiplayerPeerExtension extends MultiplayerPeer {
6
6
  /** Called when the multiplayer peer should be immediately closed (see {@link MultiplayerPeer.close}). */
7
7
  _close(): void;
8
8
  /**
9
- * Called when the connected `p_peer` should be forcibly disconnected (see {@link MultiplayerPeer.disconnect_peer}).
9
+ * Called when the connected `peer` should be forcibly disconnected (see {@link MultiplayerPeer.disconnect_peer}).
10
10
  */
11
- _disconnect_peer(p_peer: int, p_force: boolean): void;
11
+ _disconnect_peer(peer: int, force: boolean): void;
12
12
  /** Called when the available packet count is internally requested by the {@link MultiplayerAPI}. */
13
13
  _get_available_packet_count(): int;
14
14
  /**
@@ -64,27 +64,27 @@ declare class MultiplayerPeerExtension extends MultiplayerPeer {
64
64
  /** Called when the {@link MultiplayerAPI} is polled. See {@link MultiplayerAPI.poll}. */
65
65
  _poll(): void;
66
66
  /**
67
- * Called when a packet needs to be sent by the {@link MultiplayerAPI}, with `p_buffer_size` being the size of the binary `p_buffer` in bytes.
67
+ * Called when a packet needs to be sent by the {@link MultiplayerAPI}, with `buffer_size` being the size of the binary `buffer` in bytes.
68
68
  */
69
- _put_packet(p_buffer: int, p_buffer_size: int): int;
69
+ _put_packet(buffer: int, buffer_size: int): int;
70
70
  /**
71
71
  * Called when a packet needs to be sent by the {@link MultiplayerAPI}, if {@link _put_packet} isn't implemented. Use this when extending this class via GDScript.
72
72
  */
73
- _put_packet_script(p_buffer: PackedByteArray | Array<unknown>): int;
73
+ _put_packet_script(buffer: PackedByteArray | Array<unknown>): int;
74
74
  /**
75
75
  * Called when the "refuse new connections" status is set on this {@link MultiplayerPeer} (see {@link MultiplayerPeer.refuse_new_connections}).
76
76
  */
77
- _set_refuse_new_connections(p_enable: boolean): void;
77
+ _set_refuse_new_connections(enable: boolean): void;
78
78
  /**
79
79
  * Called when the target peer to use is set for this {@link MultiplayerPeer} (see {@link MultiplayerPeer.set_target_peer}).
80
80
  */
81
- _set_target_peer(p_peer: int): void;
81
+ _set_target_peer(peer: int): void;
82
82
  /**
83
83
  * Called when the channel to use is set for this {@link MultiplayerPeer} (see {@link MultiplayerPeer.transfer_channel}).
84
84
  */
85
- _set_transfer_channel(p_channel: int): void;
85
+ _set_transfer_channel(channel: int): void;
86
86
  /**
87
87
  * Called when the transfer mode is set on this {@link MultiplayerPeer} (see {@link MultiplayerPeer.transfer_mode}).
88
88
  */
89
- _set_transfer_mode(p_mode: int): void;
89
+ _set_transfer_mode(mode: int): void;
90
90
  }
@@ -561,6 +561,7 @@ declare class Node extends GodotObject {
561
561
  /**
562
562
  * Changes the parent of this {@link Node} to the `new_parent`. The node needs to already have a parent. The node's {@link owner} is preserved if its owner is still reachable from the new location (i.e., the node is still a descendant of the new parent after the operation).
563
563
  * If `keep_global_transform` is `true`, the node's global transform will be preserved if supported. {@link Node2D}, {@link Node3D} and {@link Control} support this argument (but {@link Control} keeps only position).
564
+ * **Warning:** If {@link ProjectSettings.physics/common/physics_interpolation} is enabled and reparenting causes a large change in global transform, the object may appear to move from its old position to its new one over the next physics tick. To avoid this, call {@link reset_physics_interpolation} after reparenting.
564
565
  */
565
566
  reparent(new_parent: Node, keep_global_transform?: boolean): void;
566
567
  /**
@@ -960,6 +961,11 @@ declare class Node extends GodotObject {
960
961
  static readonly NOTIFICATION_VP_MOUSE_EXIT: int;
961
962
  /** Notification received when the window is moved. */
962
963
  static readonly NOTIFICATION_WM_POSITION_CHANGED: int;
964
+ /**
965
+ * Notification received when the output max linear value returned by {@link Window.get_output_max_linear_value} has changed.
966
+ * This occurs when HDR output is enabled or disabled and when any HDR output luminance values of the window have changed, such as when the player adjusts their screen brightness setting or moves the window to a different screen.
967
+ */
968
+ static readonly NOTIFICATION_WM_OUTPUT_MAX_LINEAR_VALUE_CHANGED: int;
963
969
  /**
964
970
  * Notification received from the OS when the application is exceeding its allocated memory.
965
971
  * Implemented only on iOS.
@@ -50,7 +50,7 @@ declare class Node3D extends Node {
50
50
  * - The {@link Vector3.x} is the angle around the local X axis (pitch);
51
51
  * - The {@link Vector3.y} is the angle around the local Y axis (yaw);
52
52
  * - The {@link Vector3.z} is the angle around the local Z axis (roll).
53
- * The order of each consecutive rotation can be changed with {@link rotation_order} (see {@link EulerOrder} constants). By default, the YXZ convention is used ({@link EULER_ORDER_YXZ}).
53
+ * The order of each consecutive rotation can be changed with {@link rotation_order} (see {@link EulerOrder} constants). In Godot, Euler angles always use intrinsic order. By default, the intrinsic YXZ convention is used ({@link EULER_ORDER_YXZ}).
54
54
  * **Note:** This property is edited in degrees in the inspector. If you want to use degrees in a script, use {@link rotation_degrees}.
55
55
  */
56
56
  rotation: Vector3;
@@ -62,7 +62,7 @@ declare class Node3D extends Node {
62
62
  /** How this node's rotation and scale are displayed in the Inspector dock. */
63
63
  rotation_edit_mode: int;
64
64
  /**
65
- * The axis rotation order of the {@link rotation} property. The final orientation is calculated by rotating around the local X, Y, and Z axis in this order.
65
+ * The axis rotation order of the {@link rotation} property. In Godot, Euler angles always use intrinsic order, meaning that the final orientation is calculated by rotating around the local axes in this order.
66
66
  */
67
67
  rotation_order: int;
68
68
  /**
@@ -293,10 +293,12 @@ declare class Node3D extends Node {
293
293
 
294
294
  // enum RotationEditMode
295
295
  /**
296
- * The rotation is edited using a {@link Vector3} in Euler angles (https://en.wikipedia.org/wiki/Euler_angles).
296
+ * The rotation is edited using a {@link Vector3} in Euler angles (https://en.wikipedia.org/wiki/Euler_angles). In Godot, Euler angles always use intrinsic order, meaning that rotation happens around the local axes of the object.
297
297
  */
298
298
  static readonly ROTATION_EDIT_MODE_EULER: int;
299
- /** The rotation is edited using a {@link Quaternion}. */
299
+ /**
300
+ * The rotation is edited using a {@link Quaternion}. Quaternions avoid gimbal lock ($DOCS_URL/tutorials/3d/using_transforms.html) and having to choose an order of rotation, but are less intuitive. Quaternion rotation is mostly the same as rotors in 3D geometric algebra, except that the numbers are labeled differently.
301
+ */
300
302
  static readonly ROTATION_EDIT_MODE_QUATERNION: int;
301
303
  /**
302
304
  * The rotation is edited using a {@link Basis}. In this mode, the raw {@link basis}'s axes can be freely modified, but the {@link scale} property is not available.
@@ -485,7 +485,7 @@ declare interface OS extends GodotObject {
485
485
  * - `OS.shell_open("C:\\Users\\name\\Downloads")` on Windows opens the file explorer at the user's Downloads folder.
486
486
  * - `OS.shell_open("C:/Users/name/Downloads")` also works on Windows and opens the file explorer at the user's Downloads folder.
487
487
  * - `OS.shell_open("https://godotengine.org")` opens the default web browser on the official Godot website.
488
- * - `OS.shell_open("mailto:example@example.com")` opens the default email client with the "To" field set to `example@example.com`. See RFC 2368 - The `mailto` URL scheme (https://datatracker.ietf.org/doc/html/rfc2368) for a list of fields that can be added.
488
+ * - `OS.shell_open("mailto:example@example.com")` opens the default email client with the "To" field set to `example@example.com`. See RFC 2368 - The mailto URL scheme (https://datatracker.ietf.org/doc/html/rfc2368) for a list of fields that can be added.
489
489
  * Use {@link ProjectSettings.globalize_path} to convert a `res://` or `user://` project path into a system path for use with this method.
490
490
  * **Note:** Use {@link String.uri_encode} to encode characters within URLs in a URL-safe, portable way. This is especially required for line breaks. Otherwise, {@link shell_open} may not work correctly in a project exported to the Web platform.
491
491
  * **Note:** This method is implemented on Android, iOS, Web, Linux, macOS and Windows.
@@ -8,6 +8,7 @@ declare class GodotObject {
8
8
  * Combined with {@link _set} and {@link _get_property_list}, this method allows defining custom properties, which is particularly useful for editor plugins.
9
9
  * **Note:** This method is not called when getting built-in properties of an object, including properties defined with .
10
10
  * **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via `super` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy. The call chain will stop on the first class that returns a non-`null` value.
11
+ * **Warning:** This method must be thread-safe ($DOCS_URL/tutorials/performance/thread_safe_apis.html) if overridden. Otherwise, the engine may crash when trying to save a resource containing the object.
11
12
  */
12
13
  _get(property: string): unknown;
13
14
  /**
@@ -18,6 +19,7 @@ declare class GodotObject {
18
19
  * **Note:** This method is intended for advanced purposes. For most common use cases, the scripting languages offer easier ways to handle properties. See , , , etc. If you want to customize exported properties, use {@link _validate_property}.
19
20
  * **Note:** If the object's script is not , this method will not be called in the editor.
20
21
  * **Note:** Unlike other virtual methods, this method is called automatically for every script that overrides it. This means that the base implementation should not be called via `super` in GDScript or its equivalents in other languages. The bottom-most sub-class will be called first, with subsequent calls ascending the class hierarchy.
22
+ * **Warning:** This method must be thread-safe ($DOCS_URL/tutorials/performance/thread_safe_apis.html) if overridden. Otherwise, the engine may crash when trying to save a resource containing the object.
21
23
  */
22
24
  _get_property_list(): Array<Dictionary>;
23
25
  /**
@@ -32,7 +34,8 @@ declare class GodotObject {
32
34
  _iter_get(iter: unknown): unknown;
33
35
  /**
34
36
  * Initializes the iterator. `iter` stores the iteration state. Since GDScript does not support passing arguments by reference, a single-element array is used as a wrapper. Returns `true` so long as the iterator has not reached the end.
35
- * **Note:** Alternatively, you can ignore `iter` and use the object's state instead, see online docs ($DOCS_URL/tutorials/scripting/gdscript/gdscript_advanced.html#custom-iterators) for an example. Note that in this case you will not be able to reuse the same iterator instance in nested loops. Also, make sure you reset the iterator state in this method if you want to reuse the same instance multiple times.
37
+ * **Note:** Avoid storing iterator state in a member variable, use the `iter` parameter instead. Otherwise, you won't be able to reuse the same iterator instance in nested loops.
38
+ * See also online docs ($DOCS_URL/tutorials/scripting/gdscript/gdscript_advanced.html#custom-iterators).
36
39
  */
37
40
  _iter_init(iter: Array<unknown> | PackedByteArray | PackedColorArray | PackedFloat32Array | PackedFloat64Array | PackedInt32Array | PackedInt64Array | PackedStringArray | PackedVector2Array | PackedVector3Array | PackedVector4Array): boolean;
38
41
  /**
@@ -108,7 +111,7 @@ declare class GodotObject {
108
111
  callv<N extends string, A extends any[], R>(
109
112
  this: Record<N, (...args: A) => R>,
110
113
  method: N,
111
- args: A
114
+ args: A,
112
115
  ): R;
113
116
  callv(method: string, args: any[]): unknown;
114
117
  /**
@@ -141,10 +144,7 @@ declare class GodotObject {
141
144
  signal: N,
142
145
  ...args: A
143
146
  ): Error.OK | Error.ERR_UNAVAILABLE;
144
- emit_signal(
145
- signal: string,
146
- ...args: any[]
147
- ): Error.OK | Error.ERR_UNAVAILABLE;
147
+ emit_signal(signal: string, ...args: any[]): Error.OK | Error.ERR_UNAVAILABLE;
148
148
  /**
149
149
  * Deletes the object from memory. Pre-existing references to the object become invalid, and any attempt to access them will result in a runtime error. Checking the references with {@link @GlobalScope.is_instance_valid} will return `false`. This is equivalent to the `memdelete` function in GDExtension C++.
150
150
  */
@@ -265,13 +265,16 @@ declare class GodotObject {
265
265
  * Returns `true` if the object inherits from the given `class`. See also {@link get_class}.
266
266
  * **Note:** This method ignores `class_name` declarations in the object's script.
267
267
  */
268
- is_class(class_: string | NodePath): boolean;
268
+ is_class(class_: string): boolean;
269
269
  /**
270
270
  * Returns `true` if a connection exists between the given `signal` name and `callable`.
271
271
  * **Note:** In C#, `signal` must be in snake_case when referring to built-in Godot signals. Prefer using the names exposed in the `SignalName` class to avoid allocating a new {@link StringName} on each call.
272
272
  */
273
273
  is_connected(signal: string, callable: Callable): boolean;
274
- /** Returns `true` if the {@link Node.queue_free} method was called for the object. */
274
+ /**
275
+ * Returns `true` if the methods {@link Node.queue_free} or {@link SceneTree.queue_delete} was called for the object.
276
+ * **Note:** This method does not return `true` on children of the node that {@link Node.queue_free} has been called on, even though they will be freed together with the parent.
277
+ */
275
278
  is_queued_for_deletion(): boolean;
276
279
  /**
277
280
  * Sends the given `what` notification to all classes inherited by the object, triggering calls to {@link _notification}, starting from the highest ancestor (the {@link Object} class) and going down to the object's script.
@@ -4,9 +4,9 @@
4
4
  /** An optimized translation. */
5
5
  declare class OptimizedTranslation extends Translation {
6
6
  /**
7
- * Generates and sets an optimized translation from the given {@link Translation} resource.
7
+ * Generates and sets an optimized translation from the given {@link Translation} resource. Returns `true` if successful.
8
8
  * **Note:** Messages in `from` should not use context or plural forms.
9
9
  * **Note:** This method is intended to be used in the editor. It does nothing when called from an exported project.
10
10
  */
11
- generate(from_: Translation): void;
11
+ generate(from_: Translation): boolean;
12
12
  }
@@ -9,8 +9,6 @@ declare class OptionButton extends Button {
9
9
  * If `true`, the currently selected item can be selected again.
10
10
  */
11
11
  action_mode: int;
12
- /** Enables the {@link PopupMenu} search bar if the item count is greater than `0`. */
13
- enable_search_bar_on_item_count: int;
14
12
  /**
15
13
  * If `true`, minimum size will be determined by the longest item's text, instead of the currently selected one's.
16
14
  * **Note:** For performance reasons, the minimum size doesn't update immediately when adding, removing or modifying items.
@@ -18,15 +16,63 @@ declare class OptionButton extends Button {
18
16
  fit_to_longest_item: boolean;
19
17
  /** The number of items to select from. */
20
18
  item_count: int;
19
+ /**
20
+ * If `true`, the item at `index` is disabled.
21
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
22
+ */
23
+ 'popup/item_{index}/disabled': boolean;
24
+ /**
25
+ * The icon of the item at `index`.
26
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
27
+ */
28
+ 'popup/item_{index}/icon': Texture2D | null;
29
+ /**
30
+ * The ID of the item at `index`.
31
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
32
+ */
33
+ 'popup/item_{index}/id': int;
34
+ /**
35
+ * If `true`, the item at `index` is a separator.
36
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
37
+ */
38
+ 'popup/item_{index}/separator': boolean;
39
+ /**
40
+ * The text of the item at `index`.
41
+ * **Note:** `index` is a value in the `0 .. item_count - 1` range.
42
+ */
43
+ 'popup/item_{index}/text': string;
44
+ /**
45
+ * If `true`, shows a search bar at the top of the {@link PopupMenu} for filtering items. See {@link search_bar_min_item_count} for dynamically controlling its visibility based on the number of items.
46
+ */
47
+ search_bar_enabled: boolean;
48
+ /**
49
+ * If `true`, enables fuzzy searching in the {@link PopupMenu} search bar. This allows the search results to include items that almost match the search query, as well items that match the individual characters of the search query, but not in sequence.
50
+ * Use {@link search_bar_fuzzy_search_max_misses} to set the maximum number of mismatches allowed in the search results.
51
+ */
52
+ search_bar_fuzzy_search_enabled: boolean;
53
+ /**
54
+ * Sets the maximum number of mismatches allowed in each search result when fuzzy searching is enabled for the {@link PopupMenu} search bar. Any item with more mismatches will be hidden from the search results.
55
+ */
56
+ search_bar_fuzzy_search_max_misses: int;
57
+ /**
58
+ * Sets the minimum number of items required for the {@link PopupMenu} search bar to be visible. {@link search_bar_enabled} must be `true` for this to have any effect.
59
+ */
60
+ search_bar_min_item_count: int;
21
61
  /** The index of the currently selected item, or `-1` if no item is selected. */
22
62
  selected: int;
23
63
  toggle_mode: boolean;
24
- set_search_bar_enabled_on_item_count(value: int): void;
25
- get_search_bar_enabled_on_item_count(): int;
26
64
  set_fit_to_longest_item(value: boolean): void;
27
65
  is_fit_to_longest_item(): boolean;
28
66
  set_item_count(value: int): void;
29
67
  get_item_count(): int;
68
+ set_search_bar_enabled(value: boolean): void;
69
+ is_search_bar_enabled(): boolean;
70
+ set_search_bar_fuzzy_search_enabled(value: boolean): void;
71
+ is_search_bar_fuzzy_search_enabled(): boolean;
72
+ set_search_bar_fuzzy_search_max_misses(value: int): void;
73
+ get_search_bar_fuzzy_search_max_misses(): int;
74
+ set_search_bar_min_item_count(value: int): void;
75
+ get_search_bar_min_item_count(): int;
30
76
  _select_int(value: int): void;
31
77
  get_selected(): int;
32
78
 
@@ -86,8 +132,6 @@ declare class OptionButton extends Button {
86
132
  is_item_disabled(idx: int): boolean;
87
133
  /** Returns `true` if the item at index `idx` is marked as a separator. */
88
134
  is_item_separator(idx: int): boolean;
89
- /** Returns `true` if the search bar is enabled. */
90
- is_search_bar_enabled(): boolean;
91
135
  /** Removes the item at index `idx`. */
92
136
  remove_item(idx: int): void;
93
137
  /**
@@ -125,7 +169,7 @@ declare class OptionButton extends Button {
125
169
  show_popup(): void;
126
170
 
127
171
  /**
128
- * Emitted when the user navigates to an item using the {@link ProjectSettings.input/ui_up} or {@link ProjectSettings.input/ui_down} input actions. The index of the item selected is passed as argument.
172
+ * Emitted when the user navigates to an item using the {@link ProjectSettings.input/ui_up} or {@link ProjectSettings.input/ui_down} input actions. The index of the item focused is passed as argument.
129
173
  */
130
174
  item_focused: Signal<[int]>;
131
175
  /**
@@ -5,5 +5,5 @@ declare class PacketPeerExtension extends PacketPeer {
5
5
  _get_available_packet_count(): int;
6
6
  _get_max_packet_size(): int;
7
7
  _get_packet(r_buffer: int, r_buffer_size: int): int;
8
- _put_packet(p_buffer: int, p_buffer_size: int): int;
8
+ _put_packet(buffer: int, buffer_size: int): int;
9
9
  }
@@ -209,6 +209,11 @@ declare class ParticleProcessMaterial extends Material {
209
209
  particle_flag_damping_as_friction: boolean;
210
210
  /** If `true`, particles will not move on the z axis. */
211
211
  particle_flag_disable_z: boolean;
212
+ /**
213
+ * If `true`, particles will inherit the scale of the emitter.
214
+ * **Note:** This has no effect when {@link GPUParticles3D.local_coords} is `true`, since particles in local space are already affected by the emitter's scale.
215
+ */
216
+ particle_flag_inherit_emitter_scale: boolean;
212
217
  /** If `true`, particles rotate around Y axis by {@link angle_min}. */
213
218
  particle_flag_rotate_y: boolean;
214
219
  /** Each particle's radial acceleration will vary along this {@link CurveTexture}. */
@@ -234,6 +239,32 @@ declare class ParticleProcessMaterial extends Material {
234
239
  * **Note:** Animated velocities will not be affected by damping, use {@link velocity_limit_curve} instead.
235
240
  */
236
241
  radial_velocity_min: float;
242
+ /** The maximum 3D orientation, in degrees. Works only in 3D and if {@link use_rotation_3d} is enabled. */
243
+ rotation_3d_max: Vector3;
244
+ /** The minimum 3D orientation, in degrees. Works only in 3D and if {@link use_rotation_3d} is enabled. */
245
+ rotation_3d_min: Vector3;
246
+ /**
247
+ * Rotation velocity curve over lifetime, per-axis. Enable {@link use_rotation_velocity_3d} to use this.
248
+ */
249
+ rotation_velocity_3d_curve: Texture2D | null;
250
+ /**
251
+ * Maximum 3D rotation velocity on the particle's local axis. Enable {@link use_rotation_velocity_3d} to use this.
252
+ */
253
+ rotation_velocity_3d_max: Vector3;
254
+ /**
255
+ * Minimum 3D rotation velocity on the particle's local axis. Enable {@link use_rotation_velocity_3d} to use this.
256
+ */
257
+ rotation_velocity_3d_min: Vector3;
258
+ /**
259
+ * The maximum value of the random scale vector for each particle.
260
+ * Works only if {@link use_scale_3d} is enabled.
261
+ */
262
+ scale_3d_max: Vector3;
263
+ /**
264
+ * The minimum value of the random scale vector for each particle.
265
+ * Works only if {@link use_scale_3d} is enabled.
266
+ */
267
+ scale_3d_min: Vector3;
237
268
  /**
238
269
  * Each particle's scale will vary along this {@link CurveTexture} over its lifetime. If a {@link CurveXYZTexture} is supplied instead, the scale will be separated per-axis.
239
270
  */
@@ -340,6 +371,12 @@ declare class ParticleProcessMaterial extends Material {
340
371
  * The turbulence noise strength. Increasing this will result in a stronger, more contrasting, flow pattern.
341
372
  */
342
373
  turbulence_noise_strength: float;
374
+ /** Enable the usage of {@link rotation_3d_min} and {@link rotation_3d_max}. */
375
+ use_rotation_3d: boolean;
376
+ /** Enable 3D rotation velocity. */
377
+ use_rotation_velocity_3d: boolean;
378
+ /** Enable the usage of {@link scale_3d_min} and {@link scale_3d_max}. */
379
+ use_scale_3d: boolean;
343
380
  /** A {@link CurveTexture} that defines the maximum velocity of a particle during its lifetime. */
344
381
  velocity_limit_curve: Texture2D | null;
345
382
  /** A pivot point used to calculate radial and orbital velocity of particles. */
@@ -402,6 +439,20 @@ declare class ParticleProcessMaterial extends Material {
402
439
  get_inherit_velocity_ratio(): float;
403
440
  set_lifetime_randomness(value: float): void;
404
441
  get_lifetime_randomness(): float;
442
+ set_rotation_3d_max(value: Vector3 | Vector3i): void;
443
+ get_rotation_3d_max(): Vector3;
444
+ set_rotation_3d_min(value: Vector3 | Vector3i): void;
445
+ get_rotation_3d_min(): Vector3;
446
+ set_rotation_velocity_3d_curve(value: Texture2D | null): void;
447
+ get_rotation_velocity_3d_curve(): Texture2D | null;
448
+ set_rotation_velocity_3d_max(value: Vector3 | Vector3i): void;
449
+ get_rotation_velocity_3d_max(): Vector3;
450
+ set_rotation_velocity_3d_min(value: Vector3 | Vector3i): void;
451
+ get_rotation_velocity_3d_min(): Vector3;
452
+ set_scale_3d_max(value: Vector3 | Vector3i): void;
453
+ get_scale_3d_max(): Vector3;
454
+ set_scale_3d_min(value: Vector3 | Vector3i): void;
455
+ get_scale_3d_min(): Vector3;
405
456
  set_spread(value: float): void;
406
457
  get_spread(): float;
407
458
  set_sub_emitter_amount_at_collision(value: int): void;
@@ -426,6 +477,12 @@ declare class ParticleProcessMaterial extends Material {
426
477
  get_turbulence_noise_speed_random(): float;
427
478
  set_turbulence_noise_strength(value: float): void;
428
479
  get_turbulence_noise_strength(): float;
480
+ set_use_rotation_3d(value: boolean): void;
481
+ is_using_rotation_3d(): boolean;
482
+ set_using_rotation_velocity_3d(value: boolean): void;
483
+ is_using_rotation_velocity_3d(): boolean;
484
+ set_use_scale_3d(value: boolean): void;
485
+ is_using_scale_3d(): boolean;
429
486
  set_velocity_limit_curve(value: Texture2D | null): void;
430
487
  get_velocity_limit_curve(): Texture2D | null;
431
488
  set_velocity_pivot(value: Vector3 | Vector3i): void;
@@ -545,6 +602,7 @@ declare class ParticleProcessMaterial extends Material {
545
602
  /** Use with {@link set_particle_flag} to set {@link particle_flag_disable_z}. */
546
603
  static readonly PARTICLE_FLAG_DISABLE_Z: int;
547
604
  static readonly PARTICLE_FLAG_DAMPING_AS_FRICTION: int;
605
+ static readonly PARTICLE_FLAG_INHERIT_EMITTER_SCALE: int;
548
606
  /** Represents the size of the {@link ParticleFlags} enum. */
549
607
  static readonly PARTICLE_FLAG_MAX: int;
550
608
  // enum EmissionShape
@@ -5,11 +5,11 @@
5
5
  * Provides virtual methods that can be overridden to create custom {@link PhysicsDirectSpaceState2D} implementations.
6
6
  */
7
7
  declare class PhysicsDirectSpaceState2DExtension extends PhysicsDirectSpaceState2D {
8
- _cast_motion(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, closest_safe: float, closest_unsafe: float): boolean;
9
- _collide_shape(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, results: void, max_results: int, result_count: int): boolean;
10
- _intersect_point(position: Vector2 | Vector2i, canvas_instance_id: int, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, results: unknown, max_results: int): int;
11
- _intersect_ray(from_: Vector2 | Vector2i, to: Vector2 | Vector2i, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, hit_from_inside: boolean, result: unknown): boolean;
12
- _intersect_shape(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, result: unknown, max_results: int): int;
13
- _rest_info(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, rest_info: unknown): boolean;
8
+ _cast_motion(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, r_closest_safe: float, r_closest_unsafe: float): boolean;
9
+ _collide_shape(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, r_results: void, max_results: int, r_result_count: int): boolean;
10
+ _intersect_point(position: Vector2 | Vector2i, canvas_instance_id: int, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, r_results: unknown, max_results: int): int;
11
+ _intersect_ray(from_: Vector2 | Vector2i, to: Vector2 | Vector2i, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, hit_from_inside: boolean, r_result: unknown): boolean;
12
+ _intersect_shape(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, r_result: unknown, max_results: int): int;
13
+ _rest_info(shape_rid: RID, transform: Transform2D, motion: Vector2 | Vector2i, margin: float, collision_mask: int, collide_with_bodies: boolean, collide_with_areas: boolean, r_rest_info: unknown): boolean;
14
14
  is_body_excluded_from_query(body: RID): boolean;
15
15
  }