typescript-to-gdscript 0.1.1 → 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 (337) hide show
  1. package/README.md +4 -2
  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/ts-to-gd/access-rewrite.d.ts +40 -0
  6. package/dist/converter/ts-to-gd/access-rewrite.d.ts.map +1 -0
  7. package/dist/converter/ts-to-gd/access-rewrite.js +124 -0
  8. package/dist/converter/ts-to-gd/access-rewrite.js.map +1 -0
  9. package/dist/converter/ts-to-gd/expressions.d.ts.map +1 -1
  10. package/dist/converter/ts-to-gd/expressions.js +31 -7
  11. package/dist/converter/ts-to-gd/expressions.js.map +1 -1
  12. package/dist/watcher/check.d.ts +87 -0
  13. package/dist/watcher/check.d.ts.map +1 -0
  14. package/dist/watcher/check.js +209 -0
  15. package/dist/watcher/check.js.map +1 -0
  16. package/dist/watcher/heal.d.ts +66 -0
  17. package/dist/watcher/heal.d.ts.map +1 -0
  18. package/dist/watcher/heal.js +132 -0
  19. package/dist/watcher/heal.js.map +1 -0
  20. package/dist/watcher/index.d.ts +1 -0
  21. package/dist/watcher/index.d.ts.map +1 -1
  22. package/dist/watcher/index.js +48 -52
  23. package/dist/watcher/index.js.map +1 -1
  24. package/package.json +1 -1
  25. package/typings/classes/AccessibilityServer.d.ts +405 -0
  26. package/typings/classes/AnimationLibrary.d.ts +4 -4
  27. package/typings/classes/AnimationNodeBlendSpace1D.d.ts +45 -4
  28. package/typings/classes/AnimationNodeBlendSpace2D.d.ts +45 -4
  29. package/typings/classes/Area3D.d.ts +14 -7
  30. package/typings/classes/AreaLight3D.d.ts +37 -0
  31. package/typings/classes/ArrayMesh.d.ts +15 -0
  32. package/typings/classes/AudioEffectAmplify.d.ts +2 -2
  33. package/typings/classes/AudioEffectBandLimitFilter.d.ts +1 -1
  34. package/typings/classes/AudioEffectBandPassFilter.d.ts +1 -1
  35. package/typings/classes/AudioEffectCapture.d.ts +10 -9
  36. package/typings/classes/AudioEffectChorus.d.ts +57 -28
  37. package/typings/classes/AudioEffectCompressor.d.ts +11 -9
  38. package/typings/classes/AudioEffectDelay.d.ts +21 -15
  39. package/typings/classes/AudioEffectDistortion.d.ts +19 -10
  40. package/typings/classes/AudioEffectEQ.d.ts +2 -2
  41. package/typings/classes/AudioEffectEQ10.d.ts +2 -2
  42. package/typings/classes/AudioEffectEQ21.d.ts +2 -2
  43. package/typings/classes/AudioEffectEQ6.d.ts +2 -2
  44. package/typings/classes/AudioEffectFilter.d.ts +25 -9
  45. package/typings/classes/AudioEffectHardLimiter.d.ts +8 -5
  46. package/typings/classes/AudioEffectHighPassFilter.d.ts +1 -1
  47. package/typings/classes/AudioEffectHighShelfFilter.d.ts +1 -1
  48. package/typings/classes/AudioEffectInstance.d.ts +1 -1
  49. package/typings/classes/AudioEffectLimiter.d.ts +9 -4
  50. package/typings/classes/AudioEffectLowPassFilter.d.ts +1 -1
  51. package/typings/classes/AudioEffectLowShelfFilter.d.ts +1 -1
  52. package/typings/classes/AudioEffectNotchFilter.d.ts +1 -1
  53. package/typings/classes/AudioEffectPanner.d.ts +7 -2
  54. package/typings/classes/AudioEffectPhaser.d.ts +9 -7
  55. package/typings/classes/AudioEffectPitchShift.d.ts +3 -3
  56. package/typings/classes/AudioEffectReverb.d.ts +17 -8
  57. package/typings/classes/AudioEffectSpectrumAnalyzer.d.ts +4 -5
  58. package/typings/classes/AudioEffectStereoEnhance.d.ts +7 -4
  59. package/typings/classes/AudioServer.d.ts +2 -2
  60. package/typings/classes/AudioStreamPlaybackResampled.d.ts +8 -0
  61. package/typings/classes/AudioStreamRandomizer.d.ts +10 -0
  62. package/typings/classes/AwaitTweener.d.ts +10 -0
  63. package/typings/classes/BaseButton.d.ts +1 -1
  64. package/typings/classes/Basis.d.ts +6 -2
  65. package/typings/classes/BlitMaterial.d.ts +22 -0
  66. package/typings/classes/CPUParticles2D.d.ts +2 -2
  67. package/typings/classes/CPUParticles3D.d.ts +2 -2
  68. package/typings/classes/Camera3D.d.ts +1 -1
  69. package/typings/classes/CameraAttributes.d.ts +1 -0
  70. package/typings/classes/CameraFeed.d.ts +4 -0
  71. package/typings/classes/CanvasItem.d.ts +16 -1
  72. package/typings/classes/CodeEdit.d.ts +6 -0
  73. package/typings/classes/CollisionObject2D.d.ts +6 -0
  74. package/typings/classes/CollisionPolygon2D.d.ts +5 -0
  75. package/typings/classes/CollisionShape2D.d.ts +5 -0
  76. package/typings/classes/Container.d.ts +7 -0
  77. package/typings/classes/Control.d.ts +127 -9
  78. package/typings/classes/Curve.d.ts +26 -1
  79. package/typings/classes/Curve2D.d.ts +15 -0
  80. package/typings/classes/Curve3D.d.ts +20 -0
  81. package/typings/classes/DPITexture.d.ts +14 -0
  82. package/typings/classes/Decal.d.ts +1 -0
  83. package/typings/classes/Dictionary.d.ts +1 -0
  84. package/typings/classes/DirAccess.d.ts +6 -1
  85. package/typings/classes/DisplayServer.d.ts +161 -9
  86. package/typings/classes/DrawableTexture2D.d.ts +43 -0
  87. package/typings/classes/EditorCommandPalette.d.ts +0 -2
  88. package/typings/classes/EditorContextMenuPlugin.d.ts +4 -0
  89. package/typings/classes/EditorDock.d.ts +10 -5
  90. package/typings/classes/EditorExportPlatform.d.ts +4 -2
  91. package/typings/classes/EditorExportPlugin.d.ts +7 -0
  92. package/typings/classes/EditorFeatureProfile.d.ts +1 -1
  93. package/typings/classes/EditorFileSystem.d.ts +2 -0
  94. package/typings/classes/EditorInspector.d.ts +10 -0
  95. package/typings/classes/EditorInterface.d.ts +6 -4
  96. package/typings/classes/EditorNode3DGizmoPlugin.d.ts +4 -0
  97. package/typings/classes/EditorPlugin.d.ts +4 -4
  98. package/typings/classes/EditorResourcePicker.d.ts +2 -1
  99. package/typings/classes/EditorSceneFormatImporter.d.ts +23 -0
  100. package/typings/classes/EditorSettings.d.ts +241 -140
  101. package/typings/classes/EditorSpinSlider.d.ts +6 -0
  102. package/typings/classes/EditorTranslationParserPlugin.d.ts +4 -0
  103. package/typings/classes/EditorVCSInterface.d.ts +6 -2
  104. package/typings/classes/Environment.d.ts +7 -2
  105. package/typings/classes/FileAccess.d.ts +1 -1
  106. package/typings/classes/FileDialog.d.ts +16 -1
  107. package/typings/classes/FoldableContainer.d.ts +1 -1
  108. package/typings/classes/Font.d.ts +15 -3
  109. package/typings/classes/FontVariation.d.ts +10 -0
  110. package/typings/classes/GDScript.d.ts +8 -0
  111. package/typings/classes/GDScriptLanguageProtocol.d.ts +25 -0
  112. package/typings/classes/GDScriptSyntaxHighlighter.d.ts +6 -0
  113. package/typings/classes/GDScriptTextDocument.d.ts +27 -0
  114. package/typings/classes/GDScriptWorkspace.d.ts +17 -0
  115. package/typings/classes/GPUParticles2D.d.ts +2 -2
  116. package/typings/classes/GPUParticles3D.d.ts +19 -2
  117. package/typings/classes/Geometry2D.d.ts +2 -2
  118. package/typings/classes/GeometryInstance3D.d.ts +1 -1
  119. package/typings/classes/GradientTexture2D.d.ts +2 -0
  120. package/typings/classes/Image.d.ts +7 -4
  121. package/typings/classes/ImageFormatLoader.d.ts +5 -0
  122. package/typings/classes/ImageTexture.d.ts +0 -2
  123. package/typings/classes/ImporterMesh.d.ts +6 -0
  124. package/typings/classes/Input.d.ts +159 -15
  125. package/typings/classes/InputEvent.d.ts +8 -0
  126. package/typings/classes/InputEventGesture.d.ts +2 -3
  127. package/typings/classes/InputEventMouse.d.ts +2 -3
  128. package/typings/classes/InputEventMouseMotion.d.ts +2 -2
  129. package/typings/classes/InputEventWithModifiers.d.ts +2 -3
  130. package/typings/classes/InputMap.d.ts +3 -0
  131. package/typings/classes/ItemList.d.ts +29 -2
  132. package/typings/classes/IterateIK3D.d.ts +6 -3
  133. package/typings/classes/JavaClassWrapper.d.ts +13 -0
  134. package/typings/classes/JavaScriptBridge.d.ts +1 -1
  135. package/typings/classes/Joint3D.d.ts +1 -0
  136. package/typings/classes/Label.d.ts +1 -0
  137. package/typings/classes/LabelSettings.d.ts +25 -0
  138. package/typings/classes/Light3D.d.ts +1 -1
  139. package/typings/classes/Logger.d.ts +1 -1
  140. package/typings/classes/LookAtModifier3D.d.ts +2 -1
  141. package/typings/classes/MainLoop.d.ts +4 -0
  142. package/typings/classes/MenuButton.d.ts +35 -0
  143. package/typings/classes/MeshLibrary.d.ts +2 -0
  144. package/typings/classes/MovieWriter.d.ts +2 -0
  145. package/typings/classes/MultiplayerPeerExtension.d.ts +9 -9
  146. package/typings/classes/NativeMenu.d.ts +10 -3
  147. package/typings/classes/Node.d.ts +15 -5
  148. package/typings/classes/Node3D.d.ts +6 -4
  149. package/typings/classes/OS.d.ts +3 -3
  150. package/typings/classes/Object.d.ts +9 -3
  151. package/typings/classes/OptimizedTranslation.d.ts +2 -2
  152. package/typings/classes/OptionButton.d.ts +51 -1
  153. package/typings/classes/PCKPacker.d.ts +4 -0
  154. package/typings/classes/PacketPeerExtension.d.ts +1 -1
  155. package/typings/classes/ParticleProcessMaterial.d.ts +63 -0
  156. package/typings/classes/PhysicsDirectBodyState2D.d.ts +2 -1
  157. package/typings/classes/PhysicsDirectBodyState3D.d.ts +2 -1
  158. package/typings/classes/PhysicsDirectSpaceState2DExtension.d.ts +6 -6
  159. package/typings/classes/PhysicsDirectSpaceState3DExtension.d.ts +6 -6
  160. package/typings/classes/PhysicsServer2D.d.ts +2 -2
  161. package/typings/classes/PhysicsServer2DExtension.d.ts +6 -6
  162. package/typings/classes/PhysicsServer3D.d.ts +145 -42
  163. package/typings/classes/PhysicsServer3DExtension.d.ts +1 -1
  164. package/typings/classes/PopupMenu.d.ts +74 -8
  165. package/typings/classes/PopupPanel.d.ts +2 -0
  166. package/typings/classes/PortableCompressedTexture2D.d.ts +0 -2
  167. package/typings/classes/ProjectSettings.d.ts +62 -10
  168. package/typings/classes/Quaternion.d.ts +2 -2
  169. package/typings/classes/RDAccelerationStructureGeometry.d.ts +42 -0
  170. package/typings/classes/RDAccelerationStructureInstance.d.ts +34 -0
  171. package/typings/classes/RDHitGroup.d.ts +20 -0
  172. package/typings/classes/RDPipelineShader.d.ts +14 -0
  173. package/typings/classes/RDShaderSPIRV.d.ts +30 -0
  174. package/typings/classes/RDShaderSource.d.ts +10 -0
  175. package/typings/classes/RandomNumberGenerator.d.ts +4 -2
  176. package/typings/classes/RenderSceneBuffersConfiguration.d.ts +4 -1
  177. package/typings/classes/RenderingDevice.d.ts +175 -1
  178. package/typings/classes/RenderingServer.d.ts +264 -14
  179. package/typings/classes/Resource.d.ts +4 -2
  180. package/typings/classes/ResourceImporterDynamicFont.d.ts +3 -1
  181. package/typings/classes/ResourceImporterOBJ.d.ts +1 -1
  182. package/typings/classes/ResourceImporterSVG.d.ts +10 -0
  183. package/typings/classes/ResourceImporterScene.d.ts +11 -3
  184. package/typings/classes/ResourceImporterTexture.d.ts +2 -2
  185. package/typings/classes/RichTextLabel.d.ts +14 -6
  186. package/typings/classes/Script.d.ts +2 -0
  187. package/typings/classes/ScriptEditor.d.ts +13 -0
  188. package/typings/classes/ScriptLanguageExtension.d.ts +7 -0
  189. package/typings/classes/ScrollContainer.d.ts +17 -5
  190. package/typings/classes/Shader.d.ts +2 -0
  191. package/typings/classes/Shape3D.d.ts +1 -0
  192. package/typings/classes/SkeletonModification2DJiggle.d.ts +4 -0
  193. package/typings/classes/SplitContainer.d.ts +6 -0
  194. package/typings/classes/SpringBoneSimulator3D.d.ts +4 -2
  195. package/typings/classes/SpriteFrames.d.ts +20 -4
  196. package/typings/classes/StreamPeerExtension.d.ts +2 -2
  197. package/typings/classes/String.d.ts +1 -1
  198. package/typings/classes/SubViewport.d.ts +4 -0
  199. package/typings/classes/TabBar.d.ts +20 -0
  200. package/typings/classes/TabContainer.d.ts +21 -3
  201. package/typings/classes/TextEdit.d.ts +5 -2
  202. package/typings/classes/TextServer.d.ts +25 -1
  203. package/typings/classes/TextServerExtension.d.ts +25 -1
  204. package/typings/classes/Texture2D.d.ts +14 -0
  205. package/typings/classes/TextureRect.d.ts +4 -1
  206. package/typings/classes/TileSet.d.ts +3 -1
  207. package/typings/classes/Tree.d.ts +25 -9
  208. package/typings/classes/TreeItem.d.ts +17 -2
  209. package/typings/classes/Tween.d.ts +13 -0
  210. package/typings/classes/UndoRedo.d.ts +2 -2
  211. package/typings/classes/Vector2.d.ts +4 -2
  212. package/typings/classes/Vector2i.d.ts +4 -2
  213. package/typings/classes/Vector3.d.ts +4 -2
  214. package/typings/classes/Vector3i.d.ts +4 -2
  215. package/typings/classes/Vector4.d.ts +4 -2
  216. package/typings/classes/Vector4i.d.ts +4 -2
  217. package/typings/classes/Viewport.d.ts +27 -1
  218. package/typings/classes/VirtualJoystick.d.ts +94 -0
  219. package/typings/classes/VoxelGIData.d.ts +10 -0
  220. package/typings/classes/Window.d.ts +41 -4
  221. package/typings/classes/XRCamera3D.d.ts +1 -1
  222. package/typings/classes/XRServer.d.ts +2 -0
  223. package/typings/classes/_globals.d.ts +55 -18
  224. package/typings/classes/index.d.ts +15 -112
  225. package/typings/godot-class-registry.json +2120 -3693
  226. package/typings/classes/VisualShader.d.ts +0 -110
  227. package/typings/classes/VisualShaderNode.d.ts +0 -63
  228. package/typings/classes/VisualShaderNodeBillboard.d.ts +0 -28
  229. package/typings/classes/VisualShaderNodeBooleanConstant.d.ts +0 -10
  230. package/typings/classes/VisualShaderNodeBooleanParameter.d.ts +0 -14
  231. package/typings/classes/VisualShaderNodeClamp.d.ts +0 -26
  232. package/typings/classes/VisualShaderNodeColorConstant.d.ts +0 -10
  233. package/typings/classes/VisualShaderNodeColorFunc.d.ts +0 -32
  234. package/typings/classes/VisualShaderNodeColorOp.d.ts +0 -32
  235. package/typings/classes/VisualShaderNodeColorParameter.d.ts +0 -14
  236. package/typings/classes/VisualShaderNodeComment.d.ts +0 -12
  237. package/typings/classes/VisualShaderNodeCompare.d.ts +0 -68
  238. package/typings/classes/VisualShaderNodeConstant.d.ts +0 -6
  239. package/typings/classes/VisualShaderNodeCubemap.d.ts +0 -43
  240. package/typings/classes/VisualShaderNodeCubemapParameter.d.ts +0 -6
  241. package/typings/classes/VisualShaderNodeCurveTexture.d.ts +0 -10
  242. package/typings/classes/VisualShaderNodeCurveXYZTexture.d.ts +0 -10
  243. package/typings/classes/VisualShaderNodeCustom.d.ts +0 -122
  244. package/typings/classes/VisualShaderNodeDerivativeFunc.d.ts +0 -56
  245. package/typings/classes/VisualShaderNodeDeterminant.d.ts +0 -6
  246. package/typings/classes/VisualShaderNodeDistanceFade.d.ts +0 -6
  247. package/typings/classes/VisualShaderNodeDotProduct.d.ts +0 -6
  248. package/typings/classes/VisualShaderNodeExpression.d.ts +0 -12
  249. package/typings/classes/VisualShaderNodeFaceForward.d.ts +0 -8
  250. package/typings/classes/VisualShaderNodeFloatConstant.d.ts +0 -10
  251. package/typings/classes/VisualShaderNodeFloatFunc.d.ts +0 -108
  252. package/typings/classes/VisualShaderNodeFloatOp.d.ts +0 -36
  253. package/typings/classes/VisualShaderNodeFloatParameter.d.ts +0 -52
  254. package/typings/classes/VisualShaderNodeFrame.d.ts +0 -35
  255. package/typings/classes/VisualShaderNodeFresnel.d.ts +0 -6
  256. package/typings/classes/VisualShaderNodeGlobalExpression.d.ts +0 -6
  257. package/typings/classes/VisualShaderNodeGroupBase.d.ts +0 -60
  258. package/typings/classes/VisualShaderNodeIf.d.ts +0 -8
  259. package/typings/classes/VisualShaderNodeInput.d.ts +0 -20
  260. package/typings/classes/VisualShaderNodeIntConstant.d.ts +0 -10
  261. package/typings/classes/VisualShaderNodeIntFunc.d.ts +0 -24
  262. package/typings/classes/VisualShaderNodeIntOp.d.ts +0 -48
  263. package/typings/classes/VisualShaderNodeIntParameter.d.ts +0 -58
  264. package/typings/classes/VisualShaderNodeIs.d.ts +0 -18
  265. package/typings/classes/VisualShaderNodeLinearSceneDepth.d.ts +0 -6
  266. package/typings/classes/VisualShaderNodeMix.d.ts +0 -28
  267. package/typings/classes/VisualShaderNodeMultiplyAdd.d.ts +0 -22
  268. package/typings/classes/VisualShaderNodeOuterProduct.d.ts +0 -6
  269. package/typings/classes/VisualShaderNodeOutput.d.ts +0 -6
  270. package/typings/classes/VisualShaderNodeParameter.d.ts +0 -32
  271. package/typings/classes/VisualShaderNodeParameterRef.d.ts +0 -10
  272. package/typings/classes/VisualShaderNodeParticleAccelerator.d.ts +0 -20
  273. package/typings/classes/VisualShaderNodeParticleBoxEmitter.d.ts +0 -6
  274. package/typings/classes/VisualShaderNodeParticleConeVelocity.d.ts +0 -6
  275. package/typings/classes/VisualShaderNodeParticleEmit.d.ts +0 -22
  276. package/typings/classes/VisualShaderNodeParticleEmitter.d.ts +0 -12
  277. package/typings/classes/VisualShaderNodeParticleMeshEmitter.d.ts +0 -20
  278. package/typings/classes/VisualShaderNodeParticleMultiplyByAxisAngle.d.ts +0 -10
  279. package/typings/classes/VisualShaderNodeParticleOutput.d.ts +0 -6
  280. package/typings/classes/VisualShaderNodeParticleRandomness.d.ts +0 -22
  281. package/typings/classes/VisualShaderNodeParticleRingEmitter.d.ts +0 -6
  282. package/typings/classes/VisualShaderNodeParticleSphereEmitter.d.ts +0 -6
  283. package/typings/classes/VisualShaderNodeProximityFade.d.ts +0 -6
  284. package/typings/classes/VisualShaderNodeRandomRange.d.ts +0 -6
  285. package/typings/classes/VisualShaderNodeRemap.d.ts +0 -33
  286. package/typings/classes/VisualShaderNodeReroute.d.ts +0 -8
  287. package/typings/classes/VisualShaderNodeResizableBase.d.ts +0 -10
  288. package/typings/classes/VisualShaderNodeRotationByAxis.d.ts +0 -6
  289. package/typings/classes/VisualShaderNodeSDFRaymarch.d.ts +0 -6
  290. package/typings/classes/VisualShaderNodeSDFToScreenUV.d.ts +0 -8
  291. package/typings/classes/VisualShaderNodeSample3D.d.ts +0 -18
  292. package/typings/classes/VisualShaderNodeScreenNormalWorldSpace.d.ts +0 -6
  293. package/typings/classes/VisualShaderNodeScreenUVToSDF.d.ts +0 -8
  294. package/typings/classes/VisualShaderNodeSmoothStep.d.ts +0 -28
  295. package/typings/classes/VisualShaderNodeStep.d.ts +0 -28
  296. package/typings/classes/VisualShaderNodeSwitch.d.ts +0 -30
  297. package/typings/classes/VisualShaderNodeTexture.d.ts +0 -57
  298. package/typings/classes/VisualShaderNodeTexture2DArray.d.ts +0 -12
  299. package/typings/classes/VisualShaderNodeTexture2DArrayParameter.d.ts +0 -6
  300. package/typings/classes/VisualShaderNodeTexture2DParameter.d.ts +0 -6
  301. package/typings/classes/VisualShaderNodeTexture3D.d.ts +0 -12
  302. package/typings/classes/VisualShaderNodeTexture3DParameter.d.ts +0 -6
  303. package/typings/classes/VisualShaderNodeTextureParameter.d.ts +0 -104
  304. package/typings/classes/VisualShaderNodeTextureParameterTriplanar.d.ts +0 -6
  305. package/typings/classes/VisualShaderNodeTextureSDF.d.ts +0 -6
  306. package/typings/classes/VisualShaderNodeTextureSDFNormal.d.ts +0 -6
  307. package/typings/classes/VisualShaderNodeTransformCompose.d.ts +0 -6
  308. package/typings/classes/VisualShaderNodeTransformConstant.d.ts +0 -10
  309. package/typings/classes/VisualShaderNodeTransformDecompose.d.ts +0 -6
  310. package/typings/classes/VisualShaderNodeTransformFunc.d.ts +0 -18
  311. package/typings/classes/VisualShaderNodeTransformOp.d.ts +0 -32
  312. package/typings/classes/VisualShaderNodeTransformParameter.d.ts +0 -14
  313. package/typings/classes/VisualShaderNodeTransformVecMult.d.ts +0 -22
  314. package/typings/classes/VisualShaderNodeUIntConstant.d.ts +0 -10
  315. package/typings/classes/VisualShaderNodeUIntFunc.d.ts +0 -20
  316. package/typings/classes/VisualShaderNodeUIntOp.d.ts +0 -48
  317. package/typings/classes/VisualShaderNodeUIntParameter.d.ts +0 -16
  318. package/typings/classes/VisualShaderNodeUVFunc.d.ts +0 -22
  319. package/typings/classes/VisualShaderNodeUVPolarCoord.d.ts +0 -6
  320. package/typings/classes/VisualShaderNodeVarying.d.ts +0 -14
  321. package/typings/classes/VisualShaderNodeVaryingGetter.d.ts +0 -6
  322. package/typings/classes/VisualShaderNodeVaryingSetter.d.ts +0 -6
  323. package/typings/classes/VisualShaderNodeVec2Constant.d.ts +0 -10
  324. package/typings/classes/VisualShaderNodeVec2Parameter.d.ts +0 -14
  325. package/typings/classes/VisualShaderNodeVec3Constant.d.ts +0 -10
  326. package/typings/classes/VisualShaderNodeVec3Parameter.d.ts +0 -14
  327. package/typings/classes/VisualShaderNodeVec4Constant.d.ts +0 -10
  328. package/typings/classes/VisualShaderNodeVec4Parameter.d.ts +0 -14
  329. package/typings/classes/VisualShaderNodeVectorBase.d.ts +0 -20
  330. package/typings/classes/VisualShaderNodeVectorCompose.d.ts +0 -8
  331. package/typings/classes/VisualShaderNodeVectorDecompose.d.ts +0 -8
  332. package/typings/classes/VisualShaderNodeVectorDistance.d.ts +0 -6
  333. package/typings/classes/VisualShaderNodeVectorFunc.d.ts +0 -84
  334. package/typings/classes/VisualShaderNodeVectorLen.d.ts +0 -6
  335. package/typings/classes/VisualShaderNodeVectorOp.d.ts +0 -42
  336. package/typings/classes/VisualShaderNodeVectorRefract.d.ts +0 -8
  337. package/typings/classes/VisualShaderNodeWorldPositionFromDepth.d.ts +0 -8
package/README.md CHANGED
@@ -84,7 +84,7 @@ Then:
84
84
  2. `tstogd convert` — emits `.gd` into your output dir (default `scripts/`), regenerates all typings, and runs a full diagnostic check.
85
85
  3. Attach the `.gd` file in Godot as you normally would. Configure Godot's external editor to point at your IDE for TS language server and one-click jump-to-source ([guide](docs/ide-integration.md)).
86
86
 
87
- **That's the whole loop — `convert` and `watch` are the only commands you need in normal use.** Each one converts your code _and_ regenerates every typing (scene, script, resource, addon) in the same pass, so `get_node()` paths, `res://` references, and group queries stay in sync without any extra step. Most projects never run another CLI command.
87
+ That's the whole loop — `convert` and `watch` are the only commands you need in normal use. Each one converts your code _and_ regenerates every typing (scene, script, resource, addon) in the same pass, so `get_node()` paths, `res://` references, and group queries stay in sync without any extra step. Most projects never run another CLI command.
88
88
 
89
89
  For day-to-day work, run **`tstogd watch`**: it auto-converts on save, watches your `.tscn` scenes and assets so scene typings refresh the instant you change the tree in Godot, and runs a debounced full-project check feeding live IDE diagnostics.
90
90
 
@@ -112,6 +112,8 @@ tstogd convert # convert TS → GD + regenerate all typings + full d
112
112
  tstogd watch # the same, continuously: auto-convert on save, live diagnostics
113
113
  ```
114
114
 
115
+ > **Note:** `watch` self-heals — when an edit causes new errors in other files, those files are reconverted automatically. For a guaranteed full refresh of every `.gd`, run `tstogd convert` after a `watch` session.
116
+
115
117
  `convert` and `watch` already regenerate every typing (scene, script, resource, addon) as part of the run — there is no separate "generate typings" step to remember. The commands below cover one-off or advanced situations, and most projects never touch them:
116
118
 
117
119
  ```bash
@@ -137,7 +139,7 @@ Each `.ts` file must contain exactly one class. Named classes (`class Foo`) are
137
139
  - `bool` — alias for `boolean`, also a cast: `bool(x)` → GDScript `bool(x)`. Same for `String(x)`.
138
140
  - `Dictionary<K, V>` — generic, with typed `get` / `set` / `keys` / `values`. `{}` literals keep dictionary methods via the `Object` interface. Untyped `Dictionary` is `<unknown, unknown>`.
139
141
  - `let` and `const` both convert to GDScript `var`. **Use `let`** — TS `var` is restricted (GDScript `var` ≈ TS `let`, not TS `var`).
140
- - `undefined` is restricted — use `null`. Optional property access (`obj.foo` where the type includes `undefined`) auto-converts to `obj.get("foo")`. Same for `obj["key"]` with an undefined type. Class-field access stays direct.
142
+ - `undefined` is restricted — use `null`. Plain objects (interfaces, object literals) are Dictionaries in GDScript: member reads convert to `obj.get("foo")`, which returns `null` for a missing key instead of crashing. Writes and class-instance access stay direct.
141
143
  - `TSOnly<T>` — type-level wrapper, stripped at conversion.
142
144
  - Only types GDScript actually has get an annotation. Godot classes/value types and your own `class_name` classes (including ones imported from another file) keep their type; plain `interface`s, `object`, `type` aliases, and unknown/unresolved names have the annotation **omitted** (bare untyped `var x` / `func f(x)`) rather than emitting a bogus GD type. See [docs/transform-rules.md#type-annotations--what-gets-emitted](docs/transform-rules.md#type-annotations--what-gets-emitted).
143
145
 
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/cli/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiN7D"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/cli/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgO7D"}
@@ -11,6 +11,8 @@ export function registerConvertCommand(program) {
11
11
  program
12
12
  .command('convert')
13
13
  .description('Convert TypeScript file(s) to GDScript. If no files given, converts all .ts files in tsDir. ' +
14
+ 'Converts every file fresh by default — correct even when types in other files changed; ' +
15
+ 'pass --use-cache to skip content-unchanged files (faster, may serve stale output). ' +
14
16
  'After writing, runs full diagnostic check (TS + converter + Godot) unless --no-check is set.')
15
17
  .argument('[files...]', 'TypeScript files or glob patterns to convert')
16
18
  .option('--ts-dir <dir>', 'TypeScript source directory')
@@ -19,7 +21,10 @@ export function registerConvertCommand(program) {
19
21
  .option('--tsconfig <path>', 'Path to tsconfig.json')
20
22
  .option('--godot-path <path>', 'Path to Godot executable (enables GDScript validation)')
21
23
  .option('--project-root <dir>', 'Godot project root for validation')
22
- .option('--no-cache', 'Disable cache (force full reconversion)')
24
+ .option('--use-cache', 'Skip conversion for files with a fresh cache entry. Fast, but can keep ' +
25
+ 'stale .gd output when types in imported files or global typings changed ' +
26
+ '(freshness is judged by file content only)', false)
27
+ .option('--no-cache', 'Disable cache entirely (no reads, no writes)')
23
28
  .option('--emit-on-error', 'Emit output files even when conversion errors occur', false)
24
29
  .option('--no-emit', 'Dry-run: convert in memory, check for stale outputs, do not write files')
25
30
  .option('--no-check', 'Skip the post-convert diagnostic check (TS + Godot)')
@@ -41,8 +46,13 @@ export function registerConvertCommand(program) {
41
46
  // commander: --no-emit sets opts.emit = false, --no-check sets opts.check = false
42
47
  const noEmit = opts.emit === false;
43
48
  const noCheck = opts.check === false;
44
- const useCache = opts.cache !== false;
45
- const cache = useCache ? new ProjectCache(cfg.cacheDir) : null;
49
+ // Cache is write-only by default: every run converts fresh (correct even
50
+ // when types in OTHER files changed content hashes can't see that),
51
+ // but results are still recorded so the watcher / ts-plugin / check
52
+ // phase can reuse them. `--use-cache` opts into the read-side skip;
53
+ // `--no-cache` disables the cache entirely.
54
+ const cache = opts.cache !== false ? new ProjectCache(cfg.cacheDir) : null;
55
+ const useCacheReads = opts.useCache === true && cache !== null;
46
56
  debugLog(`${noEmit ? 'Checking' : 'Converting'} ${resolvedFiles.length} file(s)...`);
47
57
  // Build the ts.Program once and share it across the write loop and the
48
58
  // post-convert checker — avoids re-parsing every .ts file twice.
@@ -59,12 +69,12 @@ export function registerConvertCommand(program) {
59
69
  for (const filePath of resolvedFiles) {
60
70
  const relPath = relative(cfg.tsDir, filePath);
61
71
  const outputPath = resolve(cfg.gdDir, relPath.replace(/\.ts$/, '.gd'));
62
- if (cache?.isTsToGdFresh(filePath, outputPath)) {
72
+ if (useCacheReads && cache?.isTsToGdFresh(filePath, outputPath)) {
63
73
  debugLog(`Skipped (cache): ${outputPath}`);
64
74
  skipped++;
65
75
  continue;
66
76
  }
67
- if (cache && cache.hasFreshCachedGd(filePath)) {
77
+ if (useCacheReads && cache?.hasFreshCachedGd(filePath)) {
68
78
  const promoted = cache.promoteCachedGd(filePath, outputPath);
69
79
  if (promoted && cache.isTsToGdFresh(filePath, outputPath)) {
70
80
  debugLog(`Promoted (cache-folder): ${outputPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/cli/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/cli/convert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Classification helpers for the member-access → `.get()` rewrite.
3
+ *
4
+ * Plain TS object types (interfaces, type literals, inferred object
5
+ * literals) are Dictionaries at GDScript runtime, so standalone member
6
+ * READS on them are emitted as `obj.get("prop")`. `.get()` exists on
7
+ * both `Dictionary` and `Object`, which makes the emitted form valid
8
+ * even when the classification is computed from stale types — the
9
+ * property that lets the watch/check pipeline treat staleness as a
10
+ * visible-diagnostics problem instead of a silent-runtime one.
11
+ *
12
+ * Writes are NOT rewritten (`obj.get("p") = v` is invalid GDScript;
13
+ * plain `obj.prop = v` works on both Dictionary and Object), and
14
+ * chained links / callee positions keep dot access (no safety
15
+ * difference, less output churn).
16
+ */
17
+ import ts from 'typescript';
18
+ import type { GodotClassRegistry } from '../../typings/godot-registry.ts';
19
+ /**
20
+ * True when every non-nullish union constituent of `type` is a plain
21
+ * TS object type — i.e. a value that exists as a `Dictionary` in the
22
+ * generated GDScript.
23
+ *
24
+ * Deliberately conservative: anything unprovable (any/unknown/error
25
+ * types, type parameters, mixed unions, intersections) returns false
26
+ * so the caller falls back to the legacy optionality-based behavior.
27
+ */
28
+ export declare function isPlainObjectType(type: ts.Type, checker: ts.TypeChecker, registry?: GodotClassRegistry): boolean;
29
+ /**
30
+ * True when `node` is the target of an assignment: LHS of `=` or any
31
+ * compound assignment (`+=`, `||=`, …), or the operand of `++`/`--`.
32
+ * Walks through parentheses and non-null assertions wrapping the node
33
+ * (`(obj.prop) = v`, `obj.prop! += 1`).
34
+ *
35
+ * Assignment targets must keep plain dot/index form — `obj.get("p") = v`
36
+ * is invalid GDScript, while `obj.prop = v` is valid on both Dictionary
37
+ * and Object.
38
+ */
39
+ export declare function isAssignmentTarget(node: ts.Expression): boolean;
40
+ //# sourceMappingURL=access-rewrite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-rewrite.d.ts","sourceRoot":"","sources":["../../../src/converter/ts-to-gd/access-rewrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,OAAO,CAWT;AAuED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CA6B/D"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Classification helpers for the member-access → `.get()` rewrite.
3
+ *
4
+ * Plain TS object types (interfaces, type literals, inferred object
5
+ * literals) are Dictionaries at GDScript runtime, so standalone member
6
+ * READS on them are emitted as `obj.get("prop")`. `.get()` exists on
7
+ * both `Dictionary` and `Object`, which makes the emitted form valid
8
+ * even when the classification is computed from stale types — the
9
+ * property that lets the watch/check pipeline treat staleness as a
10
+ * visible-diagnostics problem instead of a silent-runtime one.
11
+ *
12
+ * Writes are NOT rewritten (`obj.get("p") = v` is invalid GDScript;
13
+ * plain `obj.prop = v` works on both Dictionary and Object), and
14
+ * chained links / callee positions keep dot access (no safety
15
+ * difference, less output churn).
16
+ */
17
+ import ts from 'typescript';
18
+ /**
19
+ * True when every non-nullish union constituent of `type` is a plain
20
+ * TS object type — i.e. a value that exists as a `Dictionary` in the
21
+ * generated GDScript.
22
+ *
23
+ * Deliberately conservative: anything unprovable (any/unknown/error
24
+ * types, type parameters, mixed unions, intersections) returns false
25
+ * so the caller falls back to the legacy optionality-based behavior.
26
+ */
27
+ export function isPlainObjectType(type, checker, registry) {
28
+ const constituents = type.isUnion()
29
+ ? type.types.filter((u) => !(u.flags & ts.TypeFlags.Null) && !(u.flags & ts.TypeFlags.Undefined))
30
+ : [type];
31
+ if (constituents.length === 0)
32
+ return false;
33
+ return constituents.every((c) => isPlainObjectConstituent(c, checker, registry));
34
+ }
35
+ function isPlainObjectConstituent(type, checker, registry) {
36
+ // Only structural object types qualify. Excludes any/unknown/error,
37
+ // primitives, enums, and type parameters (all unprovable or wrong).
38
+ if (!(type.flags & ts.TypeFlags.Object))
39
+ return false;
40
+ // Arrays/tuples map to GD Array which has no `.get()`.
41
+ if (checker.isArrayType(type) || checker.isTupleType(type))
42
+ return false;
43
+ // Callables / constructor types (incl. `typeof Class` statics access).
44
+ if (type.getCallSignatures().length > 0 ||
45
+ type.getConstructSignatures().length > 0) {
46
+ return false;
47
+ }
48
+ // Check both the alias name and the target symbol name, so a type
49
+ // alias can't smuggle an excluded type past the name checks.
50
+ const names = [
51
+ type.aliasSymbol?.getName(),
52
+ type.getSymbol()?.getName(),
53
+ ].filter((n) => !!n);
54
+ for (const name of names) {
55
+ // `Dictionary` keeps its existing (optionality-based) semantics —
56
+ // the user explicitly opted into Godot Dictionary typing. `TSOnly`
57
+ // wraps TS-only values that never reach GD.
58
+ if (name === 'Dictionary' || name === 'TSOnly')
59
+ return false;
60
+ // Godot engine types are NOT plain objects even though our typings
61
+ // declare many of them as interfaces (value types like Vector2 have
62
+ // no `.get()` at runtime).
63
+ if (registry &&
64
+ (registry.hasClass(name) ||
65
+ registry.isConstructor(name) ||
66
+ registry.isGlobalEnum(name))) {
67
+ return false;
68
+ }
69
+ }
70
+ // Without a registry we cannot prove a NAMED type isn't a Godot type
71
+ // (value types are interfaces in our typings, and `.get()` on them
72
+ // crashes at runtime) — correctness over completeness: drop the
73
+ // rewrite. Anonymous literals (`__type`/`__object`) stay eligible;
74
+ // they can never be Godot types.
75
+ if (!registry && names.some((n) => !n.startsWith('__'))) {
76
+ return false;
77
+ }
78
+ // Class instances (user classes, scene-typing shadow classes) are GD
79
+ // Objects with real properties — keep dot access. Enum objects and
80
+ // namespaces in value position are not Dictionaries either.
81
+ const decls = type.getSymbol()?.getDeclarations() ?? [];
82
+ if (decls.some((d) => ts.isClassDeclaration(d) ||
83
+ ts.isClassExpression(d) ||
84
+ ts.isEnumDeclaration(d) ||
85
+ ts.isModuleDeclaration(d))) {
86
+ return false;
87
+ }
88
+ return true;
89
+ }
90
+ /**
91
+ * True when `node` is the target of an assignment: LHS of `=` or any
92
+ * compound assignment (`+=`, `||=`, …), or the operand of `++`/`--`.
93
+ * Walks through parentheses and non-null assertions wrapping the node
94
+ * (`(obj.prop) = v`, `obj.prop! += 1`).
95
+ *
96
+ * Assignment targets must keep plain dot/index form — `obj.get("p") = v`
97
+ * is invalid GDScript, while `obj.prop = v` is valid on both Dictionary
98
+ * and Object.
99
+ */
100
+ export function isAssignmentTarget(node) {
101
+ let current = node;
102
+ let parent = current.parent;
103
+ while (parent &&
104
+ (ts.isParenthesizedExpression(parent) || ts.isNonNullExpression(parent))) {
105
+ current = parent;
106
+ parent = parent.parent;
107
+ }
108
+ if (!parent)
109
+ return false;
110
+ if (ts.isBinaryExpression(parent) &&
111
+ parent.left === current &&
112
+ parent.operatorToken.kind >= ts.SyntaxKind.FirstAssignment &&
113
+ parent.operatorToken.kind <= ts.SyntaxKind.LastAssignment) {
114
+ return true;
115
+ }
116
+ if ((ts.isPrefixUnaryExpression(parent) ||
117
+ ts.isPostfixUnaryExpression(parent)) &&
118
+ (parent.operator === ts.SyntaxKind.PlusPlusToken ||
119
+ parent.operator === ts.SyntaxKind.MinusMinusToken)) {
120
+ return true;
121
+ }
122
+ return false;
123
+ }
124
+ //# sourceMappingURL=access-rewrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-rewrite.js","sourceRoot":"","sources":["../../../src/converter/ts-to-gd/access-rewrite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/converter/ts-to-gd/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAU5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAIlE,wBAAgB,cAAc,CAC5B,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,UAAU,GAClB,MAAM,CAkMR;AAkED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAyBtE;AAuDD,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,wBAAwB,GAChC,MAAM,CAmER;AAoED,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,cAAc,GACtB,MAAM,CAuGR;AAoFD,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,gBAAgB,GACxB,MAAM,CAgDR;AAwCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CA+D1D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,GAAG,MAAM,CAahE;AAID,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,aAAa,GACrB,MAAM,CAUR;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAID,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,kBAAkB,GAC1B,MAAM,CAUR;AAID,wBAAgB,UAAU,CACxB,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAC7C,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,UAAU,GAClB,IAAI,IAAI,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAKlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAC7C,IAAI,CAUN;AAID,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,mBAAmB,EACtB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAKR"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/converter/ts-to-gd/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAW5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAIlE,wBAAgB,cAAc,CAC5B,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,UAAU,GAClB,MAAM,CAwMR;AAkED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAyBtE;AAuDD,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,wBAAwB,GAChC,MAAM,CA+ER;AAoED,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,cAAc,GACtB,MAAM,CAuGR;AAoFD,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,gBAAgB,GACxB,MAAM,CA+DR;AAwCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CA+D1D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,GAAG,MAAM,CAahE;AAID,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,aAAa,GACrB,MAAM,CAUR;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAID,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,kBAAkB,GAC1B,MAAM,CAUR;AAID,wBAAgB,UAAU,CACxB,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAC7C,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,UAAU,GAClB,IAAI,IAAI,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAKlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,mBAAmB,EACtB,IAAI,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAC7C,IAAI,CAUN;AAID,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,mBAAmB,EACtB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAKR"}
@@ -3,6 +3,7 @@ import { tsTypeNodeToGdType } from "../common/index.js";
3
3
  import { classifyInRhsType } from "./diagnostics.js";
4
4
  import { tryEmitGdAs, tryEmitGdIs, tryEmitGdDict, tryEmitGdOps, } from "./gd-helpers.js";
5
5
  import { typeContainsUndefined } from "./parameters.js";
6
+ import { isPlainObjectType, isAssignmentTarget } from "./access-rewrite.js";
6
7
  // ---- Main Expression Emitter ----
7
8
  export function emitExpression(t, node) {
8
9
  // Identifiers
@@ -50,15 +51,19 @@ export function emitExpression(t, node) {
50
51
  if (ts.isPropertyAccessExpression(node)) {
51
52
  return emitPropertyAccess(t, node);
52
53
  }
53
- // Element access: a[b] — convert to .get() when type includes undefined
54
+ // Element access: a[b] — convert standalone reads to .get() when the
55
+ // object is a plain TS object (a Dictionary in GD), or when the element
56
+ // type includes undefined (legacy fallback for other object kinds).
54
57
  if (ts.isElementAccessExpression(node)) {
55
58
  const elemType = t.ctx.checker.getTypeAtLocation(node);
56
- if (typeContainsUndefined(elemType)) {
59
+ const objType = t.ctx.checker.getTypeAtLocation(node.expression);
60
+ if (isPlainObjectType(objType, t.ctx.checker, t.ctx.registry) ||
61
+ typeContainsUndefined(elemType)) {
57
62
  const parent = node.parent;
58
63
  const isChainedOrCalled = (ts.isCallExpression(parent) && parent.expression === node) ||
59
64
  (ts.isPropertyAccessExpression(parent) && parent.expression === node) ||
60
65
  (ts.isElementAccessExpression(parent) && parent.expression === node);
61
- if (!isChainedOrCalled) {
66
+ if (!isChainedOrCalled && !isAssignmentTarget(node)) {
62
67
  return `${t.emitExpression(node.expression)}.get(${t.emitExpression(node.argumentExpression)})`;
63
68
  }
64
69
  }
@@ -338,13 +343,23 @@ export function emitPropertyAccess(t, node) {
338
343
  }
339
344
  const obj = t.emitExpression(node.expression);
340
345
  const prop = node.name.text;
341
- // Optional property access: convert standalone `obj.prop` to `obj.get("prop")`
342
- // when the property type includes `undefined` (optional or T | undefined).
346
+ // Property access `obj.get("prop")` rewrite. Applies to standalone
347
+ // READS when:
348
+ // - the object is a plain TS object type (interface / type literal /
349
+ // object literal) — a Dictionary in GD, where `.get()` is the
350
+ // stale-type-safe access form (it also exists on Object); or
351
+ // - the property type includes `undefined` (legacy fallback for other
352
+ // object kinds).
343
353
  // Skip when:
344
354
  // - chained or called: obj.prop(), obj.prop.inner, obj.prop["key"]
355
+ // - assignment target: obj.prop = v / obj.prop += v / obj.prop++
356
+ // (`obj.get("p") = v` is invalid GD; plain assignment works on both
357
+ // Dictionary and Object)
345
358
  // - accessing a class field (always defined in GDScript)
346
359
  const propType = t.ctx.checker.getTypeAtLocation(node);
347
- if (typeContainsUndefined(propType)) {
360
+ const objType = t.ctx.checker.getTypeAtLocation(node.expression);
361
+ if (isPlainObjectType(objType, t.ctx.checker, t.ctx.registry) ||
362
+ typeContainsUndefined(propType)) {
348
363
  // Walk up through non-null assertions (!) and parens to find the real parent
349
364
  let effectiveNode = node;
350
365
  let parent = node.parent;
@@ -364,7 +379,7 @@ export function emitPropertyAccess(t, node) {
364
379
  const symbol = t.ctx.checker.getSymbolAtLocation(node.name);
365
380
  const isClassField = symbol?.getDeclarations()?.some((d) => ts.isPropertyDeclaration(d)) ??
366
381
  false;
367
- if (!isChainedOrCalled && !isClassField) {
382
+ if (!isChainedOrCalled && !isClassField && !isAssignmentTarget(node)) {
368
383
  return `${obj}.get("${prop}")`;
369
384
  }
370
385
  }
@@ -583,6 +598,15 @@ function isSelfExpression(node) {
583
598
  }
584
599
  // ---- Binary Expressions ----
585
600
  export function emitBinaryExpression(t, node) {
601
+ // Destructuring assignment ([a, b] = arr / ({ x } = obj)) -> not
602
+ // supported. Declarations are rejected in visitVariableStatement; the
603
+ // assignment-expression form must fail loudly too — emitting the
604
+ // literal-as-LHS form would be silently invalid GDScript.
605
+ if (node.operatorToken.kind === ts.SyntaxKind.EqualsToken &&
606
+ (ts.isArrayLiteralExpression(node.left) ||
607
+ ts.isObjectLiteralExpression(node.left))) {
608
+ t.addDiagnostic(node, 'error', 'Destructuring assignment is not supported in GDScript');
609
+ }
586
610
  // Nullish coalescing (??) -> not supported
587
611
  if (node.operatorToken.kind === ts.SyntaxKind.QuestionQuestionToken) {
588
612
  t.addDiagnostic(node, 'error', 'Nullish coalescing (`??`) is not supported in GDScript');
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/converter/ts-to-gd/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/converter/ts-to-gd/expressions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Debounced full-project diagnostic check + error-driven self-heal for
3
+ * watch mode. Extracted from the Watcher class (file-size rule); the
4
+ * watcher delegates here via a small deps interface.
5
+ *
6
+ * Concurrency: checks now WRITE files (the heal pass), so overlapping
7
+ * runs are forbidden — `run()` is guarded by an in-flight flag, and a
8
+ * run requested while one is active is re-scheduled (debounced) after
9
+ * the active one finishes.
10
+ */
11
+ import ts from 'typescript';
12
+ import type { ProjectCache } from '../cache/index.ts';
13
+ export interface CheckRunnerDeps {
14
+ tsDir: string;
15
+ gdDir: string;
16
+ projectRoot: string;
17
+ cacheDir?: string;
18
+ tsConfigPath?: string;
19
+ godotPath?: string;
20
+ emitOnError?: boolean;
21
+ debug?: boolean;
22
+ cache: ProjectCache;
23
+ /** Current set of watched .ts files (absolute paths). */
24
+ getTsFiles(): ReadonlySet<string>;
25
+ /** Program reuse: read the watcher's cached program (may be null). */
26
+ getProgram(): ts.Program | null;
27
+ /** Store a program built here so later batches reuse it. */
28
+ setProgram(program: ts.Program): void;
29
+ /** Ask the watcher to schedule another debounced check. */
30
+ requestRecheck(): void;
31
+ log(file: string, message: string, severity: string): void;
32
+ debugLog(message: string): void;
33
+ }
34
+ export declare class CheckRunner {
35
+ private deps;
36
+ /**
37
+ * Per-file diagnostic signature from the previous completed check.
38
+ * `null` = no baseline yet (first check after startup) — then every
39
+ * file with diagnostics counts as changed, intentionally healing
40
+ * stale-error files left over from previous sessions.
41
+ */
42
+ private prevDiagSignatures;
43
+ /**
44
+ * Normalized paths of files converted since the last check. Their
45
+ * diagnostic signature legitimately changed (they were edited), so
46
+ * they're excluded from heal suspects.
47
+ */
48
+ private batchConverted;
49
+ /**
50
+ * Files whose diagnostics moved in the post-heal recheck without
51
+ * having been healed themselves (e.g. a heal-write changed what Godot
52
+ * reports about a third file). They couldn't be acted on in that
53
+ * cycle (single heal iteration per check), so they're carried over as
54
+ * pre-seeded suspects for the next one.
55
+ */
56
+ private pendingHealSuspects;
57
+ private running;
58
+ private rerunRequested;
59
+ private disposed;
60
+ private current;
61
+ constructor(deps: CheckRunnerDeps);
62
+ /** Record a file converted by the watcher's batch path. */
63
+ noteConverted(filePath: string): void;
64
+ /**
65
+ * Run one check cycle. Never overlaps: a call while a cycle is active
66
+ * requests a re-schedule instead (the heal pass writes files — two
67
+ * interleaved chains could tear writes and stomp baselines).
68
+ */
69
+ run(): void;
70
+ /** Block new runs and wait for the in-flight one (if any) to settle. */
71
+ dispose(): Promise<void>;
72
+ private runOnce;
73
+ /** One full-project diagnostics pass (reuses the watcher's program). */
74
+ private collect;
75
+ /**
76
+ * Error-driven self-heal. Files whose diagnostic signature changed
77
+ * without having been converted in the current batch are presumed
78
+ * stale (a type they depend on changed in another file): reconvert
79
+ * them in memory and rewrite the ones whose bytes differ. When bytes
80
+ * changed, rerun the diagnostic check ONCE; suspects that surface
81
+ * only in that second pass are carried over to the next cycle (a
82
+ * recheck is requested), keeping the one-heal-per-cycle bound while
83
+ * still converging.
84
+ */
85
+ private healAndRecheck;
86
+ }
87
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/watcher/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAQ5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,yDAAyD;IACzD,UAAU,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,sEAAsE;IACtE,UAAU,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;IAChC,4DAA4D;IAC5D,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;IACtC,2DAA2D;IAC3D,cAAc,IAAI,IAAI,CAAC;IACvB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAkB;IAE9B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAoC;IAC9D;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAA0B;IAChD;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB,CAA0B;IAErD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,IAAI,EAAE,eAAe;IAIjC,2DAA2D;IAC3D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;OAIG;IACH,GAAG,IAAI,IAAI;IAqBX,wEAAwE;IAClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAMhB,OAAO;IA2CrB,wEAAwE;IACxE,OAAO,CAAC,OAAO;IAgBf;;;;;;;;;OASG;YACW,cAAc;CAoF7B"}