Showing preview only (2,800K chars total). Download the full file or copy to clipboard to get everything.
Repository: johnfn/ts2gd
Branch: main
Commit: 44ccfef9df8b
Files: 696
Total size: 2.5 MB
Directory structure:
gitextract_2ps1ko7v/
├── .eslintrc.js
├── .gdignore
├── .github/
│ └── workflows/
│ └── main.yml
├── .gitignore
├── .gitmodules
├── .husky/
│ └── pre-commit
├── .prettierignore
├── .vscode/
│ ├── launch.json
│ └── settings.json
├── LICENSE.md
├── README.md
├── _godot_defs/
│ └── static/
│ ├── @base.d.ts
│ ├── @global_functions.d.ts
│ ├── @globals.d.ts
│ ├── AABB.d.ts
│ ├── AESContext.d.ts
│ ├── ARVRAnchor.d.ts
│ ├── ARVRCamera.d.ts
│ ├── ARVRController.d.ts
│ ├── ARVRInterface.d.ts
│ ├── ARVROrigin.d.ts
│ ├── ARVRPositionalTracker.d.ts
│ ├── ARVRServer.d.ts
│ ├── AStar.d.ts
│ ├── AStar2D.d.ts
│ ├── AcceptDialog.d.ts
│ ├── AnimatedSprite.d.ts
│ ├── AnimatedSprite3D.d.ts
│ ├── AnimatedTexture.d.ts
│ ├── Animation.d.ts
│ ├── AnimationNode.d.ts
│ ├── AnimationNodeAdd2.d.ts
│ ├── AnimationNodeAdd3.d.ts
│ ├── AnimationNodeAnimation.d.ts
│ ├── AnimationNodeBlend2.d.ts
│ ├── AnimationNodeBlend3.d.ts
│ ├── AnimationNodeBlendSpace1D.d.ts
│ ├── AnimationNodeBlendSpace2D.d.ts
│ ├── AnimationNodeBlendTree.d.ts
│ ├── AnimationNodeOneShot.d.ts
│ ├── AnimationNodeOutput.d.ts
│ ├── AnimationNodeStateMachine.d.ts
│ ├── AnimationNodeStateMachinePlayback.d.ts
│ ├── AnimationNodeStateMachineTransition.d.ts
│ ├── AnimationNodeTimeScale.d.ts
│ ├── AnimationNodeTimeSeek.d.ts
│ ├── AnimationNodeTransition.d.ts
│ ├── AnimationPlayer.d.ts
│ ├── AnimationRootNode.d.ts
│ ├── AnimationTrackEditPlugin.d.ts
│ ├── AnimationTree.d.ts
│ ├── AnimationTreePlayer.d.ts
│ ├── Area.d.ts
│ ├── Area2D.d.ts
│ ├── ArrayMesh.d.ts
│ ├── AspectRatioContainer.d.ts
│ ├── AtlasTexture.d.ts
│ ├── AudioBusLayout.d.ts
│ ├── AudioEffect.d.ts
│ ├── AudioEffectAmplify.d.ts
│ ├── AudioEffectBandLimitFilter.d.ts
│ ├── AudioEffectBandPassFilter.d.ts
│ ├── AudioEffectCapture.d.ts
│ ├── AudioEffectChorus.d.ts
│ ├── AudioEffectCompressor.d.ts
│ ├── AudioEffectDelay.d.ts
│ ├── AudioEffectDistortion.d.ts
│ ├── AudioEffectEQ.d.ts
│ ├── AudioEffectEQ10.d.ts
│ ├── AudioEffectEQ21.d.ts
│ ├── AudioEffectEQ6.d.ts
│ ├── AudioEffectFilter.d.ts
│ ├── AudioEffectHighPassFilter.d.ts
│ ├── AudioEffectHighShelfFilter.d.ts
│ ├── AudioEffectInstance.d.ts
│ ├── AudioEffectLimiter.d.ts
│ ├── AudioEffectLowPassFilter.d.ts
│ ├── AudioEffectLowShelfFilter.d.ts
│ ├── AudioEffectNotchFilter.d.ts
│ ├── AudioEffectPanner.d.ts
│ ├── AudioEffectPhaser.d.ts
│ ├── AudioEffectPitchShift.d.ts
│ ├── AudioEffectRecord.d.ts
│ ├── AudioEffectReverb.d.ts
│ ├── AudioEffectSpectrumAnalyzer.d.ts
│ ├── AudioEffectSpectrumAnalyzerInstance.d.ts
│ ├── AudioEffectStereoEnhance.d.ts
│ ├── AudioServer.d.ts
│ ├── AudioStream.d.ts
│ ├── AudioStreamGenerator.d.ts
│ ├── AudioStreamGeneratorPlayback.d.ts
│ ├── AudioStreamMicrophone.d.ts
│ ├── AudioStreamPlayback.d.ts
│ ├── AudioStreamPlaybackResampled.d.ts
│ ├── AudioStreamPlayer.d.ts
│ ├── AudioStreamPlayer2D.d.ts
│ ├── AudioStreamPlayer3D.d.ts
│ ├── AudioStreamRandomPitch.d.ts
│ ├── AudioStreamSample.d.ts
│ ├── BackBufferCopy.d.ts
│ ├── BakedLightmap.d.ts
│ ├── BakedLightmapData.d.ts
│ ├── BaseButton.d.ts
│ ├── Basis.d.ts
│ ├── BitMap.d.ts
│ ├── BitmapFont.d.ts
│ ├── Bone2D.d.ts
│ ├── BoneAttachment.d.ts
│ ├── BoxContainer.d.ts
│ ├── BoxShape.d.ts
│ ├── Button.d.ts
│ ├── ButtonGroup.d.ts
│ ├── CPUParticles.d.ts
│ ├── CPUParticles2D.d.ts
│ ├── CSGBox.d.ts
│ ├── CSGCombiner.d.ts
│ ├── CSGCylinder.d.ts
│ ├── CSGMesh.d.ts
│ ├── CSGPolygon.d.ts
│ ├── CSGPrimitive.d.ts
│ ├── CSGShape.d.ts
│ ├── CSGSphere.d.ts
│ ├── CSGTorus.d.ts
│ ├── Camera.d.ts
│ ├── Camera2D.d.ts
│ ├── CameraFeed.d.ts
│ ├── CameraServer.d.ts
│ ├── CameraTexture.d.ts
│ ├── CanvasItem.d.ts
│ ├── CanvasItemMaterial.d.ts
│ ├── CanvasLayer.d.ts
│ ├── CanvasModulate.d.ts
│ ├── CapsuleMesh.d.ts
│ ├── CapsuleShape.d.ts
│ ├── CapsuleShape2D.d.ts
│ ├── CenterContainer.d.ts
│ ├── CharFXTransform.d.ts
│ ├── CheckBox.d.ts
│ ├── CheckButton.d.ts
│ ├── CircleShape2D.d.ts
│ ├── ClassDB.d.ts
│ ├── ClippedCamera.d.ts
│ ├── CollisionObject.d.ts
│ ├── CollisionObject2D.d.ts
│ ├── CollisionPolygon.d.ts
│ ├── CollisionPolygon2D.d.ts
│ ├── CollisionShape.d.ts
│ ├── CollisionShape2D.d.ts
│ ├── Color.d.ts
│ ├── ColorPicker.d.ts
│ ├── ColorPickerButton.d.ts
│ ├── ColorRect.d.ts
│ ├── ConcavePolygonShape.d.ts
│ ├── ConcavePolygonShape2D.d.ts
│ ├── ConeTwistJoint.d.ts
│ ├── ConfigFile.d.ts
│ ├── ConfirmationDialog.d.ts
│ ├── Container.d.ts
│ ├── Control.d.ts
│ ├── ConvexPolygonShape.d.ts
│ ├── ConvexPolygonShape2D.d.ts
│ ├── Crypto.d.ts
│ ├── CryptoKey.d.ts
│ ├── CubeMap.d.ts
│ ├── CubeMesh.d.ts
│ ├── CullInstance.d.ts
│ ├── Curve.d.ts
│ ├── Curve2D.d.ts
│ ├── Curve3D.d.ts
│ ├── CurveTexture.d.ts
│ ├── CylinderMesh.d.ts
│ ├── CylinderShape.d.ts
│ ├── DTLSServer.d.ts
│ ├── DampedSpringJoint2D.d.ts
│ ├── DirectionalLight.d.ts
│ ├── Directory.d.ts
│ ├── DynamicFont.d.ts
│ ├── DynamicFontData.d.ts
│ ├── EditorExportPlugin.d.ts
│ ├── EditorFeatureProfile.d.ts
│ ├── EditorFileDialog.d.ts
│ ├── EditorFileSystem.d.ts
│ ├── EditorFileSystemDirectory.d.ts
│ ├── EditorImportPlugin.d.ts
│ ├── EditorInspector.d.ts
│ ├── EditorInspectorPlugin.d.ts
│ ├── EditorInterface.d.ts
│ ├── EditorNavigationMeshGenerator.d.ts
│ ├── EditorPlugin.d.ts
│ ├── EditorProperty.d.ts
│ ├── EditorResourceConversionPlugin.d.ts
│ ├── EditorResourcePicker.d.ts
│ ├── EditorResourcePreview.d.ts
│ ├── EditorResourcePreviewGenerator.d.ts
│ ├── EditorSceneImporter.d.ts
│ ├── EditorScenePostImport.d.ts
│ ├── EditorScript.d.ts
│ ├── EditorScriptPicker.d.ts
│ ├── EditorSelection.d.ts
│ ├── EditorSettings.d.ts
│ ├── EditorSpatialGizmo.d.ts
│ ├── EditorSpatialGizmoPlugin.d.ts
│ ├── EditorSpinSlider.d.ts
│ ├── EditorVCSInterface.d.ts
│ ├── EncodedObjectAsID.d.ts
│ ├── Engine.d.ts
│ ├── Environment.d.ts
│ ├── Expression.d.ts
│ ├── ExternalTexture.d.ts
│ ├── File.d.ts
│ ├── FileDialog.d.ts
│ ├── FileSystemDock.d.ts
│ ├── Font.d.ts
│ ├── FuncRef.d.ts
│ ├── GIProbe.d.ts
│ ├── GIProbeData.d.ts
│ ├── Generic6DOFJoint.d.ts
│ ├── Geometry.d.ts
│ ├── GeometryInstance.d.ts
│ ├── Gradient.d.ts
│ ├── GradientTexture.d.ts
│ ├── GraphEdit.d.ts
│ ├── GraphNode.d.ts
│ ├── GridContainer.d.ts
│ ├── GrooveJoint2D.d.ts
│ ├── HBoxContainer.d.ts
│ ├── HMACContext.d.ts
│ ├── HScrollBar.d.ts
│ ├── HSeparator.d.ts
│ ├── HSlider.d.ts
│ ├── HSplitContainer.d.ts
│ ├── HTTPClient.d.ts
│ ├── HTTPRequest.d.ts
│ ├── HashingContext.d.ts
│ ├── HeightMapShape.d.ts
│ ├── HingeJoint.d.ts
│ ├── IP.d.ts
│ ├── Image.d.ts
│ ├── ImageTexture.d.ts
│ ├── ImmediateGeometry.d.ts
│ ├── Input.d.ts
│ ├── InputEvent.d.ts
│ ├── InputEventAction.d.ts
│ ├── InputEventGesture.d.ts
│ ├── InputEventJoypadButton.d.ts
│ ├── InputEventJoypadMotion.d.ts
│ ├── InputEventKey.d.ts
│ ├── InputEventMIDI.d.ts
│ ├── InputEventMagnifyGesture.d.ts
│ ├── InputEventMouse.d.ts
│ ├── InputEventMouseButton.d.ts
│ ├── InputEventMouseMotion.d.ts
│ ├── InputEventPanGesture.d.ts
│ ├── InputEventScreenDrag.d.ts
│ ├── InputEventScreenTouch.d.ts
│ ├── InputEventWithModifiers.d.ts
│ ├── InputMap.d.ts
│ ├── InstancePlaceholder.d.ts
│ ├── InterpolatedCamera.d.ts
│ ├── ItemList.d.ts
│ ├── JNISingleton.d.ts
│ ├── JSON.d.ts
│ ├── JSONParseResult.d.ts
│ ├── JSONRPC.d.ts
│ ├── JavaClass.d.ts
│ ├── JavaClassWrapper.d.ts
│ ├── JavaScript.d.ts
│ ├── JavaScriptObject.d.ts
│ ├── Joint.d.ts
│ ├── Joint2D.d.ts
│ ├── KinematicBody.d.ts
│ ├── KinematicBody2D.d.ts
│ ├── KinematicCollision.d.ts
│ ├── KinematicCollision2D.d.ts
│ ├── Label.d.ts
│ ├── LargeTexture.d.ts
│ ├── Light.d.ts
│ ├── Light2D.d.ts
│ ├── LightOccluder2D.d.ts
│ ├── Line2D.d.ts
│ ├── LineEdit.d.ts
│ ├── LineShape2D.d.ts
│ ├── LinkButton.d.ts
│ ├── Listener.d.ts
│ ├── Listener2D.d.ts
│ ├── MainLoop.d.ts
│ ├── MarginContainer.d.ts
│ ├── Marshalls.d.ts
│ ├── Material.d.ts
│ ├── MenuButton.d.ts
│ ├── Mesh.d.ts
│ ├── MeshDataTool.d.ts
│ ├── MeshInstance.d.ts
│ ├── MeshInstance2D.d.ts
│ ├── MeshLibrary.d.ts
│ ├── MeshTexture.d.ts
│ ├── MultiMesh.d.ts
│ ├── MultiMeshInstance.d.ts
│ ├── MultiMeshInstance2D.d.ts
│ ├── MultiplayerAPI.d.ts
│ ├── Mutex.d.ts
│ ├── Navigation.d.ts
│ ├── Navigation2D.d.ts
│ ├── NavigationMesh.d.ts
│ ├── NavigationMeshInstance.d.ts
│ ├── NavigationPolygon.d.ts
│ ├── NavigationPolygonInstance.d.ts
│ ├── NetworkedMultiplayerPeer.d.ts
│ ├── NinePatchRect.d.ts
│ ├── Node.d.ts
│ ├── Node2D.d.ts
│ ├── NodePath.d.ts
│ ├── OS.d.ts
│ ├── Object.d.ts
│ ├── Occluder.d.ts
│ ├── OccluderPolygon2D.d.ts
│ ├── OccluderShape.d.ts
│ ├── OccluderShapeSphere.d.ts
│ ├── OmniLight.d.ts
│ ├── OptionButton.d.ts
│ ├── PCKPacker.d.ts
│ ├── PHashTranslation.d.ts
│ ├── PackedDataContainer.d.ts
│ ├── PackedDataContainerRef.d.ts
│ ├── PacketPeer.d.ts
│ ├── PacketPeerDTLS.d.ts
│ ├── PacketPeerStream.d.ts
│ ├── PacketPeerUDP.d.ts
│ ├── Panel.d.ts
│ ├── PanelContainer.d.ts
│ ├── PanoramaSky.d.ts
│ ├── ParallaxBackground.d.ts
│ ├── ParallaxLayer.d.ts
│ ├── Particles.d.ts
│ ├── Particles2D.d.ts
│ ├── ParticlesMaterial.d.ts
│ ├── Path.d.ts
│ ├── Path2D.d.ts
│ ├── PathFollow.d.ts
│ ├── PathFollow2D.d.ts
│ ├── Performance.d.ts
│ ├── PhysicalBone.d.ts
│ ├── Physics2DDirectBodyState.d.ts
│ ├── Physics2DDirectSpaceState.d.ts
│ ├── Physics2DServer.d.ts
│ ├── Physics2DShapeQueryParameters.d.ts
│ ├── Physics2DTestMotionResult.d.ts
│ ├── PhysicsBody.d.ts
│ ├── PhysicsBody2D.d.ts
│ ├── PhysicsDirectBodyState.d.ts
│ ├── PhysicsDirectSpaceState.d.ts
│ ├── PhysicsMaterial.d.ts
│ ├── PhysicsServer.d.ts
│ ├── PhysicsShapeQueryParameters.d.ts
│ ├── PhysicsTestMotionResult.d.ts
│ ├── PinJoint.d.ts
│ ├── PinJoint2D.d.ts
│ ├── Plane.d.ts
│ ├── PlaneMesh.d.ts
│ ├── PlaneShape.d.ts
│ ├── PointMesh.d.ts
│ ├── Polygon2D.d.ts
│ ├── PolygonPathFinder.d.ts
│ ├── PoolByteArray.d.ts
│ ├── PoolColorArray.d.ts
│ ├── PoolIntArray.d.ts
│ ├── PoolRealArray.d.ts
│ ├── PoolStringArray.d.ts
│ ├── PoolVector2Array.d.ts
│ ├── PoolVector3Array.d.ts
│ ├── Popup.d.ts
│ ├── PopupDialog.d.ts
│ ├── PopupMenu.d.ts
│ ├── PopupPanel.d.ts
│ ├── Portal.d.ts
│ ├── Position2D.d.ts
│ ├── Position3D.d.ts
│ ├── PrimitiveMesh.d.ts
│ ├── PrismMesh.d.ts
│ ├── ProceduralSky.d.ts
│ ├── ProgressBar.d.ts
│ ├── ProjectSettings.d.ts
│ ├── ProximityGroup.d.ts
│ ├── ProxyTexture.d.ts
│ ├── QuadMesh.d.ts
│ ├── Quat.d.ts
│ ├── RID.d.ts
│ ├── RandomNumberGenerator.d.ts
│ ├── Range.d.ts
│ ├── RayCast.d.ts
│ ├── RayCast2D.d.ts
│ ├── RayShape.d.ts
│ ├── RayShape2D.d.ts
│ ├── Rect2.d.ts
│ ├── RectangleShape2D.d.ts
│ ├── Reference.d.ts
│ ├── ReferenceRect.d.ts
│ ├── ReflectionProbe.d.ts
│ ├── RemoteTransform.d.ts
│ ├── RemoteTransform2D.d.ts
│ ├── Resource.d.ts
│ ├── ResourceFormatLoader.d.ts
│ ├── ResourceFormatSaver.d.ts
│ ├── ResourceImporter.d.ts
│ ├── ResourceInteractiveLoader.d.ts
│ ├── ResourceLoader.d.ts
│ ├── ResourcePreloader.d.ts
│ ├── ResourceSaver.d.ts
│ ├── RichTextEffect.d.ts
│ ├── RichTextLabel.d.ts
│ ├── RigidBody.d.ts
│ ├── RigidBody2D.d.ts
│ ├── Room.d.ts
│ ├── RoomGroup.d.ts
│ ├── RoomManager.d.ts
│ ├── RootMotionView.d.ts
│ ├── SceneState.d.ts
│ ├── SceneTree.d.ts
│ ├── SceneTreeTimer.d.ts
│ ├── Script.d.ts
│ ├── ScriptCreateDialog.d.ts
│ ├── ScriptEditor.d.ts
│ ├── ScrollBar.d.ts
│ ├── ScrollContainer.d.ts
│ ├── SegmentShape2D.d.ts
│ ├── Semaphore.d.ts
│ ├── Separator.d.ts
│ ├── Shader.d.ts
│ ├── ShaderMaterial.d.ts
│ ├── Shape.d.ts
│ ├── Shape2D.d.ts
│ ├── ShortCut.d.ts
│ ├── Skeleton.d.ts
│ ├── Skeleton2D.d.ts
│ ├── SkeletonIK.d.ts
│ ├── Skin.d.ts
│ ├── SkinReference.d.ts
│ ├── Sky.d.ts
│ ├── Slider.d.ts
│ ├── SliderJoint.d.ts
│ ├── SoftBody.d.ts
│ ├── Spatial.d.ts
│ ├── SpatialGizmo.d.ts
│ ├── SpatialMaterial.d.ts
│ ├── SpatialVelocityTracker.d.ts
│ ├── SphereMesh.d.ts
│ ├── SphereShape.d.ts
│ ├── SpinBox.d.ts
│ ├── SplitContainer.d.ts
│ ├── SpotLight.d.ts
│ ├── SpringArm.d.ts
│ ├── Sprite.d.ts
│ ├── Sprite3D.d.ts
│ ├── SpriteBase3D.d.ts
│ ├── SpriteFrames.d.ts
│ ├── StaticBody.d.ts
│ ├── StaticBody2D.d.ts
│ ├── StreamPeer.d.ts
│ ├── StreamPeerBuffer.d.ts
│ ├── StreamPeerSSL.d.ts
│ ├── StreamPeerTCP.d.ts
│ ├── StreamTexture.d.ts
│ ├── String.d.ts
│ ├── StyleBox.d.ts
│ ├── StyleBoxEmpty.d.ts
│ ├── StyleBoxFlat.d.ts
│ ├── StyleBoxLine.d.ts
│ ├── StyleBoxTexture.d.ts
│ ├── SurfaceTool.d.ts
│ ├── TCP_Server.d.ts
│ ├── TabContainer.d.ts
│ ├── Tabs.d.ts
│ ├── TextEdit.d.ts
│ ├── TextFile.d.ts
│ ├── Texture.d.ts
│ ├── Texture3D.d.ts
│ ├── TextureArray.d.ts
│ ├── TextureButton.d.ts
│ ├── TextureLayered.d.ts
│ ├── TextureProgress.d.ts
│ ├── TextureRect.d.ts
│ ├── Theme.d.ts
│ ├── Thread.d.ts
│ ├── TileMap.d.ts
│ ├── TileSet.d.ts
│ ├── Time.d.ts
│ ├── Timer.d.ts
│ ├── ToolButton.d.ts
│ ├── TouchScreenButton.d.ts
│ ├── Transform.d.ts
│ ├── Transform2D.d.ts
│ ├── Translation.d.ts
│ ├── TranslationServer.d.ts
│ ├── Tree.d.ts
│ ├── TreeItem.d.ts
│ ├── TriangleMesh.d.ts
│ ├── Tween.d.ts
│ ├── UDPServer.d.ts
│ ├── UndoRedo.d.ts
│ ├── VBoxContainer.d.ts
│ ├── VScrollBar.d.ts
│ ├── VSeparator.d.ts
│ ├── VSlider.d.ts
│ ├── VSplitContainer.d.ts
│ ├── Variant.d.ts
│ ├── Vector2.d.ts
│ ├── Vector3.d.ts
│ ├── VehicleBody.d.ts
│ ├── VehicleWheel.d.ts
│ ├── VideoPlayer.d.ts
│ ├── VideoStream.d.ts
│ ├── Viewport.d.ts
│ ├── ViewportContainer.d.ts
│ ├── ViewportTexture.d.ts
│ ├── VisibilityEnabler.d.ts
│ ├── VisibilityEnabler2D.d.ts
│ ├── VisibilityNotifier.d.ts
│ ├── VisibilityNotifier2D.d.ts
│ ├── VisualInstance.d.ts
│ ├── VisualServer.d.ts
│ ├── VisualShader.d.ts
│ ├── VisualShaderNode.d.ts
│ ├── VisualShaderNodeBooleanConstant.d.ts
│ ├── VisualShaderNodeBooleanUniform.d.ts
│ ├── VisualShaderNodeColorConstant.d.ts
│ ├── VisualShaderNodeColorFunc.d.ts
│ ├── VisualShaderNodeColorOp.d.ts
│ ├── VisualShaderNodeColorUniform.d.ts
│ ├── VisualShaderNodeCompare.d.ts
│ ├── VisualShaderNodeCubeMap.d.ts
│ ├── VisualShaderNodeCubeMapUniform.d.ts
│ ├── VisualShaderNodeCustom.d.ts
│ ├── VisualShaderNodeDeterminant.d.ts
│ ├── VisualShaderNodeDotProduct.d.ts
│ ├── VisualShaderNodeExpression.d.ts
│ ├── VisualShaderNodeFaceForward.d.ts
│ ├── VisualShaderNodeFresnel.d.ts
│ ├── VisualShaderNodeGlobalExpression.d.ts
│ ├── VisualShaderNodeGroupBase.d.ts
│ ├── VisualShaderNodeIf.d.ts
│ ├── VisualShaderNodeInput.d.ts
│ ├── VisualShaderNodeIs.d.ts
│ ├── VisualShaderNodeOuterProduct.d.ts
│ ├── VisualShaderNodeOutput.d.ts
│ ├── VisualShaderNodeScalarClamp.d.ts
│ ├── VisualShaderNodeScalarConstant.d.ts
│ ├── VisualShaderNodeScalarDerivativeFunc.d.ts
│ ├── VisualShaderNodeScalarFunc.d.ts
│ ├── VisualShaderNodeScalarInterp.d.ts
│ ├── VisualShaderNodeScalarOp.d.ts
│ ├── VisualShaderNodeScalarSmoothStep.d.ts
│ ├── VisualShaderNodeScalarSwitch.d.ts
│ ├── VisualShaderNodeScalarUniform.d.ts
│ ├── VisualShaderNodeSwitch.d.ts
│ ├── VisualShaderNodeTexture.d.ts
│ ├── VisualShaderNodeTextureUniform.d.ts
│ ├── VisualShaderNodeTextureUniformTriplanar.d.ts
│ ├── VisualShaderNodeTransformCompose.d.ts
│ ├── VisualShaderNodeTransformConstant.d.ts
│ ├── VisualShaderNodeTransformDecompose.d.ts
│ ├── VisualShaderNodeTransformFunc.d.ts
│ ├── VisualShaderNodeTransformMult.d.ts
│ ├── VisualShaderNodeTransformUniform.d.ts
│ ├── VisualShaderNodeTransformVecMult.d.ts
│ ├── VisualShaderNodeUniform.d.ts
│ ├── VisualShaderNodeUniformRef.d.ts
│ ├── VisualShaderNodeVec3Constant.d.ts
│ ├── VisualShaderNodeVec3Uniform.d.ts
│ ├── VisualShaderNodeVectorClamp.d.ts
│ ├── VisualShaderNodeVectorCompose.d.ts
│ ├── VisualShaderNodeVectorDecompose.d.ts
│ ├── VisualShaderNodeVectorDerivativeFunc.d.ts
│ ├── VisualShaderNodeVectorDistance.d.ts
│ ├── VisualShaderNodeVectorFunc.d.ts
│ ├── VisualShaderNodeVectorInterp.d.ts
│ ├── VisualShaderNodeVectorLen.d.ts
│ ├── VisualShaderNodeVectorOp.d.ts
│ ├── VisualShaderNodeVectorRefract.d.ts
│ ├── VisualShaderNodeVectorScalarMix.d.ts
│ ├── VisualShaderNodeVectorScalarSmoothStep.d.ts
│ ├── VisualShaderNodeVectorScalarStep.d.ts
│ ├── VisualShaderNodeVectorSmoothStep.d.ts
│ ├── WeakRef.d.ts
│ ├── WebSocketClient.d.ts
│ ├── WebSocketMultiplayerPeer.d.ts
│ ├── WebSocketPeer.d.ts
│ ├── WebSocketServer.d.ts
│ ├── WindowDialog.d.ts
│ ├── World.d.ts
│ ├── World2D.d.ts
│ ├── WorldEnvironment.d.ts
│ ├── X509Certificate.d.ts
│ ├── XMLParser.d.ts
│ └── YSort.d.ts
├── bin/
│ └── index.js
├── check_version.ts
├── errors.ts
├── generate_library_defs/
│ ├── custom_defs/
│ │ ├── array_def.ts
│ │ ├── dictionary_def.ts
│ │ └── packed_scene_def.ts
│ ├── generate_base.ts
│ ├── generate_gdscript_lib.ts
│ ├── generate_tsconfig.ts
│ ├── generation_utils.ts
│ ├── index.ts
│ └── library_builder.ts
├── main.ts
├── mockProject/
│ ├── .gitignore
│ ├── Main.tscn
│ ├── default_env.tres
│ ├── icon.png.import
│ ├── ignore_me/
│ │ └── ignore_me_too.ts
│ ├── ignore_me.ts
│ ├── project.godot
│ ├── ts2gd.json
│ └── tsconfig.json
├── package.json
├── parse_args.ts
├── parse_node/
│ ├── library_functions.ts
│ ├── parse_array_literal_expression.ts
│ ├── parse_arrow_function.ts
│ ├── parse_binary_expression.ts
│ ├── parse_block.ts
│ ├── parse_break_statement.ts
│ ├── parse_call_expression.ts
│ ├── parse_class_declaration.ts
│ ├── parse_conditional_expression.ts
│ ├── parse_constructor.ts
│ ├── parse_continue_statement.ts
│ ├── parse_element_access_expression.ts
│ ├── parse_empty_statement.ts
│ ├── parse_enum_declaration.ts
│ ├── parse_expression_statement.ts
│ ├── parse_for_in_statement.ts
│ ├── parse_for_of_statement.ts
│ ├── parse_for_statement.ts
│ ├── parse_get_accessor.ts
│ ├── parse_identifier.ts
│ ├── parse_if_statement.ts
│ ├── parse_import_declaration.ts
│ ├── parse_method_declaration.ts
│ ├── parse_new_expression.ts
│ ├── parse_no_substitution_template_expression.ts
│ ├── parse_numeric_literal.ts
│ ├── parse_object_literal_expression.ts
│ ├── parse_parameter.ts
│ ├── parse_parenthesized_expression.ts
│ ├── parse_postfix_unary_expression.ts
│ ├── parse_prefix_unary_expression.ts
│ ├── parse_property_access_expression.ts
│ ├── parse_property_declaration.ts
│ ├── parse_return_statement.ts
│ ├── parse_set_accessor.ts
│ ├── parse_source_file.ts
│ ├── parse_string_literal.ts
│ ├── parse_super_keyword.ts
│ ├── parse_switch_statement.ts
│ ├── parse_template_expression.ts
│ ├── parse_this_keyword.ts
│ ├── parse_type_alias_declaration.ts
│ ├── parse_type_reference.ts
│ ├── parse_typeof_expression.ts
│ ├── parse_variable_declaration.ts
│ ├── parse_variable_declaration_list.ts
│ ├── parse_variable_statement.ts
│ ├── parse_while_statement.ts
│ └── parse_yield_expression.ts
├── parse_node.ts
├── project/
│ ├── assets/
│ │ ├── asset_font.ts
│ │ ├── asset_glb.ts
│ │ ├── asset_godot_scene.ts
│ │ ├── asset_image.ts
│ │ ├── asset_source_file.ts
│ │ ├── asset_utils.ts
│ │ ├── base_asset.ts
│ │ └── index.ts
│ ├── generate_dynamic_defs/
│ │ ├── build_action_names.ts
│ │ ├── build_asset_paths.ts
│ │ ├── build_group_types.ts
│ │ ├── build_node_paths.ts
│ │ ├── build_scene_imports.ts
│ │ ├── definition_builder.ts
│ │ └── index.ts
│ ├── godot_parser.ts
│ ├── godot_project_file.ts
│ ├── index.ts
│ ├── paths.ts
│ └── project.ts
├── readme/
│ └── .gitignore
├── run.sh
├── scope.ts
├── tests/
│ ├── project_tests.ts
│ ├── stubs.ts
│ └── test.ts
├── ts_utils.ts
└── tsconfig.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .eslintrc.js
================================================
module.exports = {
ignorePatterns: [
"**/_godot_defs/**",
"**/mockProject/**",
"**/godot_src/**",
"**/js/**",
".eslintrc.js",
"tsconfig.json",
],
env: {
es2021: true,
node: true,
},
extends: [
"eslint:recommended",
"plugin:import/typescript",
"plugin:@typescript-eslint/recommended",
],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 13,
sourceType: "module",
project: "./tsconfig.json",
},
plugins: ["import", "prettier", "@typescript-eslint"],
rules: {
"prettier/prettier": "error",
"import/first": "error",
"import/no-duplicates": "error",
"import/order": ["error", { "newlines-between": "always" }],
"@typescript-eslint/no-floating-promises": "error",
// we could look into turning these on
"prefer-const": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-non-null-assertion": "off",
},
}
================================================
FILE: .gdignore
================================================
================================================
FILE: .github/workflows/main.yml
================================================
name: CI
on:
push:
branches:
- main
pull_request:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- run: npm ci
- run: npm run build-ci
- run: npm run test-ci
- if: ${{ github.ref == 'refs/heads/main' && matrix.os == 'ubuntu-latest' }}
run: npm pack
- if: ${{ github.ref == 'refs/heads/main' && matrix.os == 'ubuntu-latest' }}
name: Upload build
uses: actions/upload-artifact@v2
with:
name: package
path: "./*.tgz"
publish:
needs: build
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Download build
uses: actions/download-artifact@v2
with:
name: package
path: ./
- run: ls -lah
- run: tar xzvf *.tgz
- uses: JS-DevTools/npm-publish@v1
with:
package: package/package.json
token: ${{ secrets.NPM_TOKEN }}
================================================
FILE: .gitignore
================================================
node_modules/
js/
.DS_Store
# Godot-specific ignores
.import/
export.cfg
export_presets.cfg
================================================
FILE: .gitmodules
================================================
[submodule "godot_src"]
path = godot_src
url = https://github.com/godotengine/godot.git
branch = 3.4
shallow = true
================================================
FILE: .husky/pre-commit
================================================
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run lint-staged
================================================
FILE: .prettierignore
================================================
================================================
FILE: .vscode/launch.json
================================================
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Program",
"program": "${workspaceFolder}/js/main.js",
"request": "launch",
"skipFiles": ["<node_internals>/**"],
"args": ["${workspaceFolder}/example/ts2gd.json"],
"type": "pwa-node",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": ["${workspaceFolder}/js/**/*.js"]
}
]
}
================================================
FILE: .vscode/settings.json
================================================
{
"typescript.tsdk": "node_modules/typescript/lib",
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"typescript.tsserver.experimental.enableProjectDiagnostics": true,
// "typescript.tsserver.experimental.enableProjectDiagnostics": true
// "typescript.preferences.importModuleSpecifierEnding": "js"
// "typescript.tsserver.log": "verbose"
}
================================================
FILE: LICENSE.md
================================================
MIT License
Copyright (c) 2020-2025 [Grant Mathews](https://github.com/johnfn), [Johannes Goslar](https://github.com/ksjogo), [Adam Ogiba](https://github.com/adamuso)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# ts2gd: Compile TypeScript to GDScript
⚠️ Need help? Contact me on Discord: johnfn#0001.
## Why use ts2gd?
- Compiles directly to GDScript with virtually no performance penalty - no embedded JS runtime.
- Insanely fast dev experience - after startup, incremental compiles take under a tenth of a second.
- Provides crazy good autocomplete and documentation.
- Use all of TS's extremely powerful type system.
## Install:
`npm install --global ts2gd`
Then just run `ts2gd` in your favorite Godot project folder.

## Why?
GDScript is a great language - it's perfectly designed for quick prototyping. But it lacks the type-safety and maturity of a language like TypeScript. By compiling TS into GD, we can get the best of both worlds: a rapid prototyping language that compiles virtually instantaneously, that also comes with excellent typesafety.
We can also get really, really good autocomplete and refactoring support.
## Usage
To initialize a new project:
```
ts2gd --init
```
To watch TS files for changes and automatically compile them to GDScript:
`ts2gd`
To compile all source files once:
`ts2gd --buildOnly`
## Details and Differences
### `get_node`
`get_node` has been supercharged - it will now autocomplete the names of all
child nodes. And yes, this means that if you arrange your nodes later, you'll
get type errors if you break any `get_node` calls!!
| Godot hierarchy | ts2gd autocomplete |
| :----------------------------: | :-----------------------------------: |
|  |  |
ts2gd also provides a way to get any node by name, even the ones it can't verify exist:
```
this.get_node<Label>("MyLabel")
```
N.B. It _should_ be possible to use ts2gd without _ever_ having to revert to the
second get_node call with the type parameter. Please open a GitHub issue if you
feel this isn't the case.
### `load` / `preload`
`preload` and `load` work as normal - plus they have good autocomplete support, and they return the proper type of the thing you're loading.
[<img src="readme/preload.png" width="250"/>](readme/preload.png)
### Enums
Godot decides to put a bunch of enum values into global scope. I think this clutters things up: the global scope has tons of mostly useless enum values in it, and it's impossible to tell what property belongs to which enum. So we move them into `EnumName.PropertyName` instead. This is extra nice because now if you type `EnumName` you get autocomplete of all the types in that Enum.
For instance,
```
Input.is_key_pressed(KEY_W)
```
becomes
```
Input.is_key_pressed(KeyList.KEY_SPACE)
```
For the full list of namespaced enums, you can see the generated @globals.d.ts file.
In the future, this could become a configuration setting on tsgd.json.
### `rpc`
The RPC syntax has been improved.
GDScript:
```
this.rpc("my_rpc_method", "some-argument)
```
TypeScript:
```
this.my_rpc_method.rpc("some-argument")
```
### `signals`
Signals have been improved. All signals now start with `$` and are properties of the class they're defined on.
#### `connect`
This is what connect looks like in ts2gd:
```
this.my_button.$pressed.connect(() => {
print("Clicked the button!)
})
```
#### `yield`
This is what yield looks like in ts2gd:
```
yield this.get_tree().$idle_frame
```
#### `emit`
This is what emit looks like in ts2gd:
```
class MySignallingClass extends Node2D {
$my_signal!: Signal // ! to avoid the TS error about this signal being unassigned
_process() {
this.$my_signal.emit()
}
}
```
### Autoloads
In order to make a class autoload, decorate your class with `@autoload`, and create and export an instance of the class. ts2gd will automatically add it as an AutoLoad in your Godot project (assuming you're on version 3.3!)
Here's a full example of an autoload class.
```
@autoload
class MyAutoloadClass extends Node2D {
public hello = "hi"
}
export const MyAutoload = new MyAutoloadClass()
```
### `@export`
In order to mark an instance variable as `export`, use `@exports`, e.g.:
```
class ExportExample extends Node2D {
@exports
public hello = "exported"
}
```
### `tool`
In order to mark a script as `tool`, use `@tool`.
```
@tool
class MyToolScript extends Node2D {
// ... do some tool script work here
}
```
### `@remotesync`, `@remote`
To mark a method as remotesync or remote, use `@remotesync` and `@remote`, respectively.
### `Vector2` / `Vector3` operator overloading
TypeScript sadly has no support for operator overloading.
```
const v1 = Vector(1, 2)
const v2 = Vector(1, 2);
v1.add(v2); // v1 + v2
v1.sub(v2); // v1 - v2
v1.mul(v2); // v1 * v2
v1.div(v2); // v1 / v2
```
The add/sub/mul/div gets compiled into the corresponding arithmatic.
### Dictionary
The default TS dictionary (e.g. `const dict = { a: 1 }`) only supports string, number and symbol as keys. If you want anything else, you can just use the Dictionary type, and use `.put` instead of square bracket access.
```
const myComplexDict: Dictionary<Node2D, int> = todict({})
myComplexDict.put(myNode, 5)
```
### Latest and greatest Godot definitions
If you'd like ts2gd to generate the latest TS definitions from Godot, clone the Godot repository and point it at the 3.x tag. Then add the following to your ts2gd.json:
```
"godotSourceRepoPath": "/path/to/your/godot/clone"
```
This shouldn't be necessary unless you want some really recent features from Godot, or you're developing the ts2gd compiler.
# Common Issues
## Godot Editor Formatting
ts2gd generates code with 2 spaces as indent. If Godot keeps changing your .gd files when opening/saving them, change the settings:
- Goto Editor -> Editor Settings -> Text Editor -> Indent
- And switch to Type: Spaces and Size: 2
## Ignoring sub directories containing TypeScript files
If you would like to tell ts2gd to ignore certain TypeScript files, you can add `"ignore": /* list of files */` to your ts2gd.json file.
- To ignore a file: `"ignore": ["ignore_me.ts"]`
- Two files: `"ignore": ["ignore_me.ts", "ignore_me_too.ts"]`
- Everything inside a directory: `"ignore": ["**/ignore_me/**"]`
Need something more customized? You can provide an array of [anymatch](https://www.npmjs.com/package/anymatch) strings or globs.
# Roadmap
## Road to usability
- [x] load("myscene.tscn) should return a `PackedScene<T>` where T is the type of the root node of the scene
- [x] `connect()`
- [x] When i migrate to only using compiled gdscripts, adjust the imports() appropriately to figure out where the compiled versions are.
- [x] Compile "Yield" to "yield"
- [x] Translate `add()`, `sub()`, etc
- [x] mark int/float in API
- [x] add documentation for class names.
- [x] With int/float, mark down the variables we've determined to be int/float so we can use that information rather than TS telling us that everything is number.
- [x] Autocomplete relative node paths as well as absolute ones
- [x] `extends` must be transpiled before everything else, including enum declarations and other top level things
- [x] Godot expects methods like \_process to _always_ have a float parameter, but TS does not require this. It should be added implicitly.
- [ ] explain tne `enum` thing better
- [ ] @node annotations to say which node a class belongs to
- [x] handle parameters to \_functions that aren't provided in TS by autofilling them in Godot
- [x] `callables`
- [x] Handle passing anonymous functions around - probably with funcref for now.
- [ ] Handle the thing where if u never yield its never a coroutine
- [ ] Either allow the user to point their ts2gd at a godot source download, or more likely, just grab it from online? Idk.
- [ ] Fallthrough cases in switch are currently not supported.
- [ ] generate Godot without warnings (as much as possible)
- [x] `tool`
- [ ] it would be very nice to be able to pass in anonymous functions in place of callables, and have the compiler sort that out.
## Road to superior development
- [x] Autoload classes should have an @annotation and then get automatically added to the project
- [x] get_nodes_in_group should parse scene to determine a more accurate return type
- [x] Mark unused variables with \_ to avoid warnings
- [x] parse the bbcode in the XML into markdown that TS can read.
- [x] when scenes are updated, update their corresponding definition files
- [ ] create scripts and attach them to nodes directly through the editor - perhaps with @Node("/blah")
- [x] don't hide object autocomplete names
- [x] strongly type input action names
- [x] handle renames better - delete the old compiled file, etc.
- [ ] refactoring class names doesn't really work right now because i think we need to rename types in tscn files...
- [ ] would be nice to declare multiple classes in the same .ts file and have the compiler sort it out
- [x] add a way to install ts2gd as a global command
- [x] ensure that signal arguments match up
- [ ] add a way to use ts2gd via installer rather than command line
- [ ] Whether to hide away constants into enums or not could be parameterizeable. It is _correct_ to hide them into enums, but it will be confusing for people who haven't read the README, which is probably everyone.
- [ ] Some sort of error if an autoload class is not entirely static.
- [x] yield(this.get_tree(), "idle_frame"); could autocomplete idle_frame? it's possible: just get all the signals on the object.
- [ ] Fancy TS/JS features
- [x] destructuring
- [ ] ... spread operator
- [x] Map, filter, etc? even though they aren't part of godot, it would be nice to have them.
- [x] ../ node paths (note: impossible)
- [x] Break our assumption that filename === classname
- [ ] Onready vs nonready - maybe we don't have to mark everything as an onready var? Is there an advantage to so doing?
- [x] ts2gd: Handle adding new files.
- [x] ts2gd: Handle deleting old files.
- [x] ts2gd: Random newlines at beginning of file.
- [x] Is there a better way to do Dictionary, with strongly typed k/v?
- [ ] Sourcemaps / debugging???
- [ ] use LSP to handle operator overloading, sourcemap issues...?!?
================================================
FILE: _godot_defs/static/@base.d.ts
================================================
declare interface Boolean {
}
// These are the 4 constants found in @GDScript.xml
/**
* Positive floating-point infinity. This is the result of floating-point
* division when the divisor is [code]0.0[/code]. For negative infinity, use
* [code]-INF[/code]. Dividing by [code]-0.0[/code] will result in negative
* infinity if the numerator is positive, so dividing by [code]0.0[/code] is not
* the same as dividing by [code]-0.0[/code] (despite [code]0.0 == -0.0[/code]
* returning [code]true[/code]).
*
* [b]Note:[/b] Numeric infinity is only a concept with floating-point numbers,
* and has no equivalent for integers. Dividing an integer number by
* [code]0[/code] will not result in [constant INF] and will result in a
* run-time error instead.
*/
declare const INF: float;
/**
* Constant that represents how many times the diameter of a circle fits around
* its perimeter. This is equivalent to [code]TAU / 2[/code].
*/
declare const PI: float;
/**
* The circle constant, the circumference of the unit circle in radians. This is
* equivalent to [code]PI * 2[/code], or 360 degrees in rotations.
*/
declare const TAU: float;
/**
* "Not a Number", an invalid floating-point value. [constant NAN] has special
* properties, including that it is not equal to itself ([code]NAN == NAN[/code]
* returns [code]false[/code]). It is output by some invalid operations, such as
* dividing floating-point [code]0.0[/code] by [code]0.0[/code].
*
* [b]Note:[/b] "Not a Number" is only a concept with floating-point numbers,
* and has no equivalent for integers. Dividing an integer [code]0[/code] by
* [code]0[/code] will not result in [constant NAN] and will result in a
* run-time error instead.
*/
declare const NAN: float;
// Contents of these two interfaces were copied from FuncRef.d.ts
declare interface CallableFunction {
/** The name of the referenced function. */
function: string
/** Calls the referenced function previously set in [member function] or [method @GDScript.funcref]. */
call_func(...args: any[]): any
/** Calls the referenced function previously set in [member function] or [method @GDScript.funcref]. Contrarily to [method call_func], this method does not support a variable number of arguments but expects all parameters to be passed via a single [Array]. */
call_funcv(arg_array: any[]): any
/** Returns whether the object still exists and has the function assigned. */
is_valid(): boolean
/** The object containing the referenced function. This object must be of a type actually inheriting from [Object], not a built-in type such as [int], [Vector2] or [Dictionary]. */
set_instance(instance: Object): void
rpc<T extends (...args: any[]) => void>(this: T, ...args: Parameters<T>): void;
rpc_id<T extends (...args: any[]) => void>(this: T, id: int, ...args: Parameters<T>): void;
}
interface Function {
/** The name of the referenced function. */
function: string;
/** Calls the referenced function previously set in [member function] or [method @GDScript.funcref]. */
call_func(...args: any[]): any;
/** Calls the referenced function previously set in [member function] or [method @GDScript.funcref]. Contrarily to [method call_func], this method does not support a variable number of arguments but expects all parameters to be passed via a single [Array]. */
call_funcv(arg_array: any[]): any;
/** Returns whether the object still exists and has the function assigned. */
is_valid(): boolean;
/** The object containing the referenced function. This object must be of a type actually inheriting from [Object], not a built-in type such as [int], [Vector2] or [Dictionary]. */
set_instance(instance: Object): void;
}
declare enum ExportHint {
RANGE,
EXP,
FILE,
DIR,
GLOBAL,
MULTILINE,
EASE,
RGB,
RGBA,
FLAGS,
LAYERS_2D_PHYSICS,
LAYERS_2D_RENDER,
LAYERS_3D_PHYSICS,
LAYERS_3D_RENDER
}
declare function exports(...args: (ExportHint | string | number)[]): (target: Node, name: string) => void;
declare function exports(target: Node, name: string): void;
declare const export_flags: (...flags: any[]) => (target: Node, name: string) => void
declare function autoload(target: typeof Node): void
declare function tool(target: typeof Node): void;
declare type int = number;
declare type float = number;
declare function int(x: number): number
declare function float(x: number): number
declare type NodePathType = string
/**
* Exclude from T those types that are assignable to U
*/
type Exclude<T, U> = T extends U ? never : T;
/**
* From T, pick a set of properties whose keys are in the union K
*/
type Pick<T, K extends keyof T> = {
[P in K]: T[P]
}
/**
* Obtain the return type of a function type
*/
type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;
type GeneratorReturnType<T extends Generator> = T extends Generator<any, infer R, any> ? R: never;
/**
* Construct a type with the properties of T except for those in type K.
*/
type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>
// Used for typing connect()
type Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never;
type KeysOnly<T, V> = { [K in keyof T as T[K] extends V ? K : never]: T[K] }
type KeysMatching<T, V> = {[K in keyof T]-?: T[K] extends V ? K : never}[keyof T];
type SignalsOf<T> = KeysMatching<T, Signal<any>>;
type SignalFunction<T> = T extends Signal<infer R> ? R : never;
type SignalReturnValue<T> = T extends Signal<infer U> ? ReturnType<U> : never;
// Used for typing rpc(), rpc_id() etc
type FunctionsOf<T> = KeysMatching<T, Function>;
interface FunctionConstructor {
(...args: string[]): Function;
}
interface IArguments {
}
interface NewableFunction {
}
interface Number {
}
interface String {
[Symbol.iterator](): IterableIterator<string>;
}
interface RegExp {
}
// This puts Dictionary methods on *all* classes, which is incorrect and also
// causes clashes with Node because they have differenty defined duplicate
// methods.
// interface Object extends Dictionary { }
declare function Dict<T>(obj: T): Dictionary<string, any> & T
interface IteratorYieldResult<TYield> {
done?: false;
value: TYield;
}
interface IteratorReturnResult<TReturn> {
done: true;
value: TReturn;
}
declare const print: (...args: any[]) => void;
type IteratorResult<T, TReturn = any> = IteratorYieldResult<T> | IteratorReturnResult<TReturn>;
interface Iterator<T, TReturn = any, TNext = undefined> extends Object {
// NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.
next(...args: [] | [TNext]): IteratorResult<T, TReturn>;
return?(value?: TReturn): IteratorResult<T, TReturn>;
throw?(e?: any): IteratorResult<T, TReturn>;
$completed: Signal<() => TReturn>;
}
interface Generator<T = unknown, TReturn = any, TNext = unknown> extends Iterator<T, TReturn, TNext> {
// NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.
next(...args: [] | [TNext]): IteratorResult<T, TReturn>;
return(value: TReturn): IteratorResult<T, TReturn>;
throw(e: any): IteratorResult<T, TReturn>;
[Symbol.iterator](): Generator<T, TReturn, TNext>;
$completed: Signal<() => TReturn>;
}
interface Symbol { }
interface SymbolConstructor {
/**
* A method that returns the default iterator for an object. Called by the semantics of the
* for-of statement.
*/
readonly iterator: symbol;
}
declare var Symbol: SymbolConstructor;
interface Iterable<T> {
[Symbol.iterator](): Iterator<T>;
}
interface IterableIterator<T> extends Iterator<T> {
[Symbol.iterator](): IterableIterator<T>;
// Generator functions found on GDScriptFunctionState
is_valid(extended_check: boolean): boolean;
resume(arg?: any): void;
}
type ReadonlyArray<T> = {
/** Returns the last element of the array. Prints an error and returns [code]null[/code] if the array is empty.
[b]Note:[/b] Calling this function is not the same as writing [code]array[-1][/code]. If the array is empty, accessing by index will pause project execution when running from the editor. */
back(): T;
}
type FlatArray<Arr, Depth extends number> = {
"done": Arr,
"recur": Arr extends ReadonlyArray<infer InnerArr>
? FlatArray<InnerArr, [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]>
: Arr
}[Depth extends -1 ? "done" : "recur"];
interface Array<T> {
/** Appends an element at the end of the array (alias of [method push_back]). */
append(value: T): void;
/** Returns the last element of the array. Prints an error and returns [code]null[/code] if the array is empty.
[b]Note:[/b] Calling this function is not the same as writing [code]array[-1][/code]. If the array is empty, accessing by index will pause project execution when running from the editor. */
back(): T;
/** Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [code]before[/code] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior. */
bsearch(value: T, before?: boolean): number;
/** Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search and a custom comparison method. Optionally, a [code]before[/code] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array. The custom method receives two arguments (an element from the array and the value searched for) and must return [code]true[/code] if the first argument is less than the second, and return [code]false[/code] otherwise.
[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior. */
bsearch_custom(value: T, obj: Object, func: String, before?: boolean): number;
/** Clears the array. This is equivalent to using [method resize] with a size of [code]0[/code]. */
clear(): void;
flatten(): FlatArray<T, 20>[];
/** Returns the number of times an element is in the array. */
count(value: T): number;
/** Returns a copy of the array.
If [code]deep[/code] is [code]true[/code], a deep copy is performed: all nested arrays and dictionaries are duplicated and will not be shared with the original array. If [code]false[/code], a shallow copy is made and references to the original nested arrays and dictionaries are kept, so that modifying a sub-array or dictionary in the copy will also impact those referenced in the source array. */
duplicate(deep?: boolean): T[];
/** Returns [code]true[/code] if the array is empty. */
empty(): boolean;
/** Removes the first occurrence of a value from the array. */
erase(value: T): void;
/** Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed. */
find(what: T, from?: number): number;
/** Searches the array in reverse order for a value and returns its index or [code]-1[/code] if not found. */
find_last(value: T): number;
/** Returns the first element of the array. Prints an error and returns [code]null[/code] if the array is empty.
[b]Note:[/b] Calling this function is not the same as writing [code]array[0][/code]. If the array is empty, accessing by index will pause project execution when running from the editor. */
front(): T;
/** Returns [code]true[/code] if the array contains the given value.
[codeblocks]
[gdscript]
print(["inside", 7].has("inside")) # True
print(["inside", 7].has("outside")) # False
print(["inside", 7].has(7)) # True
print(["inside", 7].has("7")) # False
[/gdscript]
[csharp]
var arr = new Godot.Collections.Array{"inside", 7};
// has is renamed to Contains
GD.Print(arr.Contains("inside")); // True
GD.Print(arr.Contains("outside")); // False
GD.Print(arr.Contains(7)); // True
GD.Print(arr.Contains("7")); // False
[/csharp]
[/codeblocks]
[b]Note:[/b] This is equivalent to using the [code]in[/code] operator as follows:
[codeblocks]
[gdscript]
# Will evaluate to `true`.
if 2 in [2, 4, 6, 8]:
print("Containes!")
[/gdscript]
[csharp]
// As there is no "in" keyword in C#, you have to use Contains
var array = new Godot.Collections.Array{2, 4, 6, 8};
if (array.Contains(2))
{
GD.Print("Containes!");
}
[/csharp]
[/codeblocks] */
has(value: T): boolean;
/** Returns a hashed integer value representing the array contents. */
hash(): number;
/** Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]pos == size()[/code]). */
insert(position: number, value: T): void;
/** Reverses the order of the elements in the array. */
invert(): void;
map<U>(fn: (elem: T) => U): U[];
filter(fn: (elem: T) => boolean): T[];
/** Returns the maximum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned. */
max(): T | null;
/** Returns the element in the array for which calling the passed in function on returns the largest value. */
max_by(fn: (elem: T) => number): T | null
/** Returns the minimum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned. */
min(): T | null;
/** Returns the element in the array for which calling the passed in function on returns the smallest value. */
min_by(fn: (elem: T) => number): T | null;
random_element(): T | null;
join(join_str: string): string;
/** Removes and returns the last element of the array. Returns [code]null[/code] if the array is empty, without printing an error message. */
pop_back(): T | null;
/** Removes and returns the first element of the array. Returns [code]null[/code] if the array is empty, without printing an error message. */
pop_front(): T | null;
/** Appends an element at the end of the array. */
push_back(value: T): void;
/** Adds an element at the beginning of the array. */
push_front(value: T): void;
/** Removes an element from the array by index. If the index does not exist in the array, nothing happens. */
remove(position: number): void;
/** Resizes the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are [code]null[/code]. */
resize(size: number): void;
/** Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array. */
rfind(what: T, from?: number): number;
/** Shuffles the array such that the items will have a random order. This method uses the global random number generator common to methods such as [method @GDScript.randi]. Call [method @GDScript.randomize] to ensure that a new seed will be used each time if you want non-reproducible shuffling. */
shuffle(): void;
/** Returns the number of elements in the array. */
size(): number;
/** Duplicates the subset described in the function and returns it in an array, deeply copying the array if [code]deep[/code] is [code]true[/code]. Lower and upper index are inclusive, with the [code]step[/code] describing the change between indices while slicing. */
slice(begin: number, end: number, step?: number, deep?: boolean): T[];
/** Sorts the array.
[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural order). This may lead to unexpected behavior when sorting an array of strings ending with a sequence of numbers. Consider the following example:
[codeblocks]
[gdscript]
var strings = ["string1", "string2", "string10", "string11"]
strings.sort()
print(strings) # Prints [string1, string10, string11, string2]
[/gdscript]
[csharp]
// There is no sort support for Godot.Collections.Array
[/csharp]
[/codeblocks] */
sort(): void;
/** Sorts the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return either [code]true[/code] or [code]false[/code].
[b]Note:[/b] you cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
[codeblocks]
[gdscript]
class MyCustomSorter:
static func sort_ascending(a, b):
if a[0] < b[0]:
return true
return false
var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]]
my_items.sort_custom(MyCustomSorter, "sort_ascending")
print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].
[/gdscript]
[csharp]
// There is no custom sort support for Godot.Collections.Array
[/csharp]
[/codeblocks] */
sort_custom(obj: Object, func: String): void;
/** Generic array which can contain several elements of any type, accessible by a numerical index starting at 0. Negative indices can be used to count from the back, like in Python (-1 is the last element, -2 the second to last, etc.).
[b]Example:[/b]
[codeblocks]
[gdscript]
var array = ["One", 2, 3, "Four"]
print(array[0]) # One.
print(array[2]) # 3.
print(array[-1]) # Four.
array[2] = "Three"
print(array[-2]) # Three.
[/gdscript]
[csharp]
var array = new Godot.Collections.Array{"One", 2, 3, "Four"};
GD.Print(array[0]); // One.
GD.Print(array[2]); // 3.
GD.Print(array[array.Count - 1]); // Four.
array[2] = "Three";
GD.Print(array[array.Count - 2]); // Three.
[/csharp]
[/codeblocks]
Arrays can be concatenated using the [code]+[/code] operator:
[codeblocks]
[gdscript]
var array1 = ["One", 2]
var array2 = [3, "Four"]
print(array1 + array2) # ["One", 2, 3, "Four"]
[/gdscript]
[csharp]
// Array concatenation is not possible with C# arrays, but is with Godot.Collections.Array.
var array1 = new Godot.Collections.Array("One", 2);
var array2 = new Godot.Collections.Array(3, "Four");
GD.Print(array1 + array2); // Prints [One, 2, 3, Four]
[/csharp]
[/codeblocks]
[b]Note:[/b] Arrays are always passed by reference. To get a copy of an array which can be modified independently of the original array, use [method duplicate]. */
// (from: PackedColorArray): this;
// (from: PackedVector3Array): this;
// (from: PackedVector2Array): this;
// (from: PackedStringArray): this;
// (from: PackedFloat64Array): this;
// (from: PackedFloat32Array): this;
// (from: PackedInt64Array): this;
// (from: PackedInt32Array): this;
// (from: PackedByteArray): this;
new(): this;
[n: number]: T;
[Symbol.iterator](): IterableIterator<T>;
}
/**
* Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are composed of pairs of keys (which must be unique) and values. Dictionaries will preserve the insertion order when adding elements, even though this may not be reflected when printing the dictionary. In other programming languages, this data structure is sometimes referred to as an hash map or associative array.
*
* You can define a dictionary by placing a comma-separated list of `key: value` pairs in curly braces `{}`.
*
* Erasing elements while iterating over them **is not supported** and will result in undefined behavior.
*
* **Note:** Dictionaries are always passed by reference. To get a copy of a dictionary which can be modified independently of the original dictionary, use [method duplicate].
*
* Creating a dictionary:
*
* @example
*
* var my_dir = {} # Creates an empty dictionary.
* var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
* var another_dir = {
* key1: value1,
* key2: value2,
* key3: value3,
* }
* @summary
*
*
* You can access a dictionary's values by referencing the appropriate key. In the above example, `points_dir["White"]` will return `50`. You can also write `points_dir.White`, which is equivalent. However, you'll have to use the bracket syntax if the key you're accessing the dictionary with isn't a fixed string (such as a number or variable).
*
* @example
*
* export(String, "White", "Yellow", "Orange") var my_color
* var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
* func _ready():
* # We can't use dot syntax here as `my_color` is a variable.
* var points = points_dir[my_color]
* @summary
*
*
* In the above code, `points` will be assigned the value that is paired with the appropriate color selected in `my_color`.
*
* Dictionaries can contain more complex data:
*
* @example
*
* my_dir = {"First Array": [1, 2, 3, 4]} # Assigns an Array to a String key.
* @summary
*
*
* To add a key to an existing dictionary, access it like an existing key and assign to it:
*
* @example
*
* var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
* points_dir["Blue"] = 150 # Add "Blue" as a key and assign 150 as its value.
* @summary
*
*
* Finally, dictionaries can contain different types of keys and values in the same dictionary:
*
* @example
*
* # This is a valid dictionary.
* # To access the string "Nested value" below, use `my_dir.sub_dir.sub_key` or `my_dir["sub_dir"]["sub_key"]`.
* # Indexing styles can be mixed and matched depending on your needs.
* var my_dir = {
* "String Key": 5,
* 4: [1, 2, 3],
* 7: "Hello",
* "sub_dir": {"sub_key": "Nested value"},
* }
* @summary
*
*
* **Note:** Unlike [Array]s, you can't compare dictionaries directly:
*
* @example
*
* array1 = [1, 2, 3]
* array2 = [1, 2, 3]
* func compare_arrays():
* print(array1 == array2) # Will print true.
* dir1 = {"a": 1, "b": 2, "c": 3}
* dir2 = {"a": 1, "b": 2, "c": 3}
* func compare_dictionaries():
* print(dir1 == dir2) # Will NOT print true.
* @summary
*
*
* You need to first calculate the dictionary's hash with [method hash] before you can compare them:
*
* @example
*
* dir1 = {"a": 1, "b": 2, "c": 3}
* dir2 = {"a": 1, "b": 2, "c": 3}
* func compare_dictionaries():
* print(dir1.hash() == dir2.hash()) # Will print true.
* @summary
*
*
*/
declare class Dictionary<K, V> {
/**
* Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are composed of pairs of keys (which must be unique) and values. Dictionaries will preserve the insertion order when adding elements, even though this may not be reflected when printing the dictionary. In other programming languages, this data structure is sometimes referred to as an hash map or associative array.
*
* You can define a dictionary by placing a comma-separated list of `key: value` pairs in curly braces `{}`.
*
* Erasing elements while iterating over them **is not supported** and will result in undefined behavior.
*
* **Note:** Dictionaries are always passed by reference. To get a copy of a dictionary which can be modified independently of the original dictionary, use [method duplicate].
*
* Creating a dictionary:
*
* @example
*
* var my_dir = {} # Creates an empty dictionary.
* var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
* var another_dir = {
* key1: value1,
* key2: value2,
* key3: value3,
* }
* @summary
*
*
* You can access a dictionary's values by referencing the appropriate key. In the above example, `points_dir["White"]` will return `50`. You can also write `points_dir.White`, which is equivalent. However, you'll have to use the bracket syntax if the key you're accessing the dictionary with isn't a fixed string (such as a number or variable).
*
* @example
*
* export(String, "White", "Yellow", "Orange") var my_color
* var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
* func _ready():
* # We can't use dot syntax here as `my_color` is a variable.
* var points = points_dir[my_color]
* @summary
*
*
* In the above code, `points` will be assigned the value that is paired with the appropriate color selected in `my_color`.
*
* Dictionaries can contain more complex data:
*
* @example
*
* my_dir = {"First Array": [1, 2, 3, 4]} # Assigns an Array to a String key.
* @summary
*
*
* To add a key to an existing dictionary, access it like an existing key and assign to it:
*
* @example
*
* var points_dir = {"White": 50, "Yellow": 75, "Orange": 100}
* points_dir["Blue"] = 150 # Add "Blue" as a key and assign 150 as its value.
* @summary
*
*
* Finally, dictionaries can contain different types of keys and values in the same dictionary:
*
* @example
*
* # This is a valid dictionary.
* # To access the string "Nested value" below, use `my_dir.sub_dir.sub_key` or `my_dir["sub_dir"]["sub_key"]`.
* # Indexing styles can be mixed and matched depending on your needs.
* var my_dir = {
* "String Key": 5,
* 4: [1, 2, 3],
* 7: "Hello",
* "sub_dir": {"sub_key": "Nested value"},
* }
* @summary
*
*
* **Note:** Unlike [Array]s, you can't compare dictionaries directly:
*
* @example
*
* array1 = [1, 2, 3]
* array2 = [1, 2, 3]
* func compare_arrays():
* print(array1 == array2) # Will print true.
* dir1 = {"a": 1, "b": 2, "c": 3}
* dir2 = {"a": 1, "b": 2, "c": 3}
* func compare_dictionaries():
* print(dir1 == dir2) # Will NOT print true.
* @summary
*
*
* You need to first calculate the dictionary's hash with [method hash] before you can compare them:
*
* @example
*
* dir1 = {"a": 1, "b": 2, "c": 3}
* dir2 = {"a": 1, "b": 2, "c": 3}
* func compare_dictionaries():
* print(dir1.hash() == dir2.hash()) # Will print true.
* @summary
*
*
*/
"new"(): Dictionary<K, V>;
/** Clear the dictionary, removing all key/value pairs. */
clear(): void;
/** Creates a copy of the dictionary, and returns it. The [code]deep[/code] parameter causes inner dictionaries and arrays to be copied recursively, but does not apply to objects. */
duplicate(deep?: boolean): Dictionary<K, V>;
/** Returns [code]true[/code] if the dictionary is empty. */
empty(): boolean;
/** Erase a dictionary key/value pair by key. Returns [code]true[/code] if the given key was present in the dictionary, [code]false[/code] otherwise. Does not erase elements while iterating over the dictionary. */
erase(key: K): boolean;
/** Returns the current value for the specified key in the [Dictionary]. If the key does not exist, the method returns the value of the optional default argument, or [code]null[/code] if it is omitted. */
get(key: K, _default?: K): V;
/**
* Returns `true` if the dictionary has a given key.
*
* **Note:** This is equivalent to using the `in` operator as follows:
*
* @example
*
* # Will evaluate to `true`.
* if "godot" in {"godot": "engine"}:
* pass
* @summary
*
*
* This method (like the `in` operator) will evaluate to `true` as long as the key exists, even if the associated value is `null`.
*
*/
has(key: K): boolean;
put(key: K, val: V): void;
/** Returns [code]true[/code] if the dictionary has all of the keys in the given array. */
has_all(keys: K[]): boolean;
/**
* Returns a hashed integer value representing the dictionary contents. This can be used to compare dictionaries by value:
*
* @example
*
* var dict1 = {0: 10}
* var dict2 = {0: 10}
* # The line below prints `true`, whereas it would have printed `false` if both variables were compared directly.
* print(dict1.hash() == dict2.hash())
* @summary
*
*
* **Note:** Dictionaries with the same keys/values but in a different order will have a different hash.
*
*/
hash(): int;
/** Returns the list of keys in the [Dictionary]. */
keys(): K[];
/** Returns the size of the dictionary (in pairs). */
size(): int;
/** Returns the list of values in the [Dictionary]. */
values(): V[];
/** Returns the list of key, value tuples in the [Dictionary]. */
entries(): [K, V][];
}
declare const todict: <K extends string | number | symbol, V>(obj: { [key in K]: V }) => Dictionary<K, V>;
declare class PackedScene<T> extends Resource {
/** A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.
Can be used to save a node to a file. When saving, the node as well as all the node it owns get saved (see [code]owner[/code] property on [Node]).
[b]Note:[/b] The node doesn't need to own itself.
[b]Example of loading a saved scene:[/b]
[codeblock]
# Use `load()` instead of `preload()` if the path isn't known at compile-time.
var scene = preload("res://scene.tscn").instance()
# Add the node as a child of the node the script is attached to.
add_child(scene)
[/codeblock]
[b]Example of saving a node with different owners:[/b] The following example creates 3 objects: [code]Node2D[/code] ([code]node[/code]), [code]RigidBody2D[/code] ([code]rigid[/code]) and [code]CollisionObject2D[/code] ([code]collision[/code]). [code]collision[/code] is a child of [code]rigid[/code] which is a child of [code]node[/code]. Only [code]rigid[/code] is owned by [code]node[/code] and [code]pack[/code] will therefore only save those two nodes, but not [code]collision[/code].
[codeblock]
# Create the objects.
var node = Node2D.new()
var rigid = RigidBody2D.new()
var collision = CollisionShape2D.new()
# Create the object hierarchy.
rigid.add_child(collision)
node.add_child(rigid)
# Change owner of `rigid`, but not of `collision`.
rigid.owner = node
var scene = PackedScene.new()
# Only `node` and `rigid` are now packed.
var result = scene.pack(node)
if result == OK:
var error = ResourceSaver.save("res://path/name.scn", scene) # Or "user://..."
if error != OK:
push_error("An error occurred while saving the scene to disk.")
[/codeblock] */
"new"(): PackedScene<T>
/** A dictionary representation of the scene contents.
Available keys include "rnames" and "variants" for resources, "node_count", "nodes", "node_paths" for nodes, "editable_instances" for base scene children overrides, "conn_count" and "conns" for signal connections, and "version" for the format style of the PackedScene. */
_bundled: Dictionary<any, any>;
/** Returns [code]true[/code] if the scene file has nodes. */
can_instance(): boolean;
/** Returns the [code]SceneState[/code] representing the scene file contents. */
get_state(): SceneState;
/** Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers a [constant Node.NOTIFICATION_INSTANCED] notification on the root node. */
instance(edit_state?: number): T;
/** Pack will ignore any sub-nodes not owned by given node. See [member Node.owner]. */
pack(path: Node): number;
/** If passed to [method instance], blocks edits to the scene state. */
static GEN_EDIT_STATE_DISABLED: 0;
/** If passed to [method instance], provides local scene resources to the local scene.
[b]Note:[/b] Only available in editor builds. */
static GEN_EDIT_STATE_INSTANCE: 1;
/** If passed to [method instance], provides local scene resources to the local scene. Only the main scene should receive the main edit state.
[b]Note:[/b] Only available in editor builds. */
static GEN_EDIT_STATE_MAIN: 2;
}
declare class Signal<T extends (...args: any[]) => any = () => void> {
/** This lets us yield* this signal. */
[Symbol.iterator](): Generator<T, ReturnType<T>, any>;
/** Connect a callback to this signal. */
connect(callback: T): void
/** Emit this signal. */
emit(...args: Parameters<T>): void;
}
================================================
FILE: _godot_defs/static/@global_functions.d.ts
================================================
/**
* Returns a color constructed from integer red, green, blue, and alpha channels. Each channel should have 8 bits of information ranging from 0 to 255.
*
* `r8` red channel
*
* `g8` green channel
*
* `b8` blue channel
*
* `a8` alpha channel
*
* @example
*
* red = Color8(255, 0, 0)
* @summary
*
*
*/
declare const Color8: (r8: int, g8: int, b8: int, a8?: int) => Color
/**
* Returns a color according to the standardized `name` with `alpha` ranging from 0 to 1.
*
* @example
*
* red = ColorN("red", 1)
* @summary
*
*
* Supported color names are the same as the constants defined in [Color].
*
*/
declare const ColorN: (name: string, alpha?: float) => Color
/**
* Returns the absolute value of parameter `s` (i.e. positive value).
*
* @example
*
* a = abs(-1) # a is 1
* @summary
*
*
*/
declare const abs: (s: float) => float
/**
* Returns the arc cosine of `s` in radians. Use to get the angle of cosine `s`. `s` must be between `-1.0` and `1.0` (inclusive), otherwise, [method acos] will return [constant NAN].
*
* @example
*
* # c is 0.523599 or 30 degrees if converted with rad2deg(s)
* c = acos(0.866025)
* @summary
*
*
*/
declare const acos: (s: float) => float
/**
* Returns the arc sine of `s` in radians. Use to get the angle of sine `s`. `s` must be between `-1.0` and `1.0` (inclusive), otherwise, [method asin] will return [constant NAN].
*
* @example
*
* # s is 0.523599 or 30 degrees if converted with rad2deg(s)
* s = asin(0.5)
* @summary
*
*
*/
declare const asin: (s: float) => float
/**
* Asserts that the `condition` is `true`. If the `condition` is `false`, an error is generated. When running from the editor, the running project will also be paused until you resume it. This can be used as a stronger form of [method push_error] for reporting errors to project developers or add-on users.
*
* **Note:** For performance reasons, the code inside [method assert] is only executed in debug builds or when running the project from the editor. Don't include code that has side effects in an [method assert] call. Otherwise, the project will behave differently when exported in release mode.
*
* The optional `message` argument, if given, is shown in addition to the generic "Assertion failed" message. You can use this to provide additional details about why the assertion failed.
*
* @example
*
* # Imagine we always want speed to be between 0 and 20.
* var speed = -10
* assert(speed < 20) # True, the program will continue
* assert(speed >= 0) # False, the program will stop
* assert(speed >= 0 and speed < 20) # You can also combine the two conditional statements in one check
* assert(speed < 20, "speed = %f, but the speed limit is 20" % speed) # Show a message with clarifying details
* @summary
*
*
*/
declare const assert: (condition: boolean, message?: string) => asserts condition
/**
* Returns the arc tangent of `s` in radians. Use it to get the angle from an angle's tangent in trigonometry: `atan(tan(angle)) == angle`.
*
* The method cannot know in which quadrant the angle should fall. See [method atan2] if you have both `y` and `x`.
*
* @example
*
* a = atan(0.5) # a is 0.463648
* @summary
*
*
*/
declare const atan: (s: float) => float
/**
* Returns the arc tangent of `y/x` in radians. Use to get the angle of tangent `y/x`. To compute the value, the method takes into account the sign of both arguments in order to determine the quadrant.
*
* Important note: The Y coordinate comes first, by convention.
*
* @example
*
* a = atan2(0, -1) # a is 3.141593
* @summary
*
*
*/
declare const atan2: (y: float, x: float) => float
/**
* Decodes a byte array back to a value. When `allow_objects` is `true` decoding objects is allowed.
*
* **WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
*
*/
declare const bytes2var: (bytes: PoolByteArray, allow_objects?: boolean) => any
/** Converts a 2D point expressed in the cartesian coordinate system (X and Y axis) to the polar coordinate system (a distance from the origin and an angle). */
declare const cartesian2polar: (x: float, y: float) => Vector2
/**
* Rounds `s` upward (towards positive infinity), returning the smallest whole number that is not less than `s`.
*
* @example
*
* a = ceil(1.45) # a is 2.0
* a = ceil(1.001) # a is 2.0
* @summary
*
*
* See also [method floor], [method round], [method stepify], and [int].
*
*/
declare const ceil: (s: float) => float
/**
* Returns a character as a String of the given Unicode code point (which is compatible with ASCII code).
*
* @example
*
* a = char(65) # a is "A"
* a = char(65 + 32) # a is "a"
* a = char(8364) # a is "€"
* @summary
*
*
* This is the inverse of [method ord].
*
*/
declare const char: (code: int) => string
/**
* Clamps `value` and returns a value not less than `min` and not more than `max`.
*
* @example
*
* a = clamp(1000, 1, 20) # a is 20
* a = clamp(-10, 1, 20) # a is 1
* a = clamp(15, 1, 20) # a is 15
* @summary
*
*
*/
declare const clamp: (value: float, min: float, max: float) => float
/**
* Converts from a type to another in the best way possible. The `type` parameter uses the [enum Variant.Type] values.
*
* @example
*
* a = Vector2(1, 0)
* # Prints 1
* print(a.length())
* a = convert(a, TYPE_STRING)
* # Prints 6 as "(1, 0)" is 6 characters
* print(a.length())
* @summary
*
*
*/
declare const convert: (what: any, type: int) => any
/**
* Returns the cosine of angle `s` in radians.
*
* @example
*
* a = cos(TAU) # a is 1.0
* a = cos(PI) # a is -1.0
* @summary
*
*
*/
declare const cos: (s: float) => float
/**
* Returns the hyperbolic cosine of `s` in radians.
*
* @example
*
* print(cosh(1)) # Prints 1.543081
* @summary
*
*
*/
declare const cosh: (s: float) => float
/** Converts from decibels to linear energy (audio). */
declare const db2linear: (db: float) => float
/** Deprecated alias for [method step_decimals]. */
declare const decimals: (step: float) => int
/**
* **Note:** `dectime` has been deprecated and will be removed in Godot 4.0, please use [method move_toward] instead.
*
* Returns the result of `value` decreased by `step` * `amount`.
*
* @example
*
* a = dectime(60, 10, 0.1)) # a is 59.0
* @summary
*
*
*/
declare const dectime: (value: float, amount: float, step: float) => float
/**
* Converts an angle expressed in degrees to radians.
*
* @example
*
* r = deg2rad(180) # r is 3.141593
* @summary
*
*
*/
declare const deg2rad: (deg: float) => float
/** Converts a dictionary (previously created with [method inst2dict]) back to an instance. Useful for deserializing. */
declare const dict2inst: (dict: Dictionary<any, any>) => Object
/**
* Returns an "eased" value of `x` based on an easing function defined with `curve`. This easing function is based on an exponent. The `curve` can be any floating-point number, with specific values leading to the following behaviors:
*
* @example
*
* - Lower than -1.0 (exclusive): Ease in-out
* - 1.0: Linear
* - Between -1.0 and 0.0 (exclusive): Ease out-in
* - 0.0: Constant
* - Between 0.0 to 1.0 (exclusive): Ease out
* - 1.0: Linear
* - Greater than 1.0 (exclusive): Ease in
* @summary
*
*
* [url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/ease_cheatsheet.png]ease() curve values cheatsheet[/url]
*
* See also [method smoothstep]. If you need to perform more advanced transitions, use [Tween] or [AnimationPlayer].
*
*/
declare const ease: (s: float, curve: float) => float
/**
* The natural exponential function. It raises the mathematical constant **e** to the power of `s` and returns it.
*
* **e** has an approximate value of 2.71828, and can be obtained with `exp(1)`.
*
* For exponents to other bases use the method [method pow].
*
* @example
*
* a = exp(2) # Approximately 7.39
* @summary
*
*
*/
declare const exp: (s: float) => float
/**
* Rounds `s` downward (towards negative infinity), returning the largest whole number that is not more than `s`.
*
* @example
*
* a = floor(2.45) # a is 2.0
* a = floor(2.99) # a is 2.0
* a = floor(-2.99) # a is -3.0
* @summary
*
*
* See also [method ceil], [method round], [method stepify], and [int].
*
* **Note:** This method returns a float. If you need an integer and `s` is a non-negative number, you can use `int(s)` directly.
*
*/
declare const floor: (s: float) => float
/**
* Returns the floating-point remainder of `a/b`, keeping the sign of `a`.
*
* @example
*
* r = fmod(7, 5.5) # r is 1.5
* @summary
*
*
* For the integer remainder operation, use the % operator.
*
*/
declare const fmod: (a: float, b: float) => float
/**
* Returns the floating-point modulus of `a/b` that wraps equally in positive and negative.
*
* @example
*
* for i in 7:
* var x = 0.5 * i - 1.5
* print("%4.1f %4.1f %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])
* @summary
*
*
* Produces:
*
* @example
*
* -1.5 -0.0 0.0
* -1.0 -1.0 0.5
* -0.5 -0.5 1.0
* 0.0 0.0 0.0
* 0.5 0.5 0.5
* 1.0 1.0 1.0
* 1.5 0.0 0.0
* @summary
*
*
*/
declare const fposmod: (a: float, b: float) => float
/**
* Returns a reference to the specified function `funcname` in the `instance` node. As functions aren't first-class objects in GDscript, use `funcref` to store a [FuncRef] in a variable and call it later.
*
* @example
*
* func foo():
* return("bar")
* a = funcref(self, "foo")
* print(a.call_func()) # Prints bar
* @summary
*
*
*/
declare const funcref: (instance: Object, funcname: string) => FuncRef
/**
* Returns an array of dictionaries representing the current call stack.
*
* @example
*
* func _ready():
* foo()
* func foo():
* bar()
* func bar():
* print(get_stack())
* @summary
*
*
* would print
*
* @example
*
* [{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]
* @summary
*
*
*/
declare const get_stack: () => any[]
/**
* Returns the integer hash of the variable passed.
*
* @example
*
* print(hash("a")) # Prints 177670
* @summary
*
*
*/
declare const hash: (_var: any) => int
/**
* Returns the passed instance converted to a dictionary (useful for serializing).
*
* @example
*
* var foo = "bar"
* func _ready():
* var d = inst2dict(self)
* print(d.keys())
* print(d.values())
* @summary
*
*
* Prints out:
*
* @example
*
* [@subpath, @path, foo]
* [, res://test.gd, bar]
* @summary
*
*
*/
declare const inst2dict: (inst: Object) => Dictionary<any, any>
/**
* Returns the Object that corresponds to `instance_id`. All Objects have a unique instance ID.
*
* @example
*
* var foo = "bar"
* func _ready():
* var id = get_instance_id()
* var inst = instance_from_id(id)
* print(inst.foo) # Prints bar
* @summary
*
*
*/
declare const instance_from_id: (instance_id: int) => Object
/**
* Returns a normalized value considering the given range. This is the opposite of [method lerp].
*
* @example
*
* var middle = lerp(20, 30, 0.75)
* # `middle` is now 27.5.
* # Now, we pretend to have forgotten the original ratio and want to get it back.
* var ratio = inverse_lerp(20, 30, 27.5)
* # `ratio` is now 0.75.
* @summary
*
*
*/
declare const inverse_lerp: (from: float, to: float, weight: float) => float
/**
* Returns `true` if `a` and `b` are approximately equal to each other.
*
* Here, approximately equal means that `a` and `b` are within a small internal epsilon of each other, which scales with the magnitude of the numbers.
*
* Infinity values of the same sign are considered equal.
*
*/
declare const is_equal_approx: (a: float, b: float) => boolean
/** Returns whether [code]s[/code] is an infinity value (either positive infinity or negative infinity). */
declare const is_inf: (s: float) => boolean
/** Returns whether [code]instance[/code] is a valid object (e.g. has not been deleted from memory). */
declare const is_instance_valid: (instance: Object) => boolean
/** Returns whether [code]s[/code] is a NaN ("Not a Number" or invalid) value. */
declare const is_nan: (s: float) => boolean
/**
* Returns `true` if `s` is zero or almost zero.
*
* This method is faster than using [method is_equal_approx] with one value as zero.
*
*/
declare const is_zero_approx: (s: float) => boolean
/**
* Returns length of Variant `var`. Length is the character count of String, element count of Array, size of Dictionary, etc.
*
* **Note:** Generates a fatal error if Variant can not provide a length.
*
* @example
*
* a = [1, 2, 3, 4]
* len(a) # Returns 4
* @summary
*
*
*/
declare const len: (_var: any) => int
/**
* Linearly interpolates between two values by a normalized value. This is the opposite of [method inverse_lerp].
*
* If the `from` and `to` arguments are of type [int] or [float], the return value is a [float].
*
* If both are of the same vector type ([Vector2], [Vector3] or [Color]), the return value will be of the same type (`lerp` then calls the vector type's `linear_interpolate` method).
*
* @example
*
* lerp(0, 4, 0.75) # Returns 3.0
* lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Returns Vector2(2, 3.5)
* @summary
*
*
*/
declare const lerp: (from: any, to: any, weight: float) => any
/**
* Linearly interpolates between two angles (in radians) by a normalized value.
*
* Similar to [method lerp], but interpolates correctly when the angles wrap around [constant @GDScript.TAU].
*
* @example
*
* extends Sprite
* var elapsed = 0.0
* func _process(delta):
* var min_angle = deg2rad(0.0)
* var max_angle = deg2rad(90.0)
* rotation = lerp_angle(min_angle, max_angle, elapsed)
* elapsed += delta
* @summary
*
*
*/
declare const lerp_angle: (from: float, to: float, weight: float) => float
/**
* Converts from linear energy to decibels (audio). This can be used to implement volume sliders that behave as expected (since volume isn't linear). Example:
*
* @example
*
* # "Slider" refers to a node that inherits Range such as HSlider or VSlider.
* # Its range must be configured to go from 0 to 1.
* # Change the bus name if you'd like to change the volume of a specific bus only.
* AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear2db($Slider.value))
* @summary
*
*
*/
declare const linear2db: (nrg: float) => float
/**
* Natural logarithm. The amount of time needed to reach a certain level of continuous growth.
*
* **Note:** This is not the same as the "log" function on most calculators, which uses a base 10 logarithm.
*
* @example
*
* log(10) # Returns 2.302585
* @summary
*
*
* **Note:** The logarithm of `0` returns `-inf`, while negative values return `-nan`.
*
*/
declare const log: (s: float) => float
/**
* Returns the maximum of two values.
*
* @example
*
* max(1, 2) # Returns 2
* max(-3.99, -4) # Returns -3.99
* @summary
*
*
*/
declare const max: (a: float, b: float) => float
/**
* Returns the minimum of two values.
*
* @example
*
* min(1, 2) # Returns 1
* min(-3.99, -4) # Returns -4
* @summary
*
*
*/
declare const min: (a: float, b: float) => float
/**
* Moves `from` toward `to` by the `delta` value.
*
* Use a negative `delta` value to move away.
*
* @example
*
* move_toward(5, 10, 4) # Returns 9
* move_toward(10, 5, 4) # Returns 6
* move_toward(10, 5, -1.5) # Returns 11.5
* @summary
*
*
*/
declare const move_toward: (from: float, to: float, delta: float) => float
/**
* Returns the nearest equal or larger power of 2 for integer `value`.
*
* In other words, returns the smallest value `a` where `a = pow(2, n)` such that `value <= a` for some non-negative integer `n`.
*
* @example
*
* nearest_po2(3) # Returns 4
* nearest_po2(4) # Returns 4
* nearest_po2(5) # Returns 8
* nearest_po2(0) # Returns 0 (this may not be what you expect)
* nearest_po2(-1) # Returns 0 (this may not be what you expect)
* @summary
*
*
* **WARNING:** Due to the way it is implemented, this function returns `0` rather than `1` for non-positive values of `value` (in reality, 1 is the smallest integer power of 2).
*
*/
declare const nearest_po2: (value: int) => int
/**
* Returns an integer representing the Unicode code point of the given Unicode character `char`.
*
* @example
*
* a = ord("A") # a is 65
* a = ord("a") # a is 97
* a = ord("€") # a is 8364
* @summary
*
*
* This is the inverse of [method char].
*
*/
declare const ord: (char: string) => int
/**
* Parse JSON text to a Variant. (Use [method typeof] to check if the Variant's type is what you expect.)
*
* **Note:** The JSON specification does not define integer or float types, but only a **number** type. Therefore, parsing a JSON text will convert all numerical values to [float] types.
*
* **Note:** JSON objects do not preserve key order like Godot dictionaries, thus, you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:
*
* @example
*
* var p = JSON.parse('["hello", "world", "!"]')
* if typeof(p.result) == TYPE_ARRAY:
* print(p.result[0]) # Prints "hello"
* else:
* push_error("Unexpected results.")
* @summary
*
*
* See also [JSON] for an alternative way to parse JSON text.
*
*/
declare const parse_json: (json: string) => any
/** Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (X and Y axis). */
declare const polar2cartesian: (r: float, th: float) => Vector2
/**
* Returns the integer modulus of `a/b` that wraps equally in positive and negative.
*
* @example
*
* for i in range(-3, 4):
* print("%2d %2d %2d" % [i, i % 3, posmod(i, 3)])
* @summary
*
*
* Produces:
*
* @example
*
* -3 0 0
* -2 -2 1
* -1 -1 2
* 0 0 0
* 1 1 1
* 2 2 2
* 3 0 0
* @summary
*
*
*/
declare const posmod: (a: int, b: int) => int
/**
* Returns the result of `base` raised to the power of `exp`.
*
* @example
*
* pow(2, 5) # Returns 32.0
* @summary
*
*
*/
declare const pow: (base: float, exp: float) => float
/** Like [method print], but prints only when used in debug mode. */
declare const print_debug: (...args: any[]) => void
/**
* Prints a stack track at code location, only works when running with debugger turned on.
*
* Output in the console would look something like this:
*
* @example
*
* Frame 0 - res://test.gd:16 in function '_process'
* @summary
*
*
*/
declare const print_stack: () => void
/**
* Prints one or more arguments to strings in the best way possible to standard error line.
*
* @example
*
* printerr("prints to stderr")
* @summary
*
*
*/
declare const printerr: (...args: any[]) => void
/**
* Prints one or more arguments to strings in the best way possible to console. No newline is added at the end.
*
* @example
*
* printraw("A")
* printraw("B")
* # Prints AB
* @summary
*
*
* **Note:** Due to limitations with Godot's built-in console, this only prints to the terminal. If you need to print in the editor, use another method, such as [method print].
*
*/
declare const printraw: (...args: any[]) => void
/**
* Prints one or more arguments to the console with a space between each argument.
*
* @example
*
* prints("A", "B", "C") # Prints A B C
* @summary
*
*
*/
declare const prints: (...args: any[]) => void
/**
* Prints one or more arguments to the console with a tab between each argument.
*
* @example
*
* printt("A", "B", "C") # Prints A B C
* @summary
*
*
*/
declare const printt: (...args: any[]) => void
/**
* Pushes an error message to Godot's built-in debugger and to the OS terminal.
*
* @example
*
* push_error("test error") # Prints "test error" to debugger and terminal as error call
* @summary
*
*
* **Note:** Errors printed this way will not pause project execution. To print an error message and pause project execution in debug builds, use `assert(false, "test error")` instead.
*
*/
declare const push_error: (message: string) => void
/**
* Pushes a warning message to Godot's built-in debugger and to the OS terminal.
*
* @example
*
* push_warning("test warning") # Prints "test warning" to debugger and terminal as warning call
* @summary
*
*
*/
declare const push_warning: (message: string) => void
/**
* Converts an angle expressed in radians to degrees.
*
* @example
*
* rad2deg(0.523599) # Returns 30.0
* @summary
*
*
*/
declare const rad2deg: (rad: float) => float
/**
* Random range, any floating point value between `from` and `to`.
*
* @example
*
* prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263
* @summary
*
*
*/
declare const rand_range: (from: float, to: float) => float
/** Random from seed: pass a [code]seed[/code], and an array with both number and new seed is returned. "Seed" here refers to the internal state of the pseudo random number generator. The internal state of the current implementation is 64 bits. */
declare const rand_seed: (seed: int) => any[]
/**
* Returns a random floating point value on the interval `[0, 1]`.
*
* @example
*
* randf() # Returns e.g. 0.375671
* @summary
*
*
*/
declare const randf: () => float
/**
* Returns a random unsigned 32-bit integer. Use remainder to obtain a random value in the interval `[0, N - 1]` (where N is smaller than 2^32).
*
* @example
*
* randi() # Returns random integer between 0 and 2^32 - 1
* randi() % 20 # Returns random integer between 0 and 19
* randi() % 100 # Returns random integer between 0 and 99
* randi() % 100 + 1 # Returns random integer between 1 and 100
* @summary
*
*
*/
declare const randi: () => int
/**
* Randomizes the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time.
*
* @example
*
* func _ready():
* randomize()
* @summary
*
*
*/
declare const randomize: () => void
/**
* Returns an array with the given range. Range can be 1 argument `N` (0 to `N` - 1), two arguments (`initial`, `final - 1`) or three arguments (`initial`, `final - 1`, `increment`). Returns an empty array if the range isn't valid (e.g. `range(2, 5, -1)` or `range(5, 5, 1)`).
*
* Returns an array with the given range. `range()` can have 1 argument N (`0` to `N - 1`), two arguments (`initial`, `final - 1`) or three arguments (`initial`, `final - 1`, `increment`). `increment` can be negative. If `increment` is negative, `final - 1` will become `final + 1`. Also, the initial value must be greater than the final value for the loop to run.
*
* @example
*
* print(range(4))
* print(range(2, 5))
* print(range(0, 6, 2))
* @summary
*
*
* Output:
*
* @example
*
* [0, 1, 2, 3]
* [2, 3, 4]
* [0, 2, 4]
* @summary
*
*
* To iterate over an [Array] backwards, use:
*
* @example
*
* var array = [3, 6, 9]
* var i := array.size() - 1
* while i >= 0:
* print(array**)
* i -= 1
* @summary
*
*
* Output:
*
* @example
*
* 9
* 6
* 3
* @summary
*
*
*/
declare const range: (...args: any[]) => any[]
/**
* Maps a `value` from range `[istart, istop]` to `[ostart, ostop]`.
*
* @example
*
* range_lerp(75, 0, 100, -1, 1) # Returns 0.5
* @summary
*
*
*/
declare const range_lerp: (value: float, istart: float, istop: float, ostart: float, ostop: float) => float
/**
* Rounds `s` to the nearest whole number, with halfway cases rounded away from zero.
*
* @example
*
* a = round(2.49) # a is 2.0
* a = round(2.5) # a is 3.0
* a = round(2.51) # a is 3.0
* @summary
*
*
* See also [method floor], [method ceil], [method stepify], and [int].
*
*/
declare const round: (s: float) => float
/**
* Sets seed for the random number generator.
*
* @example
*
* my_seed = "Godot Rocks"
* seed(my_seed.hash())
* @summary
*
*
*/
declare const seed: (seed: int) => void
/**
* Returns the sign of `s`: -1 or 1. Returns 0 if `s` is 0.
*
* @example
*
* sign(-6) # Returns -1
* sign(0) # Returns 0
* sign(6) # Returns 1
* @summary
*
*
*/
declare const sign: (s: float) => float
/**
* Returns the sine of angle `s` in radians.
*
* @example
*
* sin(0.523599) # Returns 0.5
* @summary
*
*
*/
declare const sin: (s: float) => float
/**
* Returns the hyperbolic sine of `s`.
*
* @example
*
* a = log(2.0) # Returns 0.693147
* sinh(a) # Returns 0.75
* @summary
*
*
*/
declare const sinh: (s: float) => float
/**
* Returns the result of smoothly interpolating the value of `s` between `0` and `1`, based on the where `s` lies with respect to the edges `from` and `to`.
*
* The return value is `0` if `s <= from`, and `1` if `s >= to`. If `s` lies between `from` and `to`, the returned value follows an S-shaped curve that maps `s` between `0` and `1`.
*
* This S-shaped curve is the cubic Hermite interpolator, given by `f(y) = 3*y^2 - 2*y^3` where `y = (x-from) / (to-from)`.
*
* @example
*
* smoothstep(0, 2, -5.0) # Returns 0.0
* smoothstep(0, 2, 0.5) # Returns 0.15625
* smoothstep(0, 2, 1.0) # Returns 0.5
* smoothstep(0, 2, 2.0) # Returns 1.0
* @summary
*
*
* Compared to [method ease] with a curve value of `-1.6521`, [method smoothstep] returns the smoothest possible curve with no sudden changes in the derivative. If you need to perform more advanced transitions, use [Tween] or [AnimationPlayer].
*
* [url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, -1.6521) return values[/url]
*
*/
declare const smoothstep: (from: float, to: float, s: float) => float
/**
* Returns the square root of `s`, where `s` is a non-negative number.
*
* @example
*
* sqrt(9) # Returns 3
* @summary
*
*
* **Note:** Negative values of `s` return NaN. If you need negative inputs, use `System.Numerics.Complex` in C#.
*
*/
declare const sqrt: (s: float) => float
/**
* Returns the position of the first non-zero digit, after the decimal point. Note that the maximum return value is 10, which is a design decision in the implementation.
*
* @example
*
* n = step_decimals(5) # n is 0
* n = step_decimals(1.0005) # n is 4
* n = step_decimals(0.000000005) # n is 9
* @summary
*
*
*/
declare const step_decimals: (step: float) => int
/**
* Snaps float value `s` to a given `step`. This can also be used to round a floating point number to an arbitrary number of decimals.
*
* @example
*
* stepify(100, 32) # Returns 96.0
* stepify(3.14159, 0.01) # Returns 3.14
* @summary
*
*
* See also [method ceil], [method floor], [method round], and [int].
*
*/
declare const stepify: (s: float, step: float) => float
/**
* Converts one or more arguments of any type to string in the best way possible.
*
* @example
*
* var a = [10, 20, 30]
* var b = str(a);
* len(a) # Returns 3
* len(b) # Returns 12
* @summary
*
*
*/
declare const str: (...args: any[]) => string
/**
* Converts a formatted string that was returned by [method var2str] to the original value.
*
* @example
*
* a = '{ "a": 1, "b": 2 }'
* b = str2var(a)
* print(b["a"]) # Prints 1
* @summary
*
*
*/
declare const str2var: (string: string) => any
/**
* Returns the tangent of angle `s` in radians.
*
* @example
*
* tan(deg2rad(45)) # Returns 1
* @summary
*
*
*/
declare const tan: (s: float) => float
/**
* Returns the hyperbolic tangent of `s`.
*
* @example
*
* a = log(2.0) # a is 0.693147
* b = tanh(a) # b is 0.6
* @summary
*
*
*/
declare const tanh: (s: float) => float
/**
* Converts a [Variant] `var` to JSON text and return the result. Useful for serializing data to store or send over the network.
*
* @example
*
* # Both numbers below are integers.
* a = { "a": 1, "b": 2 }
* b = to_json(a)
* print(b) # {"a":1, "b":2}
* # Both numbers above are floats, even if they display without any decimal places.
* @summary
*
*
* **Note:** The JSON specification does not define integer or float types, but only a **number** type. Therefore, converting a [Variant] to JSON text will convert all numerical values to [float] types.
*
* See also [JSON] for an alternative way to convert a [Variant] to JSON text.
*
*/
declare const to_json: (_var: any) => string
/**
* Returns whether the given class exists in [ClassDB].
*
* @example
*
* type_exists("Sprite") # Returns true
* type_exists("Variant") # Returns false
* @summary
*
*
*/
declare const type_exists: (type: string) => boolean
/**
* Checks that `json` is valid JSON data. Returns an empty string if valid, or an error message otherwise.
*
* @example
*
* j = to_json([1, 2, 3])
* v = validate_json(j)
* if not v:
* print("Valid JSON.")
* else:
* push_error("Invalid JSON: " + v)
* @summary
*
*
*/
declare const validate_json: (json: string) => string
/** Encodes a variable value to a byte array. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code). */
declare const var2bytes: (_var: any, full_objects?: boolean) => PoolByteArray
/**
* Converts a Variant `var` to a formatted string that can later be parsed using [method str2var].
*
* @example
*
* a = { "a": 1, "b": 2 }
* print(var2str(a))
* @summary
*
*
* prints
*
* @example
*
* {
* "a": 1,
* "b": 2
* }
* @summary
*
*
*/
declare const var2str: (_var: any) => string
/**
* Returns a weak reference to an object.
*
* A weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection is free to destroy the referent and reuse its memory for something else. However, until the object is actually destroyed the weak reference may return the object even if there are no strong references to it.
*
*/
declare const weakref: (obj: Object) => WeakRef
/**
* Wraps float `value` between `min` and `max`.
*
* Usable for creating loop-alike behavior or infinite surfaces.
*
* @example
*
* # Infinite loop between 5.0 and 9.9
* value = wrapf(value + 0.1, 5.0, 10.0)
* @summary
*
*
* @example
*
* # Infinite rotation (in radians)
* angle = wrapf(angle + 0.1, 0.0, TAU)
* @summary
*
*
* @example
*
* # Infinite rotation (in radians)
* angle = wrapf(angle + 0.1, -PI, PI)
* @summary
*
*
* **Note:** If `min` is `0`, this is equivalent to [method fposmod], so prefer using that instead.
*
* `wrapf` is more flexible than using the [method fposmod] approach by giving the user control over the minimum value.
*
*/
declare const wrapf: (value: float, min: float, max: float) => float
/**
* Wraps integer `value` between `min` and `max`.
*
* Usable for creating loop-alike behavior or infinite surfaces.
*
* @example
*
* # Infinite loop between 5 and 9
* frame = wrapi(frame + 1, 5, 10)
* @summary
*
*
* @example
*
* # result is -2
* var result = wrapi(-6, -5, -1)
* @summary
*
*
* **Note:** If `min` is `0`, this is equivalent to [method posmod], so prefer using that instead.
*
* `wrapi` is more flexible than using the [method posmod] approach by giving the user control over the minimum value.
*
*/
declare const wrapi: (value: int, min: int, max: int) => int
================================================
FILE: _godot_defs/static/@globals.d.ts
================================================
declare const load: <T extends AssetPath>(path: T) => AssetType[T];
declare const preload: <T extends AssetPath>(path: T) => AssetType[T];
declare function remotesync(target: any, key: string, descriptor: any): any
declare function remote(target: any, key: string, descriptor: any): any
/** The [ARVRServer] singleton. */
declare const ARVRServer: ARVRServerClass;
/** The [AudioServer] singleton. */
declare const AudioServer: AudioServerClass;
/** The [CameraServer] singleton. */
declare const CameraServer: CameraServerClass;
/** The [ClassDB] singleton. */
declare const ClassDB: ClassDBClass;
/** The [Engine] singleton. */
declare const Engine: EngineClass;
/** The [Geometry] singleton. */
declare const Geometry: GeometryClass;
/** The [IP] singleton. */
declare const IP: IPClass;
/** The [Input] singleton. */
declare const Input: InputClass;
/** The [InputMap] singleton. */
declare const InputMap: InputMapClass;
/** The [JSON] singleton. */
declare const JSON: JSONClass;
/**
* The [JavaClassWrapper] singleton.
*
* **Note:** Only implemented on Android.
*
*/
declare const JavaClassWrapper: JavaClassWrapperClass;
/**
* The [JavaScript] singleton.
*
* **Note:** Only implemented on HTML5.
*
*/
declare const JavaScript: JavaScriptClass;
/** The [Marshalls] singleton. */
declare const Marshalls: MarshallsClass;
/** The [EditorNavigationMeshGenerator] singleton. */
//declare const NavigationMeshGenerator: EditorNavigationMeshGeneratorClass;
/** The [OS] singleton. */
declare const OS: OSClass;
/** The [Performance] singleton. */
declare const Performance: PerformanceClass;
/** The [Physics2DServer] singleton. */
declare const Physics2DServer: Physics2DServerClass;
/** The [PhysicsServer] singleton. */
declare const PhysicsServer: PhysicsServerClass;
/** The [ProjectSettings] singleton. */
declare const ProjectSettings: ProjectSettingsClass;
/** The [ResourceLoader] singleton. */
declare const ResourceLoader: ResourceLoaderClass;
/** The [ResourceSaver] singleton. */
declare const ResourceSaver: ResourceSaverClass;
/** The [TranslationServer] singleton. */
declare const TranslationServer: TranslationServerClass;
/** The [VisualScriptEditor] singleton. */
//declare const VisualScriptEditor: VisualScriptEditorClass;
/** The [VisualServer] singleton. */
declare const VisualServer: VisualServerClass;
declare enum Margin {
/**
* Left margin, usually used for [Control] or [StyleBox]-derived classes.
*
*/
MARGIN_LEFT = 0,
/**
* Top margin, usually used for [Control] or [StyleBox]-derived classes.
*
*/
MARGIN_TOP = 1,
/**
* Right margin, usually used for [Control] or [StyleBox]-derived classes.
*
*/
MARGIN_RIGHT = 2,
/**
* Bottom margin, usually used for [Control] or [StyleBox]-derived classes.
*
*/
MARGIN_BOTTOM = 3
}
declare enum Corner {
/**
* Top-left corner.
*
*/
CORNER_TOP_LEFT = 0,
/**
* Top-right corner.
*
*/
CORNER_TOP_RIGHT = 1,
/**
* Bottom-right corner.
*
*/
CORNER_BOTTOM_RIGHT = 2,
/**
* Bottom-left corner.
*
*/
CORNER_BOTTOM_LEFT = 3
}
declare enum Orientation {
/**
* General vertical alignment, usually used for [Separator], [ScrollBar], [Slider], etc.
*
*/
VERTICAL = 1,
/**
* General horizontal alignment, usually used for [Separator], [ScrollBar], [Slider], etc.
*
*/
HORIZONTAL = 0
}
declare enum HAlign {
/**
* Horizontal left alignment, usually for text-derived classes.
*
*/
HALIGN_LEFT = 0,
/**
* Horizontal center alignment, usually for text-derived classes.
*
*/
HALIGN_CENTER = 1,
/**
* Horizontal right alignment, usually for text-derived classes.
*
*/
HALIGN_RIGHT = 2
}
declare enum VAlign {
/**
* Vertical top alignment, usually for text-derived classes.
*
*/
VALIGN_TOP = 0,
/**
* Vertical center alignment, usually for text-derived classes.
*
*/
VALIGN_CENTER = 1,
/**
* Vertical bottom alignment, usually for text-derived classes.
*
*/
VALIGN_BOTTOM = 2
}
declare enum KeyList {
/**
* Escape key.
*
*/
KEY_ESCAPE = 16777217,
/**
* Tab key.
*
*/
KEY_TAB = 16777218,
/**
* Shift+Tab key.
*
*/
KEY_BACKTAB = 16777219,
/**
* Backspace key.
*
*/
KEY_BACKSPACE = 16777220,
/**
* Return key (on the main keyboard).
*
*/
KEY_ENTER = 16777221,
/**
* Enter key on the numeric keypad.
*
*/
KEY_KP_ENTER = 16777222,
/**
* Insert key.
*
*/
KEY_INSERT = 16777223,
/**
* Delete key.
*
*/
KEY_DELETE = 16777224,
/**
* Pause key.
*
*/
KEY_PAUSE = 16777225,
/**
* Print Screen key.
*
*/
KEY_PRINT = 16777226,
/**
* System Request key.
*
*/
KEY_SYSREQ = 16777227,
/**
* Clear key.
*
*/
KEY_CLEAR = 16777228,
/**
* Home key.
*
*/
KEY_HOME = 16777229,
/**
* End key.
*
*/
KEY_END = 16777230,
/**
* Left arrow key.
*
*/
KEY_LEFT = 16777231,
/**
* Up arrow key.
*
*/
KEY_UP = 16777232,
/**
* Right arrow key.
*
*/
KEY_RIGHT = 16777233,
/**
* Down arrow key.
*
*/
KEY_DOWN = 16777234,
/**
* Page Up key.
*
*/
KEY_PAGEUP = 16777235,
/**
* Page Down key.
*
*/
KEY_PAGEDOWN = 16777236,
/**
* Shift key.
*
*/
KEY_SHIFT = 16777237,
/**
* Control key.
*
*/
KEY_CONTROL = 16777238,
/**
* Meta key.
*
*/
KEY_META = 16777239,
/**
* Alt key.
*
*/
KEY_ALT = 16777240,
/**
* Caps Lock key.
*
*/
KEY_CAPSLOCK = 16777241,
/**
* Num Lock key.
*
*/
KEY_NUMLOCK = 16777242,
/**
* Scroll Lock key.
*
*/
KEY_SCROLLLOCK = 16777243,
/**
* F1 key.
*
*/
KEY_F1 = 16777244,
/**
* F2 key.
*
*/
KEY_F2 = 16777245,
/**
* F3 key.
*
*/
KEY_F3 = 16777246,
/**
* F4 key.
*
*/
KEY_F4 = 16777247,
/**
* F5 key.
*
*/
KEY_F5 = 16777248,
/**
* F6 key.
*
*/
KEY_F6 = 16777249,
/**
* F7 key.
*
*/
KEY_F7 = 16777250,
/**
* F8 key.
*
*/
KEY_F8 = 16777251,
/**
* F9 key.
*
*/
KEY_F9 = 16777252,
/**
* F10 key.
*
*/
KEY_F10 = 16777253,
/**
* F11 key.
*
*/
KEY_F11 = 16777254,
/**
* F12 key.
*
*/
KEY_F12 = 16777255,
/**
* F13 key.
*
*/
KEY_F13 = 16777256,
/**
* F14 key.
*
*/
KEY_F14 = 16777257,
/**
* F15 key.
*
*/
KEY_F15 = 16777258,
/**
* F16 key.
*
*/
KEY_F16 = 16777259,
/**
* Multiply (*) key on the numeric keypad.
*
*/
KEY_KP_MULTIPLY = 16777345,
/**
* Divide (/) key on the numeric keypad.
*
*/
KEY_KP_DIVIDE = 16777346,
/**
* Subtract (-) key on the numeric keypad.
*
*/
KEY_KP_SUBTRACT = 16777347,
/**
* Period (.) key on the numeric keypad.
*
*/
KEY_KP_PERIOD = 16777348,
/**
* Add (+) key on the numeric keypad.
*
*/
KEY_KP_ADD = 16777349,
/**
* Number 0 on the numeric keypad.
*
*/
KEY_KP_0 = 16777350,
/**
* Number 1 on the numeric keypad.
*
*/
KEY_KP_1 = 16777351,
/**
* Number 2 on the numeric keypad.
*
*/
KEY_KP_2 = 16777352,
/**
* Number 3 on the numeric keypad.
*
*/
KEY_KP_3 = 16777353,
/**
* Number 4 on the numeric keypad.
*
*/
KEY_KP_4 = 16777354,
/**
* Number 5 on the numeric keypad.
*
*/
KEY_KP_5 = 16777355,
/**
* Number 6 on the numeric keypad.
*
*/
KEY_KP_6 = 16777356,
/**
* Number 7 on the numeric keypad.
*
*/
KEY_KP_7 = 16777357,
/**
* Number 8 on the numeric keypad.
*
*/
KEY_KP_8 = 16777358,
/**
* Number 9 on the numeric keypad.
*
*/
KEY_KP_9 = 16777359,
/**
* Left Super key (Windows key).
*
*/
KEY_SUPER_L = 16777260,
/**
* Right Super key (Windows key).
*
*/
KEY_SUPER_R = 16777261,
/**
* Context menu key.
*
*/
KEY_MENU = 16777262,
/**
* Left Hyper key.
*
*/
KEY_HYPER_L = 16777263,
/**
* Right Hyper key.
*
*/
KEY_HYPER_R = 16777264,
/**
* Help key.
*
*/
KEY_HELP = 16777265,
/**
* Left Direction key.
*
*/
KEY_DIRECTION_L = 16777266,
/**
* Right Direction key.
*
*/
KEY_DIRECTION_R = 16777267,
/**
* Media back key. Not to be confused with the Back button on an Android device.
*
*/
KEY_BACK = 16777280,
/**
* Media forward key.
*
*/
KEY_FORWARD = 16777281,
/**
* Media stop key.
*
*/
KEY_STOP = 16777282,
/**
* Media refresh key.
*
*/
KEY_REFRESH = 16777283,
/**
* Volume down key.
*
*/
KEY_VOLUMEDOWN = 16777284,
/**
* Mute volume key.
*
*/
KEY_VOLUMEMUTE = 16777285,
/**
* Volume up key.
*
*/
KEY_VOLUMEUP = 16777286,
/**
* Bass Boost key.
*
*/
KEY_BASSBOOST = 16777287,
/**
* Bass up key.
*
*/
KEY_BASSUP = 16777288,
/**
* Bass down key.
*
*/
KEY_BASSDOWN = 16777289,
/**
* Treble up key.
*
*/
KEY_TREBLEUP = 16777290,
/**
* Treble down key.
*
*/
KEY_TREBLEDOWN = 16777291,
/**
* Media play key.
*
*/
KEY_MEDIAPLAY = 16777292,
/**
* Media stop key.
*
*/
KEY_MEDIASTOP = 16777293,
/**
* Previous song key.
*
*/
KEY_MEDIAPREVIOUS = 16777294,
/**
* Next song key.
*
*/
KEY_MEDIANEXT = 16777295,
/**
* Media record key.
*
*/
KEY_MEDIARECORD = 16777296,
/**
* Home page key.
*
*/
KEY_HOMEPAGE = 16777297,
/**
* Favorites key.
*
*/
KEY_FAVORITES = 16777298,
/**
* Search key.
*
*/
KEY_SEARCH = 16777299,
/**
* Standby key.
*
*/
KEY_STANDBY = 16777300,
/**
* Open URL / Launch Browser key.
*
*/
KEY_OPENURL = 16777301,
/**
* Launch Mail key.
*
*/
KEY_LAUNCHMAIL = 16777302,
/**
* Launch Media key.
*
*/
KEY_LAUNCHMEDIA = 16777303,
/**
* Launch Shortcut 0 key.
*
*/
KEY_LAUNCH0 = 16777304,
/**
* Launch Shortcut 1 key.
*
*/
KEY_LAUNCH1 = 16777305,
/**
* Launch Shortcut 2 key.
*
*/
KEY_LAUNCH2 = 16777306,
/**
* Launch Shortcut 3 key.
*
*/
KEY_LAUNCH3 = 16777307,
/**
* Launch Shortcut 4 key.
*
*/
KEY_LAUNCH4 = 16777308,
/**
* Launch Shortcut 5 key.
*
*/
KEY_LAUNCH5 = 16777309,
/**
* Launch Shortcut 6 key.
*
*/
KEY_LAUNCH6 = 16777310,
/**
* Launch Shortcut 7 key.
*
*/
KEY_LAUNCH7 = 16777311,
/**
* Launch Shortcut 8 key.
*
*/
KEY_LAUNCH8 = 16777312,
/**
* Launch Shortcut 9 key.
*
*/
KEY_LAUNCH9 = 16777313,
/**
* Launch Shortcut A key.
*
*/
KEY_LAUNCHA = 16777314,
/**
* Launch Shortcut B key.
*
*/
KEY_LAUNCHB = 16777315,
/**
* Launch Shortcut C key.
*
*/
KEY_LAUNCHC = 16777316,
/**
* Launch Shortcut D key.
*
*/
KEY_LAUNCHD = 16777317,
/**
* Launch Shortcut E key.
*
*/
KEY_LAUNCHE = 16777318,
/**
* Launch Shortcut F key.
*
*/
KEY_LAUNCHF = 16777319,
/**
* Unknown key.
*
*/
KEY_UNKNOWN = 33554431,
/**
* Space key.
*
*/
KEY_SPACE = 32,
/**
* ! key.
*
*/
KEY_EXCLAM = 33,
/**
* " key.
*
*/
KEY_QUOTEDBL = 34,
/**
* # key.
*
*/
KEY_NUMBERSIGN = 35,
/**
* $ key.
*
*/
KEY_DOLLAR = 36,
/**
* % key.
*
*/
KEY_PERCENT = 37,
/**
* & key.
*
*/
KEY_AMPERSAND = 38,
/**
* ' key.
*
*/
KEY_APOSTROPHE = 39,
/**
* ( key.
*
*/
KEY_PARENLEFT = 40,
/**
* ) key.
*
*/
KEY_PARENRIGHT = 41,
/**
* * key.
*
*/
KEY_ASTERISK = 42,
/**
* + key.
*
*/
KEY_PLUS = 43,
/**
* , key.
*
*/
KEY_COMMA = 44,
/**
* - key.
*
*/
KEY_MINUS = 45,
/**
* . key.
*
*/
KEY_PERIOD = 46,
/**
* / key.
*
*/
KEY_SLASH = 47,
/**
* Number 0.
*
*/
KEY_0 = 48,
/**
* Number 1.
*
*/
KEY_1 = 49,
/**
* Number 2.
*
*/
KEY_2 = 50,
/**
* Number 3.
*
*/
KEY_3 = 51,
/**
* Number 4.
*
*/
KEY_4 = 52,
/**
* Number 5.
*
*/
KEY_5 = 53,
/**
* Number 6.
*
*/
KEY_6 = 54,
/**
* Number 7.
*
*/
KEY_7 = 55,
/**
* Number 8.
*
*/
KEY_8 = 56,
/**
* Number 9.
*
*/
KEY_9 = 57,
/**
* : key.
*
*/
KEY_COLON = 58,
/**
* ; key.
*
*/
KEY_SEMICOLON = 59,
/**
* < key.
*
*/
KEY_LESS = 60,
/**
* = key.
*
*/
KEY_EQUAL = 61,
/**
* > key.
*
*/
KEY_GREATER = 62,
/**
* ? key.
*
*/
KEY_QUESTION = 63,
/**
* @ key.
*
*/
KEY_AT = 64,
/**
* A key.
*
*/
KEY_A = 65,
/**
* B key.
*
*/
KEY_B = 66,
/**
* C key.
*
*/
KEY_C = 67,
/**
* D key.
*
*/
KEY_D = 68,
/**
* E key.
*
*/
KEY_E = 69,
/**
* F key.
*
*/
KEY_F = 70,
/**
* G key.
*
*/
KEY_G = 71,
/**
* H key.
*
*/
KEY_H = 72,
/**
* I key.
*
*/
KEY_I = 73,
/**
* J key.
*
*/
KEY_J = 74,
/**
* K key.
*
*/
KEY_K = 75,
/**
* L key.
*
*/
KEY_L = 76,
/**
* M key.
*
*/
KEY_M = 77,
/**
* N key.
*
*/
KEY_N = 78,
/**
* O key.
*
*/
KEY_O = 79,
/**
* P key.
*
*/
KEY_P = 80,
/**
* Q key.
*
*/
KEY_Q = 81,
/**
* R key.
*
*/
KEY_R = 82,
/**
* S key.
*
*/
KEY_S = 83,
/**
* T key.
*
*/
KEY_T = 84,
/**
* U key.
*
*/
KEY_U = 85,
/**
* V key.
*
*/
KEY_V = 86,
/**
* W key.
*
*/
KEY_W = 87,
/**
* X key.
*
*/
KEY_X = 88,
/**
* Y key.
*
*/
KEY_Y = 89,
/**
* Z key.
*
*/
KEY_Z = 90,
/**
* [ key.
*
*/
KEY_BRACKETLEFT = 91,
/**
* \ key.
*
*/
KEY_BACKSLASH = 92,
/**
* ] key.
*
*/
KEY_BRACKETRIGHT = 93,
/**
* ^ key.
*
*/
KEY_ASCIICIRCUM = 94,
/**
* _ key.
*
*/
KEY_UNDERSCORE = 95,
/**
* ` key.
*
*/
KEY_QUOTELEFT = 96,
/**
* { key.
*
*/
KEY_BRACELEFT = 123,
/**
* | key.
*
*/
KEY_BAR = 124,
/**
* } key.
*
*/
KEY_BRACERIGHT = 125,
/**
* ~ key.
*
*/
KEY_ASCIITILDE = 126,
/**
* Non-breakable space key.
*
*/
KEY_NOBREAKSPACE = 160,
/**
* ¡ key.
*
*/
KEY_EXCLAMDOWN = 161,
/**
* ¢ key.
*
*/
KEY_CENT = 162,
/**
* £ key.
*
*/
KEY_STERLING = 163,
/**
* ¤ key.
*
*/
KEY_CURRENCY = 164,
/**
* ¥ key.
*
*/
KEY_YEN = 165,
/**
* ¦ key.
*
*/
KEY_BROKENBAR = 166,
/**
* § key.
*
*/
KEY_SECTION = 167,
/**
* ¨ key.
*
*/
KEY_DIAERESIS = 168,
/**
* © key.
*
*/
KEY_COPYRIGHT = 169,
/**
* ª key.
*
*/
KEY_ORDFEMININE = 170,
/**
* « key.
*
*/
KEY_GUILLEMOTLEFT = 171,
/**
* ¬ key.
*
*/
KEY_NOTSIGN = 172,
/**
* Soft hyphen key.
*
*/
KEY_HYPHEN = 173,
/**
* ® key.
*
*/
KEY_REGISTERED = 174,
/**
* ¯ key.
*
*/
KEY_MACRON = 175,
/**
* ° key.
*
*/
KEY_DEGREE = 176,
/**
* ± key.
*
*/
KEY_PLUSMINUS = 177,
/**
* ² key.
*
*/
KEY_TWOSUPERIOR = 178,
/**
* ³ key.
*
*/
KEY_THREESUPERIOR = 179,
/**
* ´ key.
*
*/
KEY_ACUTE = 180,
/**
* µ key.
*
*/
KEY_MU = 181,
/**
* ¶ key.
*
*/
KEY_PARAGRAPH = 182,
/**
* · key.
*
*/
KEY_PERIODCENTERED = 183,
/**
* ¸ key.
*
*/
KEY_CEDILLA = 184,
/**
* ¹ key.
*
*/
KEY_ONESUPERIOR = 185,
/**
* º key.
*
*/
KEY_MASCULINE = 186,
/**
* » key.
*
*/
KEY_GUILLEMOTRIGHT = 187,
/**
* ¼ key.
*
*/
KEY_ONEQUARTER = 188,
/**
* ½ key.
*
*/
KEY_ONEHALF = 189,
/**
* ¾ key.
*
*/
KEY_THREEQUARTERS = 190,
/**
* ¿ key.
*
*/
KEY_QUESTIONDOWN = 191,
/**
* À key.
*
*/
KEY_AGRAVE = 192,
/**
* Á key.
*
*/
KEY_AACUTE = 193,
/**
* Â key.
*
*/
KEY_ACIRCUMFLEX = 194,
/**
* Ã key.
*
*/
KEY_ATILDE = 195,
/**
* Ä key.
*
*/
KEY_ADIAERESIS = 196,
/**
* Å key.
*
*/
KEY_ARING = 197,
/**
* Æ key.
*
*/
KEY_AE = 198,
/**
* Ç key.
*
*/
KEY_CCEDILLA = 199,
/**
* È key.
*
*/
KEY_EGRAVE = 200,
/**
* É key.
*
*/
KEY_EACUTE = 201,
/**
* Ê key.
*
*/
KEY_ECIRCUMFLEX = 202,
/**
* Ë key.
*
*/
KEY_EDIAERESIS = 203,
/**
* Ì key.
*
*/
KEY_IGRAVE = 204,
/**
* Í key.
*
*/
KEY_IACUTE = 205,
/**
* Î key.
*
*/
KEY_ICIRCUMFLEX = 206,
/**
* Ï key.
*
*/
KEY_IDIAERESIS = 207,
/**
* Ð key.
*
*/
KEY_ETH = 208,
/**
* Ñ key.
*
*/
KEY_NTILDE = 209,
/**
* Ò key.
*
*/
KEY_OGRAVE = 210,
/**
* Ó key.
*
*/
KEY_OACUTE = 211,
/**
* Ô key.
*
*/
KEY_OCIRCUMFLEX = 212,
/**
* Õ key.
*
*/
KEY_OTILDE = 213,
/**
* Ö key.
*
*/
KEY_ODIAERESIS = 214,
/**
* × key.
*
*/
KEY_MULTIPLY = 215,
/**
* Ø key.
*
*/
KEY_OOBLIQUE = 216,
/**
* Ù key.
*
*/
KEY_UGRAVE = 217,
/**
* Ú key.
*
*/
KEY_UACUTE = 218,
/**
* Û key.
*
*/
KEY_UCIRCUMFLEX = 219,
/**
* Ü key.
*
*/
KEY_UDIAERESIS = 220,
/**
* Ý key.
*
*/
KEY_YACUTE = 221,
/**
* Þ key.
*
*/
KEY_THORN = 222,
/**
* ß key.
*
*/
KEY_SSHARP = 223,
/**
* ÷ key.
*
*/
KEY_DIVISION = 247,
/**
* ÿ key.
*
*/
KEY_YDIAERESIS = 255
}
declare enum KeyModifierMask {
/**
* Key Code mask.
*
*/
KEY_CODE_MASK = 33554431,
/**
* Modifier key mask.
*
*/
KEY_MODIFIER_MASK = -16777216,
/**
* Shift key mask.
*
*/
KEY_MASK_SHIFT = 33554432,
/**
* Alt key mask.
*
*/
KEY_MASK_ALT = 67108864,
/**
* Meta key mask.
*
*/
KEY_MASK_META = 134217728,
/**
* Ctrl key mask.
*
*/
KEY_MASK_CTRL = 268435456,
/**
* Command key mask. On macOS, this is equivalent to [constant KEY_MASK_META]. On other platforms, this is equivalent to [constant KEY_MASK_CTRL]. This mask should be preferred to [constant KEY_MASK_META] or [constant KEY_MASK_CTRL] for system shortcuts as it handles all platforms correctly.
*
*/
KEY_MASK_CMD = "platform-dependent",
/**
* Keypad key mask.
*
*/
KEY_MASK_KPAD = 536870912,
/**
* Group Switch key mask.
*
*/
KEY_MASK_GROUP_SWITCH = 1073741824
}
declare enum ButtonList {
/**
* Left mouse button.
*
*/
BUTTON_LEFT = 1,
/**
* Right mouse button.
*
*/
BUTTON_RIGHT = 2,
/**
* Middle mouse button.
*
*/
BUTTON_MIDDLE = 3,
/**
* Extra mouse button 1 (only present on some mice).
*
*/
BUTTON_XBUTTON1 = 8,
/**
* Extra mouse button 2 (only present on some mice).
*
*/
BUTTON_XBUTTON2 = 9,
/**
* Mouse wheel up.
*
*/
BUTTON_WHEEL_UP = 4,
/**
* Mouse wheel down.
*
*/
BUTTON_WHEEL_DOWN = 5,
/**
* Mouse wheel left button (only present on some mice).
*
*/
BUTTON_WHEEL_LEFT = 6,
/**
* Mouse wheel right button (only present on some mice).
*
*/
BUTTON_WHEEL_RIGHT = 7,
/**
* Left mouse button mask.
*
*/
BUTTON_MASK_LEFT = 1,
/**
* Right mouse button mask.
*
*/
BUTTON_MASK_RIGHT = 2,
/**
* Middle mouse button mask.
*
*/
BUTTON_MASK_MIDDLE = 4,
/**
* Extra mouse button 1 mask.
*
*/
BUTTON_MASK_XBUTTON1 = 128,
/**
* Extra mouse button 2 mask.
*
*/
BUTTON_MASK_XBUTTON2 = 256
}
declare enum JoystickList {
/**
* Invalid button or axis.
*
*/
JOY_INVALID_OPTION = -1,
/**
* Gamepad button 0.
*
*/
JOY_BUTTON_0 = 0,
/**
* Gamepad button 1.
*
*/
JOY_BUTTON_1 = 1,
/**
* Gamepad button 2.
*
*/
JOY_BUTTON_2 = 2,
/**
* Gamepad button 3.
*
*/
JOY_BUTTON_3 = 3,
/**
* Gamepad button 4.
*
*/
JOY_BUTTON_4 = 4,
/**
* Gamepad button 5.
*
*/
JOY_BUTTON_5 = 5,
/**
* Gamepad button 6.
*
*/
JOY_BUTTON_6 = 6,
/**
* Gamepad button 7.
*
*/
JOY_BUTTON_7 = 7,
/**
* Gamepad button 8.
*
*/
JOY_BUTTON_8 = 8,
/**
* Gamepad button 9.
*
*/
JOY_BUTTON_9 = 9,
/**
* Gamepad button 10.
*
*/
JOY_BUTTON_10 = 10,
/**
* Gamepad button 11.
*
*/
JOY_BUTTON_11 = 11,
/**
* Gamepad button 12.
*
*/
JOY_BUTTON_12 = 12,
/**
* Gamepad button 13.
*
*/
JOY_BUTTON_13 = 13,
/**
* Gamepad button 14.
*
*/
JOY_BUTTON_14 = 14,
/**
* Gamepad button 15.
*
*/
JOY_BUTTON_15 = 15,
/**
* Gamepad button 16.
*
*/
JOY_BUTTON_16 = 16,
/**
* Gamepad button 17.
*
*/
JOY_BUTTON_17 = 17,
/**
* Gamepad button 18.
*
*/
JOY_BUTTON_18 = 18,
/**
* Gamepad button 19.
*
*/
JOY_BUTTON_19 = 19,
/**
* Gamepad button 20.
*
*/
JOY_BUTTON_20 = 20,
/**
* Gamepad button 21.
*
*/
JOY_BUTTON_21 = 21,
/**
* Gamepad button 22.
*
*/
JOY_BUTTON_22 = 22,
/**
* Represents the maximum number of joystick buttons supported.
*
*/
JOY_BUTTON_MAX = 23,
/**
* DualShock circle button.
*
*/
JOY_SONY_CIRCLE = 1,
/**
* DualShock X button.
*
*/
JOY_SONY_X = 0,
/**
* DualShock square button.
*
*/
JOY_SONY_SQUARE = 2,
/**
* DualShock triangle button.
*
*/
JOY_SONY_TRIANGLE = 3,
/**
* Xbox controller B button.
*
*/
JOY_XBOX_B = 1,
/**
* Xbox controller A button.
*
*/
JOY_XBOX_A = 0,
/**
* Xbox controller X button.
*
*/
JOY_XBOX_X = 2,
/**
* Xbox controller Y button.
*
*/
JOY_XBOX_Y = 3,
/**
* Nintendo controller A button.
*
*/
JOY_DS_A = 1,
/**
* Nintendo controller B button.
*
*/
JOY_DS_B = 0,
/**
* Nintendo controller X button.
*
*/
JOY_DS_X = 3,
/**
* Nintendo controller Y button.
*
*/
JOY_DS_Y = 2,
/**
* Grip (side) buttons on a VR controller.
*
*/
JOY_VR_GRIP = 2,
/**
* Push down on the touchpad or main joystick on a VR controller.
*
*/
JOY_VR_PAD = 14,
/**
* Trigger on a VR controller.
*
*/
JOY_VR_TRIGGER = 15,
/**
* A button on the right Oculus Touch controller, X button on the left controller (also when used in OpenVR).
*
*/
JOY_OCULUS_AX = 7,
/**
* B button on the right Oculus Touch controller, Y button on the left controller (also when used in OpenVR).
*
*/
JOY_OCULUS_BY = 1,
/**
* Menu button on either Oculus Touch controller.
*
*/
JOY_OCULUS_MENU = 3,
/**
* Menu button in OpenVR (Except when Oculus Touch controllers are used).
*
*/
JOY_OPENVR_MENU = 1,
/**
* Gamepad button Select.
*
*/
JOY_SELECT = 10,
/**
* Gamepad button Start.
*
*/
JOY_START = 11,
/**
* Gamepad DPad up.
*
*/
JOY_DPAD_UP = 12,
/**
* Gamepad DPad down.
*
*/
JOY_DPAD_DOWN = 13,
/**
* Gamepad DPad left.
*
*/
JOY_DPAD_LEFT = 14,
/**
* Gamepad DPad right.
*
*/
JOY_DPAD_RIGHT = 15,
/**
* Gamepad SDL guide button.
*
*/
JOY_GUIDE = 16,
/**
* Gamepad SDL miscellaneous button.
*
*/
JOY_MISC1 = 17,
/**
* Gamepad SDL paddle 1 button.
*
*/
JOY_PADDLE1 = 18,
/**
* Gamepad SDL paddle 2 button.
*
*/
JOY_PADDLE2 = 19,
/**
* Gamepad SDL paddle 3 button.
*
*/
JOY_PADDLE3 = 20,
/**
* Gamepad SDL paddle 4 button.
*
*/
JOY_PADDLE4 = 21,
/**
* Gamepad SDL touchpad button.
*
*/
JOY_TOUCHPAD = 22,
/**
* Gamepad left Shoulder button.
*
*/
JOY_L = 4,
/**
* Gamepad left trigger.
*
*/
JOY_L2 = 6,
/**
* Gamepad left stick click.
*
*/
JOY_L3 = 8,
/**
* Gamepad right Shoulder button.
*
*/
JOY_R = 5,
/**
* Gamepad right trigger.
*
*/
JOY_R2 = 7,
/**
* Gamepad right stick click.
*
*/
JOY_R3 = 9,
/**
* Gamepad left stick horizontal axis.
*
*/
JOY_AXIS_0 = 0,
/**
* Gamepad left stick vertical axis.
*
*/
JOY_AXIS_1 = 1,
/**
* Gamepad right stick horizontal axis.
*
*/
JOY_AXIS_2 = 2,
/**
* Gamepad right stick vertical axis.
*
*/
JOY_AXIS_3 = 3,
/**
* Generic gamepad axis 4.
*
*/
JOY_AXIS_4 = 4,
/**
* Generic gamepad axis 5.
*
*/
JOY_AXIS_5 = 5,
/**
* Gamepad left trigger analog axis.
*
*/
JOY_AXIS_6 = 6,
/**
* Gamepad right trigger analog axis.
*
*/
JOY_AXIS_7 = 7,
/**
* Generic gamepad axis 8.
*
*/
JOY_AXIS_8 = 8,
/**
* Generic gamepad axis 9.
*
*/
JOY_AXIS_9 = 9,
/**
* Represents the maximum number of joystick axes supported.
*
*/
JOY_AXIS_MAX = 10,
/**
* Gamepad left stick horizontal axis.
*
*/
JOY_ANALOG_LX = 0,
/**
* Gamepad left stick vertical axis.
*
*/
JOY_ANALOG_LY = 1,
/**
* Gamepad right stick horizontal axis.
*
*/
JOY_ANALOG_RX = 2,
/**
* Gamepad right stick vertical axis.
*
*/
JOY_ANALOG_RY = 3,
/**
* Gamepad left analog trigger.
*
*/
JOY_ANALOG_L2 = 6,
/**
* Gamepad right analog trigger.
*
*/
JOY_ANALOG_R2 = 7,
/**
* VR Controller analog trigger.
*
*/
JOY_VR_ANALOG_TRIGGER = 2,
/**
* VR Controller analog grip (side buttons).
*
*/
JOY_VR_ANALOG_GRIP = 4,
/**
* OpenVR touchpad X axis (Joystick axis on Oculus Touch and Windows MR controllers).
*
*/
JOY_OPENVR_TOUCHPADX = 0,
/**
* OpenVR touchpad Y axis (Joystick axis on Oculus Touch and Windows MR controllers).
*
*/
JOY_OPENVR_TOUCHPADY = 1
}
declare enum MidiMessageList {
/**
* MIDI note OFF message.
*
*/
MIDI_MESSAGE_NOTE_OFF = 8,
/**
* MIDI note ON message.
*
*/
MIDI_MESSAGE_NOTE_ON = 9,
/**
* MIDI aftertouch message.
*
*/
MIDI_MESSAGE_AFTERTOUCH = 10,
/**
* MIDI control change message.
*
*/
MIDI_MESSAGE_CONTROL_CHANGE = 11,
/**
* MIDI program change message.
*
*/
MIDI_MESSAGE_PROGRAM_CHANGE = 12,
/**
* MIDI channel pressure message.
*
*/
MIDI_MESSAGE_CHANNEL_PRESSURE = 13,
/**
* MIDI pitch bend message.
*
*/
MIDI_MESSAGE_PITCH_BEND = 14
}
declare enum Error {
/**
* Methods that return [enum Error] return [constant OK] when no error occurred. Note that many functions don't return an error code but will print error messages to standard output.
*
* Since [constant OK] has value 0, and all other failure codes are positive integers, it can also be used in boolean checks, e.g.:
*
* @example
*
* var err = method_that_returns_error()
* if err != OK:
* print("Failure!")
* # Or, equivalent:
* if err:
* print("Still failing!")
* @summary
*
*
*/
OK = 0,
/**
* Generic error.
*
*/
FAILED = 1,
/**
* Unavailable error.
*
*/
ERR_UNAVAILABLE = 2,
/**
* Unconfigured error.
*
*/
ERR_UNCONFIGURED = 3,
/**
* Unauthorized error.
*
*/
ERR_UNAUTHORIZED = 4,
/**
* Parameter range error.
*
*/
ERR_PARAMETER_RANGE_ERROR = 5,
/**
* Out of memory (OOM) error.
*
*/
ERR_OUT_OF_MEMORY = 6,
/**
* File: Not found error.
*
*/
ERR_FILE_NOT_FOUND = 7,
/**
* File: Bad drive error.
*
*/
ERR_FILE_BAD_DRIVE = 8,
/**
* File: Bad path error.
*
*/
ERR_FILE_BAD_PATH = 9,
/**
* File: No permission error.
*
*/
ERR_FILE_NO_PERMISSION = 10,
/**
* File: Already in use error.
*
*/
ERR_FILE_ALREADY_IN_USE = 11,
/**
* File: Can't open error.
*
*/
ERR_FILE_CANT_OPEN = 12,
/**
* File: Can't write error.
*
*/
ERR_FILE_CANT_WRITE = 13,
/**
* File: Can't read error.
*
*/
ERR_FILE_CANT_READ = 14,
/**
* File: Unrecognized error.
*
*/
ERR_FILE_UNRECOGNIZED = 15,
/**
* File: Corrupt error.
*
*/
ERR_FILE_CORRUPT = 16,
/**
* File: Missing dependencies error.
*
*/
ERR_FILE_MISSING_DEPENDENCIES = 17,
/**
* File: End of file (EOF) error.
*
*/
ERR_FILE_EOF = 18,
/**
* Can't open error.
*
*/
ERR_CANT_OPEN = 19,
/**
* Can't create error.
*
*/
ERR_CANT_CREATE = 20,
/**
* Query failed error.
*
*/
ERR_QUERY_FAILED = 21,
/**
* Already in use error.
*
*/
ERR_ALREADY_IN_USE = 22,
/**
* Locked error.
*
*/
ERR_LOCKED = 23,
/**
* Timeout error.
*
*/
ERR_TIMEOUT = 24,
/**
* Can't connect error.
*
*/
ERR_CANT_CONNECT = 25,
/**
* Can't resolve error.
*
*/
ERR_CANT_RESOLVE = 26,
/**
* Connection error.
*
*/
ERR_CONNECTION_ERROR = 27,
/**
* Can't acquire resource error.
*
*/
ERR_CANT_ACQUIRE_RESOURCE = 28,
/**
* Can't fork process error.
*
*/
ERR_CANT_FORK = 29,
/**
* Invalid data error.
*
*/
ERR_INVALID_DATA = 30,
/**
* Invalid parameter error.
*
*/
ERR_INVALID_PARAMETER = 31,
/**
* Already exists error.
*
*/
ERR_ALREADY_EXISTS = 32,
/**
* Does not exist error.
*
*/
ERR_DOES_NOT_EXIST = 33,
/**
* Database: Read error.
*
*/
ERR_DATABASE_CANT_READ = 34,
/**
* Database: Write error.
*
*/
ERR_DATABASE_CANT_WRITE = 35,
/**
* Compilation failed error.
*
*/
ERR_COMPILATION_FAILED = 36,
/**
* Method not found error.
*
*/
ERR_METHOD_NOT_FOUND = 37,
/**
* Linking failed error.
*
*/
ERR_LINK_FAILED = 38,
/**
* Script failed error.
*
*/
ERR_SCRIPT_FAILED = 39,
/**
* Cycling link (import cycle) error.
*
*/
ERR_CYCLIC_LINK = 40,
/**
* Invalid declaration error.
*
*/
ERR_INVALID_DECLARATION = 41,
/**
* Duplicate symbol error.
*
*/
ERR_DUPLICATE_SYMBOL = 42,
/**
* Parse error.
*
*/
ERR_PARSE_ERROR = 43,
/**
* Busy error.
*
*/
ERR_BUSY = 44,
/**
* Skip error.
*
*/
ERR_SKIP = 45,
/**
* Help error.
*
*/
ERR_HELP = 46,
/**
* Bug error.
*
*/
ERR_BUG = 47,
/**
* Printer on fire error. (This is an easter egg, no engine methods return this error code.)
*
*/
ERR_PRINTER_ON_FIRE = 48
}
declare enum PropertyHint {
/**
* No hint for the edited property.
*
*/
PROPERTY_HINT_NONE = 0,
/**
* Hints that an integer or float property should be within a range specified via the hint string `"min,max"` or `"min,max,step"`. The hint string can optionally include `"or_greater"` and/or `"or_lesser"` to allow manual input going respectively above the max or below the min values. Example: `"-360,360,1,or_greater,or_lesser"`.
*
*/
PROPERTY_HINT_RANGE = 1,
/**
* Hints that a float property should be within an exponential range specified via the hint string `"min,max"` or `"min,max,step"`. The hint string can optionally include `"or_greater"` and/or `"or_lesser"` to allow manual input going respectively above the max or below the min values. Example: `"0.01,100,0.01,or_greater"`.
*
*/
PROPERTY_HINT_EXP_RANGE = 2,
/**
* Hints that an integer, float or string property is an enumerated value to pick in a list specified via a hint string such as `"Hello,Something,Else"`.
*
*/
PROPERTY_HINT_ENUM = 3,
/**
* Hints that a float property should be edited via an exponential easing function. The hint string can include `"attenuation"` to flip the curve horizontally and/or `"inout"` to also include in/out easing.
*
*/
PROPERTY_HINT_EXP_EASING = 4,
/**
* Deprecated hint, unused.
*
*/
PROPERTY_HINT_LENGTH = 5,
/**
* Deprecated hint, unused.
*
*/
PROPERTY_HINT_KEY_ACCEL = 7,
/**
* Hints that an integer property is a bitmask with named bit flags. For example, to allow toggling bits 0, 1, 2 and 4, the hint could be something like `"Bit0,Bit1,Bit2,,Bit4"`.
*
*/
PROPERTY_HINT_FLAGS = 8,
/**
* Hints that an integer property is a bitmask using the optionally named 2D render layers.
*
*/
PROPERTY_HINT_LAYERS_2D_RENDER = 9,
/**
* Hints that an integer property is a bitmask using the optionally named 2D physics layers.
*
*/
PROPERTY_HINT_LAYERS_2D_PHYSICS = 10,
/**
* Hints that an integer property is a bitmask using the optionally named 3D render layers.
*
*/
PROPERTY_HINT_LAYERS_3D_RENDER = 11,
/**
* Hints that an integer property is a bitmask using the optionally named 3D physics layers.
*
*/
PROPERTY_HINT_LAYERS_3D_PHYSICS = 12,
/**
* Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like `"*.png,*.jpg"`.
*
*/
PROPERTY_HINT_FILE = 13,
/**
* Hints that a string property is a path to a directory. Editing it will show a file dialog for picking the path.
*
*/
PROPERTY_HINT_DIR = 14,
/**
* Hints that a string property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like `"*.png,*.jpg"`.
*
*/
PROPERTY_HINT_GLOBAL_FILE = 15,
/**
* Hints that a string property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path.
*
*/
PROPERTY_HINT_GLOBAL_DIR = 16,
/**
* Hints that a property is an instance of a [Resource]-derived type, optionally specified via the hint string (e.g. `"Texture"`). Editing it will show a popup menu of valid resource types to instantiate.
*
*/
PROPERTY_HINT_RESOURCE_TYPE = 17,
/**
* Hints that a string property is text with line breaks. Editing it will show a text input field where line breaks can be typed.
*
*/
PROPERTY_HINT_MULTILINE_TEXT = 18,
/**
* Hints that a string property should have a placeholder text visible on its input field, whenever the property is empty. The hint string is the placeholder text to use.
*
*/
PROPERTY_HINT_PLACEHOLDER_TEXT = 19,
/**
* Hints that a color property should be edited without changing its alpha component, i.e. only R, G and B channels are edited.
*
*/
PROPERTY_HINT_COLOR_NO_ALPHA = 20,
/**
* Hints that an image is compressed using lossy compression.
*
*/
PROPERTY_HINT_IMAGE_COMPRESS_LOSSY = 21,
/**
* Hints that an image is compressed using lossless compression.
*
*/
PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS = 22
}
declare enum PropertyUsageFlags {
/**
* The property is serialized and saved in the scene file (default).
*
*/
PROPERTY_USAGE_STORAGE = 1,
/**
* The property is shown in the editor inspector (default).
*
*/
PROPERTY_USAGE_EDITOR = 2,
/**
* Deprecated usage flag, unused.
*
*/
PROPERTY_USAGE_NETWORK = 4,
/**
* Deprecated usage flag, unused.
*
*/
PROPERTY_USAGE_EDITOR_HELPER = 8,
/**
* The property can be checked in the editor inspector.
*
*/
PROPERTY_USAGE_CHECKABLE = 16,
/**
* The property is checked in the editor inspector.
*
*/
PROPERTY_USAGE_CHECKED = 32,
/**
* The property is a translatable string.
*
*/
PROPERTY_USAGE_INTERNATIONALIZED = 64,
/**
* Used to group properties together in the editor.
*
*/
PROPERTY_USAGE_GROUP = 128,
/**
* Used to categorize properties together in the editor.
*
*/
PROPERTY_USAGE_CATEGORY = 256,
/**
* The property does not save its state in [PackedScene].
*
*/
PROPERTY_USAGE_NO_INSTANCE_STATE = 2048,
/**
* Editing the property prompts the user for restarting the editor.
*
*/
PROPERTY_USAGE_RESTART_IF_CHANGED = 4096,
/**
* The property is a script variable which should be serialized and saved in the scene file.
*
*/
PROPERTY_USAGE_SCRIPT_VARIABLE = 8192,
/**
* Default usage (storage, editor and network).
*
*/
PROPERTY_USAGE_DEFAULT = 7,
/**
* Default usage for translatable strings (storage, editor, network and internationalized).
*
*/
PROPERTY_USAGE_DEFAULT_INTL = 71,
/**
* Default usage but without showing the property in the editor (storage, network).
*
*/
PROPERTY_USAGE_NOEDITOR = 5
}
declare enum MethodFlags {
/**
* Flag for a normal method.
*
*/
METHOD_FLAG_NORMAL = 1,
/**
* Flag for an editor method.
*
*/
METHOD_FLAG_EDITOR = 2,
/**
* Deprecated method flag, unused.
*
*/
METHOD_FLAG_NOSCRIPT = 4,
/**
* Flag for a constant method.
*
*/
METHOD_FLAG_CONST = 8,
/**
* Deprecated method flag, unused.
*
*/
METHOD_FLAG_REVERSE = 16,
/**
* Flag for a virtual method.
*
*/
METHOD_FLAG_VIRTUAL = 32,
/**
* Deprecated method flag, unused.
*
*/
METHOD_FLAG_FROM_SCRIPT = 64,
/**
* Default method flags.
*
*/
METHOD_FLAGS_DEFAULT = 1
}
declare enum Variant_Type {
/**
* Variable is `null`.
*
*/
TYPE_NIL = 0,
/**
* Variable is of type [bool].
*
*/
TYPE_BOOL = 1,
/**
* Variable is of type [int].
*
*/
TYPE_INT = 2,
/**
* Variable is of type [float] (real).
*
*/
TYPE_REAL = 3,
/**
* Variable is of type [String].
*
*/
TYPE_STRING = 4,
/**
* Variable is of type [Vector2].
*
*/
TYPE_VECTOR2 = 5,
/**
* Variable is of type [Rect2].
*
*/
TYPE_RECT2 = 6,
/**
* Variable is of type [Vector3].
*
*/
TYPE_VECTOR3 = 7,
/**
* Variable is of type [Transform2D].
*
*/
TYPE_TRANSFORM2D = 8,
/**
* Variable is of type [Plane].
*
*/
TYPE_PLANE = 9,
/**
* Variable is of type [Quat].
*
*/
TYPE_QUAT = 10,
/**
* Variable is of type [AABB].
*
*/
TYPE_AABB = 11,
/**
* Variable is of type [Basis].
*
*/
TYPE_BASIS = 12,
/**
* Variable is of type [Transform].
*
*/
TYPE_TRANSFORM = 13,
/**
* Variable is of type [Color].
*
*/
TYPE_COLOR = 14,
/**
* Variable is of type [NodePath].
*
*/
TYPE_NODE_PATH = 15,
/**
* Variable is of type [RID].
*
*/
TYPE_RID = 16,
/**
* Variable is of type [Object].
*
*/
TYPE_OBJECT = 17,
/**
* Variable is of type [Dictionary].
*
*/
TYPE_DICTIONARY = 18,
/**
* Variable is of type [Array].
*
*/
TYPE_ARRAY = 19,
/**
* Variable is of type [PoolByteArray].
*
*/
TYPE_RAW_ARRAY = 20,
/**
* Variable is of type [PoolIntArray].
*
*/
TYPE_INT_ARRAY = 21,
/**
* Variable is of type [PoolRealArray].
*
*/
TYPE_REAL_ARRAY = 22,
/**
* Variable is of type [PoolStringArray].
*
*/
TYPE_STRING_ARRAY = 23,
/**
* Variable is of type [PoolVector2Array].
*
*/
TYPE_VECTOR2_ARRAY = 24,
/**
* Variable is of type [PoolVector3Array].
*
*/
TYPE_VECTOR3_ARRAY = 25,
/**
* Variable is of type [PoolColorArray].
*
*/
TYPE_COLOR_ARRAY = 26,
/**
* Represents the size of the [enum Variant.Type] enum.
*
*/
TYPE_MAX = 27
}
declare enum Variant_Operator {
/**
* Equality operator (`==`).
*
*/
OP_EQUAL = 0,
/**
* Inequality operator (`!=`).
*
*/
OP_NOT_EQUAL = 1,
/**
* Less than operator (`<`).
*
*/
OP_LESS = 2,
/**
* Less than or equal operator (`<=`).
*
*/
OP_LESS_EQUAL = 3,
/**
* Greater than operator (`>`).
*
*/
OP_GREATER = 4,
/**
* Greater than or equal operator (`>=`).
*
*/
OP_GREATER_EQUAL = 5,
/**
* Addition operator (`+`).
*
*/
OP_ADD = 6,
/**
* Subtraction operator (`-`).
*
*/
OP_SUBTRACT = 7,
/**
* Multiplication operator (`*`).
*
*/
OP_MULTIPLY = 8,
/**
* Division operator (`/`).
*
*/
OP_DIVIDE = 9,
/**
* Unary negation operator (`-`).
*
*/
OP_NEGATE = 10,
/**
* Unary plus operator (`+`).
*
*/
OP_POSITIVE = 11,
/**
* Remainder/modulo operator (`%`).
*
*/
OP_MODULE = 12,
/**
* String concatenation operator (`+`).
*
*/
OP_STRING_CONCAT = 13,
/**
* Left shift operator (`<<`).
*
*/
OP_SHIFT_LEFT = 14,
/**
* Right shift operator (`>>`).
*
*/
OP_SHIFT_RIGHT = 15,
/**
* Bitwise AND operator (`&`).
*
*/
OP_BIT_AND = 16,
/**
* Bitwise OR operator (`|`).
*
*/
OP_BIT_OR = 17,
/**
* Bitwise XOR operator (`^`).
*
*/
OP_BIT_XOR = 18,
/**
* Bitwise NOT operator (`~`).
*
*/
OP_BIT_NEGATE = 19,
/**
* Logical AND operator (`and` or `&&`).
*
*/
OP_AND = 20,
/**
* Logical OR operator (`or` or `||`).
*
*/
OP_OR = 21,
/**
* Logical XOR operator (not implemented in GDScript).
*
*/
OP_XOR = 22,
/**
* Logical NOT operator (`not` or `!`).
*
*/
OP_NOT = 23,
/**
* Logical IN operator (`in`).
*
*/
OP_IN = 24,
/**
* Represents the size of the [enum Variant.Operator] enum.
*
*/
OP_MAX = 25
}
================================================
FILE: _godot_defs/static/AABB.d.ts
================================================
/**
* [AABB] consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
*
* It uses floating-point coordinates. The 2D counterpart to [AABB] is [Rect2].
*
* **Note:** Unlike [Rect2], [AABB] does not have a variant that uses integer coordinates.
*
*/
declare class AABB {
/**
* [AABB] consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
*
* It uses floating-point coordinates. The 2D counterpart to [AABB] is [Rect2].
*
* **Note:** Unlike [Rect2], [AABB] does not have a variant that uses integer coordinates.
*
*/
new(position: Vector3, size: Vector3): AABB;
static "new"(): AABB
/** Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size. */
end: Vector3;
/** Beginning corner. Typically has values lower than [member end]. */
position: Vector3;
/**
* Size from [member position] to [member end]. Typically, all components are positive.
*
* If the size is negative, you can use [method abs] to fix it.
*
*/
size: Vector3;
/** Returns an AABB with equivalent position and size, modified so that the most-negative corner is the origin and the size is positive. */
abs(): AABB;
/** Returns [code]true[/code] if this [AABB] completely encloses another one. */
encloses(_with: AABB): boolean;
/**
* Returns a copy of this [AABB] expanded to include a given point.
*
* **Example:**
*
* @example
*
* # position (-3, 2, 0), size (1, 1, 1)
* var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))
* # position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
* var box2 = box.expand(Vector3(0, -1, 2))
* @summary
*
*
*/
expand(to_point: Vector3): AABB;
/** Returns the volume of the [AABB]. */
get_area(): float;
/** Gets the position of the 8 endpoints of the [AABB] in space. */
get_endpoint(idx: int): Vector3;
/** Returns the normalized longest axis of the [AABB]. */
get_longest_axis(): Vector3;
/** Returns the index of the longest axis of the [AABB] (according to [Vector3]'s [code]AXIS_*[/code] constants). */
get_longest_axis_index(): int;
/** Returns the scalar length of the longest axis of the [AABB]. */
get_longest_axis_size(): float;
/** Returns the normalized shortest axis of the [AABB]. */
get_shortest_axis(): Vector3;
/** Returns the index of the shortest axis of the [AABB] (according to [Vector3]::AXIS* enum). */
get_shortest_axis_index(): int;
/** Returns the scalar length of the shortest axis of the [AABB]. */
get_shortest_axis_size(): float;
/** Returns the support point in a given direction. This is useful for collision detection algorithms. */
get_support(dir: Vector3): Vector3;
/** Returns a copy of the [AABB] grown a given amount of units towards all the sides. */
grow(by: float): AABB;
/** Returns [code]true[/code] if the [AABB] is flat or empty. */
has_no_area(): boolean;
/** Returns [code]true[/code] if the [AABB] is empty. */
has_no_surface(): boolean;
/** Returns [code]true[/code] if the [AABB] contains a point. */
has_point(point: Vector3): boolean;
/** Returns the intersection between two [AABB]. An empty AABB (size 0,0,0) is returned on failure. */
intersection(_with: AABB): AABB;
/** Returns [code]true[/code] if the [AABB] overlaps with another. */
intersects(_with: AABB): boolean;
/** Returns [code]true[/code] if the [AABB] is on both sides of a plane. */
intersects_plane(plane: Plane): boolean;
/** Returns [code]true[/code] if the [AABB] intersects the line segment between [code]from[/code] and [code]to[/code]. */
intersects_segment(from: Vector3, to: Vector3): boolean;
/** Returns [code]true[/code] if this [AABB] and [code]aabb[/code] are approximately equal, by calling [method @GDScript.is_equal_approx] on each component. */
is_equal_approx(aabb: AABB): boolean;
/** Returns a larger [AABB] that contains both this [AABB] and [code]with[/code]. */
merge(_with: AABB): AABB;
connect<T extends SignalsOf<AABB>>(signal: T, method: SignalFunction<AABB[T]>): number;
}
================================================
FILE: _godot_defs/static/AESContext.d.ts
================================================
/**
* This class provides access to AES encryption/decryption of raw data. Both AES-ECB and AES-CBC mode are supported.
*
* @example
*
* extends Node
* var aes = AESContext.new()
* func _ready():
* var key = "My secret key!!!" # Key must be either 16 or 32 bytes.
* var data = "My secret text!!" # Data size must be multiple of 16 bytes, apply padding if needed.
* # Encrypt ECB
* aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())
* var encrypted = aes.update(data.to_utf8())
* aes.finish()
* # Decrypt ECB
* aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())
* var decrypted = aes.update(encrypted)
* aes.finish()
* # Check ECB
* assert(decrypted == data.to_utf8())
* var iv = "My secret iv!!!!" # IV must be of exactly 16 bytes.
* # Encrypt CBC
* aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())
* encrypted = aes.update(data.to_utf8())
* aes.finish()
* # Decrypt CBC
* aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())
* decrypted = aes.update(encrypted)
* aes.finish()
* # Check CBC
* assert(decrypted == data.to_utf8())
* @summary
*
*
*/
declare class AESContext extends Reference {
/**
* This class provides access to AES encryption/decryption of raw data. Both AES-ECB and AES-CBC mode are supported.
*
* @example
*
* extends Node
* var aes = AESContext.new()
* func _ready():
* var key = "My secret key!!!" # Key must be either 16 or 32 bytes.
* var data = "My secret text!!" # Data size must be multiple of 16 bytes, apply padding if needed.
* # Encrypt ECB
* aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())
* var encrypted = aes.update(data.to_utf8())
* aes.finish()
* # Decrypt ECB
* aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())
* var decrypted = aes.update(encrypted)
* aes.finish()
* # Check ECB
* assert(decrypted == data.to_utf8())
* var iv = "My secret iv!!!!" # IV must be of exactly 16 bytes.
* # Encrypt CBC
* aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())
* encrypted = aes.update(data.to_utf8())
* aes.finish()
* # Decrypt CBC
* aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())
* decrypted = aes.update(encrypted)
* aes.finish()
* # Check CBC
* assert(decrypted == data.to_utf8())
* @summary
*
*
*/
new(): AESContext;
static "new"(): AESContext
/** Close this AES context so it can be started again. See [method start]. */
finish(): void;
/**
* Get the current IV state for this context (IV gets updated when calling [method update]). You normally don't need this function.
*
* **Note:** This function only makes sense when the context is started with [constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT].
*
*/
get_iv_state(): PoolByteArray;
/** Start the AES context in the given [code]mode[/code]. A [code]key[/code] of either 16 or 32 bytes must always be provided, while an [code]iv[/code] (initialization vector) of exactly 16 bytes, is only needed when [code]mode[/code] is either [constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT]. */
start(mode: int, key: PoolByteArray, iv?: PoolByteArray): int;
/**
* Run the desired operation for this AES context. Will return a [PoolByteArray] containing the result of encrypting (or decrypting) the given `src`. See [method start] for mode of operation.
*
* **Note:** The size of `src` must be a multiple of 16. Apply some padding if needed.
*
*/
update(src: PoolByteArray): PoolByteArray;
connect<T extends SignalsOf<AESContext>>(signal: T, method: SignalFunction<AESContext[T]>): number;
/**
* AES electronic codebook encryption mode.
*
*/
static MODE_ECB_ENCRYPT: any;
/**
* AES electronic codebook decryption mode.
*
*/
static MODE_ECB_DECRYPT: any;
/**
* AES cipher blocker chaining encryption mode.
*
*/
static MODE_CBC_ENCRYPT: any;
/**
* AES cipher blocker chaining decryption mode.
*
*/
static MODE_CBC_DECRYPT: any;
/**
* Maximum value for the mode enum.
*
*/
static MODE_MAX: any;
}
================================================
FILE: _godot_defs/static/ARVRAnchor.d.ts
================================================
/**
* The [ARVRAnchor] point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
*
* This node is mapped to one of the anchors through its unique ID. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the ID; the nodes will simply remain on 0,0,0 until a plane is recognized.
*
* Keep in mind that, as long as plane detection is enabled, the size, placing and orientation of an anchor will be updated as the detection logic learns more about the real world out there especially if only part of the surface is in view.
*
*/
declare class ARVRAnchor extends Spatial {
/**
* The [ARVRAnchor] point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
*
* This node is mapped to one of the anchors through its unique ID. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the ID; the nodes will simply remain on 0,0,0 until a plane is recognized.
*
* Keep in mind that, as long as plane detection is enabled, the size, placing and orientation of an anchor will be updated as the detection logic learns more about the real world out there especially if only part of the surface is in view.
*
*/
new(): ARVRAnchor;
static "new"(): ARVRAnchor
/** The anchor's ID. You can set this before the anchor itself exists. The first anchor gets an ID of [code]1[/code], the second an ID of [code]2[/code], etc. When anchors get removed, the engine can then assign the corresponding ID to new anchors. The most common situation where anchors "disappear" is when the AR server identifies that two anchors represent different parts of the same plane and merges them. */
anchor_id: int;
/** Returns the name given to this anchor. */
get_anchor_name(): string;
/** Returns [code]true[/code] if the anchor is being tracked and [code]false[/code] if no anchor with this ID is currently known. */
get_is_active(): boolean;
/** If provided by the [ARVRInterface], this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes. */
get_mesh(): Mesh;
/** Returns a plane aligned with our anchor; handy for intersection testing. */
get_plane(): Plane;
/** Returns the estimated size of the plane that was detected. Say when the anchor relates to a table in the real world, this is the estimated size of the surface of that table. */
get_size(): Vector3;
connect<T extends SignalsOf<ARVRAnchor>>(signal: T, method: SignalFunction<ARVRAnchor[T]>): number;
/**
* Emitted when the mesh associated with the anchor changes or when one becomes available. This is especially important for topology that is constantly being `mesh_updated`.
*
*/
$mesh_updated: Signal<(mesh: Mesh) => void>
}
================================================
FILE: _godot_defs/static/ARVRCamera.d.ts
================================================
/**
* This is a helper spatial node for our camera; note that, if stereoscopic rendering is applicable (VR-HMD), most of the camera properties are ignored, as the HMD information overrides them. The only properties that can be trusted are the near and far planes.
*
* The position and orientation of this node is automatically updated by the ARVR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that, in contrast to the ARVR Controller, the render thread has access to the most up-to-date tracking data of the HMD and the location of the ARVRCamera can lag a few milliseconds behind what is used for rendering as a result.
*
*/
declare class ARVRCamera extends Camera {
/**
* This is a helper spatial node for our camera; note that, if stereoscopic rendering is applicable (VR-HMD), most of the camera properties are ignored, as the HMD information overrides them. The only properties that can be trusted are the near and far planes.
*
* The position and orientation of this node is automatically updated by the ARVR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that, in contrast to the ARVR Controller, the render thread has access to the most up-to-date tracking data of the HMD and the location of the ARVRCamera can lag a few milliseconds behind what is used for rendering as a result.
*
*/
new(): ARVRCamera;
static "new"(): ARVRCamera
connect<T extends SignalsOf<ARVRCamera>>(signal: T, method: SignalFunction<ARVRCamera[T]>): number;
}
================================================
FILE: _godot_defs/static/ARVRController.d.ts
================================================
/**
* This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passthroughs to the state of buttons and such on the controllers.
*
* Controllers are linked by their ID. You can create controller nodes before the controllers are available. If your game always uses two controllers (one for each hand), you can predefine the controllers with ID 1 and 2; they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene.
*
* The position of the controller node is automatically updated by the [ARVRServer]. This makes this node ideal to add child nodes to visualize the controller.
*
*/
declare class ARVRController extends Spatial {
/**
* This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passthroughs to the state of buttons and such on the controllers.
*
* Controllers are linked by their ID. You can create controller nodes before the controllers are available. If your game always uses two controllers (one for each hand), you can predefine the controllers with ID 1 and 2; they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene.
*
* The position of the controller node is automatically updated by the [ARVRServer]. This makes this node ideal to add child nodes to visualize the controller.
*
*/
new(): ARVRController;
static "new"(): ARVRController
/**
* The controller's ID.
*
* A controller ID of 0 is unbound and will always result in an inactive node. Controller ID 1 is reserved for the first controller that identifies itself as the left-hand controller and ID 2 is reserved for the first controller that identifies itself as the right-hand controller.
*
* For any other controller that the [ARVRServer] detects, we continue with controller ID 3.
*
* When a controller is turned off, its slot is freed. This ensures controllers will keep the same ID even when controllers with lower IDs are turned off.
*
*/
controller_id: int;
/**
* The degree to which the controller vibrates. Ranges from `0.0` to `1.0` with precision `.01`. If changed, updates [member ARVRPositionalTracker.rumble] accordingly.
*
* This is a useful property to animate if you want the controller to vibrate for a limited duration.
*
*/
rumble: float;
/** If active, returns the name of the associated controller if provided by the AR/VR SDK used. */
get_controller_name(): string;
/** Returns the hand holding this controller, if known. See [enum ARVRPositionalTracker.TrackerHand]. */
get_hand(): int;
/** Returns [code]true[/code] if the bound controller is active. ARVR systems attempt to track active controllers. */
get_is_active(): boolean;
/** Returns the value of the given axis for things like triggers, touchpads, etc. that are embedded into the controller. */
get_joystick_axis(axis: int): float;
/** Returns the ID of the joystick object bound to this. Every controller tracked by the [ARVRServer] that has buttons and axis will also be registered as a joystick within Godot. This means that all the normal joystick tracking and input mapping will work for buttons and axis found on the AR/VR controllers. This ID is purely offered as information so you can link up the controller with its joystick entry. */
get_joystick_id(): int;
/** If provided by the [ARVRInterface], this returns a mesh associated with the controller. This can be used to visualize the controller. */
get_mesh(): Mesh;
/** Returns [code]true[/code] if the button at index [code]button[/code] is pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] constants. */
is_button_pressed(button: int): int;
connect<T extends SignalsOf<ARVRController>>(signal: T, method: SignalFunction<ARVRController[T]>): number;
/**
* Emitted when a button on this controller is pressed.
*
*/
$button_pressed: Signal<(button: int) => void>
/**
* Emitted when a button on this controller is released.
*
*/
$button_release: Signal<(button: int) => void>
/**
* Emitted when the mesh associated with the controller changes or when one becomes available. Generally speaking this will be a static mesh after becoming available.
*
*/
$mesh_updated: Signal<(mesh: Mesh) => void>
}
================================================
FILE: _godot_defs/static/ARVRInterface.d.ts
================================================
/**
* This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass ARVRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
*
* Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through [ARVRServer].
*
*/
declare class ARVRInterface extends Reference {
/**
* This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass ARVRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
*
* Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through [ARVRServer].
*
*/
new(): ARVRInterface;
static "new"(): ARVRInterface
/** On an AR interface, [code]true[/code] if anchor detection is enabled. */
ar_is_anchor_detection_enabled: boolean;
/** [code]true[/code] if this interface been initialized. */
interface_is_initialized: boolean;
/** [code]true[/code] if this is the primary interface. */
interface_is_primary: boolean;
/** If this is an AR interface that requires displaying a camera feed as the background, this method returns the feed ID in the [CameraServer] for this interface. */
get_camera_feed_id(): int;
/** Returns a combination of [enum Capabilities] flags providing information about the capabilities of this interface. */
get_capabilities(): int;
/** Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc). */
get_name(): string;
/** Returns the resolution at which we should render our intermediate results before things like lens distortion are applied by the VR platform. */
get_render_targetsize(): Vector2;
/** If supported, returns the status of our tracking. This will allow you to provide feedback to the user whether there are issues with positional tracking. */
get_tracking_status(): int;
/**
* Call this to initialize this interface. The first interface that is initialized is identified as the primary interface and it will be used for rendering output.
*
* After initializing the interface you want to use you then need to enable the AR/VR mode of a viewport and rendering should commence.
*
* **Note:** You must enable the AR/VR mode on the main viewport for any device that uses the main output of Godot, such as for mobile VR.
*
* If you do this for a platform that handles its own output (such as OpenVR) Godot will show just one eye without distortion on screen. Alternatively, you can add a separate viewport node to your scene and enable AR/VR on that viewport. It will be used to output to the HMD, leaving you free to do anything you like in the main window, such as using a separate camera as a spectator camera or rendering something completely different.
*
* While currently not used, you can activate additional interfaces. You may wish to do this if you want to track controllers from other platforms. However, at this point in time only one interface can render to an HMD.
*
*/
initialize(): boolean;
/** Returns [code]true[/code] if the current output of this interface is in stereo. */
is_stereo(): boolean;
/** Turns the interface off. */
uninitialize(): void;
connect<T extends SignalsOf<ARVRInterface>>(signal: T, method: SignalFunction<ARVRInterface[T]>): number;
/**
* No ARVR capabilities.
*
*/
static ARVR_NONE: any;
/**
* This interface can work with normal rendering output (non-HMD based AR).
*
*/
static ARVR_MONO: any;
/**
* This interface supports stereoscopic rendering.
*
*/
static ARVR_STEREO: any;
/**
* This interface supports AR (video background and real world tracking).
*
*/
static ARVR_AR: any;
/**
* This interface outputs to an external device. If the main viewport is used, the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of [method get_render_targetsize]). Using a separate viewport node frees up the main viewport for other purposes.
*
*/
static ARVR_EXTERNAL: any;
/**
* Mono output, this is mostly used internally when retrieving positioning information for our camera node or when stereo scopic rendering is not supported.
*
*/
static EYE_MONO: any;
/**
* Left eye output, this is mostly used internally when rendering the image for the left eye and obtaining positioning and projection information.
*
*/
static EYE_LEFT: any;
/**
* Right eye output, this is mostly used internally when rendering the image for the right eye and obtaining positioning and projection information.
*
*/
static EYE_RIGHT: any;
/**
* Tracking is behaving as expected.
*
*/
static ARVR_NORMAL_TRACKING: any;
/**
* Tracking is hindered by excessive motion (the player is moving faster than tracking can keep up).
*
*/
static ARVR_EXCESSIVE_MOTION: any;
/**
* Tracking is hindered by insufficient features, it's too dark (for camera-based tracking), player is blocked, etc.
*
*/
static ARVR_INSUFFICIENT_FEATURES: any;
/**
* We don't know the status of the tracking or this interface does not provide feedback.
*
*/
static ARVR_UNKNOWN_TRACKING: any;
/**
* Tracking is not functional (camera not plugged in or obscured, lighthouses turned off, etc.).
*
*/
static ARVR_NOT_TRACKING: any;
}
================================================
FILE: _godot_defs/static/ARVROrigin.d.ts
================================================
/**
* This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.
*
* There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.
*
* It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.
*
* For example, if your character is driving a car, the ARVROrigin node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node.
*
*/
declare class ARVROrigin extends Spatial {
/**
* This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.
*
* There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.
*
* It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.
*
* For example, if your character is driving a car, the ARVROrigin node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node.
*
*/
new(): ARVROrigin;
static "new"(): ARVROrigin
/**
* Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.
*
* **Note:** This method is a passthrough to the [ARVRServer] itself.
*
*/
world_scale: float;
connect<T extends SignalsOf<ARVROrigin>>(signal: T, method: SignalFunction<ARVROrigin[T]>): number;
}
================================================
FILE: _godot_defs/static/ARVRPositionalTracker.d.ts
================================================
/**
* An instance of this object represents a device that is tracked, such as a controller or anchor point. HMDs aren't represented here as they are handled internally.
*
* As controllers are turned on and the AR/VR interface detects them, instances of this object are automatically added to this list of active tracking objects accessible through the [ARVRServer].
*
* The [ARVRController] and [ARVRAnchor] both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDNative-based interfaces can interact with them.
*
*/
declare class ARVRPositionalTracker extends Reference {
/**
* An instance of this object represents a device that is tracked, such as a controller or anchor point. HMDs aren't represented here as they are handled internally.
*
* As controllers are turned on and the AR/VR interface detects them, instances of this object are automatically added to this list of active tracking objects accessible through the [ARVRServer].
*
* The [ARVRController] and [ARVRAnchor] both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDNative-based interfaces can interact with them.
*
*/
new(): ARVRPositionalTracker;
static "new"(): ARVRPositionalTracker
/** The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code]. */
rumble: float;
/** Returns the hand holding this tracker, if known. See [enum TrackerHand] constants. */
get_hand(): int;
/** If this is a controller that is being tracked, the controller will also be represented by a joystick entry with this ID. */
get_joy_id(): int;
/** Returns the mesh related to a controller or anchor point if one is available. */
get_mesh(): Mesh;
/** Returns the controller or anchor point's name if available. */
get_name(): string;
/** Returns the controller's orientation matrix. */
get_orientation(): Basis;
/** Returns the world-space controller position. */
get_position(): Vector3;
/** Returns the internal tracker ID. This uniquely identifies the tracker per tracker type and matches the ID you need to specify for nodes such as the [ARVRController] and [ARVRAnchor] nodes. */
get_tracker_id(): int;
/** Returns [code]true[/code] if this device tracks orientation. */
get_tracks_orientation(): boolean;
/** Returns [code]true[/code] if this device tracks position. */
get_tracks_position(): boolean;
/** Returns the transform combining this device's orientation and position. */
get_transform(adjust_by_reference_frame: boolean): Transform;
/** Returns the tracker's type. */
get_type(): int;
connect<T extends SignalsOf<ARVRPositionalTracker>>(signal: T, method: SignalFunction<ARVRPositionalTracker[T]>): number;
/**
* The hand this tracker is held in is unknown or not applicable.
*
*/
static TRACKER_HAND_UNKNOWN: any;
/**
* This tracker is the left hand controller.
*
*/
static TRACKER_LEFT_HAND: any;
/**
* This tracker is the right hand controller.
*
*/
static TRACKER_RIGHT_HAND: any;
}
================================================
FILE: _godot_defs/static/ARVRServer.d.ts
================================================
/**
* The AR/VR server is the heart of our Advanced and Virtual Reality solution and handles all the processing.
*
*/
declare class ARVRServerClass extends Object {
/**
* The AR/VR server is the heart of our Advanced and Virtual Reality solution and handles all the processing.
*
*/
new(): ARVRServerClass;
static "new"(): ARVRServerClass
/** The primary [ARVRInterface] currently bound to the [ARVRServer]. */
primary_interface: ARVRInterface;
/** Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. */
world_scale: float;
/** Registers an [ARVRInterface] object. */
add_interface(interface: ARVRInterface): void;
/** Registers a new [ARVRPositionalTracker] that tracks a spatial location in real space. */
add_tracker(tracker: ARVRPositionalTracker): void;
/**
* This is an important function to understand correctly. AR and VR platforms all handle positioning slightly differently.
*
* For platforms that do not offer spatial tracking, our origin point (0,0,0) is the location of our HMD, but you have little control over the direction the player is facing in the real world.
*
* For platforms that do offer spatial tracking, our origin point depends very much on the system. For OpenVR, our origin point is usually the center of the tracking space, on the ground. For other platforms, it's often the location of the tracking camera.
*
* This method allows you to center your tracker on the location of the HMD. It will take the current location of the HMD and use that to adjust all your tracking data; in essence, realigning the real world to your player's current position in the game world.
*
* For this method to produce usable results, tracking information must be available. This often takes a few frames after starting your game.
*
* You should call this method after a few seconds have passed. For instance, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism.
*
*/
center_on_hmd(rotation_mode: int, keep_height: boolean): void;
/** Clears our current primary interface if it is set to the provided interface. */
clear_primary_interface_if(interface: ARVRInterface): void;
/** Finds an interface by its name. For instance, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it. */
find_interface(name: string): ARVRInterface;
/** Returns the primary interface's transformation. */
get_hmd_transform(): Transform;
/** Returns the interface registered at a given index in our list of interfaces. */
get_interface(idx: int): ARVRInterface;
/** Returns the number of interfaces currently registered with the AR/VR server. If your project supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try to initialize each interface and use the first one that returns [code]true[/code]. */
get_interface_count(): int;
/** Returns a list of available interfaces the ID and name of each interface. */
get_interfaces(): any[];
/** Returns the absolute timestamp (in μs) of the last [ARVRServer] commit of the AR/VR eyes to [VisualServer]. The value comes from an internal call to [method OS.get_ticks_usec]. */
get_last_commit_usec(): int;
/** Returns the duration (in μs) of the last frame. This is computed as the difference between [method get_last_commit_usec] and [method get_last_process_usec] when committing. */
get_last_frame_usec(): int;
/** Returns the absolute timestamp (in μs) of the last [ARVRServer] process callback. The value comes from an internal call to [method OS.get_ticks_usec]. */
get_last_process_usec(): int;
/** Returns the reference frame transform. Mostly used internally and exposed for GDNative build interfaces. */
get_reference_frame(): Transform;
/** Returns the positional tracker at the given ID. */
get_tracker(idx: int): ARVRPositionalTracker;
/** Returns the number of trackers currently registered. */
get_tracker_count(): int;
/** Removes this interface. */
remove_interface(interface: ARVRInterface): void;
/** Removes this positional tracker. */
remove_tracker(tracker: ARVRPositionalTracker): void;
connect<T extends SignalsOf<ARVRServerClass>>(signal: T, method: SignalFunction<ARVRServerClass[T]>): number;
/**
* The tracker tracks the location of a controller.
*
*/
static TRACKER_CONTROLLER: any;
/**
* The tracker tracks the location of a base station.
*
*/
static TRACKER_BASESTATION: any;
/**
* The tracker tracks the location and size of an AR anchor.
*
*/
static TRACKER_ANCHOR: any;
/**
* Used internally to filter trackers of any known type.
*
*/
static TRACKER_ANY_KNOWN: any;
/**
* Used internally if we haven't set the tracker type yet.
*
*/
static TRACKER_UNKNOWN: any;
/**
* Used internally to select all trackers.
*
*/
static TRACKER_ANY: any;
/**
* Fully reset the orientation of the HMD. Regardless of what direction the user is looking to in the real world. The user will look dead ahead in the virtual world.
*
*/
static RESET_FULL_ROTATION: any;
/**
* Resets the orientation but keeps the tilt of the device. So if we're looking down, we keep looking down but heading will be reset.
*
*/
static RESET_BUT_KEEP_TILT: any;
/**
* Does not reset the orientation of the HMD, only the position of the player gets centered.
*
*/
static DONT_RESET_ROTATION: any;
/**
* Emitted when a new interface has been added.
*
*/
$interface_added: Signal<(interface_name: string) => void>
/**
* Emitted when an interface is removed.
*
*/
$interface_removed: Signal<(interface_name: string) => void>
/**
* Emitted when a new tracker has been added. If you don't use a fixed number of controllers or if you're using [ARVRAnchor]s for an AR solution, it is important to react to this signal to add the appropriate [ARVRController] or [ARVRAnchor] nodes related to this new tracker.
*
*/
$tracker_added: Signal<(tracker_name: string, type: int, id: int) => void>
/**
* Emitted when a tracker is removed. You should remove any [ARVRController] or [ARVRAnchor] points if applicable. This is not mandatory, the nodes simply become inactive and will be made active again when a new tracker becomes available (i.e. a new controller is switched on that takes the place of the previous one).
*
*/
$tracker_removed: Signal<(tracker_name: string, type: int, id: int) => void>
}
================================================
FILE: _godot_defs/static/AStar.d.ts
================================================
/**
* A* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting short paths among vertices (points), passing through a given set of edges (segments). It enjoys widespread use due to its performance and accuracy. Godot's A* implementation uses points in three-dimensional space and Euclidean distances by default.
*
* You must add points manually with [method add_point] and create segments manually with [method connect_points]. Then you can test if there is a path between two points with the [method are_points_connected] function, get a path containing indices by [method get_id_path], or one containing actual coordinates with [method get_point_path].
*
* It is also possible to use non-Euclidean distances. To do so, create a class that extends `AStar` and override methods [method _compute_cost] and [method _estimate_cost]. Both take two indices and return a length, as is shown in the following example.
*
* @example
*
* class MyAStar:
* extends AStar
* func _compute_cost(u, v):
* return abs(u - v)
* func _estimate_cost(u, v):
* return min(0, abs(u - v) - 1)
* @summary
*
*
* [method _estimate_cost] should return a lower bound of the distance, i.e. `_estimate_cost(u, v) <= _compute_cost(u, v)`. This serves as a hint to the algorithm because the custom `_compute_cost` might be computation-heavy. If this is not the case, make [method _estimate_cost] return the same value as [method _compute_cost] to provide the algorithm with the most accurate information.
*
* If the default [method _estimate_cost] and [method _compute_cost] methods are used, or if the supplied [method _estimate_cost] method returns a lower bound of the cost, then the paths returned by A* will be the lowest-cost paths. Here, the cost of a path equals the sum of the [method _compute_cost] results of all segments in the path multiplied by the `weight_scale`s of the endpoints of the respective segments. If the default methods are used and the `weight_scale`s of all points are set to `1.0`, then this equals the sum of Euclidean distances of all segments in the path.
*
*/
declare class AStar extends Reference {
/**
* A* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting short paths among vertices (points), passing through a given set of edges (segments). It enjoys widespread use due to its performance and accuracy. Godot's A* implementation uses points in three-dimensional space and Euclidean distances by default.
*
* You must add points manually with [method add_point] and create segments manually with [method connect_points]. Then you can test if there is a path between two points with the [method are_points_connected] function, get a path containing indices by [method get_id_path], or one containing actual coordinates with [method get_point_path].
*
* It is also possible to use non-Euclidean distances. To do so, create a class that extends `AStar` and override methods [method _compute_cost] and [method _estimate_cost]. Both take two indices and return a length, as is shown in the following example.
*
* @example
*
* class MyAStar:
* extends AStar
* func _compute_cost(u, v):
* return abs(u - v)
* func _estimate_cost(u, v):
* return min(0, abs(u - v) - 1)
* @summary
*
*
* [method _estimate_cost] should return a lower bound of the distance, i.e. `_estimate_cost(u, v) <= _compute_cost(u, v)`. This serves as a hint to the algorithm because the custom `_compute_cost` might be computation-heavy. If this is not the case, make [method _estimate_cost] return the same value as [method _compute_cost] to provide the algorithm with the most accurate information.
*
* If the default [method _estimate_cost] and [method _compute_cost] methods are used, or if the supplied [method _estimate_cost] method returns a lower bound of the cost, then the paths returned by A* will be the lowest-cost paths. Here, the cost of a path equals the sum of the [method _compute_cost] results of all segments in the path multiplied by the `weight_scale`s of the endpoints of the respective segments. If the default methods are used and the `weight_scale`s of all points are set to `1.0`, then this equals the sum of Euclidean distances of all segments in the path.
*
*/
new(): AStar;
static "new"(): AStar
/**
* Called when computing the cost between two connected points.
*
* Note that this function is hidden in the default `AStar` class.
*
*/
protected _compute_cost(from_id: int, to_id: int): float;
/**
* Called when estimating the cost between a point and the path's ending point.
*
* Note that this function is hidden in the default `AStar` class.
*
*/
protected _estimate_cost(from_id: int, to_id: int): float;
/**
* Adds a new point at the given position with the given identifier. The `id` must be 0 or larger, and the `weight_scale` must be 1 or larger.
*
* The `weight_scale` is multiplied by the result of [method _compute_cost] when determining the overall cost of traveling across a segment from a neighboring point to this point. Thus, all else being equal, the algorithm prefers points with lower `weight_scale`s to form a path.
*
* @example
*
* var astar = AStar.new()
* astar.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with weight_scale 4 and id 1
* @summary
*
*
* If there already exists a point for the given `id`, its position and weight scale are updated to the given values.
*
*/
add_point(id: int, position: Vector3, weight_scale?: float): void;
/** Returns whether the two given points are directly connected by a segment. If [code]bidirectional[/code] is [code]false[/code], returns whether movement from [code]id[/code] to [code]to_id[/code] is possible through this segment. */
are_points_connected(id: int, to_id: int, bidirectional?: boolean): boolean;
/** Clears all the points and segments. */
clear(): void;
/**
* Creates a segment between the given points. If `bidirectional` is `false`, only movement from `id` to `to_id` is allowed, not the reverse direction.
*
* @example
*
* var astar = AStar.new()
* astar.add_point(1, Vector3(1, 1, 0))
* astar.add_point(2, Vector3(0, 5, 0))
* astar.connect_points(1, 2, false)
* @summary
*
*
*/
connect_points(id: int, to_id: int, bidirectional?: boolean): void;
/** Deletes the segment between the given points. If [code]bidirectional[/code] is [code]false[/code], only movement from [code]id[/code] to [code]to_id[/code] is prevented, and a unidirectional segment possibly remains. */
disconnect_points(id: int, to_id: int, bidirectional?: boolean): void;
/** Returns the next available point ID with no point associated to it. */
get_available_point_id(): int;
/**
* Returns the ID of the closest point to `to_position`, optionally taking disabled points into account. Returns `-1` if there are no points in the points pool.
*
* **Note:** If several points are the closest to `to_position`, the one with the smallest ID will be returned, ensuring a deterministic result.
*
*/
get_closest_point(to_position: Vector3, include_disabled?: boolean): int;
/**
* Returns the closest position to `to_position` that resides inside a segment between two connected points.
*
* @example
*
* var astar = AStar.new()
* astar.add_point(1, Vector3(0, 0, 0))
* astar.add_point(2, Vector3(0, 5, 0))
* astar.connect_points(1, 2)
* var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns (0, 3, 0)
* @summary
*
*
* The result is in the segment that goes from `y = 0` to `y = 5`. It's the closest position in the segment to the given point.
*
*/
get_closest_position_in_segment(to_position: Vector3): Vector3;
/**
* Returns an array with the IDs of the points that form the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
*
* @example
*
* var astar = AStar.new()
* astar.add_point(1, Vector3(0, 0, 0))
* astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1
* astar.add_point(3, Vector3(1, 1, 0))
* astar.add_point(4, Vector3(2, 0, 0))
* astar.connect_points(1, 2, false)
* astar.connect_points(2, 3, false)
* astar.connect_points(4, 3, false)
* astar.connect_points(1, 4, false)
* var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]
* @summary
*
*
* If you change the 2nd point's weight to 3, then the result will be `[1, 4, 3]` instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
*
*/
get_id_path(from_id: int, to_id: int): PoolIntArray;
/** Returns the capacity of the structure backing the points, useful in conjunction with [code]reserve_space[/code]. */
get_point_capacity(): int;
/**
* Returns an array with the IDs of the points that form the connection with the given point.
*
* @example
*
* var astar = AStar.new()
* astar.add_point(1, Vector3(0, 0, 0))
* astar.add_point(2, Vector3(0, 1, 0))
* astar.add_point(3, Vector3(1, 1, 0))
* astar.add_point(4, Vector3(2, 0, 0))
* astar.connect_points(1, 2, true)
* astar.connect_points(1, 3, true)
* var neighbors = astar.get_point_connections(1) # Returns [2, 3]
* @summary
*
*
*/
get_point_connections(id: int): PoolIntArray;
/** Returns the number of points currently in the points pool. */
get_point_count(): int;
/**
* Returns an array with the points that are in the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
*
* **Note:** This method is not thread-safe. If called from a [Thread], it will return an empty [PoolVector3Array] and will print an error message.
*
*/
get_point_path(from_id: int, to_id: int): PoolVector3Array;
/** Returns the position of the point associated with the given [code]id[/code]. */
get_point_position(id: int): Vector3;
/** Returns the weight scale of the point associated with the given [code]id[/code]. */
get_point_weight_scale(id: int): float;
/** Returns an array of all points. */
get_points(): any[];
/** Returns whether a point associated with the given [code]id[/code] exists. */
has_point(id: int): boolean;
/** Returns whether a point is disabled or not for pathfinding. By default, all points are enabled. */
is_point_disabled(id: int): boolean;
/** Removes the point associated with the given [code]id[/code] from the points pool. */
remove_point(id: int): void;
/** Reserves space internally for [code]num_nodes[/code] points, useful if you're adding a known large number of points at once, for a grid for instance. New capacity must be greater or equals to old capacity. */
reserve_space(num_nodes: int): void;
/** Disables or enables the specified point for pathfinding. Useful for making a temporary obstacle. */
set_point_disabled(id: int, disabled?: boolean): void;
/** Sets the [code]position[/code] for the point with the given [code]id[/code]. */
set_point_position(id: int, position: Vector3): void;
/** Sets the [code]weight_scale[/code] for the point with the given [code]id[/code]. The [code]weight_scale[/code] is multiplied by the result of [method _compute_cost] when determining the overall cost of traveling across a segment from a neighboring point to this point. */
set_point_weight_scale(id: int, weight_scale: float): void;
connect<T extends SignalsOf<AStar>>(signal: T, method: SignalFunction<AStar[T]>): number;
}
================================================
FILE: _godot_defs/static/AStar2D.d.ts
================================================
/**
* This is a wrapper for the [AStar] class which uses 2D vectors instead of 3D vectors.
*
*/
declare class AStar2D extends Reference {
/**
* This is a wrapper for the [AStar] class which uses 2D vectors instead of 3D vectors.
*
*/
new(): AStar2D;
static "new"(): AStar2D
/**
* Called when computing the cost between two connected points.
*
* Note that this function is hidden in the default `AStar2D` class.
*
*/
protected _compute_cost(from_id: int, to_id: int): float;
/**
* Called when estimating the cost between a point and the path's ending point.
*
* Note that this function is hidden in the default `AStar2D` class.
*
*/
protected _estimate_cost(from_id: int, to_id: int): float;
/**
* Adds a new point at the given position with the given identifier. The `id` must be 0 or larger, and the `weight_scale` must be 1 or larger.
*
* The `weight_scale` is multiplied by the result of [method _compute_cost] when determining the overall cost of traveling across a segment from a neighboring point to this point. Thus, all else being equal, the algorithm prefers points with lower `weight_scale`s to form a path.
*
* @example
*
* var astar = AStar2D.new()
* astar.add_point(1, Vector2(1, 0), 4) # Adds the point (1, 0) with weight_scale 4 and id 1
* @summary
*
*
* If there already exists a point for the given `id`, its position and weight scale are updated to the given values.
*
*/
add_point(id: int, position: Vector2, weight_scale?: float): void;
/** Returns whether there is a connection/segment between the given points. */
are_points_connected(id: int, to_id: int): boolean;
/** Clears all the points and segments. */
clear(): void;
/**
* Creates a segment between the given points. If `bidirectional` is `false`, only movement from `id` to `to_id` is allowed, not the reverse direction.
*
* @example
*
* var astar = AStar2D.new()
* astar.add_point(1, Vector2(1, 1))
* astar.add_point(2, Vector2(0, 5))
* astar.connect_points(1, 2, false)
* @summary
*
*
*/
connect_points(id: int, to_id: int, bidirectional?: boolean): void;
/** Deletes the segment between the given points. */
disconnect_points(id: int, to_id: int): void;
/** Returns the next available point ID with no point associated to it. */
get_available_point_id(): int;
/**
* Returns the ID of the closest point to `to_position`, optionally taking disabled points into account. Returns `-1` if there are no points in the points pool.
*
* **Note:** If several points are the closest to `to_position`, the one with the smallest ID will be returned, ensuring a deterministic result.
*
*/
get_closest_point(to_position: Vector2, include_disabled?: boolean): int;
/**
* Returns the closest position to `to_position` that resides inside a segment between two connected points.
*
* @example
*
* var astar = AStar2D.new()
* astar.add_point(1, Vector2(0, 0))
* astar.add_point(2, Vector2(0, 5))
* astar.connect_points(1, 2)
* var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Returns (0, 3)
* @summary
*
*
* The result is in the segment that goes from `y = 0` to `y = 5`. It's the closest position in the segment to the given point.
*
*/
get_closest_position_in_segment(to_position: Vector2): Vector2;
/**
* Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
*
* @example
*
* var astar = AStar2D.new()
* astar.add_point(1, Vector2(0, 0))
* astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1
* astar.add_point(3, Vector2(1, 1))
* astar.add_point(4, Vector2(2, 0))
* astar.connect_points(1, 2, false)
* astar.connect_points(2, 3, false)
* astar.connect_points(4, 3, false)
* astar.connect_points(1, 4, false)
* var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]
* @summary
*
*
* If you change the 2nd point's weight to 3, then the result will be `[1, 4, 3]` instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
*
*/
get_id_path(from_id: int, to_id: int): PoolIntArray;
/** Returns the capacity of the structure backing the points, useful in conjunction with [code]reserve_space[/code]. */
get_point_capacity(): int;
/**
* Returns an array with the IDs of the points that form the connection with the given point.
*
* @example
*
* var astar = AStar2D.new()
* astar.add_point(1, Vector2(0, 0))
* astar.add_point(2, Vector2(0, 1))
* astar.add_point(3, Vector2(1, 1))
* astar.add_point(4, Vector2(2, 0))
* astar.connect_points(1, 2, true)
* astar.connect_points(1, 3, true)
* var neighbors = astar.get_point_connections(1) # Returns [2, 3]
* @summary
*
*
*/
get_point_connections(id: int): PoolIntArray;
/** Returns the number of points currently in the points pool. */
get_point_count(): int;
/**
* Returns an array with the points that are in the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
*
* **Note:** This method is not thread-safe. If called from a [Thread], it will return an empty [PoolVector2Array] and will print an error message.
*
*/
get_point_path(from_id: int, to_id: int): PoolVector2Array;
/** Returns the position of the point associated with the given [code]id[/code]. */
get_point_position(id: int): Vector2;
/** Returns the weight scale of the point associated with the given [code]id[/code]. */
get_point_weight_scale(id: int): float;
/** Returns an array of all points. */
get_points(): any[];
/** Returns whether a point associated with the given [code]id[/code] exists. */
has_point(id: int): boolean;
/** Returns whether a point is disabled or not for pathfinding. By default, all points are enabled. */
is_point_disabled(id: int): boolean;
/** Removes the point associated with the given [code]id[/code] from the points pool. */
remove_point(id: int): void;
/** Reserves space internally for [code]num_nodes[/code] points, useful if you're adding a known large number of points at once, for a grid for instance. New capacity must be greater or equals to old capacity. */
reserve_space(num_nodes: int): void;
/** Disables or enables the specified point for pathfinding. Useful for making a temporary obstacle. */
set_point_disabled(id: int, disabled?: boolean): void;
/** Sets the [code]position[/code] for the point with the given [code]id[/code]. */
set_point_position(id: int, position: Vector2): void;
/** Sets the [code]weight_scale[/code] for the point with the given [code]id[/code]. The [code]weight_scale[/code] is multiplied by the result of [method _compute_cost] when determining the overall cost of traveling across a segment from a neighboring point to this point. */
set_point_weight_scale(id: int, weight_scale: float): void;
connect<T extends SignalsOf<AStar2D>>(signal: T, method: SignalFunction<AStar2D[T]>): number;
}
================================================
FILE: _godot_defs/static/AcceptDialog.d.ts
================================================
/**
* This dialog is useful for small notifications to the user about an event. It can only be accepted or closed, with the same result.
*
*/
declare class AcceptDialog extends WindowDialog {
/**
* This dialog is useful for small notifications to the user about an event. It can only be accepted or closed, with the same result.
*
*/
new(): AcceptDialog;
static "new"(): AcceptDialog
/** Sets autowrapping for the text in the dialog. */
dialog_autowrap: boolean;
/**
* If `true`, the dialog is hidden when the OK button is pressed. You can set it to `false` if you want to do e.g. input validation when receiving the [signal confirmed] signal, and handle hiding the dialog in your own logic.
*
* **Note:** Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example [FileDialog] defaults to `false`, and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in [FileDialog] to disable hiding the dialog when pressing OK.
*
*/
dialog_hide_on_ok: boolean;
/** The text displayed by the dialog. */
dialog_text: string;
/**
* Adds a button with label `text` and a custom `action` to the dialog and returns the created button. `action` will be passed to the [signal custom_action] signal when pressed.
*
* If `true`, `right` will place the button to the right of any sibling buttons.
*
* You can use [method remove_button] method to remove a button created with this method from the dialog.
*
*/
add_button(text: string, right?: boolean, action?: string): Button;
/**
* Adds a button with label `name` and a cancel action to the dialog and returns the created button.
*
* You can use [method remove_button] method to remove a button created with this method from the dialog.
*
*/
add_cancel(name: string): Button;
/**
* Returns the label used for built-in text.
*
* **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member CanvasItem.visible] property.
*
*/
get_label(): Label;
/**
* Returns the OK [Button] instance.
*
* **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member CanvasItem.visible] property.
*
*/
get_ok(): Button;
/** Registers a [LineEdit] in the dialog. When the enter key is pressed, the dialog will be accepted. */
register_text_enter(line_edit: Node): void;
/** Removes the [code]button[/code] from the dialog. Does NOT free the [code]button[/code]. The [code]button[/code] must be a [Button] added with [method add_button] or [method add_cancel] method. After removal, pressing the [code]button[/code] will no longer emit this dialog's [signal custom_action] signal or cancel this dialog. */
remove_button(button: Control): void;
connect<T extends SignalsOf<AcceptDialog>>(signal: T, method: SignalFunction<AcceptDialog[T]>): number;
/**
* Emitted when the dialog is accepted, i.e. the OK button is pressed.
*
*/
$confirmed: Signal<() => void>
/**
* Emitted when a custom button is pressed. See [method add_button].
*
*/
$custom_action: Signal<(action: string) => void>
}
================================================
FILE: _godot_defs/static/AnimatedSprite.d.ts
================================================
/**
* Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFrames panel.
*
* **Note:** You can associate a set of normal maps by creating additional [SpriteFrames] resources with a `_normal` suffix. For example, having 2 [SpriteFrames] resources `run` and `run_normal` will make it so the `run` animation uses the normal map.
*
*/
declare class AnimatedSprite extends Node2D {
/**
* Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFrames panel.
*
* **Note:** You can associate a set of normal maps by creating additional [SpriteFrames] resources with a `_normal` suffix. For example, having 2 [SpriteFrames] resources `run` and `run_normal` will make it so the `run` animation uses the normal map.
*
*/
new(): AnimatedSprite;
static "new"(): AnimatedSprite
/** The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset. */
animation: string;
/** If [code]true[/code], texture will be centered. */
centered: boolean;
/** If [code]true[/code], texture is flipped horizontally. */
flip_h: boolean;
/** If [code]true[/code], texture is flipped vertically. */
flip_v: boolean;
/** The displayed animation frame's index. */
frame: int;
/** The [SpriteFrames] resource containing the animation(s). */
frames: SpriteFrames;
/** The texture's drawing offset. */
offset: Vector2;
/** If [code]true[/code], the [member animation] is currently playing. */
playing: boolean;
/** The animation speed is multiplied by this value. */
speed_scale: float;
/** Returns [code]true[/code] if an animation is currently being played. */
is_playing(): boolean;
/** Plays the animation named [code]anim[/code]. If no [code]anim[/code] is provided, the current animation is played. If [code]backwards[/code] is [code]true[/code], the animation will be played in reverse. */
play(anim?: string, backwards?: boolean): void;
/** Stops the current animation (does not reset the frame counter). */
stop(): void;
connect<T extends SignalsOf<AnimatedSprite>>(signal: T, method: SignalFunction<AnimatedSprite[T]>): number;
/**
* Emitted when the animation is finished (when it plays the last frame). If the animation is looping, this signal is emitted every time the last frame is drawn.
*
*/
$animation_finished: Signal<() => void>
/**
* Emitted when [member frame] changed.
*
*/
$frame_changed: Signal<() => void>
}
================================================
FILE: _godot_defs/static/AnimatedSprite3D.d.ts
================================================
/**
* Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFrames panel.
*
*/
declare class AnimatedSprite3D extends SpriteBase3D {
/**
* Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFrames panel.
*
*/
new(): AnimatedSprite3D;
static "new"(): AnimatedSprite3D
/** The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset. */
animation: string;
/** The displayed animation frame's index. */
frame: int;
/** The [SpriteFrames] resource containing the animation(s). */
frames: SpriteFrames;
/** If [code]true[/code], the [member animation] is currently playing. */
playing: boolean;
/** Returns [code]true[/code] if an animation is currently being played. */
is_playing(): boolean;
/** Plays the animation named [code]anim[/code]. If no [code]anim[/code] is provided, the current animation is played. */
play(anim?: string): void;
/** Stops the current animation (does not reset the frame counter). */
stop(): void;
connect<T extends SignalsOf<AnimatedSprite3D>>(signal: T, method: SignalFunction<AnimatedSprite3D[T]>): number;
/**
* Emitted when the animation is finished (when it plays the last frame). If the animation is looping, this signal is emitted every time the last frame is drawn.
*
*/
$animation_finished: Signal<() => void>
/**
* Emitted when [member frame] changed.
*
*/
$frame_changed: Signal<() => void>
}
================================================
FILE: _godot_defs/static/AnimatedTexture.d.ts
================================================
/**
* [AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike [AnimationPlayer] or [AnimatedSprite], it isn't a [Node], but has the advantage of being usable anywhere a [Texture] resource can be used, e.g. in a [TileSet].
*
* The playback of the animation is controlled by the [member fps] property as well as each frame's optional delay (see [method set_frame_delay]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
*
* [AnimatedTexture] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
*
* **Note:** AnimatedTexture doesn't support using [AtlasTexture]s. Each frame needs to be a separate [Texture].
*
*/
declare class AnimatedTexture extends Texture {
/**
* [AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike [AnimationPlayer] or [AnimatedSprite], it isn't a [Node], but has the advantage of being usable anywhere a [Texture] resource can be used, e.g. in a [TileSet].
*
* The playback of the animation is controlled by the [member fps] property as well as each frame's optional delay (see [method set_frame_delay]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
*
* [AnimatedTexture] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
*
* **Note:** AnimatedTexture doesn't support using [AtlasTexture]s. Each frame needs to be a separate [Texture].
*
*/
new(): AnimatedTexture;
static "new"(): AnimatedTexture
/** Sets the currently visible frame of the texture. */
current_frame: int;
/**
* Animation speed in frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the [member frames] property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see [method set_frame_delay]).
*
* For example, an animation with 8 frames, no frame delay and a `fps` value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds.
*
*/
fps: float;
/** Number of frames to use in the animation. While you can create the frames independently with [method set_frame_texture], you need to set this value for the animation to take new frames into account. The maximum number of frames is [constant MAX_FRAMES]. */
frames: int;
/** If [code]true[/code], the animation will only play once and will not loop back to the first frame after reaching the end. Note that reaching the end will not set [member pause] to [code]true[/code]. */
oneshot: boolean;
/** If [code]true[/code], the animation will pause where it currently is (i.e. at [member current_frame]). The animation will continue from where it was paused when changing this property to [code]false[/code]. */
pause: boolean;
/** Returns the given frame's delay value. */
get_frame_delay(frame: int): float;
/** Returns the given frame's [Texture]. */
get_frame_texture(frame: int): Texture;
/**
* Sets an additional delay (in seconds) between this frame and the next one, that will be added to the time interval defined by [member fps]. By default, frames have no delay defined. If a delay value is defined, the final time interval between this frame and the next will be `1.0 / fps + delay`.
*
* For example, for an animation with 3 frames, 2 FPS and a frame delay on the second frame of 1.2, the resulting playback will be:
*
* @example
*
* Frame 0: 0.5 s (1 / fps)
* Frame 1: 1.7 s (1 / fps + 1.2)
* Frame 2: 0.5 s (1 / fps)
* Total duration: 2.7 s
* @summary
*
*
*/
set_frame_delay(frame: int, delay: float): void;
/**
* Assigns a [Texture] to the given frame. Frame IDs start at 0, so the first frame has ID 0, and the last frame of the animation has ID [member frames] - 1.
*
* You can define any number of textures up to [constant MAX_FRAMES], but keep in mind that only frames from 0 to [member frames] - 1 will be part of the animation.
*
*/
set_frame_texture(frame: int, texture: Texture): void;
connect<T extends SignalsOf<AnimatedTexture>>(signal: T, method: SignalFunction<AnimatedTexture[T]>): number;
/**
* The maximum number of frames supported by [AnimatedTexture]. If you need more frames in your animation, use [AnimationPlayer] or [AnimatedSprite].
*
*/
static MAX_FRAMES: any;
}
================================================
FILE: _godot_defs/static/Animation.d.ts
================================================
/**
* An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track.
*
* @example
*
* # This creates an animation that makes the node "Enemy" move to the right by
* # 100 pixels in 0.5 seconds.
* var animation = Animation.new()
* var track_index = animation.add_track(Animation.TYPE_VALUE)
* animation.track_set_path(track_index, "Enemy:position:x")
* animation.track_insert_key(track_index, 0.0, 0)
* animation.track_insert_key(track_index, 0.5, 100)
* @summary
*
*
* Animations are just data containers, and must be added to nodes such as an [AnimationPlayer] or [AnimationTreePlayer] to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check [enum TrackType] to see available types.
*
*/
declare class Animation extends Resource {
/**
* An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track.
*
* @example
*
* # This creates an animation that makes the node "Enemy" move to the right by
* # 100 pixels in 0.5 seconds.
* var animation = Animation.new()
* var track_index = animation.add_track(Animation.TYPE_VALUE)
* animation.track_set_path(track_index, "Enemy:position:x")
* animation.track_insert_key(track_index, 0.0, 0)
* animation.track_insert_key(track_index, 0.5, 100)
* @summary
*
*
* Animations are just data containers, and must be added to nodes such as an [AnimationPlayer] or [AnimationTreePlayer] to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check [enum TrackType] to see available types.
*
*/
new(): Animation;
static "new"(): Animation
/**
* The total length of the animation (in seconds).
*
* **Note:** Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
*
*/
length: float;
/** A flag indicating that the animation must loop. This is used for correct interpolation of animation cycles, and for hinting the player that it must restart the animation. */
loop: boolean;
/** The animation step value. */
step: float;
/** Adds a track to the Animation. */
add_track(type: int, at_position?: int): int;
/** Returns the animation name at the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Animation Track. */
animation_track_get_key_animation(track_idx: int, key_idx: int): string;
/** Inserts a key with value [code]animation[/code] at the given [code]time[/code] (in seconds). The [code]track_idx[/code] must be the index of an Animation Track. */
animation_track_insert_key(track_idx: int, time: float, animation: string): int;
/** Sets the key identified by [code]key_idx[/code] to value [code]animation[/code]. The [code]track_idx[/code] must be the index of an Animation Track. */
animation_track_set_key_animation(track_idx: int, key_idx: int, animation: string): void;
/**
* Returns the end offset of the key identified by `key_idx`. The `track_idx` must be the index of an Audio Track.
*
* End offset is the number of seconds cut off at the ending of the audio stream.
*
*/
audio_track_get_key_end_offset(track_idx: int, key_idx: int): float;
/**
* Returns the start offset of the key identified by `key_idx`. The `track_idx` must be the index of an Audio Track.
*
* Start offset is the number of seconds cut off at the beginning of the audio stream.
*
*/
audio_track_get_key_start_offset(track_idx: int, key_idx: int): float;
/** Returns the audio stream of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track. */
audio_track_get_key_stream(track_idx: int, key_idx: int): Resource;
/**
* Inserts an Audio Track key at the given `time` in seconds. The `track_idx` must be the index of an Audio Track.
*
* `stream` is the [AudioStream] resource to play. `start_offset` is the number of seconds cut off at the beginning of the audio stream, while `end_offset` is at the ending.
*
*/
audio_track_insert_key(track_idx: int, time: float, stream: Resource, start_offset?: float, end_offset?: float): int;
/** Sets the end offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track. */
audio_track_set_key_end_offset(track_idx: int, key_idx: int, offset: float): void;
/** Sets the start offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track. */
audio_track_set_key_start_offset(track_idx: int, key_idx: int, offset: float): void;
/** Sets the stream of the key identified by [code]key_idx[/code] to value [code]stream[/code]. The [code]track_idx[/code] must be the index of an Audio Track. */
audio_track_set_key_stream(track_idx: int, key_idx: int, stream: Resource): void;
/** Returns the in handle of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. */
bezier_track_get_key_in_handle(track_idx: int, key_idx: int): Vector2;
/** Returns the out handle of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. */
bezier_track_get_key_out_handle(track_idx: int, key_idx: int): Vector2;
/** Returns the value of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. */
bezier_track_get_key_value(track_idx: int, key_idx: int): float;
/**
* Inserts a Bezier Track key at the given `time` in seconds. The `track_idx` must be the index of a Bezier Track.
*
* `in_handle` is the left-side weight of the added Bezier curve point, `out_handle` is the right-side one, while `value` is the actual value at this point.
*
*/
bezier_track_insert_key(track_idx: int, time: float, value: float, in_handle?: Vector2, out_handle?: Vector2): int;
/** Returns the interpolated value at the given [code]time[/code] (in seconds). The [code]track_idx[/code] must be the index of a Bezier Track. */
bezier_track_interpolate(track_idx: int, time: float): float;
/** Sets the in handle of the key identified by [code]key_idx[/code] to value [code]in_handle[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. */
bezier_track_set_key_in_handle(track_idx: int, key_idx: int, in_handle: Vector2): void;
/** Sets the out handle of the key identified by [code]key_idx[/code] to value [code]out_handle[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. */
bezier_track_set_key_out_handle(track_idx: int, key_idx: int, out_handle: Vector2): void;
/** Sets the value of the key identified by [code]key_idx[/code] to the given value. The [code]track_idx[/code] must be the index of a Bezier Track. */
bezier_track_set_key_value(track_idx: int, key_idx: int, value: float): void;
/** Clear the animation (clear all tracks and reset all). */
clear(): void;
/** Adds a new track that is a copy of the given track from [code]to_animation[/code]. */
copy_track(track_idx: int, to_animation: Animation): void;
/** Returns the index of the specified track. If the track is not found, return -1. */
find_track(path: NodePathType): int;
/** Returns the amount of tracks in the animation. */
get_track_count(): int;
/** Returns all the key indices of a method track, given a position and delta time. */
method_track_get_key_indices(track_idx: int, time_sec: float, delta: float): PoolIntArray;
/** Returns the method name of a method track. */
method_track_get_name(track_idx: int, key_idx: int): string;
/** Returns the arguments values to be called on a method track for a given key in a given track. */
method_track_get_params(track_idx: int, key_idx: int): any[];
/** Removes a track by specifying the track index. */
remove_track(track_idx: int): void;
/** Finds the key index by time in a given track. Optionally, only find it if the exact time is given. */
track_find_key(track_idx: int, time: float, exact?: boolean): int;
/** Returns [code]true[/code] if the track at [code]idx[/code] wraps the interpolation loop. New tracks wrap the interpolation loop by default. */
track_get_interpolation_loop_wrap(track_idx: int): boolean;
/** Returns the interpolation type of a given track. */
track_get_interpolation_type(track_idx: int): int;
/** Returns the amount of keys in a given track. */
track_get_key_count(track_idx: int): int;
/** Returns the time at which the key is located. */
track_get_key_time(track_idx: int, key_idx: int): float;
/** Returns the transition curve (easing) for a specific key (see the built-in math function [method @GDScript.ease]). */
track_get_key_transition(track_idx: int, key_idx: int): float;
/** Returns the value of a given key in a given track. */
track_get_key_value(track_idx: int, key_idx: int): any;
/** Gets the path of a track. For more information on the path format, see [method track_set_path]. */
track_get_path(track_idx: int): NodePathType;
/** Gets the type of a track. */
track_get_type(track_idx: int): int;
/** Insert a generic key in a given track. */
track_insert_key(track_idx: int, time: float, key: any, transition?: float): void;
/** Returns [code]true[/code] if the track at index [code]idx[/code] is enabled. */
track_is_enabled(track_idx: int): boolean;
/** Returns [code]true[/code] if the given track is imported. Else, return [code]false[/code]. */
track_is_imported(track_idx: int): boolean;
/** Moves a track down. */
track_move_down(track_idx: int): void;
/** Changes the index position of track [code]idx[/code] to the one defined in [code]to_idx[/code]. */
track_move_to(track_idx: int, to_idx: int): void;
/** Moves a track up. */
track_move_up(track_idx: int): void;
/** Removes a key by index in a given track. */
track_remove_key(track_idx: int, key_idx: int): void;
/** Removes a key by position (seconds) in a given track. */
track_remove_key_at_position(track_idx: int, position: float): void;
/** Enables/disables the given track. Tracks are enabled by default. */
track_set_enabled(track_idx: int, enabled: boolean): void;
/** Sets the given track as imported or not. */
track_set_imported(track_idx: int, imported: boolean): void;
/** If [code]true[/code], the track at [code]idx[/code] wraps the interpolation loop. */
track_set_interpolation_loop_wrap(track_idx: int, interpolation: boolean): void;
/** Sets the interpolation type of a given track. */
track_set_interpolation_type(track_idx: int, interpolation: int): void;
/** Sets the time of an existing key. */
track_set_key_time(track_idx: int, key_idx: int, time: float): void;
/** Sets the transition curve (easing) for a specific key (see the built-in math function [method @GDScript.ease]). */
track_set_key_transition(track_idx: int, key_idx: int, transition: float): void;
/** Sets the value of an existing key. */
track_set_key_value(track_idx: int, key: int, value: any): void;
/**
* Sets the path of a track. Paths must be valid scene-tree paths to a node and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by `":"`.
*
* For example, `"character/skeleton:ankle"` or `"character/mesh:transform/local"`.
*
*/
track_set_path(track_idx: int, path: NodePathType): void;
/** Swaps the track [code]idx[/code]'s index position with the track [code]with_idx[/code]. */
track_swap(track_idx: int, with_idx: int): void;
/** Insert a transform key for a transform track. */
transform_track_insert_key(track_idx: int, time: float, location: Vector3, rotation: Quat, scale: Vector3): int;
/** Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position ([Vector3]), rotation ([Quat]) and scale ([Vector3]). */
transform_track_interpolate(track_idx: int, time_sec: float): any[];
/** Returns all the key indices of a value track, given a position and delta time. */
value_track_get_key_indices(track_idx: int, time_sec: float, delta: float): PoolIntArray;
/** Returns the update mode of a value track. */
value_track_get_update_mode(track_idx: int): int;
/** Returns the interpolated value at the given time (in seconds). The [code]track_idx[/code] must be the index of a value track. */
value_track_interpolate(track_idx: int, time_sec: float): any;
/** Sets the update mode (see [enum UpdateMode]) of a value track. */
value_track_set_update_mode(track_idx: int, mode: int): void;
connect<T extends SignalsOf<Animation>>(signal: T, method: SignalFunction<Animation[T]>): number;
/**
* Value tracks set values in node properties, but only those which can be Interpolated.
*
*/
static TYPE_VALUE: any;
/**
* Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are interpolated.
*
*/
static TYPE_TRANSFORM: any;
/**
* Method tracks call functions with given arguments per key.
*
*/
static TYPE_METHOD: any;
/**
* Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a [Color]).
*
*/
static TYPE_BEZIER: any;
/**
* Audio tracks are used to play an audio strea
gitextract_2ps1ko7v/ ├── .eslintrc.js ├── .gdignore ├── .github/ │ └── workflows/ │ └── main.yml ├── .gitignore ├── .gitmodules ├── .husky/ │ └── pre-commit ├── .prettierignore ├── .vscode/ │ ├── launch.json │ └── settings.json ├── LICENSE.md ├── README.md ├── _godot_defs/ │ └── static/ │ ├── @base.d.ts │ ├── @global_functions.d.ts │ ├── @globals.d.ts │ ├── AABB.d.ts │ ├── AESContext.d.ts │ ├── ARVRAnchor.d.ts │ ├── ARVRCamera.d.ts │ ├── ARVRController.d.ts │ ├── ARVRInterface.d.ts │ ├── ARVROrigin.d.ts │ ├── ARVRPositionalTracker.d.ts │ ├── ARVRServer.d.ts │ ├── AStar.d.ts │ ├── AStar2D.d.ts │ ├── AcceptDialog.d.ts │ ├── AnimatedSprite.d.ts │ ├── AnimatedSprite3D.d.ts │ ├── AnimatedTexture.d.ts │ ├── Animation.d.ts │ ├── AnimationNode.d.ts │ ├── AnimationNodeAdd2.d.ts │ ├── AnimationNodeAdd3.d.ts │ ├── AnimationNodeAnimation.d.ts │ ├── AnimationNodeBlend2.d.ts │ ├── AnimationNodeBlend3.d.ts │ ├── AnimationNodeBlendSpace1D.d.ts │ ├── AnimationNodeBlendSpace2D.d.ts │ ├── AnimationNodeBlendTree.d.ts │ ├── AnimationNodeOneShot.d.ts │ ├── AnimationNodeOutput.d.ts │ ├── AnimationNodeStateMachine.d.ts │ ├── AnimationNodeStateMachinePlayback.d.ts │ ├── AnimationNodeStateMachineTransition.d.ts │ ├── AnimationNodeTimeScale.d.ts │ ├── AnimationNodeTimeSeek.d.ts │ ├── AnimationNodeTransition.d.ts │ ├── AnimationPlayer.d.ts │ ├── AnimationRootNode.d.ts │ ├── AnimationTrackEditPlugin.d.ts │ ├── AnimationTree.d.ts │ ├── AnimationTreePlayer.d.ts │ ├── Area.d.ts │ ├── Area2D.d.ts │ ├── ArrayMesh.d.ts │ ├── AspectRatioContainer.d.ts │ ├── AtlasTexture.d.ts │ ├── AudioBusLayout.d.ts │ ├── AudioEffect.d.ts │ ├── AudioEffectAmplify.d.ts │ ├── AudioEffectBandLimitFilter.d.ts │ ├── AudioEffectBandPassFilter.d.ts │ ├── AudioEffectCapture.d.ts │ ├── AudioEffectChorus.d.ts │ ├── AudioEffectCompressor.d.ts │ ├── AudioEffectDelay.d.ts │ ├── AudioEffectDistortion.d.ts │ ├── AudioEffectEQ.d.ts │ ├── AudioEffectEQ10.d.ts │ ├── AudioEffectEQ21.d.ts │ ├── AudioEffectEQ6.d.ts │ ├── AudioEffectFilter.d.ts │ ├── AudioEffectHighPassFilter.d.ts │ ├── AudioEffectHighShelfFilter.d.ts │ ├── AudioEffectInstance.d.ts │ ├── AudioEffectLimiter.d.ts │ ├── AudioEffectLowPassFilter.d.ts │ ├── AudioEffectLowShelfFilter.d.ts │ ├── AudioEffectNotchFilter.d.ts │ ├── AudioEffectPanner.d.ts │ ├── AudioEffectPhaser.d.ts │ ├── AudioEffectPitchShift.d.ts │ ├── AudioEffectRecord.d.ts │ ├── AudioEffectReverb.d.ts │ ├── AudioEffectSpectrumAnalyzer.d.ts │ ├── AudioEffectSpectrumAnalyzerInstance.d.ts │ ├── AudioEffectStereoEnhance.d.ts │ ├── AudioServer.d.ts │ ├── AudioStream.d.ts │ ├── AudioStreamGenerator.d.ts │ ├── AudioStreamGeneratorPlayback.d.ts │ ├── AudioStreamMicrophone.d.ts │ ├── AudioStreamPlayback.d.ts │ ├── AudioStreamPlaybackResampled.d.ts │ ├── AudioStreamPlayer.d.ts │ ├── AudioStreamPlayer2D.d.ts │ ├── AudioStreamPlayer3D.d.ts │ ├── AudioStreamRandomPitch.d.ts │ ├── AudioStreamSample.d.ts │ ├── BackBufferCopy.d.ts │ ├── BakedLightmap.d.ts │ ├── BakedLightmapData.d.ts │ ├── BaseButton.d.ts │ ├── Basis.d.ts │ ├── BitMap.d.ts │ ├── BitmapFont.d.ts │ ├── Bone2D.d.ts │ ├── BoneAttachment.d.ts │ ├── BoxContainer.d.ts │ ├── BoxShape.d.ts │ ├── Button.d.ts │ ├── ButtonGroup.d.ts │ ├── CPUParticles.d.ts │ ├── CPUParticles2D.d.ts │ ├── CSGBox.d.ts │ ├── CSGCombiner.d.ts │ ├── CSGCylinder.d.ts │ ├── CSGMesh.d.ts │ ├── CSGPolygon.d.ts │ ├── CSGPrimitive.d.ts │ ├── CSGShape.d.ts │ ├── CSGSphere.d.ts │ ├── CSGTorus.d.ts │ ├── Camera.d.ts │ ├── Camera2D.d.ts │ ├── CameraFeed.d.ts │ ├── CameraServer.d.ts │ ├── CameraTexture.d.ts │ ├── CanvasItem.d.ts │ ├── CanvasItemMaterial.d.ts │ ├── CanvasLayer.d.ts │ ├── CanvasModulate.d.ts │ ├── CapsuleMesh.d.ts │ ├── CapsuleShape.d.ts │ ├── CapsuleShape2D.d.ts │ ├── CenterContainer.d.ts │ ├── CharFXTransform.d.ts │ ├── CheckBox.d.ts │ ├── CheckButton.d.ts │ ├── CircleShape2D.d.ts │ ├── ClassDB.d.ts │ ├── ClippedCamera.d.ts │ ├── CollisionObject.d.ts │ ├── CollisionObject2D.d.ts │ ├── CollisionPolygon.d.ts │ ├── CollisionPolygon2D.d.ts │ ├── CollisionShape.d.ts │ ├── CollisionShape2D.d.ts │ ├── Color.d.ts │ ├── ColorPicker.d.ts │ ├── ColorPickerButton.d.ts │ ├── ColorRect.d.ts │ ├── ConcavePolygonShape.d.ts │ ├── ConcavePolygonShape2D.d.ts │ ├── ConeTwistJoint.d.ts │ ├── ConfigFile.d.ts │ ├── ConfirmationDialog.d.ts │ ├── Container.d.ts │ ├── Control.d.ts │ ├── ConvexPolygonShape.d.ts │ ├── ConvexPolygonShape2D.d.ts │ ├── Crypto.d.ts │ ├── CryptoKey.d.ts │ ├── CubeMap.d.ts │ ├── CubeMesh.d.ts │ ├── CullInstance.d.ts │ ├── Curve.d.ts │ ├── Curve2D.d.ts │ ├── Curve3D.d.ts │ ├── CurveTexture.d.ts │ ├── CylinderMesh.d.ts │ ├── CylinderShape.d.ts │ ├── DTLSServer.d.ts │ ├── DampedSpringJoint2D.d.ts │ ├── DirectionalLight.d.ts │ ├── Directory.d.ts │ ├── DynamicFont.d.ts │ ├── DynamicFontData.d.ts │ ├── EditorExportPlugin.d.ts │ ├── EditorFeatureProfile.d.ts │ ├── EditorFileDialog.d.ts │ ├── EditorFileSystem.d.ts │ ├── EditorFileSystemDirectory.d.ts │ ├── EditorImportPlugin.d.ts │ ├── EditorInspector.d.ts │ ├── EditorInspectorPlugin.d.ts │ ├── EditorInterface.d.ts │ ├── EditorNavigationMeshGenerator.d.ts │ ├── EditorPlugin.d.ts │ ├── EditorProperty.d.ts │ ├── EditorResourceConversionPlugin.d.ts │ ├── EditorResourcePicker.d.ts │ ├── EditorResourcePreview.d.ts │ ├── EditorResourcePreviewGenerator.d.ts │ ├── EditorSceneImporter.d.ts │ ├── EditorScenePostImport.d.ts │ ├── EditorScript.d.ts │ ├── EditorScriptPicker.d.ts │ ├── EditorSelection.d.ts │ ├── EditorSettings.d.ts │ ├── EditorSpatialGizmo.d.ts │ ├── EditorSpatialGizmoPlugin.d.ts │ ├── EditorSpinSlider.d.ts │ ├── EditorVCSInterface.d.ts │ ├── EncodedObjectAsID.d.ts │ ├── Engine.d.ts │ ├── Environment.d.ts │ ├── Expression.d.ts │ ├── ExternalTexture.d.ts │ ├── File.d.ts │ ├── FileDialog.d.ts │ ├── FileSystemDock.d.ts │ ├── Font.d.ts │ ├── FuncRef.d.ts │ ├── GIProbe.d.ts │ ├── GIProbeData.d.ts │ ├── Generic6DOFJoint.d.ts │ ├── Geometry.d.ts │ ├── GeometryInstance.d.ts │ ├── Gradient.d.ts │ ├── GradientTexture.d.ts │ ├── GraphEdit.d.ts │ ├── GraphNode.d.ts │ ├── GridContainer.d.ts │ ├── GrooveJoint2D.d.ts │ ├── HBoxContainer.d.ts │ ├── HMACContext.d.ts │ ├── HScrollBar.d.ts │ ├── HSeparator.d.ts │ ├── HSlider.d.ts │ ├── HSplitContainer.d.ts │ ├── HTTPClient.d.ts │ ├── HTTPRequest.d.ts │ ├── HashingContext.d.ts │ ├── HeightMapShape.d.ts │ ├── HingeJoint.d.ts │ ├── IP.d.ts │ ├── Image.d.ts │ ├── ImageTexture.d.ts │ ├── ImmediateGeometry.d.ts │ ├── Input.d.ts │ ├── InputEvent.d.ts │ ├── InputEventAction.d.ts │ ├── InputEventGesture.d.ts │ ├── InputEventJoypadButton.d.ts │ ├── InputEventJoypadMotion.d.ts │ ├── InputEventKey.d.ts │ ├── InputEventMIDI.d.ts │ ├── InputEventMagnifyGesture.d.ts │ ├── InputEventMouse.d.ts │ ├── InputEventMouseButton.d.ts │ ├── InputEventMouseMotion.d.ts │ ├── InputEventPanGesture.d.ts │ ├── InputEventScreenDrag.d.ts │ ├── InputEventScreenTouch.d.ts │ ├── InputEventWithModifiers.d.ts │ ├── InputMap.d.ts │ ├── InstancePlaceholder.d.ts │ ├── InterpolatedCamera.d.ts │ ├── ItemList.d.ts │ ├── JNISingleton.d.ts │ ├── JSON.d.ts │ ├── JSONParseResult.d.ts │ ├── JSONRPC.d.ts │ ├── JavaClass.d.ts │ ├── JavaClassWrapper.d.ts │ ├── JavaScript.d.ts │ ├── JavaScriptObject.d.ts │ ├── Joint.d.ts │ ├── Joint2D.d.ts │ ├── KinematicBody.d.ts │ ├── KinematicBody2D.d.ts │ ├── KinematicCollision.d.ts │ ├── KinematicCollision2D.d.ts │ ├── Label.d.ts │ ├── LargeTexture.d.ts │ ├── Light.d.ts │ ├── Light2D.d.ts │ ├── LightOccluder2D.d.ts │ ├── Line2D.d.ts │ ├── LineEdit.d.ts │ ├── LineShape2D.d.ts │ ├── LinkButton.d.ts │ ├── Listener.d.ts │ ├── Listener2D.d.ts │ ├── MainLoop.d.ts │ ├── MarginContainer.d.ts │ ├── Marshalls.d.ts │ ├── Material.d.ts │ ├── MenuButton.d.ts │ ├── Mesh.d.ts │ ├── MeshDataTool.d.ts │ ├── MeshInstance.d.ts │ ├── MeshInstance2D.d.ts │ ├── MeshLibrary.d.ts │ ├── MeshTexture.d.ts │ ├── MultiMesh.d.ts │ ├── MultiMeshInstance.d.ts │ ├── MultiMeshInstance2D.d.ts │ ├── MultiplayerAPI.d.ts │ ├── Mutex.d.ts │ ├── Navigation.d.ts │ ├── Navigation2D.d.ts │ ├── NavigationMesh.d.ts │ ├── NavigationMeshInstance.d.ts │ ├── NavigationPolygon.d.ts │ ├── NavigationPolygonInstance.d.ts │ ├── NetworkedMultiplayerPeer.d.ts │ ├── NinePatchRect.d.ts │ ├── Node.d.ts │ ├── Node2D.d.ts │ ├── NodePath.d.ts │ ├── OS.d.ts │ ├── Object.d.ts │ ├── Occluder.d.ts │ ├── OccluderPolygon2D.d.ts │ ├── OccluderShape.d.ts │ ├── OccluderShapeSphere.d.ts │ ├── OmniLight.d.ts │ ├── OptionButton.d.ts │ ├── PCKPacker.d.ts │ ├── PHashTranslation.d.ts │ ├── PackedDataContainer.d.ts │ ├── PackedDataContainerRef.d.ts │ ├── PacketPeer.d.ts │ ├── PacketPeerDTLS.d.ts │ ├── PacketPeerStream.d.ts │ ├── PacketPeerUDP.d.ts │ ├── Panel.d.ts │ ├── PanelContainer.d.ts │ ├── PanoramaSky.d.ts │ ├── ParallaxBackground.d.ts │ ├── ParallaxLayer.d.ts │ ├── Particles.d.ts │ ├── Particles2D.d.ts │ ├── ParticlesMaterial.d.ts │ ├── Path.d.ts │ ├── Path2D.d.ts │ ├── PathFollow.d.ts │ ├── PathFollow2D.d.ts │ ├── Performance.d.ts │ ├── PhysicalBone.d.ts │ ├── Physics2DDirectBodyState.d.ts │ ├── Physics2DDirectSpaceState.d.ts │ ├── Physics2DServer.d.ts │ ├── Physics2DShapeQueryParameters.d.ts │ ├── Physics2DTestMotionResult.d.ts │ ├── PhysicsBody.d.ts │ ├── PhysicsBody2D.d.ts │ ├── PhysicsDirectBodyState.d.ts │ ├── PhysicsDirectSpaceState.d.ts │ ├── PhysicsMaterial.d.ts │ ├── PhysicsServer.d.ts │ ├── PhysicsShapeQueryParameters.d.ts │ ├── PhysicsTestMotionResult.d.ts │ ├── PinJoint.d.ts │ ├── PinJoint2D.d.ts │ ├── Plane.d.ts │ ├── PlaneMesh.d.ts │ ├── PlaneShape.d.ts │ ├── PointMesh.d.ts │ ├── Polygon2D.d.ts │ ├── PolygonPathFinder.d.ts │ ├── PoolByteArray.d.ts │ ├── PoolColorArray.d.ts │ ├── PoolIntArray.d.ts │ ├── PoolRealArray.d.ts │ ├── PoolStringArray.d.ts │ ├── PoolVector2Array.d.ts │ ├── PoolVector3Array.d.ts │ ├── Popup.d.ts │ ├── PopupDialog.d.ts │ ├── PopupMenu.d.ts │ ├── PopupPanel.d.ts │ ├── Portal.d.ts │ ├── Position2D.d.ts │ ├── Position3D.d.ts │ ├── PrimitiveMesh.d.ts │ ├── PrismMesh.d.ts │ ├── ProceduralSky.d.ts │ ├── ProgressBar.d.ts │ ├── ProjectSettings.d.ts │ ├── ProximityGroup.d.ts │ ├── ProxyTexture.d.ts │ ├── QuadMesh.d.ts │ ├── Quat.d.ts │ ├── RID.d.ts │ ├── RandomNumberGenerator.d.ts │ ├── Range.d.ts │ ├── RayCast.d.ts │ ├── RayCast2D.d.ts │ ├── RayShape.d.ts │ ├── RayShape2D.d.ts │ ├── Rect2.d.ts │ ├── RectangleShape2D.d.ts │ ├── Reference.d.ts │ ├── ReferenceRect.d.ts │ ├── ReflectionProbe.d.ts │ ├── RemoteTransform.d.ts │ ├── RemoteTransform2D.d.ts │ ├── Resource.d.ts │ ├── ResourceFormatLoader.d.ts │ ├── ResourceFormatSaver.d.ts │ ├── ResourceImporter.d.ts │ ├── ResourceInteractiveLoader.d.ts │ ├── ResourceLoader.d.ts │ ├── ResourcePreloader.d.ts │ ├── ResourceSaver.d.ts │ ├── RichTextEffect.d.ts │ ├── RichTextLabel.d.ts │ ├── RigidBody.d.ts │ ├── RigidBody2D.d.ts │ ├── Room.d.ts │ ├── RoomGroup.d.ts │ ├── RoomManager.d.ts │ ├── RootMotionView.d.ts │ ├── SceneState.d.ts │ ├── SceneTree.d.ts │ ├── SceneTreeTimer.d.ts │ ├── Script.d.ts │ ├── ScriptCreateDialog.d.ts │ ├── ScriptEditor.d.ts │ ├── ScrollBar.d.ts │ ├── ScrollContainer.d.ts │ ├── SegmentShape2D.d.ts │ ├── Semaphore.d.ts │ ├── Separator.d.ts │ ├── Shader.d.ts │ ├── ShaderMaterial.d.ts │ ├── Shape.d.ts │ ├── Shape2D.d.ts │ ├── ShortCut.d.ts │ ├── Skeleton.d.ts │ ├── Skeleton2D.d.ts │ ├── SkeletonIK.d.ts │ ├── Skin.d.ts │ ├── SkinReference.d.ts │ ├── Sky.d.ts │ ├── Slider.d.ts │ ├── SliderJoint.d.ts │ ├── SoftBody.d.ts │ ├── Spatial.d.ts │ ├── SpatialGizmo.d.ts │ ├── SpatialMaterial.d.ts │ ├── SpatialVelocityTracker.d.ts │ ├── SphereMesh.d.ts │ ├── SphereShape.d.ts │ ├── SpinBox.d.ts │ ├── SplitContainer.d.ts │ ├── SpotLight.d.ts │ ├── SpringArm.d.ts │ ├── Sprite.d.ts │ ├── Sprite3D.d.ts │ ├── SpriteBase3D.d.ts │ ├── SpriteFrames.d.ts │ ├── StaticBody.d.ts │ ├── StaticBody2D.d.ts │ ├── StreamPeer.d.ts │ ├── StreamPeerBuffer.d.ts │ ├── StreamPeerSSL.d.ts │ ├── StreamPeerTCP.d.ts │ ├── StreamTexture.d.ts │ ├── String.d.ts │ ├── StyleBox.d.ts │ ├── StyleBoxEmpty.d.ts │ ├── StyleBoxFlat.d.ts │ ├── StyleBoxLine.d.ts │ ├── StyleBoxTexture.d.ts │ ├── SurfaceTool.d.ts │ ├── TCP_Server.d.ts │ ├── TabContainer.d.ts │ ├── Tabs.d.ts │ ├── TextEdit.d.ts │ ├── TextFile.d.ts │ ├── Texture.d.ts │ ├── Texture3D.d.ts │ ├── TextureArray.d.ts │ ├── TextureButton.d.ts │ ├── TextureLayered.d.ts │ ├── TextureProgress.d.ts │ ├── TextureRect.d.ts │ ├── Theme.d.ts │ ├── Thread.d.ts │ ├── TileMap.d.ts │ ├── TileSet.d.ts │ ├── Time.d.ts │ ├── Timer.d.ts │ ├── ToolButton.d.ts │ ├── TouchScreenButton.d.ts │ ├── Transform.d.ts │ ├── Transform2D.d.ts │ ├── Translation.d.ts │ ├── TranslationServer.d.ts │ ├── Tree.d.ts │ ├── TreeItem.d.ts │ ├── TriangleMesh.d.ts │ ├── Tween.d.ts │ ├── UDPServer.d.ts │ ├── UndoRedo.d.ts │ ├── VBoxContainer.d.ts │ ├── VScrollBar.d.ts │ ├── VSeparator.d.ts │ ├── VSlider.d.ts │ ├── VSplitContainer.d.ts │ ├── Variant.d.ts │ ├── Vector2.d.ts │ ├── Vector3.d.ts │ ├── VehicleBody.d.ts │ ├── VehicleWheel.d.ts │ ├── VideoPlayer.d.ts │ ├── VideoStream.d.ts │ ├── Viewport.d.ts │ ├── ViewportContainer.d.ts │ ├── ViewportTexture.d.ts │ ├── VisibilityEnabler.d.ts │ ├── VisibilityEnabler2D.d.ts │ ├── VisibilityNotifier.d.ts │ ├── VisibilityNotifier2D.d.ts │ ├── VisualInstance.d.ts │ ├── VisualServer.d.ts │ ├── VisualShader.d.ts │ ├── VisualShaderNode.d.ts │ ├── VisualShaderNodeBooleanConstant.d.ts │ ├── VisualShaderNodeBooleanUniform.d.ts │ ├── VisualShaderNodeColorConstant.d.ts │ ├── VisualShaderNodeColorFunc.d.ts │ ├── VisualShaderNodeColorOp.d.ts │ ├── VisualShaderNodeColorUniform.d.ts │ ├── VisualShaderNodeCompare.d.ts │ ├── VisualShaderNodeCubeMap.d.ts │ ├── VisualShaderNodeCubeMapUniform.d.ts │ ├── VisualShaderNodeCustom.d.ts │ ├── VisualShaderNodeDeterminant.d.ts │ ├── VisualShaderNodeDotProduct.d.ts │ ├── VisualShaderNodeExpression.d.ts │ ├── VisualShaderNodeFaceForward.d.ts │ ├── VisualShaderNodeFresnel.d.ts │ ├── VisualShaderNodeGlobalExpression.d.ts │ ├── VisualShaderNodeGroupBase.d.ts │ ├── VisualShaderNodeIf.d.ts │ ├── VisualShaderNodeInput.d.ts │ ├── VisualShaderNodeIs.d.ts │ ├── VisualShaderNodeOuterProduct.d.ts │ ├── VisualShaderNodeOutput.d.ts │ ├── VisualShaderNodeScalarClamp.d.ts │ ├── VisualShaderNodeScalarConstant.d.ts │ ├── VisualShaderNodeScalarDerivativeFunc.d.ts │ ├── VisualShaderNodeScalarFunc.d.ts │ ├── VisualShaderNodeScalarInterp.d.ts │ ├── VisualShaderNodeScalarOp.d.ts │ ├── VisualShaderNodeScalarSmoothStep.d.ts │ ├── VisualShaderNodeScalarSwitch.d.ts │ ├── VisualShaderNodeScalarUniform.d.ts │ ├── VisualShaderNodeSwitch.d.ts │ ├── VisualShaderNodeTexture.d.ts │ ├── VisualShaderNodeTextureUniform.d.ts │ ├── VisualShaderNodeTextureUniformTriplanar.d.ts │ ├── VisualShaderNodeTransformCompose.d.ts │ ├── VisualShaderNodeTransformConstant.d.ts │ ├── VisualShaderNodeTransformDecompose.d.ts │ ├── VisualShaderNodeTransformFunc.d.ts │ ├── VisualShaderNodeTransformMult.d.ts │ ├── VisualShaderNodeTransformUniform.d.ts │ ├── VisualShaderNodeTransformVecMult.d.ts │ ├── VisualShaderNodeUniform.d.ts │ ├── VisualShaderNodeUniformRef.d.ts │ ├── VisualShaderNodeVec3Constant.d.ts │ ├── VisualShaderNodeVec3Uniform.d.ts │ ├── VisualShaderNodeVectorClamp.d.ts │ ├── VisualShaderNodeVectorCompose.d.ts │ ├── VisualShaderNodeVectorDecompose.d.ts │ ├── VisualShaderNodeVectorDerivativeFunc.d.ts │ ├── VisualShaderNodeVectorDistance.d.ts │ ├── VisualShaderNodeVectorFunc.d.ts │ ├── VisualShaderNodeVectorInterp.d.ts │ ├── VisualShaderNodeVectorLen.d.ts │ ├── VisualShaderNodeVectorOp.d.ts │ ├── VisualShaderNodeVectorRefract.d.ts │ ├── VisualShaderNodeVectorScalarMix.d.ts │ ├── VisualShaderNodeVectorScalarSmoothStep.d.ts │ ├── VisualShaderNodeVectorScalarStep.d.ts │ ├── VisualShaderNodeVectorSmoothStep.d.ts │ ├── WeakRef.d.ts │ ├── WebSocketClient.d.ts │ ├── WebSocketMultiplayerPeer.d.ts │ ├── WebSocketPeer.d.ts │ ├── WebSocketServer.d.ts │ ├── WindowDialog.d.ts │ ├── World.d.ts │ ├── World2D.d.ts │ ├── WorldEnvironment.d.ts │ ├── X509Certificate.d.ts │ ├── XMLParser.d.ts │ └── YSort.d.ts ├── bin/ │ └── index.js ├── check_version.ts ├── errors.ts ├── generate_library_defs/ │ ├── custom_defs/ │ │ ├── array_def.ts │ │ ├── dictionary_def.ts │ │ └── packed_scene_def.ts │ ├── generate_base.ts │ ├── generate_gdscript_lib.ts │ ├── generate_tsconfig.ts │ ├── generation_utils.ts │ ├── index.ts │ └── library_builder.ts ├── main.ts ├── mockProject/ │ ├── .gitignore │ ├── Main.tscn │ ├── default_env.tres │ ├── icon.png.import │ ├── ignore_me/ │ │ └── ignore_me_too.ts │ ├── ignore_me.ts │ ├── project.godot │ ├── ts2gd.json │ └── tsconfig.json ├── package.json ├── parse_args.ts ├── parse_node/ │ ├── library_functions.ts │ ├── parse_array_literal_expression.ts │ ├── parse_arrow_function.ts │ ├── parse_binary_expression.ts │ ├── parse_block.ts │ ├── parse_break_statement.ts │ ├── parse_call_expression.ts │ ├── parse_class_declaration.ts │ ├── parse_conditional_expression.ts │ ├── parse_constructor.ts │ ├── parse_continue_statement.ts │ ├── parse_element_access_expression.ts │ ├── parse_empty_statement.ts │ ├── parse_enum_declaration.ts │ ├── parse_expression_statement.ts │ ├── parse_for_in_statement.ts │ ├── parse_for_of_statement.ts │ ├── parse_for_statement.ts │ ├── parse_get_accessor.ts │ ├── parse_identifier.ts │ ├── parse_if_statement.ts │ ├── parse_import_declaration.ts │ ├── parse_method_declaration.ts │ ├── parse_new_expression.ts │ ├── parse_no_substitution_template_expression.ts │ ├── parse_numeric_literal.ts │ ├── parse_object_literal_expression.ts │ ├── parse_parameter.ts │ ├── parse_parenthesized_expression.ts │ ├── parse_postfix_unary_expression.ts │ ├── parse_prefix_unary_expression.ts │ ├── parse_property_access_expression.ts │ ├── parse_property_declaration.ts │ ├── parse_return_statement.ts │ ├── parse_set_accessor.ts │ ├── parse_source_file.ts │ ├── parse_string_literal.ts │ ├── parse_super_keyword.ts │ ├── parse_switch_statement.ts │ ├── parse_template_expression.ts │ ├── parse_this_keyword.ts │ ├── parse_type_alias_declaration.ts │ ├── parse_type_reference.ts │ ├── parse_typeof_expression.ts │ ├── parse_variable_declaration.ts │ ├── parse_variable_declaration_list.ts │ ├── parse_variable_statement.ts │ ├── parse_while_statement.ts │ └── parse_yield_expression.ts ├── parse_node.ts ├── project/ │ ├── assets/ │ │ ├── asset_font.ts │ │ ├── asset_glb.ts │ │ ├── asset_godot_scene.ts │ │ ├── asset_image.ts │ │ ├── asset_source_file.ts │ │ ├── asset_utils.ts │ │ ├── base_asset.ts │ │ └── index.ts │ ├── generate_dynamic_defs/ │ │ ├── build_action_names.ts │ │ ├── build_asset_paths.ts │ │ ├── build_group_types.ts │ │ ├── build_node_paths.ts │ │ ├── build_scene_imports.ts │ │ ├── definition_builder.ts │ │ └── index.ts │ ├── godot_parser.ts │ ├── godot_project_file.ts │ ├── index.ts │ ├── paths.ts │ └── project.ts ├── readme/ │ └── .gitignore ├── run.sh ├── scope.ts ├── tests/ │ ├── project_tests.ts │ ├── stubs.ts │ └── test.ts ├── ts_utils.ts └── tsconfig.json
SYMBOL INDEX (775 symbols across 614 files)
FILE: _godot_defs/static/@base.d.ts
type Boolean (line 3) | interface Boolean {
type CallableFunction (line 51) | interface CallableFunction {
type Function (line 72) | interface Function {
type ExportHint (line 89) | enum ExportHint {
type int (line 112) | type int = number;
type float (line 113) | type float = number;
type NodePathType (line 118) | type NodePathType = string
type Exclude (line 123) | type Exclude<T, U> = T extends U ? never : T;
type Pick (line 128) | type Pick<T, K extends keyof T> = {
type ReturnType (line 135) | type ReturnType<T extends (...args: any) => any> = T extends (...args: a...
type GeneratorReturnType (line 137) | type GeneratorReturnType<T extends Generator> = T extends Generator<any,...
type Omit (line 142) | type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>
type Parameters (line 145) | type Parameters<T extends (...args: any) => any> = T extends (...args: i...
type KeysOnly (line 146) | type KeysOnly<T, V> = { [K in keyof T as T[K] extends V ? K : never]: T[...
type KeysMatching (line 147) | type KeysMatching<T, V> = {[K in keyof T]-?: T[K] extends V ? K : never}...
type SignalsOf (line 148) | type SignalsOf<T> = KeysMatching<T, Signal<any>>;
type SignalFunction (line 149) | type SignalFunction<T> = T extends Signal<infer R> ? R : never;
type SignalReturnValue (line 150) | type SignalReturnValue<T> = T extends Signal<infer U> ? ReturnType<U> : ...
type FunctionsOf (line 153) | type FunctionsOf<T> = KeysMatching<T, Function>;
type FunctionConstructor (line 155) | interface FunctionConstructor {
type IArguments (line 159) | interface IArguments {
type NewableFunction (line 163) | interface NewableFunction {
type Number (line 167) | interface Number {
type String (line 171) | interface String {
type RegExp (line 175) | interface RegExp {
type IteratorYieldResult (line 186) | interface IteratorYieldResult<TYield> {
type IteratorReturnResult (line 191) | interface IteratorReturnResult<TReturn> {
type IteratorResult (line 198) | type IteratorResult<T, TReturn = any> = IteratorYieldResult<T> | Iterato...
type Iterator (line 200) | interface Iterator<T, TReturn = any, TNext = undefined> extends Object {
type Generator (line 209) | interface Generator<T = unknown, TReturn = any, TNext = unknown> extends...
type Symbol (line 219) | interface Symbol { }
type SymbolConstructor (line 221) | interface SymbolConstructor {
type Iterable (line 231) | interface Iterable<T> {
type IterableIterator (line 235) | interface IterableIterator<T> extends Iterator<T> {
type ReadonlyArray (line 246) | type ReadonlyArray<T> = {
type FlatArray (line 254) | type FlatArray<Arr, Depth extends number> = {
type Array (line 261) | interface Array<T> {
class Dictionary (line 584) | class Dictionary<K, V> {
class PackedScene (line 761) | class PackedScene<T> extends Resource {
class Signal (line 836) | class Signal<T extends (...args: any[]) => any = () => void> {
FILE: _godot_defs/static/@globals.d.ts
type Margin (line 91) | enum Margin {
type Corner (line 115) | enum Corner {
type Orientation (line 139) | enum Orientation {
type HAlign (line 153) | enum HAlign {
type VAlign (line 172) | enum VAlign {
type KeyList (line 191) | enum KeyList {
type KeyModifierMask (line 1405) | enum KeyModifierMask {
type ButtonList (line 1454) | enum ButtonList {
type JoystickList (line 1528) | enum JoystickList {
type MidiMessageList (line 1952) | enum MidiMessageList {
type Error (line 1991) | enum Error {
type PropertyHint (line 2253) | enum PropertyHint {
type PropertyUsageFlags (line 2367) | enum PropertyUsageFlags {
type MethodFlags (line 2446) | enum MethodFlags {
type Variant_Type (line 2490) | enum Variant_Type {
type Variant_Operator (line 2634) | enum Variant_Operator {
FILE: _godot_defs/static/AABB.d.ts
class AABB (line 10) | class AABB {
FILE: _godot_defs/static/AESContext.d.ts
class AESContext (line 37) | class AESContext extends Reference {
FILE: _godot_defs/static/ARVRAnchor.d.ts
class ARVRAnchor (line 10) | class ARVRAnchor extends Spatial {
FILE: _godot_defs/static/ARVRCamera.d.ts
class ARVRCamera (line 8) | class ARVRCamera extends Camera {
FILE: _godot_defs/static/ARVRController.d.ts
class ARVRController (line 10) | class ARVRController extends Spatial {
FILE: _godot_defs/static/ARVRInterface.d.ts
class ARVRInterface (line 8) | class ARVRInterface extends Reference {
FILE: _godot_defs/static/ARVROrigin.d.ts
class ARVROrigin (line 12) | class ARVROrigin extends Spatial {
FILE: _godot_defs/static/ARVRPositionalTracker.d.ts
class ARVRPositionalTracker (line 10) | class ARVRPositionalTracker extends Reference {
FILE: _godot_defs/static/ARVRServer.d.ts
class ARVRServerClass (line 6) | class ARVRServerClass extends Object {
FILE: _godot_defs/static/AStar.d.ts
class AStar (line 25) | class AStar extends Reference {
FILE: _godot_defs/static/AStar2D.d.ts
class AStar2D (line 6) | class AStar2D extends Reference {
FILE: _godot_defs/static/AcceptDialog.d.ts
class AcceptDialog (line 6) | class AcceptDialog extends WindowDialog {
FILE: _godot_defs/static/AnimatedSprite.d.ts
class AnimatedSprite (line 8) | class AnimatedSprite extends Node2D {
FILE: _godot_defs/static/AnimatedSprite3D.d.ts
class AnimatedSprite3D (line 6) | class AnimatedSprite3D extends SpriteBase3D {
FILE: _godot_defs/static/AnimatedTexture.d.ts
class AnimatedTexture (line 12) | class AnimatedTexture extends Texture {
FILE: _godot_defs/static/Animation.d.ts
class Animation (line 20) | class Animation extends Resource {
FILE: _godot_defs/static/AnimationNode.d.ts
class AnimationNode (line 8) | class AnimationNode extends Resource {
FILE: _godot_defs/static/AnimationNodeAdd2.d.ts
class AnimationNodeAdd2 (line 6) | class AnimationNodeAdd2 extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeAdd3.d.ts
class AnimationNodeAdd3 (line 14) | class AnimationNodeAdd3 extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeAnimation.d.ts
class AnimationNodeAnimation (line 6) | class AnimationNodeAnimation extends AnimationRootNode {
FILE: _godot_defs/static/AnimationNodeBlend2.d.ts
class AnimationNodeBlend2 (line 6) | class AnimationNodeBlend2 extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeBlend3.d.ts
class AnimationNodeBlend3 (line 14) | class AnimationNodeBlend3 extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeBlendSpace1D.d.ts
class AnimationNodeBlendSpace1D (line 12) | class AnimationNodeBlendSpace1D extends AnimationRootNode {
FILE: _godot_defs/static/AnimationNodeBlendSpace2D.d.ts
class AnimationNodeBlendSpace2D (line 10) | class AnimationNodeBlendSpace2D extends AnimationRootNode {
FILE: _godot_defs/static/AnimationNodeBlendTree.d.ts
class AnimationNodeBlendTree (line 6) | class AnimationNodeBlendTree extends AnimationRootNode {
FILE: _godot_defs/static/AnimationNodeOneShot.d.ts
class AnimationNodeOneShot (line 6) | class AnimationNodeOneShot extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeOutput.d.ts
class AnimationNodeOutput (line 4) | class AnimationNodeOutput extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeStateMachine.d.ts
class AnimationNodeStateMachine (line 15) | class AnimationNodeStateMachine extends AnimationRootNode {
FILE: _godot_defs/static/AnimationNodeStateMachinePlayback.d.ts
class AnimationNodeStateMachinePlayback (line 15) | class AnimationNodeStateMachinePlayback extends Resource {
FILE: _godot_defs/static/AnimationNodeStateMachineTransition.d.ts
class AnimationNodeStateMachineTransition (line 4) | class AnimationNodeStateMachineTransition extends Resource {
FILE: _godot_defs/static/AnimationNodeTimeScale.d.ts
class AnimationNodeTimeScale (line 6) | class AnimationNodeTimeScale extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeTimeSeek.d.ts
class AnimationNodeTimeSeek (line 19) | class AnimationNodeTimeSeek extends AnimationNode {
FILE: _godot_defs/static/AnimationNodeTransition.d.ts
class AnimationNodeTransition (line 6) | class AnimationNodeTransition extends AnimationNode {
FILE: _godot_defs/static/AnimationPlayer.d.ts
class AnimationPlayer (line 10) | class AnimationPlayer extends Node {
FILE: _godot_defs/static/AnimationRootNode.d.ts
class AnimationRootNode (line 4) | class AnimationRootNode extends AnimationNode {
FILE: _godot_defs/static/AnimationTrackEditPlugin.d.ts
class AnimationTrackEditPlugin (line 4) | class AnimationTrackEditPlugin extends Reference {
FILE: _godot_defs/static/AnimationTree.d.ts
class AnimationTree (line 8) | class AnimationTree extends Node {
FILE: _godot_defs/static/AnimationTreePlayer.d.ts
class AnimationTreePlayer (line 10) | class AnimationTreePlayer extends Node {
FILE: _godot_defs/static/Area.d.ts
class Area (line 6) | class Area extends CollisionObject {
FILE: _godot_defs/static/Area2D.d.ts
class Area2D (line 6) | class Area2D extends CollisionObject2D {
FILE: _godot_defs/static/ArrayMesh.d.ts
class ArrayMesh (line 32) | class ArrayMesh extends Mesh {
FILE: _godot_defs/static/AspectRatioContainer.d.ts
class AspectRatioContainer (line 6) | class AspectRatioContainer extends Container {
FILE: _godot_defs/static/AtlasTexture.d.ts
class AtlasTexture (line 10) | class AtlasTexture extends Texture {
FILE: _godot_defs/static/AudioBusLayout.d.ts
class AudioBusLayout (line 6) | class AudioBusLayout extends Resource {
FILE: _godot_defs/static/AudioEffect.d.ts
class AudioEffect (line 6) | class AudioEffect extends Resource {
FILE: _godot_defs/static/AudioEffectAmplify.d.ts
class AudioEffectAmplify (line 6) | class AudioEffectAmplify extends AudioEffect {
FILE: _godot_defs/static/AudioEffectBandLimitFilter.d.ts
class AudioEffectBandLimitFilter (line 6) | class AudioEffectBandLimitFilter extends AudioEffectFilter {
FILE: _godot_defs/static/AudioEffectBandPassFilter.d.ts
class AudioEffectBandPassFilter (line 6) | class AudioEffectBandPassFilter extends AudioEffectFilter {
FILE: _godot_defs/static/AudioEffectCapture.d.ts
class AudioEffectCapture (line 8) | class AudioEffectCapture extends AudioEffect {
FILE: _godot_defs/static/AudioEffectChorus.d.ts
class AudioEffectChorus (line 6) | class AudioEffectChorus extends AudioEffect {
FILE: _godot_defs/static/AudioEffectCompressor.d.ts
class AudioEffectCompressor (line 16) | class AudioEffectCompressor extends AudioEffect {
FILE: _godot_defs/static/AudioEffectDelay.d.ts
class AudioEffectDelay (line 6) | class AudioEffectDelay extends AudioEffect {
FILE: _godot_defs/static/AudioEffectDistortion.d.ts
class AudioEffectDistortion (line 8) | class AudioEffectDistortion extends AudioEffect {
FILE: _godot_defs/static/AudioEffectEQ.d.ts
class AudioEffectEQ (line 6) | class AudioEffectEQ extends AudioEffect {
FILE: _godot_defs/static/AudioEffectEQ10.d.ts
class AudioEffectEQ10 (line 28) | class AudioEffectEQ10 extends AudioEffectEQ {
FILE: _godot_defs/static/AudioEffectEQ21.d.ts
class AudioEffectEQ21 (line 50) | class AudioEffectEQ21 extends AudioEffectEQ {
FILE: _godot_defs/static/AudioEffectEQ6.d.ts
class AudioEffectEQ6 (line 20) | class AudioEffectEQ6 extends AudioEffectEQ {
FILE: _godot_defs/static/AudioEffectFilter.d.ts
class AudioEffectFilter (line 6) | class AudioEffectFilter extends AudioEffect {
FILE: _godot_defs/static/AudioEffectHighPassFilter.d.ts
class AudioEffectHighPassFilter (line 6) | class AudioEffectHighPassFilter extends AudioEffectFilter {
FILE: _godot_defs/static/AudioEffectHighShelfFilter.d.ts
class AudioEffectHighShelfFilter (line 4) | class AudioEffectHighShelfFilter extends AudioEffectFilter {
FILE: _godot_defs/static/AudioEffectInstance.d.ts
class AudioEffectInstance (line 4) | class AudioEffectInstance extends Reference {
FILE: _godot_defs/static/AudioEffectLimiter.d.ts
class AudioEffectLimiter (line 8) | class AudioEffectLimiter extends AudioEffect {
FILE: _godot_defs/static/AudioEffectLowPassFilter.d.ts
class AudioEffectLowPassFilter (line 6) | class AudioEffectLowPassFilter extends AudioEffectFilter {
FILE: _godot_defs/static/AudioEffectLowShelfFilter.d.ts
class AudioEffectLowShelfFilter (line 4) | class AudioEffectLowShelfFilter extends AudioEffectFilter {
FILE: _godot_defs/static/AudioEffectNotchFilter.d.ts
class AudioEffectNotchFilter (line 6) | class AudioEffectNotchFilter extends AudioEffectFilter {
FILE: _godot_defs/static/AudioEffectPanner.d.ts
class AudioEffectPanner (line 6) | class AudioEffectPanner extends AudioEffect {
FILE: _godot_defs/static/AudioEffectPhaser.d.ts
class AudioEffectPhaser (line 6) | class AudioEffectPhaser extends AudioEffect {
FILE: _godot_defs/static/AudioEffectPitchShift.d.ts
class AudioEffectPitchShift (line 6) | class AudioEffectPitchShift extends AudioEffect {
FILE: _godot_defs/static/AudioEffectRecord.d.ts
class AudioEffectRecord (line 6) | class AudioEffectRecord extends AudioEffect {
FILE: _godot_defs/static/AudioEffectReverb.d.ts
class AudioEffectReverb (line 6) | class AudioEffectReverb extends AudioEffect {
FILE: _godot_defs/static/AudioEffectSpectrumAnalyzer.d.ts
class AudioEffectSpectrumAnalyzer (line 8) | class AudioEffectSpectrumAnalyzer extends AudioEffect {
FILE: _godot_defs/static/AudioEffectSpectrumAnalyzerInstance.d.ts
class AudioEffectSpectrumAnalyzerInstance (line 4) | class AudioEffectSpectrumAnalyzerInstance extends AudioEffectInstance {
FILE: _godot_defs/static/AudioEffectStereoEnhance.d.ts
class AudioEffectStereoEnhance (line 4) | class AudioEffectStereoEnhance extends AudioEffect {
FILE: _godot_defs/static/AudioServer.d.ts
class AudioServerClass (line 6) | class AudioServerClass extends Object {
FILE: _godot_defs/static/AudioStream.d.ts
class AudioStream (line 6) | class AudioStream extends Resource {
FILE: _godot_defs/static/AudioStreamGenerator.d.ts
class AudioStreamGenerator (line 10) | class AudioStreamGenerator extends AudioStream {
FILE: _godot_defs/static/AudioStreamGeneratorPlayback.d.ts
class AudioStreamGeneratorPlayback (line 6) | class AudioStreamGeneratorPlayback extends AudioStreamPlaybackResampled {
FILE: _godot_defs/static/AudioStreamMicrophone.d.ts
class AudioStreamMicrophone (line 4) | class AudioStreamMicrophone extends AudioStream {
FILE: _godot_defs/static/AudioStreamPlayback.d.ts
class AudioStreamPlayback (line 6) | class AudioStreamPlayback extends Reference {
FILE: _godot_defs/static/AudioStreamPlaybackResampled.d.ts
class AudioStreamPlaybackResampled (line 4) | class AudioStreamPlaybackResampled extends AudioStreamPlayback {
FILE: _godot_defs/static/AudioStreamPlayer.d.ts
class AudioStreamPlayer (line 8) | class AudioStreamPlayer extends Node {
FILE: _godot_defs/static/AudioStreamPlayer2D.d.ts
class AudioStreamPlayer2D (line 10) | class AudioStreamPlayer2D extends Node2D {
FILE: _godot_defs/static/AudioStreamPlayer3D.d.ts
class AudioStreamPlayer3D (line 12) | class AudioStreamPlayer3D extends Spatial {
FILE: _godot_defs/static/AudioStreamRandomPitch.d.ts
class AudioStreamRandomPitch (line 6) | class AudioStreamRandomPitch extends AudioStream {
FILE: _godot_defs/static/AudioStreamSample.d.ts
class AudioStreamSample (line 8) | class AudioStreamSample extends AudioStream {
FILE: _godot_defs/static/BackBufferCopy.d.ts
class BackBufferCopy (line 8) | class BackBufferCopy extends Node2D {
FILE: _godot_defs/static/BakedLightmap.d.ts
class BakedLightmap (line 10) | class BakedLightmap extends VisualInstance {
FILE: _godot_defs/static/BakedLightmapData.d.ts
class BakedLightmapData (line 4) | class BakedLightmapData extends Resource {
FILE: _godot_defs/static/BaseButton.d.ts
class BaseButton (line 6) | class BaseButton extends Control {
FILE: _godot_defs/static/Basis.d.ts
class Basis (line 12) | class Basis {
FILE: _godot_defs/static/BitMap.d.ts
class BitMap (line 6) | class BitMap extends Resource {
FILE: _godot_defs/static/BitmapFont.d.ts
class BitmapFont (line 6) | class BitmapFont extends Font {
FILE: _godot_defs/static/Bone2D.d.ts
class Bone2D (line 12) | class Bone2D extends Node2D {
FILE: _godot_defs/static/BoneAttachment.d.ts
class BoneAttachment (line 6) | class BoneAttachment extends Spatial {
FILE: _godot_defs/static/BoxContainer.d.ts
class BoxContainer (line 6) | class BoxContainer extends Container {
FILE: _godot_defs/static/BoxShape.d.ts
class BoxShape (line 6) | class BoxShape extends Shape {
FILE: _godot_defs/static/Button.d.ts
class Button (line 26) | class Button extends BaseButton {
FILE: _godot_defs/static/ButtonGroup.d.ts
class ButtonGroup (line 8) | class ButtonGroup extends Resource {
FILE: _godot_defs/static/CPUParticles.d.ts
class CPUParticles (line 10) | class CPUParticles extends GeometryInstance {
FILE: _godot_defs/static/CPUParticles2D.d.ts
class CPUParticles2D (line 10) | class CPUParticles2D extends Node2D {
FILE: _godot_defs/static/CSGBox.d.ts
class CSGBox (line 6) | class CSGBox extends CSGPrimitive {
FILE: _godot_defs/static/CSGCombiner.d.ts
class CSGCombiner (line 6) | class CSGCombiner extends CSGShape {
FILE: _godot_defs/static/CSGCylinder.d.ts
class CSGCylinder (line 6) | class CSGCylinder extends CSGPrimitive {
FILE: _godot_defs/static/CSGMesh.d.ts
class CSGMesh (line 6) | class CSGMesh extends CSGPrimitive {
FILE: _godot_defs/static/CSGPolygon.d.ts
class CSGPolygon (line 6) | class CSGPolygon extends CSGPrimitive {
FILE: _godot_defs/static/CSGPrimitive.d.ts
class CSGPrimitive (line 6) | class CSGPrimitive extends CSGShape {
FILE: _godot_defs/static/CSGShape.d.ts
class CSGShape (line 6) | class CSGShape extends GeometryInstance {
FILE: _godot_defs/static/CSGSphere.d.ts
class CSGSphere (line 6) | class CSGSphere extends CSGPrimitive {
FILE: _godot_defs/static/CSGTorus.d.ts
class CSGTorus (line 6) | class CSGTorus extends CSGPrimitive {
FILE: _godot_defs/static/Camera.d.ts
class Camera (line 6) | class Camera extends Spatial {
FILE: _godot_defs/static/Camera2D.d.ts
class Camera2D (line 10) | class Camera2D extends Node2D {
FILE: _godot_defs/static/CameraFeed.d.ts
class CameraFeed (line 8) | class CameraFeed extends Reference {
FILE: _godot_defs/static/CameraServer.d.ts
class CameraServerClass (line 8) | class CameraServerClass extends Object {
FILE: _godot_defs/static/CameraTexture.d.ts
class CameraTexture (line 8) | class CameraTexture extends Texture {
FILE: _godot_defs/static/CanvasItem.d.ts
class CanvasItem (line 16) | class CanvasItem extends Node {
FILE: _godot_defs/static/CanvasItemMaterial.d.ts
class CanvasItemMaterial (line 6) | class CanvasItemMaterial extends Material {
FILE: _godot_defs/static/CanvasLayer.d.ts
class CanvasLayer (line 6) | class CanvasLayer extends Node {
FILE: _godot_defs/static/CanvasModulate.d.ts
class CanvasModulate (line 6) | class CanvasModulate extends Node2D {
FILE: _godot_defs/static/CapsuleMesh.d.ts
class CapsuleMesh (line 6) | class CapsuleMesh extends PrimitiveMesh {
FILE: _godot_defs/static/CapsuleShape.d.ts
class CapsuleShape (line 6) | class CapsuleShape extends Shape {
FILE: _godot_defs/static/CapsuleShape2D.d.ts
class CapsuleShape2D (line 6) | class CapsuleShape2D extends Shape2D {
FILE: _godot_defs/static/CenterContainer.d.ts
class CenterContainer (line 6) | class CenterContainer extends Container {
FILE: _godot_defs/static/CharFXTransform.d.ts
class CharFXTransform (line 6) | class CharFXTransform extends Reference {
FILE: _godot_defs/static/CheckBox.d.ts
class CheckBox (line 8) | class CheckBox extends Button {
FILE: _godot_defs/static/CheckButton.d.ts
class CheckButton (line 8) | class CheckButton extends Button {
FILE: _godot_defs/static/CircleShape2D.d.ts
class CircleShape2D (line 6) | class CircleShape2D extends Shape2D {
FILE: _godot_defs/static/ClassDB.d.ts
class ClassDBClass (line 6) | class ClassDBClass extends Object {
FILE: _godot_defs/static/ClippedCamera.d.ts
class ClippedCamera (line 6) | class ClippedCamera extends Camera {
FILE: _godot_defs/static/CollisionObject.d.ts
class CollisionObject (line 6) | class CollisionObject extends Spatial {
FILE: _godot_defs/static/CollisionObject2D.d.ts
class CollisionObject2D (line 6) | class CollisionObject2D extends Node2D {
FILE: _godot_defs/static/CollisionPolygon.d.ts
class CollisionPolygon (line 6) | class CollisionPolygon extends Spatial {
FILE: _godot_defs/static/CollisionPolygon2D.d.ts
class CollisionPolygon2D (line 6) | class CollisionPolygon2D extends Node2D {
FILE: _godot_defs/static/CollisionShape.d.ts
class CollisionShape (line 6) | class CollisionShape extends Spatial {
FILE: _godot_defs/static/CollisionShape2D.d.ts
class CollisionShape2D (line 6) | class CollisionShape2D extends Node2D {
FILE: _godot_defs/static/Color.d.ts
class ColorConstructor (line 14) | class ColorConstructor {
type Color (line 1160) | type Color = ColorConstructor;
FILE: _godot_defs/static/ColorPicker.d.ts
class ColorPicker (line 8) | class ColorPicker extends BoxContainer {
FILE: _godot_defs/static/ColorPickerButton.d.ts
class ColorPickerButton (line 10) | class ColorPickerButton extends Button {
FILE: _godot_defs/static/ColorRect.d.ts
class ColorRect (line 6) | class ColorRect extends Control {
FILE: _godot_defs/static/ConcavePolygonShape.d.ts
class ConcavePolygonShape (line 8) | class ConcavePolygonShape extends Shape {
FILE: _godot_defs/static/ConcavePolygonShape2D.d.ts
class ConcavePolygonShape2D (line 8) | class ConcavePolygonShape2D extends Shape2D {
FILE: _godot_defs/static/ConeTwistJoint.d.ts
class ConeTwistJoint (line 10) | class ConeTwistJoint extends Joint {
FILE: _godot_defs/static/ConfigFile.d.ts
class ConfigFile (line 61) | class ConfigFile extends Reference {
FILE: _godot_defs/static/ConfirmationDialog.d.ts
class ConfirmationDialog (line 14) | class ConfirmationDialog extends AcceptDialog {
FILE: _godot_defs/static/Container.d.ts
class Container (line 8) | class Container extends Control {
FILE: _godot_defs/static/Control.d.ts
class Control (line 20) | class Control extends CanvasItem {
FILE: _godot_defs/static/ConvexPolygonShape.d.ts
class ConvexPolygonShape (line 6) | class ConvexPolygonShape extends Shape {
FILE: _godot_defs/static/ConvexPolygonShape2D.d.ts
class ConvexPolygonShape2D (line 8) | class ConvexPolygonShape2D extends Shape2D {
FILE: _godot_defs/static/Crypto.d.ts
class Crypto (line 39) | class Crypto extends Reference {
FILE: _godot_defs/static/CryptoKey.d.ts
class CryptoKey (line 10) | class CryptoKey extends Resource {
FILE: _godot_defs/static/CubeMap.d.ts
class CubeMap (line 6) | class CubeMap extends Resource {
FILE: _godot_defs/static/CubeMesh.d.ts
class CubeMesh (line 10) | class CubeMesh extends PrimitiveMesh {
FILE: _godot_defs/static/CullInstance.d.ts
class CullInstance (line 14) | class CullInstance extends Spatial {
FILE: _godot_defs/static/Curve.d.ts
class Curve (line 6) | class Curve extends Resource {
FILE: _godot_defs/static/Curve2D.d.ts
class Curve2D (line 8) | class Curve2D extends Resource {
FILE: _godot_defs/static/Curve3D.d.ts
class Curve3D (line 8) | class Curve3D extends Resource {
FILE: _godot_defs/static/CurveTexture.d.ts
class CurveTexture (line 6) | class CurveTexture extends Texture {
FILE: _godot_defs/static/CylinderMesh.d.ts
class CylinderMesh (line 6) | class CylinderMesh extends PrimitiveMesh {
FILE: _godot_defs/static/CylinderShape.d.ts
class CylinderShape (line 6) | class CylinderShape extends Shape {
FILE: _godot_defs/static/DTLSServer.d.ts
class DTLSServer (line 59) | class DTLSServer extends Reference {
FILE: _godot_defs/static/DampedSpringJoint2D.d.ts
class DampedSpringJoint2D (line 6) | class DampedSpringJoint2D extends Joint2D {
FILE: _godot_defs/static/DirectionalLight.d.ts
class DirectionalLight (line 6) | class DirectionalLight extends Light {
FILE: _godot_defs/static/Directory.d.ts
class Directory (line 30) | class Directory extends Reference {
FILE: _godot_defs/static/DynamicFont.d.ts
class DynamicFont (line 19) | class DynamicFont extends Font {
FILE: _godot_defs/static/DynamicFontData.d.ts
class DynamicFontData (line 6) | class DynamicFontData extends Resource {
FILE: _godot_defs/static/EditorExportPlugin.d.ts
class EditorExportPlugin (line 6) | class EditorExportPlugin extends Reference {
FILE: _godot_defs/static/EditorFeatureProfile.d.ts
class EditorFeatureProfile (line 8) | class EditorFeatureProfile extends Reference {
FILE: _godot_defs/static/EditorFileDialog.d.ts
class EditorFileDialog (line 4) | class EditorFileDialog extends ConfirmationDialog {
FILE: _godot_defs/static/EditorFileSystem.d.ts
class EditorFileSystem (line 8) | class EditorFileSystem extends Node {
FILE: _godot_defs/static/EditorFileSystemDirectory.d.ts
class EditorFileSystemDirectory (line 6) | class EditorFileSystemDirectory extends Object {
FILE: _godot_defs/static/EditorImportPlugin.d.ts
class EditorImportPlugin (line 41) | class EditorImportPlugin extends ResourceImporter {
FILE: _godot_defs/static/EditorInspector.d.ts
class EditorInspector (line 8) | class EditorInspector extends ScrollContainer {
FILE: _godot_defs/static/EditorInspectorPlugin.d.ts
class EditorInspectorPlugin (line 18) | class EditorInspectorPlugin extends Reference {
FILE: _godot_defs/static/EditorInterface.d.ts
class EditorInterface (line 8) | class EditorInterface extends Node {
FILE: _godot_defs/static/EditorNavigationMeshGenerator.d.ts
class EditorNavigationMeshGenerator (line 4) | class EditorNavigationMeshGenerator extends Object {
FILE: _godot_defs/static/EditorPlugin.d.ts
class EditorPlugin (line 6) | class EditorPlugin extends Node {
FILE: _godot_defs/static/EditorProperty.d.ts
class EditorProperty (line 6) | class EditorProperty extends Container {
FILE: _godot_defs/static/EditorResourceConversionPlugin.d.ts
class EditorResourceConversionPlugin (line 4) | class EditorResourceConversionPlugin extends Reference {
FILE: _godot_defs/static/EditorResourcePicker.d.ts
class EditorResourcePicker (line 8) | class EditorResourcePicker extends HBoxContainer {
FILE: _godot_defs/static/EditorResourcePreview.d.ts
class EditorResourcePreview (line 8) | class EditorResourcePreview extends Node {
FILE: _godot_defs/static/EditorResourcePreviewGenerator.d.ts
class EditorResourcePreviewGenerator (line 6) | class EditorResourcePreviewGenerator extends Reference {
FILE: _godot_defs/static/EditorSceneImporter.d.ts
class EditorSceneImporter (line 4) | class EditorSceneImporter extends Reference {
FILE: _godot_defs/static/EditorScenePostImport.d.ts
class EditorScenePostImport (line 26) | class EditorScenePostImport extends Reference {
FILE: _godot_defs/static/EditorScript.d.ts
class EditorScript (line 21) | class EditorScript extends Reference {
FILE: _godot_defs/static/EditorScriptPicker.d.ts
class EditorScriptPicker (line 8) | class EditorScriptPicker extends EditorResourcePicker {
FILE: _godot_defs/static/EditorSelection.d.ts
class EditorSelection (line 8) | class EditorSelection extends Object {
FILE: _godot_defs/static/EditorSettings.d.ts
class EditorSettings (line 22) | class EditorSettings extends Resource {
FILE: _godot_defs/static/EditorSpatialGizmo.d.ts
class EditorSpatialGizmo (line 6) | class EditorSpatialGizmo extends SpatialGizmo {
FILE: _godot_defs/static/EditorSpatialGizmoPlugin.d.ts
class EditorSpatialGizmoPlugin (line 6) | class EditorSpatialGizmoPlugin extends Resource {
FILE: _godot_defs/static/EditorSpinSlider.d.ts
class EditorSpinSlider (line 6) | class EditorSpinSlider extends Range {
FILE: _godot_defs/static/EditorVCSInterface.d.ts
class EditorVCSInterface (line 6) | class EditorVCSInterface extends Object {
FILE: _godot_defs/static/EncodedObjectAsID.d.ts
class EncodedObjectAsID (line 8) | class EncodedObjectAsID extends Reference {
FILE: _godot_defs/static/Engine.d.ts
class EngineClass (line 6) | class EngineClass extends Object {
FILE: _godot_defs/static/Environment.d.ts
class Environment (line 16) | class Environment extends Resource {
FILE: _godot_defs/static/Expression.d.ts
class Expression (line 26) | class Expression extends Reference {
FILE: _godot_defs/static/ExternalTexture.d.ts
class ExternalTexture (line 8) | class ExternalTexture extends Texture {
FILE: _godot_defs/static/File.d.ts
class File (line 30) | class File extends Reference {
FILE: _godot_defs/static/FileDialog.d.ts
class FileDialog (line 6) | class FileDialog extends ConfirmationDialog {
FILE: _godot_defs/static/FileSystemDock.d.ts
class FileSystemDock (line 4) | class FileSystemDock extends VBoxContainer {
FILE: _godot_defs/static/Font.d.ts
class Font (line 12) | class Font extends Resource {
FILE: _godot_defs/static/FuncRef.d.ts
class FuncRef (line 8) | class FuncRef extends Reference {
FILE: _godot_defs/static/GIProbe.d.ts
class GIProbe (line 16) | class GIProbe extends VisualInstance {
FILE: _godot_defs/static/GIProbeData.d.ts
class GIProbeData (line 4) | class GIProbeData extends Resource {
FILE: _godot_defs/static/Generic6DOFJoint.d.ts
class Generic6DOFJoint (line 6) | class Generic6DOFJoint extends Joint {
FILE: _godot_defs/static/Geometry.d.ts
class GeometryClass (line 6) | class GeometryClass extends Object {
FILE: _godot_defs/static/GeometryInstance.d.ts
class GeometryInstance (line 6) | class GeometryInstance extends VisualInstance {
FILE: _godot_defs/static/Gradient.d.ts
class Gradient (line 6) | class Gradient extends Resource {
FILE: _godot_defs/static/GradientTexture.d.ts
class GradientTexture (line 6) | class GradientTexture extends Texture {
FILE: _godot_defs/static/GraphEdit.d.ts
class GraphEdit (line 8) | class GraphEdit extends Control {
FILE: _godot_defs/static/GraphNode.d.ts
class GraphNode (line 10) | class GraphNode extends Container {
FILE: _godot_defs/static/GridContainer.d.ts
class GridContainer (line 10) | class GridContainer extends Container {
FILE: _godot_defs/static/GrooveJoint2D.d.ts
class GrooveJoint2D (line 6) | class GrooveJoint2D extends Joint2D {
FILE: _godot_defs/static/HBoxContainer.d.ts
class HBoxContainer (line 6) | class HBoxContainer extends BoxContainer {
FILE: _godot_defs/static/HMACContext.d.ts
class HMACContext (line 84) | class HMACContext extends Reference {
FILE: _godot_defs/static/HScrollBar.d.ts
class HScrollBar (line 6) | class HScrollBar extends ScrollBar {
FILE: _godot_defs/static/HSeparator.d.ts
class HSeparator (line 6) | class HSeparator extends Separator {
FILE: _godot_defs/static/HSlider.d.ts
class HSlider (line 8) | class HSlider extends Slider {
FILE: _godot_defs/static/HSplitContainer.d.ts
class HSplitContainer (line 6) | class HSplitContainer extends SplitContainer {
FILE: _godot_defs/static/HTTPClient.d.ts
class HTTPClient (line 18) | class HTTPClient extends Reference {
FILE: _godot_defs/static/HTTPRequest.d.ts
class HTTPRequest (line 66) | class HTTPRequest extends Node {
FILE: _godot_defs/static/HashingContext.d.ts
class HashingContext (line 33) | class HashingContext extends Reference {
FILE: _godot_defs/static/HeightMapShape.d.ts
class HeightMapShape (line 6) | class HeightMapShape extends Shape {
FILE: _godot_defs/static/HingeJoint.d.ts
class HingeJoint (line 6) | class HingeJoint extends Joint {
FILE: _godot_defs/static/IP.d.ts
class IPClass (line 6) | class IPClass extends Object {
FILE: _godot_defs/static/Image.d.ts
class Image (line 10) | class Image extends Resource {
FILE: _godot_defs/static/ImageTexture.d.ts
class ImageTexture (line 42) | class ImageTexture extends Texture {
FILE: _godot_defs/static/ImmediateGeometry.d.ts
class ImmediateGeometry (line 14) | class ImmediateGeometry extends GeometryInstance {
FILE: _godot_defs/static/Input.d.ts
class InputClass (line 6) | class InputClass extends Object {
FILE: _godot_defs/static/InputEvent.d.ts
class InputEvent (line 6) | class InputEvent extends Resource {
FILE: _godot_defs/static/InputEventAction.d.ts
class InputEventAction (line 6) | class InputEventAction extends InputEvent {
FILE: _godot_defs/static/InputEventGesture.d.ts
class InputEventGesture (line 4) | class InputEventGesture extends InputEventWithModifiers {
FILE: _godot_defs/static/InputEventJoypadButton.d.ts
class InputEventJoypadButton (line 6) | class InputEventJoypadButton extends InputEvent {
FILE: _godot_defs/static/InputEventJoypadMotion.d.ts
class InputEventJoypadMotion (line 6) | class InputEventJoypadMotion extends InputEvent {
FILE: _godot_defs/static/InputEventKey.d.ts
class InputEventKey (line 6) | class InputEventKey extends InputEventWithModifiers {
FILE: _godot_defs/static/InputEventMIDI.d.ts
class InputEventMIDI (line 4) | class InputEventMIDI extends InputEvent {
FILE: _godot_defs/static/InputEventMagnifyGesture.d.ts
class InputEventMagnifyGesture (line 4) | class InputEventMagnifyGesture extends InputEventGesture {
FILE: _godot_defs/static/InputEventMouse.d.ts
class InputEventMouse (line 6) | class InputEventMouse extends InputEventWithModifiers {
FILE: _godot_defs/static/InputEventMouseButton.d.ts
class InputEventMouseButton (line 6) | class InputEventMouseButton extends InputEventMouse {
FILE: _godot_defs/static/InputEventMouseMotion.d.ts
class InputEventMouseMotion (line 8) | class InputEventMouseMotion extends InputEventMouse {
FILE: _godot_defs/static/InputEventPanGesture.d.ts
class InputEventPanGesture (line 4) | class InputEventPanGesture extends InputEventGesture {
FILE: _godot_defs/static/InputEventScreenDrag.d.ts
class InputEventScreenDrag (line 6) | class InputEventScreenDrag extends InputEvent {
FILE: _godot_defs/static/InputEventScreenTouch.d.ts
class InputEventScreenTouch (line 6) | class InputEventScreenTouch extends InputEvent {
FILE: _godot_defs/static/InputEventWithModifiers.d.ts
class InputEventWithModifiers (line 6) | class InputEventWithModifiers extends InputEvent {
FILE: _godot_defs/static/InputMap.d.ts
class InputMapClass (line 6) | class InputMapClass extends Object {
FILE: _godot_defs/static/InstancePlaceholder.d.ts
class InstancePlaceholder (line 8) | class InstancePlaceholder extends Node {
FILE: _godot_defs/static/InterpolatedCamera.d.ts
class InterpolatedCamera (line 8) | class InterpolatedCamera extends Camera {
FILE: _godot_defs/static/ItemList.d.ts
class ItemList (line 10) | class ItemList extends Control {
FILE: _godot_defs/static/JNISingleton.d.ts
class JNISingleton (line 6) | class JNISingleton extends Object {
FILE: _godot_defs/static/JSON.d.ts
class JSONClass (line 6) | class JSONClass extends Object {
FILE: _godot_defs/static/JSONParseResult.d.ts
class JSONParseResult (line 6) | class JSONParseResult extends Reference {
FILE: _godot_defs/static/JSONRPC.d.ts
class JSONRPC (line 6) | class JSONRPC extends Object {
FILE: _godot_defs/static/JavaClass.d.ts
class JavaClass (line 4) | class JavaClass extends Reference {
FILE: _godot_defs/static/JavaClassWrapper.d.ts
class JavaClassWrapperClass (line 4) | class JavaClassWrapperClass extends Object {
FILE: _godot_defs/static/JavaScript.d.ts
class JavaScriptClass (line 8) | class JavaScriptClass extends Object {
FILE: _godot_defs/static/JavaScriptObject.d.ts
class JavaScriptObject (line 34) | class JavaScriptObject extends Reference {
FILE: _godot_defs/static/Joint.d.ts
class Joint (line 6) | class Joint extends Spatial {
FILE: _godot_defs/static/Joint2D.d.ts
class Joint2D (line 6) | class Joint2D extends Node2D {
FILE: _godot_defs/static/KinematicBody.d.ts
class KinematicBody (line 10) | class KinematicBody extends PhysicsBody {
FILE: _godot_defs/static/KinematicBody2D.d.ts
class KinematicBody2D (line 10) | class KinematicBody2D extends PhysicsBody2D {
FILE: _godot_defs/static/KinematicCollision.d.ts
class KinematicCollision (line 8) | class KinematicCollision extends Reference {
FILE: _godot_defs/static/KinematicCollision2D.d.ts
class KinematicCollision2D (line 8) | class KinematicCollision2D extends Reference {
FILE: _godot_defs/static/Label.d.ts
class Label (line 10) | class Label extends Control {
FILE: _godot_defs/static/LargeTexture.d.ts
class LargeTexture (line 8) | class LargeTexture extends Texture {
FILE: _godot_defs/static/Light.d.ts
class Light (line 6) | class Light extends VisualInstance {
FILE: _godot_defs/static/Light2D.d.ts
class Light2D (line 8) | class Light2D extends Node2D {
FILE: _godot_defs/static/LightOccluder2D.d.ts
class LightOccluder2D (line 6) | class LightOccluder2D extends Node2D {
FILE: _godot_defs/static/Line2D.d.ts
class Line2D (line 8) | class Line2D extends Node2D {
FILE: _godot_defs/static/LineEdit.d.ts
class LineEdit (line 44) | class LineEdit extends Control {
FILE: _godot_defs/static/LineShape2D.d.ts
class LineShape2D (line 6) | class LineShape2D extends Shape2D {
FILE: _godot_defs/static/LinkButton.d.ts
class LinkButton (line 8) | class LinkButton extends BaseButton {
FILE: _godot_defs/static/Listener.d.ts
class Listener (line 6) | class Listener extends Spatial {
FILE: _godot_defs/static/Listener2D.d.ts
class Listener2D (line 8) | class Listener2D extends Node2D {
FILE: _godot_defs/static/MainLoop.d.ts
class MainLoop (line 40) | class MainLoop extends Object {
FILE: _godot_defs/static/MarginContainer.d.ts
class MarginContainer (line 19) | class MarginContainer extends Container {
FILE: _godot_defs/static/Marshalls.d.ts
class MarshallsClass (line 6) | class MarshallsClass extends Object {
FILE: _godot_defs/static/Material.d.ts
class Material (line 6) | class Material extends Resource {
FILE: _godot_defs/static/MenuButton.d.ts
class MenuButton (line 10) | class MenuButton extends Button {
FILE: _godot_defs/static/Mesh.d.ts
class Mesh (line 6) | class Mesh extends Resource {
FILE: _godot_defs/static/MeshDataTool.d.ts
class MeshDataTool (line 34) | class MeshDataTool extends Reference {
FILE: _godot_defs/static/MeshInstance.d.ts
class MeshInstance (line 6) | class MeshInstance extends GeometryInstance {
FILE: _godot_defs/static/MeshInstance2D.d.ts
class MeshInstance2D (line 6) | class MeshInstance2D extends Node2D {
FILE: _godot_defs/static/MeshLibrary.d.ts
class MeshLibrary (line 6) | class MeshLibrary extends Resource {
FILE: _godot_defs/static/MeshTexture.d.ts
class MeshTexture (line 6) | class MeshTexture extends Texture {
FILE: _godot_defs/static/MultiMesh.d.ts
class MultiMesh (line 12) | class MultiMesh extends Resource {
FILE: _godot_defs/static/MultiMeshInstance.d.ts
class MultiMeshInstance (line 8) | class MultiMeshInstance extends GeometryInstance {
FILE: _godot_defs/static/MultiMeshInstance2D.d.ts
class MultiMeshInstance2D (line 8) | class MultiMeshInstance2D extends Node2D {
FILE: _godot_defs/static/MultiplayerAPI.d.ts
class MultiplayerAPI (line 12) | class MultiplayerAPI extends Reference {
FILE: _godot_defs/static/Mutex.d.ts
class Mutex (line 6) | class Mutex extends Reference {
FILE: _godot_defs/static/Navigation.d.ts
class Navigation (line 8) | class Navigation extends Spatial {
FILE: _godot_defs/static/Navigation2D.d.ts
class Navigation2D (line 8) | class Navigation2D extends Node2D {
FILE: _godot_defs/static/NavigationMesh.d.ts
class NavigationMesh (line 6) | class NavigationMesh extends Resource {
FILE: _godot_defs/static/NavigationMeshInstance.d.ts
class NavigationMeshInstance (line 6) | class NavigationMeshInstance extends Spatial {
FILE: _godot_defs/static/NavigationPolygon.d.ts
class NavigationPolygon (line 31) | class NavigationPolygon extends Resource {
FILE: _godot_defs/static/NavigationPolygonInstance.d.ts
class NavigationPolygonInstance (line 4) | class NavigationPolygonInstance extends Node2D {
FILE: _godot_defs/static/NetworkedMultiplayerPeer.d.ts
class NetworkedMultiplayerPeer (line 8) | class NetworkedMultiplayerPeer extends PacketPeer {
FILE: _godot_defs/static/NinePatchRect.d.ts
class NinePatchRect (line 6) | class NinePatchRect extends Control {
FILE: _godot_defs/static/Node.d.ts
class Node (line 26) | class Node extends Object {
FILE: _godot_defs/static/Node2D.d.ts
class Node2D (line 6) | class Node2D extends CanvasItem {
FILE: _godot_defs/static/NodePath.d.ts
class NodePath (line 29) | class NodePath {
FILE: _godot_defs/static/OS.d.ts
class OSClass (line 6) | class OSClass extends Object {
FILE: _godot_defs/static/Object.d.ts
class Object (line 32) | class Object {
FILE: _godot_defs/static/Occluder.d.ts
class Occluder (line 14) | class Occluder extends Spatial {
FILE: _godot_defs/static/OccluderPolygon2D.d.ts
class OccluderPolygon2D (line 6) | class OccluderPolygon2D extends Resource {
FILE: _godot_defs/static/OccluderShape.d.ts
class OccluderShape (line 6) | class OccluderShape extends Resource {
FILE: _godot_defs/static/OccluderShapeSphere.d.ts
class OccluderShapeSphere (line 8) | class OccluderShapeSphere extends OccluderShape {
FILE: _godot_defs/static/OmniLight.d.ts
class OmniLight (line 8) | class OmniLight extends Light {
FILE: _godot_defs/static/OptionButton.d.ts
class OptionButton (line 8) | class OptionButton extends Button {
FILE: _godot_defs/static/PCKPacker.d.ts
class PCKPacker (line 17) | class PCKPacker extends Reference {
FILE: _godot_defs/static/PHashTranslation.d.ts
class PHashTranslation (line 6) | class PHashTranslation extends Translation {
FILE: _godot_defs/static/PackedDataContainer.d.ts
class PackedDataContainer (line 4) | class PackedDataContainer extends Resource {
FILE: _godot_defs/static/PackedDataContainerRef.d.ts
class PackedDataContainerRef (line 4) | class PackedDataContainerRef extends Reference {
FILE: _godot_defs/static/PacketPeer.d.ts
class PacketPeer (line 6) | class PacketPeer extends Reference {
FILE: _godot_defs/static/PacketPeerDTLS.d.ts
class PacketPeerDTLS (line 8) | class PacketPeerDTLS extends PacketPeer {
FILE: _godot_defs/static/PacketPeerStream.d.ts
class PacketPeerStream (line 6) | class PacketPeerStream extends PacketPeer {
FILE: _godot_defs/static/PacketPeerUDP.d.ts
class PacketPeerUDP (line 6) | class PacketPeerUDP extends PacketPeer {
FILE: _godot_defs/static/Panel.d.ts
class Panel (line 6) | class Panel extends Control {
FILE: _godot_defs/static/PanelContainer.d.ts
class PanelContainer (line 6) | class PanelContainer extends Container {
FILE: _godot_defs/static/PanoramaSky.d.ts
class PanoramaSky (line 10) | class PanoramaSky extends Sky {
FILE: _godot_defs/static/ParallaxBackground.d.ts
class ParallaxBackground (line 6) | class ParallaxBackground extends CanvasLayer {
FILE: _godot_defs/static/ParallaxLayer.d.ts
class ParallaxLayer (line 10) | class ParallaxLayer extends Node2D {
FILE: _godot_defs/static/Particles.d.ts
class Particles (line 12) | class Particles extends GeometryInstance {
FILE: _godot_defs/static/Particles2D.d.ts
class Particles2D (line 14) | class Particles2D extends Node2D {
FILE: _godot_defs/static/ParticlesMaterial.d.ts
class ParticlesMaterial (line 10) | class ParticlesMaterial extends Material {
FILE: _godot_defs/static/Path.d.ts
class Path (line 8) | class Path extends Spatial {
FILE: _godot_defs/static/Path2D.d.ts
class Path2D (line 8) | class Path2D extends Node2D {
FILE: _godot_defs/static/PathFollow.d.ts
class PathFollow (line 8) | class PathFollow extends Spatial {
FILE: _godot_defs/static/PathFollow2D.d.ts
class PathFollow2D (line 8) | class PathFollow2D extends Node2D {
FILE: _godot_defs/static/Performance.d.ts
class PerformanceClass (line 10) | class PerformanceClass extends Object {
FILE: _godot_defs/static/PhysicalBone.d.ts
class PhysicalBone (line 4) | class PhysicalBone extends PhysicsBody {
FILE: _godot_defs/static/Physics2DDirectBodyState.d.ts
class Physics2DDirectBodyState (line 6) | class Physics2DDirectBodyState extends Object {
FILE: _godot_defs/static/Physics2DDirectSpaceState.d.ts
class Physics2DDirectSpaceState (line 6) | class Physics2DDirectSpaceState extends Object {
FILE: _godot_defs/static/Physics2DServer.d.ts
class Physics2DServerClass (line 6) | class Physics2DServerClass extends Object {
FILE: _godot_defs/static/Physics2DShapeQueryParameters.d.ts
class Physics2DShapeQueryParameters (line 6) | class Physics2DShapeQueryParameters extends Reference {
FILE: _godot_defs/static/Physics2DTestMotionResult.d.ts
class Physics2DTestMotionResult (line 4) | class Physics2DTestMotionResult extends Reference {
FILE: _godot_defs/static/PhysicsBody.d.ts
class PhysicsBody (line 6) | class PhysicsBody extends CollisionObject {
FILE: _godot_defs/static/PhysicsBody2D.d.ts
class PhysicsBody2D (line 6) | class PhysicsBody2D extends CollisionObject2D {
FILE: _godot_defs/static/PhysicsDirectBodyState.d.ts
class PhysicsDirectBodyState (line 6) | class PhysicsDirectBodyState extends Object {
FILE: _godot_defs/static/PhysicsDirectSpaceState.d.ts
class PhysicsDirectSpaceState (line 6) | class PhysicsDirectSpaceState extends Object {
FILE: _godot_defs/static/PhysicsMaterial.d.ts
class PhysicsMaterial (line 6) | class PhysicsMaterial extends Resource {
FILE: _godot_defs/static/PhysicsServer.d.ts
class PhysicsServerClass (line 6) | class PhysicsServerClass extends Object {
FILE: _godot_defs/static/PhysicsShapeQueryParameters.d.ts
class PhysicsShapeQueryParameters (line 6) | class PhysicsShapeQueryParameters extends Reference {
FILE: _godot_defs/static/PhysicsTestMotionResult.d.ts
class PhysicsTestMotionResult (line 4) | class PhysicsTestMotionResult extends Reference {
FILE: _godot_defs/static/PinJoint.d.ts
class PinJoint (line 6) | class PinJoint extends Joint {
FILE: _godot_defs/static/PinJoint2D.d.ts
class PinJoint2D (line 6) | class PinJoint2D extends Joint2D {
FILE: _godot_defs/static/Plane.d.ts
class Plane (line 6) | class Plane {
FILE: _godot_defs/static/PlaneMesh.d.ts
class PlaneMesh (line 8) | class PlaneMesh extends PrimitiveMesh {
FILE: _godot_defs/static/PlaneShape.d.ts
class PlaneShape (line 6) | class PlaneShape extends Shape {
FILE: _godot_defs/static/PointMesh.d.ts
class PointMesh (line 10) | class PointMesh extends PrimitiveMesh {
FILE: _godot_defs/static/Polygon2D.d.ts
class Polygon2D (line 8) | class Polygon2D extends Node2D {
FILE: _godot_defs/static/PolygonPathFinder.d.ts
class PolygonPathFinder (line 4) | class PolygonPathFinder extends Resource {
FILE: _godot_defs/static/PoolByteArray.d.ts
class PoolByteArray (line 8) | class PoolByteArray {
FILE: _godot_defs/static/PoolColorArray.d.ts
class PoolColorArray (line 8) | class PoolColorArray {
FILE: _godot_defs/static/PoolIntArray.d.ts
class PoolIntArray (line 10) | class PoolIntArray {
FILE: _godot_defs/static/PoolRealArray.d.ts
class PoolRealArray (line 10) | class PoolRealArray {
FILE: _godot_defs/static/PoolStringArray.d.ts
class PoolStringArray (line 8) | class PoolStringArray {
FILE: _godot_defs/static/PoolVector2Array.d.ts
class PoolVector2Array (line 8) | class PoolVector2Array {
FILE: _godot_defs/static/PoolVector3Array.d.ts
class PoolVector3Array (line 8) | class PoolVector3Array {
FILE: _godot_defs/static/Popup.d.ts
class Popup (line 6) | class Popup extends Control {
FILE: _godot_defs/static/PopupDialog.d.ts
class PopupDialog (line 6) | class PopupDialog extends Popup {
FILE: _godot_defs/static/PopupMenu.d.ts
class PopupMenu (line 6) | class PopupMenu extends Popup {
FILE: _godot_defs/static/PopupPanel.d.ts
class PopupPanel (line 6) | class PopupPanel extends Popup {
FILE: _godot_defs/static/Portal.d.ts
class Portal (line 12) | class Portal extends Spatial {
FILE: _godot_defs/static/Position2D.d.ts
class Position2D (line 6) | class Position2D extends Node2D {
FILE: _godot_defs/static/Position3D.d.ts
class Position3D (line 6) | class Position3D extends Spatial {
FILE: _godot_defs/static/PrimitiveMesh.d.ts
class PrimitiveMesh (line 6) | class PrimitiveMesh extends Mesh {
FILE: _godot_defs/static/PrismMesh.d.ts
class PrismMesh (line 6) | class PrismMesh extends PrimitiveMesh {
FILE: _godot_defs/static/ProceduralSky.d.ts
class ProceduralSky (line 8) | class ProceduralSky extends Sky {
FILE: _godot_defs/static/ProgressBar.d.ts
class ProgressBar (line 6) | class ProgressBar extends Range {
FILE: _godot_defs/static/ProjectSettings.d.ts
class ProjectSettingsClass (line 12) | class ProjectSettingsClass extends Object {
FILE: _godot_defs/static/ProximityGroup.d.ts
class ProximityGroup (line 6) | class ProximityGroup extends Spatial {
FILE: _godot_defs/static/ProxyTexture.d.ts
class ProxyTexture (line 4) | class ProxyTexture extends Texture {
FILE: _godot_defs/static/QuadMesh.d.ts
class QuadMesh (line 6) | class QuadMesh extends PrimitiveMesh {
FILE: _godot_defs/static/Quat.d.ts
class Quat (line 10) | class Quat {
FILE: _godot_defs/static/RID.d.ts
class RID (line 6) | class RID {
FILE: _godot_defs/static/RandomNumberGenerator.d.ts
class RandomNumberGenerator (line 21) | class RandomNumberGenerator extends Reference {
FILE: _godot_defs/static/Range.d.ts
class Range (line 6) | class Range extends Control {
FILE: _godot_defs/static/RayCast.d.ts
class RayCast (line 14) | class RayCast extends Spatial {
FILE: _godot_defs/static/RayCast2D.d.ts
class RayCast2D (line 14) | class RayCast2D extends Node2D {
FILE: _godot_defs/static/RayShape.d.ts
class RayShape (line 6) | class RayShape extends Shape {
FILE: _godot_defs/static/RayShape2D.d.ts
class RayShape2D (line 6) | class RayShape2D extends Shape2D {
FILE: _godot_defs/static/Rect2.d.ts
class Rect2Constructor (line 10) | class Rect2Constructor {
type Rect2 (line 113) | type Rect2 = Rect2Constructor;
FILE: _godot_defs/static/RectangleShape2D.d.ts
class RectangleShape2D (line 6) | class RectangleShape2D extends Shape2D {
FILE: _godot_defs/static/Reference.d.ts
class Reference (line 12) | class Reference extends Object {
FILE: _godot_defs/static/ReferenceRect.d.ts
class ReferenceRect (line 6) | class ReferenceRect extends Control {
FILE: _godot_defs/static/ReflectionProbe.d.ts
class ReflectionProbe (line 12) | class ReflectionProbe extends VisualInstance {
FILE: _godot_defs/static/RemoteTransform.d.ts
class RemoteTransform (line 8) | class RemoteTransform extends Spatial {
FILE: _godot_defs/static/RemoteTransform2D.d.ts
class RemoteTransform2D (line 8) | class RemoteTransform2D extends Node2D {
FILE: _godot_defs/static/Resource.d.ts
class Resource (line 8) | class Resource extends Reference {
FILE: _godot_defs/static/ResourceFormatLoader.d.ts
class ResourceFormatLoader (line 10) | class ResourceFormatLoader extends Reference {
FILE: _godot_defs/static/ResourceFormatSaver.d.ts
class ResourceFormatSaver (line 8) | class ResourceFormatSaver extends Reference {
FILE: _godot_defs/static/ResourceImporter.d.ts
class ResourceImporter (line 6) | class ResourceImporter extends Reference {
FILE: _godot_defs/static/ResourceInteractiveLoader.d.ts
class ResourceInteractiveLoader (line 6) | class ResourceInteractiveLoader extends Reference {
FILE: _godot_defs/static/ResourceLoader.d.ts
class ResourceLoaderClass (line 8) | class ResourceLoaderClass extends Object {
FILE: _godot_defs/static/ResourcePreloader.d.ts
class ResourcePreloader (line 8) | class ResourcePreloader extends Node {
FILE: _godot_defs/static/ResourceSaver.d.ts
class ResourceSaverClass (line 8) | class ResourceSaverClass extends Object {
FILE: _godot_defs/static/RichTextEffect.d.ts
class RichTextEffect (line 17) | class RichTextEffect extends Resource {
FILE: _godot_defs/static/RichTextLabel.d.ts
class RichTextLabel (line 16) | class RichTextLabel extends Control {
FILE: _godot_defs/static/RigidBody.d.ts
class RigidBody (line 14) | class RigidBody extends PhysicsBody {
FILE: _godot_defs/static/RigidBody2D.d.ts
class RigidBody2D (line 16) | class RigidBody2D extends PhysicsBody2D {
FILE: _godot_defs/static/Room.d.ts
class Room (line 14) | class Room extends Spatial {
FILE: _godot_defs/static/RoomGroup.d.ts
class RoomGroup (line 12) | class RoomGroup extends Spatial {
FILE: _godot_defs/static/RoomManager.d.ts
class RoomManager (line 6) | class RoomManager extends Spatial {
FILE: _godot_defs/static/RootMotionView.d.ts
class RootMotionView (line 8) | class RootMotionView extends VisualInstance {
FILE: _godot_defs/static/SceneState.d.ts
class SceneState (line 8) | class SceneState extends Reference {
FILE: _godot_defs/static/SceneTree.d.ts
class SceneTree (line 10) | class SceneTree extends MainLoop {
FILE: _godot_defs/static/SceneTreeTimer.d.ts
class SceneTreeTimer (line 17) | class SceneTreeTimer extends Reference {
FILE: _godot_defs/static/Script.d.ts
class Script (line 8) | class Script extends Resource {
FILE: _godot_defs/static/ScriptCreateDialog.d.ts
class ScriptCreateDialog (line 15) | class ScriptCreateDialog extends ConfirmationDialog {
FILE: _godot_defs/static/ScriptEditor.d.ts
class ScriptEditor (line 6) | class ScriptEditor extends PanelContainer {
FILE: _godot_defs/static/ScrollBar.d.ts
class ScrollBar (line 6) | class ScrollBar extends Range {
FILE: _godot_defs/static/ScrollContainer.d.ts
class ScrollContainer (line 6) | class ScrollContainer extends Container {
FILE: _godot_defs/static/SegmentShape2D.d.ts
class SegmentShape2D (line 6) | class SegmentShape2D extends Shape2D {
FILE: _godot_defs/static/Semaphore.d.ts
class Semaphore (line 6) | class Semaphore extends Reference {
FILE: _godot_defs/static/Separator.d.ts
class Separator (line 6) | class Separator extends Control {
FILE: _godot_defs/static/Shader.d.ts
class Shader (line 6) | class Shader extends Resource {
FILE: _godot_defs/static/ShaderMaterial.d.ts
class ShaderMaterial (line 8) | class ShaderMaterial extends Material {
FILE: _godot_defs/static/Shape.d.ts
class Shape (line 6) | class Shape extends Resource {
FILE: _godot_defs/static/Shape2D.d.ts
class Shape2D (line 6) | class Shape2D extends Resource {
FILE: _godot_defs/static/ShortCut.d.ts
class ShortCut (line 8) | class ShortCut extends Resource {
FILE: _godot_defs/static/Skeleton.d.ts
class Skeleton (line 10) | class Skeleton extends Spatial {
FILE: _godot_defs/static/Skeleton2D.d.ts
class Skeleton2D (line 6) | class Skeleton2D extends Node2D {
FILE: _godot_defs/static/SkeletonIK.d.ts
class SkeletonIK (line 23) | class SkeletonIK extends Node {
FILE: _godot_defs/static/Skin.d.ts
class Skin (line 4) | class Skin extends Resource {
FILE: _godot_defs/static/SkinReference.d.ts
class SkinReference (line 4) | class SkinReference extends Reference {
FILE: _godot_defs/static/Sky.d.ts
class Sky (line 6) | class Sky extends Resource {
FILE: _godot_defs/static/Slider.d.ts
class Slider (line 8) | class Slider extends Range {
FILE: _godot_defs/static/SliderJoint.d.ts
class SliderJoint (line 6) | class SliderJoint extends Joint {
FILE: _godot_defs/static/SoftBody.d.ts
class SoftBody (line 6) | class SoftBody extends MeshInstance {
FILE: _godot_defs/static/Spatial.d.ts
class Spatial (line 10) | class Spatial extends Node {
FILE: _godot_defs/static/SpatialGizmo.d.ts
class SpatialGizmo (line 4) | class SpatialGizmo extends Reference {
FILE: _godot_defs/static/SpatialMaterial.d.ts
class SpatialMaterial (line 6) | class SpatialMaterial extends Material {
FILE: _godot_defs/static/SpatialVelocityTracker.d.ts
class SpatialVelocityTracker (line 4) | class SpatialVelocityTracker extends Reference {
FILE: _godot_defs/static/SphereMesh.d.ts
class SphereMesh (line 6) | class SphereMesh extends PrimitiveMesh {
FILE: _godot_defs/static/SphereShape.d.ts
class SphereShape (line 6) | class SphereShape extends Shape {
FILE: _godot_defs/static/SpinBox.d.ts
class SpinBox (line 24) | class SpinBox extends Range {
FILE: _godot_defs/static/SplitContainer.d.ts
class SplitContainer (line 6) | class SplitContainer extends Container {
FILE: _godot_defs/static/SpotLight.d.ts
class SpotLight (line 8) | class SpotLight extends Light {
FILE: _godot_defs/static/SpringArm.d.ts
class SpringArm (line 12) | class SpringArm extends Spatial {
FILE: _godot_defs/static/Sprite.d.ts
class Sprite (line 6) | class Sprite extends Node2D {
FILE: _godot_defs/static/Sprite3D.d.ts
class Sprite3D (line 6) | class Sprite3D extends SpriteBase3D {
FILE: _godot_defs/static/SpriteBase3D.d.ts
class SpriteBase3D (line 6) | class SpriteBase3D extends GeometryInstance {
FILE: _godot_defs/static/SpriteFrames.d.ts
class SpriteFrames (line 8) | class SpriteFrames extends Resource {
FILE: _godot_defs/static/StaticBody.d.ts
class StaticBody (line 8) | class StaticBody extends PhysicsBody {
FILE: _godot_defs/static/StaticBody2D.d.ts
class StaticBody2D (line 8) | class StaticBody2D extends PhysicsBody2D {
FILE: _godot_defs/static/StreamPeer.d.ts
class StreamPeer (line 6) | class StreamPeer extends Reference {
FILE: _godot_defs/static/StreamPeerBuffer.d.ts
class StreamPeerBuffer (line 4) | class StreamPeerBuffer extends StreamPeer {
FILE: _godot_defs/static/StreamPeerSSL.d.ts
class StreamPeerSSL (line 6) | class StreamPeerSSL extends StreamPeer {
FILE: _godot_defs/static/StreamPeerTCP.d.ts
class StreamPeerTCP (line 6) | class StreamPeerTCP extends StreamPeer {
FILE: _godot_defs/static/StreamTexture.d.ts
class StreamTexture (line 6) | class StreamTexture extends Texture {
FILE: _godot_defs/static/String.d.ts
class String (line 6) | class String {
FILE: _godot_defs/static/StyleBox.d.ts
class StyleBox (line 8) | class StyleBox extends Resource {
FILE: _godot_defs/static/StyleBoxEmpty.d.ts
class StyleBoxEmpty (line 6) | class StyleBoxEmpty extends StyleBox {
FILE: _godot_defs/static/StyleBoxFlat.d.ts
class StyleBoxFlat (line 33) | class StyleBoxFlat extends StyleBox {
FILE: _godot_defs/static/StyleBoxLine.d.ts
class StyleBoxLine (line 6) | class StyleBoxLine extends StyleBox {
FILE: _godot_defs/static/StyleBoxTexture.d.ts
class StyleBoxTexture (line 6) | class StyleBoxTexture extends StyleBox {
FILE: _godot_defs/static/SurfaceTool.d.ts
class SurfaceTool (line 26) | class SurfaceTool extends Reference {
FILE: _godot_defs/static/TCP_Server.d.ts
class TCP_Server (line 6) | class TCP_Server extends Reference {
FILE: _godot_defs/static/TabContainer.d.ts
class TabContainer (line 10) | class TabContainer extends Container {
FILE: _godot_defs/static/Tabs.d.ts
class Tabs (line 6) | class Tabs extends Control {
FILE: _godot_defs/static/TextEdit.d.ts
class TextEdit (line 8) | class TextEdit extends Control {
FILE: _godot_defs/static/TextFile.d.ts
class TextFile (line 4) | class TextFile extends Resource {
FILE: _godot_defs/static/Texture.d.ts
class Texture (line 12) | class Texture extends Resource {
FILE: _godot_defs/static/Texture3D.d.ts
class Texture3D (line 6) | class Texture3D extends TextureLayered {
FILE: _godot_defs/static/TextureArray.d.ts
class TextureArray (line 21) | class TextureArray extends TextureLayered {
FILE: _godot_defs/static/TextureButton.d.ts
class TextureButton (line 10) | class TextureButton extends BaseButton {
FILE: _godot_defs/static/TextureLayered.d.ts
class TextureLayered (line 6) | class TextureLayered extends Resource {
FILE: _godot_defs/static/TextureProgress.d.ts
class TextureProgress (line 6) | class TextureProgress extends Range {
FILE: _godot_defs/static/TextureRect.d.ts
class TextureRect (line 8) | class TextureRect extends Control {
FILE: _godot_defs/static/Theme.d.ts
class Theme (line 8) | class Theme extends Resource {
FILE: _godot_defs/static/Thread.d.ts
class Thread (line 8) | class Thread extends Reference {
FILE: _godot_defs/static/TileMap.d.ts
class TileMap (line 8) | class TileMap extends Node2D {
FILE: _godot_defs/static/TileSet.d.ts
class TileSet (line 8) | class TileSet extends Resource {
FILE: _godot_defs/static/Time.d.ts
class TimeClass (line 14) | class TimeClass extends Object {
FILE: _godot_defs/static/Timer.d.ts
class Timer (line 8) | class Timer extends Node {
FILE: _godot_defs/static/ToolButton.d.ts
class ToolButton (line 13) | class ToolButton extends Button {
FILE: _godot_defs/static/TouchScreenButton.d.ts
class TouchScreenButton (line 10) | class TouchScreenButton extends Node2D {
FILE: _godot_defs/static/Transform.d.ts
class Transform (line 8) | class Transform {
FILE: _godot_defs/static/Transform2D.d.ts
class Transform2D (line 8) | class Transform2D {
FILE: _godot_defs/static/Translation.d.ts
class Translation (line 6) | class Translation extends Resource {
FILE: _godot_defs/static/TranslationServer.d.ts
class TranslationServerClass (line 6) | class TranslationServerClass extends Object {
FILE: _godot_defs/static/Tree.d.ts
class Tree (line 23) | class Tree extends Control {
FILE: _godot_defs/static/TreeItem.d.ts
class TreeItem (line 8) | class TreeItem extends Object {
FILE: _godot_defs/static/TriangleMesh.d.ts
class TriangleMesh (line 6) | class TriangleMesh extends Reference {
FILE: _godot_defs/static/Tween.d.ts
class Tween (line 26) | class Tween extends Node {
FILE: _godot_defs/static/UDPServer.d.ts
class UDPServer (line 52) | class UDPServer extends Reference {
FILE: _godot_defs/static/UndoRedo.d.ts
class UndoRedo (line 32) | class UndoRedo extends Object {
FILE: _godot_defs/static/VBoxContainer.d.ts
class VBoxContainer (line 6) | class VBoxContainer extends BoxContainer {
FILE: _godot_defs/static/VScrollBar.d.ts
class VScrollBar (line 6) | class VScrollBar extends ScrollBar {
FILE: _godot_defs/static/VSeparator.d.ts
class VSeparator (line 6) | class VSeparator extends Separator {
FILE: _godot_defs/static/VSlider.d.ts
class VSlider (line 8) | class VSlider extends Slider {
FILE: _godot_defs/static/VSplitContainer.d.ts
class VSplitContainer (line 6) | class VSplitContainer extends SplitContainer {
FILE: _godot_defs/static/Variant.d.ts
class Variant (line 76) | class Variant {
FILE: _godot_defs/static/Vector2.d.ts
class Vector2Constructor (line 8) | class Vector2Constructor {
type Vector2 (line 236) | type Vector2 = Vector2Constructor;
FILE: _godot_defs/static/Vector3.d.ts
class Vector3Constructor (line 8) | class Vector3Constructor {
type Vector3 (line 246) | type Vector3 = Vector3Constructor;
FILE: _godot_defs/static/VehicleBody.d.ts
class VehicleBody (line 10) | class VehicleBody extends RigidBody {
FILE: _godot_defs/static/VehicleWheel.d.ts
class VehicleWheel (line 8) | class VehicleWheel extends Spatial {
FILE: _godot_defs/static/VideoPlayer.d.ts
class VideoPlayer (line 12) | class VideoPlayer extends Control {
FILE: _godot_defs/static/VideoStream.d.ts
class VideoStream (line 6) | class VideoStream extends Resource {
FILE: _godot_defs/static/Viewport.d.ts
class Viewport (line 16) | class Viewport extends Node {
FILE: _godot_defs/static/ViewportContainer.d.ts
class ViewportContainer (line 8) | class ViewportContainer extends Container {
FILE: _godot_defs/static/ViewportTexture.d.ts
class ViewportTexture (line 8) | class ViewportTexture extends Texture {
FILE: _godot_defs/static/VisibilityEnabler.d.ts
class VisibilityEnabler (line 12) | class VisibilityEnabler extends VisibilityNotifier {
FILE: _godot_defs/static/VisibilityEnabler2D.d.ts
class VisibilityEnabler2D (line 12) | class VisibilityEnabler2D extends VisibilityNotifier2D {
FILE: _godot_defs/static/VisibilityNotifier.d.ts
class VisibilityNotifier (line 10) | class VisibilityNotifier extends CullInstance {
FILE: _godot_defs/static/VisibilityNotifier2D.d.ts
class VisibilityNotifier2D (line 10) | class VisibilityNotifier2D extends Node2D {
FILE: _godot_defs/static/VisualInstance.d.ts
class VisualInstance (line 6) | class VisualInstance extends CullInstance {
FILE: _godot_defs/static/VisualServer.d.ts
class VisualServerClass (line 22) | class VisualServerClass extends Object {
FILE: _godot_defs/static/VisualShader.d.ts
class VisualShader (line 8) | class VisualShader extends Shader {
FILE: _godot_defs/static/VisualShaderNode.d.ts
class VisualShaderNode (line 6) | class VisualShaderNode extends Resource {
FILE: _godot_defs/static/VisualShaderNodeBooleanConstant.d.ts
class VisualShaderNodeBooleanConstant (line 8) | class VisualShaderNodeBooleanConstant extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeBooleanUniform.d.ts
class VisualShaderNodeBooleanUniform (line 6) | class VisualShaderNodeBooleanUniform extends VisualShaderNodeUniform {
FILE: _godot_defs/static/VisualShaderNodeColorConstant.d.ts
class VisualShaderNodeColorConstant (line 8) | class VisualShaderNodeColorConstant extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeColorFunc.d.ts
class VisualShaderNodeColorFunc (line 6) | class VisualShaderNodeColorFunc extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeColorOp.d.ts
class VisualShaderNodeColorOp (line 6) | class VisualShaderNodeColorOp extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeColorUniform.d.ts
class VisualShaderNodeColorUniform (line 6) | class VisualShaderNodeColorUniform extends VisualShaderNodeUniform {
FILE: _godot_defs/static/VisualShaderNodeCompare.d.ts
class VisualShaderNodeCompare (line 6) | class VisualShaderNodeCompare extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeCubeMap.d.ts
class VisualShaderNodeCubeMap (line 6) | class VisualShaderNodeCubeMap extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeCubeMapUniform.d.ts
class VisualShaderNodeCubeMapUniform (line 6) | class VisualShaderNodeCubeMapUniform extends VisualShaderNodeTextureUnif...
FILE: _godot_defs/static/VisualShaderNodeCustom.d.ts
class VisualShaderNodeCustom (line 16) | class VisualShaderNodeCustom extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeDeterminant.d.ts
class VisualShaderNodeDeterminant (line 6) | class VisualShaderNodeDeterminant extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeDotProduct.d.ts
class VisualShaderNodeDotProduct (line 6) | class VisualShaderNodeDotProduct extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeExpression.d.ts
class VisualShaderNodeExpression (line 8) | class VisualShaderNodeExpression extends VisualShaderNodeGroupBase {
FILE: _godot_defs/static/VisualShaderNodeFaceForward.d.ts
class VisualShaderNodeFaceForward (line 6) | class VisualShaderNodeFaceForward extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeFresnel.d.ts
class VisualShaderNodeFresnel (line 6) | class VisualShaderNodeFresnel extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeGlobalExpression.d.ts
class VisualShaderNodeGlobalExpression (line 6) | class VisualShaderNodeGlobalExpression extends VisualShaderNodeExpressio...
FILE: _godot_defs/static/VisualShaderNodeGroupBase.d.ts
class VisualShaderNodeGroupBase (line 6) | class VisualShaderNodeGroupBase extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeIf.d.ts
class VisualShaderNodeIf (line 4) | class VisualShaderNodeIf extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeInput.d.ts
class VisualShaderNodeInput (line 6) | class VisualShaderNodeInput extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeIs.d.ts
class VisualShaderNodeIs (line 6) | class VisualShaderNodeIs extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeOuterProduct.d.ts
class VisualShaderNodeOuterProduct (line 6) | class VisualShaderNodeOuterProduct extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeOutput.d.ts
class VisualShaderNodeOutput (line 6) | class VisualShaderNodeOutput extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarClamp.d.ts
class VisualShaderNodeScalarClamp (line 6) | class VisualShaderNodeScalarClamp extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarConstant.d.ts
class VisualShaderNodeScalarConstant (line 4) | class VisualShaderNodeScalarConstant extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarDerivativeFunc.d.ts
class VisualShaderNodeScalarDerivativeFunc (line 6) | class VisualShaderNodeScalarDerivativeFunc extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarFunc.d.ts
class VisualShaderNodeScalarFunc (line 4) | class VisualShaderNodeScalarFunc extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarInterp.d.ts
class VisualShaderNodeScalarInterp (line 6) | class VisualShaderNodeScalarInterp extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarOp.d.ts
class VisualShaderNodeScalarOp (line 4) | class VisualShaderNodeScalarOp extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarSmoothStep.d.ts
class VisualShaderNodeScalarSmoothStep (line 8) | class VisualShaderNodeScalarSmoothStep extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeScalarSwitch.d.ts
class VisualShaderNodeScalarSwitch (line 6) | class VisualShaderNodeScalarSwitch extends VisualShaderNodeSwitch {
FILE: _godot_defs/static/VisualShaderNodeScalarUniform.d.ts
class VisualShaderNodeScalarUniform (line 4) | class VisualShaderNodeScalarUniform extends VisualShaderNodeUniform {
FILE: _godot_defs/static/VisualShaderNodeSwitch.d.ts
class VisualShaderNodeSwitch (line 6) | class VisualShaderNodeSwitch extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeTexture.d.ts
class VisualShaderNodeTexture (line 6) | class VisualShaderNodeTexture extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeTextureUniform.d.ts
class VisualShaderNodeTextureUniform (line 6) | class VisualShaderNodeTextureUniform extends VisualShaderNodeUniform {
FILE: _godot_defs/static/VisualShaderNodeTextureUniformTriplanar.d.ts
class VisualShaderNodeTextureUniformTriplanar (line 6) | class VisualShaderNodeTextureUniformTriplanar extends VisualShaderNodeTe...
FILE: _godot_defs/static/VisualShaderNodeTransformCompose.d.ts
class VisualShaderNodeTransformCompose (line 6) | class VisualShaderNodeTransformCompose extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeTransformConstant.d.ts
class VisualShaderNodeTransformConstant (line 6) | class VisualShaderNodeTransformConstant extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeTransformDecompose.d.ts
class VisualShaderNodeTransformDecompose (line 6) | class VisualShaderNodeTransformDecompose extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeTransformFunc.d.ts
class VisualShaderNodeTransformFunc (line 6) | class VisualShaderNodeTransformFunc extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeTransformMult.d.ts
class VisualShaderNodeTransformMult (line 6) | class VisualShaderNodeTransformMult extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeTransformUniform.d.ts
class VisualShaderNodeTransformUniform (line 6) | class VisualShaderNodeTransformUniform extends VisualShaderNodeUniform {
FILE: _godot_defs/static/VisualShaderNodeTransformVecMult.d.ts
class VisualShaderNodeTransformVecMult (line 6) | class VisualShaderNodeTransformVecMult extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeUniform.d.ts
class VisualShaderNodeUniform (line 6) | class VisualShaderNodeUniform extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeUniformRef.d.ts
class VisualShaderNodeUniformRef (line 6) | class VisualShaderNodeUniformRef extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVec3Constant.d.ts
class VisualShaderNodeVec3Constant (line 6) | class VisualShaderNodeVec3Constant extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVec3Uniform.d.ts
class VisualShaderNodeVec3Uniform (line 6) | class VisualShaderNodeVec3Uniform extends VisualShaderNodeUniform {
FILE: _godot_defs/static/VisualShaderNodeVectorClamp.d.ts
class VisualShaderNodeVectorClamp (line 6) | class VisualShaderNodeVectorClamp extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorCompose.d.ts
class VisualShaderNodeVectorCompose (line 6) | class VisualShaderNodeVectorCompose extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorDecompose.d.ts
class VisualShaderNodeVectorDecompose (line 6) | class VisualShaderNodeVectorDecompose extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorDerivativeFunc.d.ts
class VisualShaderNodeVectorDerivativeFunc (line 6) | class VisualShaderNodeVectorDerivativeFunc extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorDistance.d.ts
class VisualShaderNodeVectorDistance (line 8) | class VisualShaderNodeVectorDistance extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorFunc.d.ts
class VisualShaderNodeVectorFunc (line 6) | class VisualShaderNodeVectorFunc extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorInterp.d.ts
class VisualShaderNodeVectorInterp (line 6) | class VisualShaderNodeVectorInterp extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorLen.d.ts
class VisualShaderNodeVectorLen (line 6) | class VisualShaderNodeVectorLen extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorOp.d.ts
class VisualShaderNodeVectorOp (line 6) | class VisualShaderNodeVectorOp extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorRefract.d.ts
class VisualShaderNodeVectorRefract (line 6) | class VisualShaderNodeVectorRefract extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorScalarMix.d.ts
class VisualShaderNodeVectorScalarMix (line 6) | class VisualShaderNodeVectorScalarMix extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorScalarSmoothStep.d.ts
class VisualShaderNodeVectorScalarSmoothStep (line 8) | class VisualShaderNodeVectorScalarSmoothStep extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorScalarStep.d.ts
class VisualShaderNodeVectorScalarStep (line 8) | class VisualShaderNodeVectorScalarStep extends VisualShaderNode {
FILE: _godot_defs/static/VisualShaderNodeVectorSmoothStep.d.ts
class VisualShaderNodeVectorSmoothStep (line 8) | class VisualShaderNodeVectorSmoothStep extends VisualShaderNode {
FILE: _godot_defs/static/WeakRef.d.ts
class WeakRef (line 6) | class WeakRef extends Reference {
FILE: _godot_defs/static/WebSocketClient.d.ts
class WebSocketClient (line 12) | class WebSocketClient extends WebSocketMultiplayerPeer {
FILE: _godot_defs/static/WebSocketMultiplayerPeer.d.ts
class WebSocketMultiplayerPeer (line 6) | class WebSocketMultiplayerPeer extends NetworkedMultiplayerPeer {
FILE: _godot_defs/static/WebSocketPeer.d.ts
class WebSocketPeer (line 8) | class WebSocketPeer extends PacketPeer {
FILE: _godot_defs/static/WebSocketServer.d.ts
class WebSocketServer (line 10) | class WebSocketServer extends WebSocketMultiplayerPeer {
FILE: _godot_defs/static/WindowDialog.d.ts
class WindowDialog (line 6) | class WindowDialog extends Popup {
FILE: _godot_defs/static/World.d.ts
class World (line 6) | class World extends Resource {
FILE: _godot_defs/static/World2D.d.ts
class World2D (line 6) | class World2D extends Resource {
FILE: _godot_defs/static/WorldEnvironment.d.ts
class WorldEnvironment (line 10) | class WorldEnvironment extends Node {
FILE: _godot_defs/static/X509Certificate.d.ts
class X509Certificate (line 10) | class X509Certificate extends Resource {
FILE: _godot_defs/static/XMLParser.d.ts
class XMLParser (line 6) | class XMLParser extends Reference {
FILE: _godot_defs/static/YSort.d.ts
class YSort (line 8) | class YSort extends Node2D {
FILE: check_version.ts
function getInstalledVersion (line 8) | function getInstalledVersion() {
FILE: errors.ts
type ErrorName (line 6) | enum ErrorName {
type TsGdError (line 39) | type TsGdError = {
FILE: generate_library_defs/generate_base.ts
function writeBaseDefinitions (line 269) | function writeBaseDefinitions(paths: Paths) {
function baseContentForTests (line 276) | function baseContentForTests() {
FILE: generate_library_defs/generate_gdscript_lib.ts
type GodotXMLMethod (line 11) | type GodotXMLMethod = {
FILE: generate_library_defs/generation_utils.ts
function sanitizeGodotNameForTs (line 1) | function sanitizeGodotNameForTs(
function godotTypeToTsType (line 35) | function godotTypeToTsType(godotType: string): string {
function formatJsDoc (line 84) | function formatJsDoc(input: string): string {
FILE: generate_library_defs/library_builder.ts
class LibraryBuilder (line 21) | class LibraryBuilder {
method constructor (line 22) | constructor(private paths: Paths) {
method buildProject (line 27) | async buildProject() {
method parseGlobalScope (line 32) | async parseGlobalScope(
method parseFile (line 110) | async parseFile(path: string, singletons: string[]) {
method writeLibraryDefinitions (line 290) | async writeLibraryDefinitions() {
FILE: main.ts
function reportDiagnostic (line 178) | function reportDiagnostic(diagnostic: ts.Diagnostic) {
FILE: mockProject/ignore_me.ts
class IgnoreMe (line 1) | class IgnoreMe {}
FILE: mockProject/ignore_me/ignore_me_too.ts
class IgnoreMeToo (line 1) | class IgnoreMeToo {}
FILE: parse_args.ts
type ParsedArgs (line 1) | type ParsedArgs = {
FILE: parse_node.ts
type ParseState (line 68) | type ParseState = {
type ExtraLineType (line 88) | enum ExtraLineType {
type ExtraLine (line 95) | type ExtraLine = {
type ParseNodeType (line 101) | type ParseNodeType = {
function combine (line 118) | function combine(args: {
FILE: parse_node/library_functions.ts
type LibraryFunctionName (line 1) | type LibraryFunctionName =
FILE: parse_node/parse_import_declaration.ts
type ImportType (line 103) | type ImportType = {
FILE: project/assets/asset_font.ts
class AssetFont (line 5) | class AssetFont extends BaseAsset {
method extensions (line 10) | static extensions() {
method constructor (line 14) | constructor(path: string, project: TsGdProject) {
method tsType (line 21) | tsType(): string {
FILE: project/assets/asset_glb.ts
class AssetGlb (line 5) | class AssetGlb extends BaseAsset {
method constructor (line 10) | constructor(path: string, project: TsGdProject) {
method tsType (line 18) | tsType(): string {
method extensions (line 22) | static extensions() {
FILE: project/assets/asset_godot_scene.ts
type IGodotSceneFile (line 13) | interface IGodotSceneFile {
class GodotNode (line 63) | class GodotNode {
method constructor (line 74) | constructor(
method scenePath (line 95) | scenePath(): string {
method children (line 107) | children(): GodotNode[] {
method instanceId (line 115) | private instanceId(): number | undefined {
method isInstance (line 125) | isInstance(): boolean {
method instance (line 132) | instance(): AssetGodotScene | AssetGlb | undefined {
method isInstanceOverride (line 173) | isInstanceOverride() {
method tsType (line 177) | tsType(): string {
method getScript (line 215) | getScript(): AssetSourceFile | undefined {
type ResourceTemp (line 256) | type ResourceTemp = {
class AssetGodotScene (line 262) | class AssetGodotScene extends BaseAsset {
method constructor (line 280) | constructor(fsPath: string, project: TsGdProject) {
method tsType (line 309) | tsType(): string {
method extensions (line 350) | static extensions() {
FILE: project/assets/asset_image.ts
class AssetImage (line 5) | class AssetImage extends BaseAsset {
method constructor (line 10) | constructor(path: string, project: TsGdProject) {
method tsType (line 18) | tsType(): string {
method extensions (line 22) | static extensions() {
FILE: project/assets/asset_source_file.ts
class AssetSourceFile (line 20) | class AssetSourceFile extends BaseAsset {
method constructor (line 47) | constructor(sourceFilePath: string, project: TsGdProject) {
method reload (line 75) | reload() {}
method getAst (line 77) | private getAst(): TsGdError | ts.SourceFile {
method getClassNode (line 94) | private getClassNode(): ts.ClassDeclaration | TsGdError {
method exportedTsClassName (line 132) | exportedTsClassName(): string | TsGdError {
method extendedClassName (line 153) | extendedClassName(): string | TsGdError {
method getAutoloadNameFromExportedVariable (line 184) | private getAutoloadNameFromExportedVariable(): string | TsGdError {
method isAutoload (line 247) | isAutoload() {
method tsType (line 251) | tsType(): string {
method isProjectAutoload (line 268) | private isProjectAutoload(): boolean {
method isDecoratedAutoload (line 274) | private isDecoratedAutoload(): boolean {
method getAutoloadValidationErrors (line 290) | getAutoloadValidationErrors(): TsGdError | null {
method checkForNoDuplicateClassNames (line 316) | checkForNoDuplicateClassNames(sourceFile: ts.SourceFile) {
method compile (line 344) | async compile(
method validateAutoloadClass (line 432) | validateAutoloadClass(): TsGdError | null {
method getGodotClassName (line 458) | getGodotClassName(): string {
method checkForAutoloadChanges (line 462) | checkForAutoloadChanges(): void {
method destroy (line 546) | async destroy() {
FILE: project/assets/asset_utils.ts
function allAssetExtensions (line 6) | function allAssetExtensions() {
FILE: project/generate_dynamic_defs/build_action_names.ts
function buildActionNames (line 6) | function buildActionNames(project: TsGdProject) {
FILE: project/generate_dynamic_defs/build_asset_paths.ts
function buildAssetPathsType (line 8) | function buildAssetPathsType(project: TsGdProject) {
FILE: project/generate_dynamic_defs/build_group_types.ts
function buildGroupTypes (line 7) | function buildGroupTypes(project: TsGdProject): void {
FILE: project/generate_dynamic_defs/build_node_paths.ts
function buildNodePathsTypeForScript (line 48) | function buildNodePathsTypeForScript(
FILE: project/generate_dynamic_defs/build_scene_imports.ts
function buildSceneImports (line 6) | function buildSceneImports(project: TsGdProject) {
FILE: project/generate_dynamic_defs/definition_builder.ts
class DefinitionBuilder (line 10) | class DefinitionBuilder {
method constructor (line 11) | constructor(private project: TsGdProject) {}
method buildActionNames (line 12) | buildActionNames() {
method buildAssetPathsType (line 15) | buildAssetPathsType() {
method buildGroupTypes (line 18) | buildGroupTypes() {
method buildNodePathsTypeForScript (line 21) | buildNodePathsTypeForScript(script: AssetSourceFile) {
method buildSceneImports (line 24) | buildSceneImports() {
method buildProject (line 28) | public async buildProject(scripts: AssetSourceFile[]) {
FILE: project/godot_project_file.ts
type IRawGodotConfig (line 6) | interface IRawGodotConfig {
class GodotProjectFile (line 45) | class GodotProjectFile {
method constructor (line 52) | constructor(path: string, project: TsGdProject) {
method addAutoload (line 70) | addAutoload(className: string, resPath: string) {
method removeAutoload (line 89) | removeAutoload(resPath: string) {
method mainScene (line 118) | mainScene() {
FILE: project/paths.ts
class Paths (line 15) | class Paths {
method resPathToFsPath (line 50) | resPathToFsPath(resPath: string) {
method fsPathToResPath (line 54) | fsPathToResPath(fsPath: string) {
method ignoredPaths (line 58) | ignoredPaths(): Matcher {
method constructor (line 76) | constructor(args: ParsedArgs) {
method init (line 187) | init() {
FILE: project/project.ts
class TsGdProject (line 26) | class TsGdProject {
method sourceFiles (line 37) | sourceFiles(): AssetSourceFile[] {
method godotScenes (line 44) | godotScenes(): AssetGodotScene[] {
method godotFonts (line 51) | godotFonts(): AssetFont[] {
method godotGlbs (line 56) | godotGlbs(): AssetGlb[] {
method godotImages (line 61) | godotImages(): AssetImage[] {
method constructor (line 73) | constructor(
method createAsset (line 117) | createAsset(
method monitor (line 152) | monitor(watcher: chokidar.FSWatcher) {
method onAddAsset (line 169) | async onAddAsset(path: string): Promise<string> {
method onChangeAsset (line 190) | async onChangeAsset(path: string): Promise<string> {
method onRemoveAsset (line 262) | async onRemoveAsset(path: string) {
method compileAllSourceFiles (line 282) | async compileAllSourceFiles(): Promise<boolean> {
method shouldBuildLibraryDefinitions (line 292) | shouldBuildLibraryDefinitions(flags: ParsedArgs) {
method buildDynamicDefinitions (line 308) | async buildDynamicDefinitions() {
method buildLibraryDefinitions (line 312) | async buildLibraryDefinitions() {
method validateAutoloads (line 319) | validateAutoloads(): TsGdError[] {
FILE: scope.ts
class Scope (line 3) | class Scope {
method constructor (line 10) | constructor(program: ts.Program) {
method enterScope (line 14) | enterScope() {
method leaveScope (line 18) | leaveScope() {
method getName (line 22) | getName(node: ts.BindingName): string | null {
method addName (line 45) | addName(node: ts.BindingName): void {
method createUniqueName (line 72) | createUniqueName(): string {
FILE: tests/project_tests.ts
function test (line 3) | async function test() {
FILE: tests/test.ts
type Test (line 157) | type Test = {
type TestResult (line 172) | type TestResult = TestResultPass | TestResultFail
type TestResultPass (line 174) | type TestResultPass = { type: "success" }
type TestResultFail (line 175) | type TestResultFail = {
FILE: ts_utils.ts
function isArrayType (line 107) | function isArrayType(type: ts.Type) {
function isEnumType (line 111) | function isEnumType(type: ts.Type) {
function getGodotType (line 153) | function getGodotType(
function notEmpty (line 343) | function notEmpty<TValue>(
function getPreciseInitializerType (line 359) | function getPreciseInitializerType(
function copyFileSync (line 382) | function copyFileSync(source: string, target: string) {
function copyFolderRecursiveSync (line 395) | function copyFolderRecursiveSync(source: string, target: string) {
Condensed preview — 696 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,809K chars).
[
{
"path": ".eslintrc.js",
"chars": 1054,
"preview": "module.exports = {\n ignorePatterns: [\n \"**/_godot_defs/**\",\n \"**/mockProject/**\",\n \"**/godot_src/**\",\n \"**/"
},
{
"path": ".gdignore",
"chars": 0,
"preview": ""
},
{
"path": ".github/workflows/main.yml",
"chars": 1102,
"preview": "name: CI\n\non:\n push:\n branches:\n - main\n pull_request:\n\njobs:\n build:\n runs-on: ${{ matrix.os }}\n strat"
},
{
"path": ".gitignore",
"chars": 92,
"preview": "node_modules/\njs/\n.DS_Store\n\n# Godot-specific ignores\n.import/\nexport.cfg\nexport_presets.cfg"
},
{
"path": ".gitmodules",
"chars": 120,
"preview": "[submodule \"godot_src\"]\n\tpath = godot_src\n\turl = https://github.com/godotengine/godot.git\n\tbranch = 3.4\n\tshallow = true\n"
},
{
"path": ".husky/pre-commit",
"chars": 62,
"preview": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nnpm run lint-staged\n"
},
{
"path": ".prettierignore",
"chars": 1,
"preview": "\n"
},
{
"path": ".vscode/launch.json",
"chars": 600,
"preview": "{\n // Use IntelliSense to learn about possible attributes.\n // Hover to view descriptions of existing attributes.\n //"
},
{
"path": ".vscode/settings.json",
"chars": 468,
"preview": "{\n \"typescript.tsdk\": \"node_modules/typescript/lib\",\n \"[typescript]\": {\n \"editor.defaultFormatter\": \"esbenp.prettie"
},
{
"path": "LICENSE.md",
"chars": 1191,
"preview": "MIT License\n\nCopyright (c) 2020-2025 [Grant Mathews](https://github.com/johnfn), [Johannes Goslar](https://github.com/ks"
},
{
"path": "README.md",
"chars": 10150,
"preview": "# ts2gd: Compile TypeScript to GDScript\n\n⚠️ Need help? Contact me on Discord: johnfn#0001.\n\n## Why use ts2gd?\n\n- Compile"
},
{
"path": "_godot_defs/static/@base.d.ts",
"chars": 32881,
"preview": "\n\ndeclare interface Boolean {\n\n}\n\n// These are the 4 constants found in @GDScript.xml\n\n/**\n * Positive floating-point in"
},
{
"path": "_godot_defs/static/@global_functions.d.ts",
"chars": 32727,
"preview": "\n/**\n * Returns a color constructed from integer red, green, blue, and alpha channels. Each channel should have 8 bits o"
},
{
"path": "_godot_defs/static/@globals.d.ts",
"chars": 35903,
"preview": "\ndeclare const load: <T extends AssetPath>(path: T) => AssetType[T];\ndeclare const preload: <T extends AssetPath>(path: "
},
{
"path": "_godot_defs/static/AABB.d.ts",
"chars": 4096,
"preview": "\n/**\n * [AABB] consists of a position, a size, and several utility functions. It is typically used for fast overlap test"
},
{
"path": "_godot_defs/static/AESContext.d.ts",
"chars": 4182,
"preview": "\n/**\n * This class provides access to AES encryption/decryption of raw data. Both AES-ECB and AES-CBC mode are supported"
},
{
"path": "_godot_defs/static/ARVRAnchor.d.ts",
"chars": 3447,
"preview": "\n/**\n * The [ARVRAnchor] point is a spatial node that maps a real world location identified by the AR platform to a posi"
},
{
"path": "_godot_defs/static/ARVRCamera.d.ts",
"chars": 1614,
"preview": "\n/**\n * This is a helper spatial node for our camera; note that, if stereoscopic rendering is applicable (VR-HMD), most "
},
{
"path": "_godot_defs/static/ARVRController.d.ts",
"chars": 4468,
"preview": "\n/**\n * This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passth"
},
{
"path": "_godot_defs/static/ARVRInterface.d.ts",
"chars": 5637,
"preview": "\n/**\n * This class needs to be implemented to make an AR or VR platform available to Godot and these should be implement"
},
{
"path": "_godot_defs/static/ARVROrigin.d.ts",
"chars": 2141,
"preview": "\n/**\n * This is a special node within the AR/VR system that maps the physical location of the center of our tracking spa"
},
{
"path": "_godot_defs/static/ARVRPositionalTracker.d.ts",
"chars": 3231,
"preview": "\n/**\n * An instance of this object represents a device that is tracked, such as a controller or anchor point. HMDs aren'"
},
{
"path": "_godot_defs/static/ARVRServer.d.ts",
"chars": 6554,
"preview": "\n/**\n * The AR/VR server is the heart of our Advanced and Virtual Reality solution and handles all the processing.\n *\n*/"
},
{
"path": "_godot_defs/static/AStar.d.ts",
"chars": 11533,
"preview": "\n/**\n * A* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plott"
},
{
"path": "_godot_defs/static/AStar2D.d.ts",
"chars": 6987,
"preview": "\n/**\n * This is a wrapper for the [AStar] class which uses 2D vectors instead of 3D vectors.\n *\n*/\ndeclare class AStar2D"
},
{
"path": "_godot_defs/static/AcceptDialog.d.ts",
"chars": 3348,
"preview": "\n/**\n * This dialog is useful for small notifications to the user about an event. It can only be accepted or closed, wit"
},
{
"path": "_godot_defs/static/AnimatedSprite.d.ts",
"chars": 2513,
"preview": "\n/**\n * Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFram"
},
{
"path": "_godot_defs/static/AnimatedSprite3D.d.ts",
"chars": 1544,
"preview": "\n/**\n * Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFram"
},
{
"path": "_godot_defs/static/AnimatedTexture.d.ts",
"chars": 4691,
"preview": "\n/**\n * [AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automa"
},
{
"path": "_godot_defs/static/Animation.d.ts",
"chars": 14660,
"preview": "\n/**\n * An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks"
},
{
"path": "_godot_defs/static/AnimationNode.d.ts",
"chars": 5260,
"preview": "\n/**\n * Base resource for [AnimationTree] nodes. In general, it's not used directly, but you can create custom ones with"
},
{
"path": "_godot_defs/static/AnimationNodeAdd2.d.ts",
"chars": 758,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree]. Blends two animations additively based on an amount value in t"
},
{
"path": "_godot_defs/static/AnimationNodeAdd3.d.ts",
"chars": 1294,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree]. Blends two animations together additively out of three based o"
},
{
"path": "_godot_defs/static/AnimationNodeAnimation.d.ts",
"chars": 824,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree]. Only features one output set using the [member animation] prop"
},
{
"path": "_godot_defs/static/AnimationNodeBlend2.d.ts",
"chars": 764,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree]. Blends two animations linearly based on an amount value in the"
},
{
"path": "_godot_defs/static/AnimationNodeBlend3.d.ts",
"chars": 1288,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree]. Blends two animations together linearly out of three based on "
},
{
"path": "_godot_defs/static/AnimationNodeBlendSpace1D.d.ts",
"chars": 2578,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree].\n *\n * This is a virtual axis on which you can add any type of "
},
{
"path": "_godot_defs/static/AnimationNodeBlendSpace2D.d.ts",
"chars": 4423,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree].\n *\n * This node allows you to blend linearly between three ani"
},
{
"path": "_godot_defs/static/AnimationNodeBlendTree.d.ts",
"chars": 2495,
"preview": "\n/**\n * This node may contain a sub-tree of any other blend type nodes, such as mix, blend2, blend3, one shot, etc. This"
},
{
"path": "_godot_defs/static/AnimationNodeOneShot.d.ts",
"chars": 1340,
"preview": "\n/**\n * A resource to add to an [AnimationNodeBlendTree]. This node will execute a sub-animation and return once it fini"
},
{
"path": "_godot_defs/static/AnimationNodeOutput.d.ts",
"chars": 282,
"preview": "\n/**\n*/\ndeclare class AnimationNodeOutput extends AnimationNode {\n\n \n/**\n*/\n new(): AnimationNodeOutput; \n static \"n"
},
{
"path": "_godot_defs/static/AnimationNodeStateMachine.d.ts",
"chars": 3721,
"preview": "\n/**\n * Contains multiple nodes representing animation states, connected in a graph. Node transitions can be configured "
},
{
"path": "_godot_defs/static/AnimationNodeStateMachinePlayback.d.ts",
"chars": 1688,
"preview": "\n/**\n * Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine]. Retrieve with `$Anima"
},
{
"path": "_godot_defs/static/AnimationNodeStateMachineTransition.d.ts",
"chars": 2094,
"preview": "\n/**\n*/\ndeclare class AnimationNodeStateMachineTransition extends Resource {\n\n \n/**\n*/\n new(): AnimationNodeStateMach"
},
{
"path": "_godot_defs/static/AnimationNodeTimeScale.d.ts",
"chars": 559,
"preview": "\n/**\n * Allows scaling the speed of the animation (or reversing it) in any children nodes. Setting it to 0 will pause th"
},
{
"path": "_godot_defs/static/AnimationNodeTimeSeek.d.ts",
"chars": 2046,
"preview": "\n/**\n * This node can be used to cause a seek command to happen to any sub-children of the animation graph. Use this nod"
},
{
"path": "_godot_defs/static/AnimationNodeTransition.d.ts",
"chars": 1194,
"preview": "\n/**\n * Simple state machine for cases which don't require a more advanced [AnimationNodeStateMachine]. Animations can b"
},
{
"path": "_godot_defs/static/AnimationPlayer.d.ts",
"chars": 9967,
"preview": "\n/**\n * An animation player is used for general-purpose playback of [Animation] resources. It contains a dictionary of a"
},
{
"path": "_godot_defs/static/AnimationRootNode.d.ts",
"chars": 272,
"preview": "\n/**\n*/\ndeclare class AnimationRootNode extends AnimationNode {\n\n \n/**\n*/\n new(): AnimationRootNode; \n static \"new\"("
},
{
"path": "_godot_defs/static/AnimationTrackEditPlugin.d.ts",
"chars": 303,
"preview": "\n/**\n*/\ndeclare class AnimationTrackEditPlugin extends Reference {\n\n \n/**\n*/\n new(): AnimationTrackEditPlugin; \n sta"
},
{
"path": "_godot_defs/static/AnimationTree.d.ts",
"chars": 3138,
"preview": "\n/**\n * A node to be used for advanced animation transitions in an [AnimationPlayer].\n *\n * **Note:** When linked with a"
},
{
"path": "_godot_defs/static/AnimationTreePlayer.d.ts",
"chars": 12143,
"preview": "\n/**\n * **Deprecated.** A node graph tool for blending multiple animations bound to an [AnimationPlayer]. Especially use"
},
{
"path": "_godot_defs/static/Area.d.ts",
"chars": 9729,
"preview": "\n/**\n * 3D area that detects [CollisionObject] nodes overlapping, entering, or exiting. Can also alter or override local"
},
{
"path": "_godot_defs/static/Area2D.d.ts",
"chars": 9352,
"preview": "\n/**\n * 2D area that detects [CollisionObject2D] nodes overlapping, entering, or exiting. Can also alter or override loc"
},
{
"path": "_godot_defs/static/ArrayMesh.d.ts",
"chars": 8408,
"preview": "\n/**\n * The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes as arrays.\n *\n * The most basic examp"
},
{
"path": "_godot_defs/static/AspectRatioContainer.d.ts",
"chars": 2418,
"preview": "\n/**\n * Arranges child controls in a way to preserve their aspect ratio automatically whenever the container is resized."
},
{
"path": "_godot_defs/static/AtlasTexture.d.ts",
"chars": 2658,
"preview": "\n/**\n * [Texture] resource that crops out one part of the [member atlas] texture, defined by [member region]. The main u"
},
{
"path": "_godot_defs/static/AudioBusLayout.d.ts",
"chars": 538,
"preview": "\n/**\n * Stores position, muting, solo, bypass, effects, effect position, volume, and the connections between buses. See "
},
{
"path": "_godot_defs/static/AudioEffect.d.ts",
"chars": 443,
"preview": "\n/**\n * Base resource for audio bus. Applies an audio effect on the bus that the resource is applied on.\n *\n*/\ndeclare c"
},
{
"path": "_godot_defs/static/AudioEffectAmplify.d.ts",
"chars": 593,
"preview": "\n/**\n * Increases or decreases the volume being routed through the audio bus.\n *\n*/\ndeclare class AudioEffectAmplify ext"
},
{
"path": "_godot_defs/static/AudioEffectBandLimitFilter.d.ts",
"chars": 605,
"preview": "\n/**\n * Limits the frequencies in a range around the [member AudioEffectFilter.cutoff_hz] and allows frequencies outside"
},
{
"path": "_godot_defs/static/AudioEffectBandPassFilter.d.ts",
"chars": 600,
"preview": "\n/**\n * Attenuates the frequencies inside of a range around the [member AudioEffectFilter.cutoff_hz] and cuts frequencie"
},
{
"path": "_godot_defs/static/AudioEffectCapture.d.ts",
"chars": 2157,
"preview": "\n/**\n * AudioEffectCapture is an AudioEffect which copies all audio frames from the attached audio effect bus into its i"
},
{
"path": "_godot_defs/static/AudioEffectChorus.d.ts",
"chars": 3146,
"preview": "\n/**\n * Adds a chorus audio effect. The effect applies a filter with voices to duplicate the audio source and manipulate"
},
{
"path": "_godot_defs/static/AudioEffectCompressor.d.ts",
"chars": 2799,
"preview": "\n/**\n * Dynamic range compressor reduces the level of the sound when the amplitude goes over a certain threshold in Deci"
},
{
"path": "_godot_defs/static/AudioEffectDelay.d.ts",
"chars": 1980,
"preview": "\n/**\n * Plays input signal back after a period of time. The delayed signal may be played back multiple times to create t"
},
{
"path": "_godot_defs/static/AudioEffectDistortion.d.ts",
"chars": 2043,
"preview": "\n/**\n * Different types are available: clip, tan, lo-fi (bit crushing), overdrive, or waveshape.\n *\n * By distorting the"
},
{
"path": "_godot_defs/static/AudioEffectEQ.d.ts",
"chars": 1291,
"preview": "\n/**\n * AudioEffectEQ gives you control over frequencies. Use it to compensate for existing deficiencies in audio. Audio"
},
{
"path": "_godot_defs/static/AudioEffectEQ10.d.ts",
"chars": 876,
"preview": "\n/**\n * Frequency bands:\n *\n * Band 1: 31 Hz\n *\n * Band 2: 62 Hz\n *\n * Band 3: 125 Hz\n *\n * Band 4: 250 Hz\n *\n * Band 5:"
},
{
"path": "_godot_defs/static/AudioEffectEQ21.d.ts",
"chars": 1368,
"preview": "\n/**\n * Frequency bands:\n *\n * Band 1: 22 Hz\n *\n * Band 2: 32 Hz\n *\n * Band 3: 44 Hz\n *\n * Band 4: 63 Hz\n *\n * Band 5: 9"
},
{
"path": "_godot_defs/static/AudioEffectEQ6.d.ts",
"chars": 701,
"preview": "\n/**\n * Frequency bands:\n *\n * Band 1: 32 Hz\n *\n * Band 2: 100 Hz\n *\n * Band 3: 320 Hz\n *\n * Band 4: 1000 Hz\n *\n * Band "
},
{
"path": "_godot_defs/static/AudioEffectFilter.d.ts",
"chars": 875,
"preview": "\n/**\n * Allows frequencies other than the [member cutoff_hz] to pass.\n *\n*/\ndeclare class AudioEffectFilter extends Audi"
},
{
"path": "_godot_defs/static/AudioEffectHighPassFilter.d.ts",
"chars": 544,
"preview": "\n/**\n * Cuts frequencies lower than the [member AudioEffectFilter.cutoff_hz] and allows higher frequencies to pass.\n *\n*"
},
{
"path": "_godot_defs/static/AudioEffectHighShelfFilter.d.ts",
"chars": 321,
"preview": "\n/**\n*/\ndeclare class AudioEffectHighShelfFilter extends AudioEffectFilter {\n\n \n/**\n*/\n new(): AudioEffectHighShelfFi"
},
{
"path": "_godot_defs/static/AudioEffectInstance.d.ts",
"chars": 278,
"preview": "\n/**\n*/\ndeclare class AudioEffectInstance extends Reference {\n\n \n/**\n*/\n new(): AudioEffectInstance; \n static \"new\"("
},
{
"path": "_godot_defs/static/AudioEffectLimiter.d.ts",
"chars": 1442,
"preview": "\n/**\n * A limiter is similar to a compressor, but it's less flexible and designed to disallow sound going over a given d"
},
{
"path": "_godot_defs/static/AudioEffectLowPassFilter.d.ts",
"chars": 539,
"preview": "\n/**\n * Cuts frequencies higher than the [member AudioEffectFilter.cutoff_hz] and allows lower frequencies to pass.\n *\n*"
},
{
"path": "_godot_defs/static/AudioEffectLowShelfFilter.d.ts",
"chars": 316,
"preview": "\n/**\n*/\ndeclare class AudioEffectLowShelfFilter extends AudioEffectFilter {\n\n \n/**\n*/\n new(): AudioEffectLowShelfFilt"
},
{
"path": "_godot_defs/static/AudioEffectNotchFilter.d.ts",
"chars": 577,
"preview": "\n/**\n * Attenuates frequencies in a narrow band around the [member AudioEffectFilter.cutoff_hz] and cuts frequencies out"
},
{
"path": "_godot_defs/static/AudioEffectPanner.d.ts",
"chars": 524,
"preview": "\n/**\n * Determines how much of an audio signal is sent to the left and right buses.\n *\n*/\ndeclare class AudioEffectPanne"
},
{
"path": "_godot_defs/static/AudioEffectPhaser.d.ts",
"chars": 1246,
"preview": "\n/**\n * Combines phase-shifted signals with the original signal. The movement of the phase-shifted signals is controlled"
},
{
"path": "_godot_defs/static/AudioEffectPitchShift.d.ts",
"chars": 2147,
"preview": "\n/**\n * Allows modulation of pitch independently of tempo. All frequencies can be increased/decreased with minimal effec"
},
{
"path": "_godot_defs/static/AudioEffectRecord.d.ts",
"chars": 1305,
"preview": "\n/**\n * Allows the user to record sound from a microphone. It sets and gets the format in which the audio file will be r"
},
{
"path": "_godot_defs/static/AudioEffectReverb.d.ts",
"chars": 1525,
"preview": "\n/**\n * Simulates rooms of different sizes. Its parameters can be adjusted to simulate the sound of a specific room.\n *\n"
},
{
"path": "_godot_defs/static/AudioEffectSpectrumAnalyzer.d.ts",
"chars": 1955,
"preview": "\n/**\n * This audio effect does not affect sound output, but can be used for real-time audio visualizations.\n *\n * See al"
},
{
"path": "_godot_defs/static/AudioEffectSpectrumAnalyzerInstance.d.ts",
"chars": 644,
"preview": "\n/**\n*/\ndeclare class AudioEffectSpectrumAnalyzerInstance extends AudioEffectInstance {\n\n \n/**\n*/\n new(): AudioEffect"
},
{
"path": "_godot_defs/static/AudioEffectStereoEnhance.d.ts",
"chars": 307,
"preview": "\n/**\n*/\ndeclare class AudioEffectStereoEnhance extends AudioEffect {\n\n \n/**\n*/\n new(): AudioEffectStereoEnhance; \n s"
},
{
"path": "_godot_defs/static/AudioServer.d.ts",
"chars": 6505,
"preview": "\n/**\n * [AudioServer] is a low-level server interface for audio access. It is in charge of creating sample data (playabl"
},
{
"path": "_godot_defs/static/AudioStream.d.ts",
"chars": 695,
"preview": "\n/**\n * Base class for audio streams. Audio streams are used for sound effects and music playback, and support WAV (via "
},
{
"path": "_godot_defs/static/AudioStreamGenerator.d.ts",
"chars": 2211,
"preview": "\n/**\n * This audio stream does not play back sounds, but expects a script to generate audio data for it instead. See als"
},
{
"path": "_godot_defs/static/AudioStreamGeneratorPlayback.d.ts",
"chars": 1743,
"preview": "\n/**\n * This class is meant to be used with [AudioStreamGenerator] to play back the generated audio in real-time.\n *\n*/\n"
},
{
"path": "_godot_defs/static/AudioStreamMicrophone.d.ts",
"chars": 290,
"preview": "\n/**\n*/\ndeclare class AudioStreamMicrophone extends AudioStream {\n\n \n/**\n*/\n new(): AudioStreamMicrophone; \n static "
},
{
"path": "_godot_defs/static/AudioStreamPlayback.d.ts",
"chars": 494,
"preview": "\n/**\n * Can play, loop, pause a scroll through audio. See [AudioStream] and [AudioStreamOGGVorbis] for usage.\n *\n*/\ndecl"
},
{
"path": "_godot_defs/static/AudioStreamPlaybackResampled.d.ts",
"chars": 333,
"preview": "\n/**\n*/\ndeclare class AudioStreamPlaybackResampled extends AudioStreamPlayback {\n\n \n/**\n*/\n new(): AudioStreamPlaybac"
},
{
"path": "_godot_defs/static/AudioStreamPlayer.d.ts",
"chars": 2213,
"preview": "\n/**\n * Plays an audio stream non-positionally.\n *\n * To play audio positionally, use [AudioStreamPlayer2D] or [AudioStr"
},
{
"path": "_godot_defs/static/AudioStreamPlayer2D.d.ts",
"chars": 2430,
"preview": "\n/**\n * Plays audio that dampens with distance from screen center.\n *\n * See also [AudioStreamPlayer] to play a sound no"
},
{
"path": "_godot_defs/static/AudioStreamPlayer3D.d.ts",
"chars": 6406,
"preview": "\n/**\n * Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable "
},
{
"path": "_godot_defs/static/AudioStreamRandomPitch.d.ts",
"chars": 512,
"preview": "\n/**\n * Randomly varies pitch on each start.\n *\n*/\ndeclare class AudioStreamRandomPitch extends AudioStream {\n\n \n/**\n "
},
{
"path": "_godot_defs/static/AudioStreamSample.d.ts",
"chars": 3481,
"preview": "\n/**\n * AudioStreamSample stores sound samples loaded from WAV files. To play the stored sound, use an [AudioStreamPlaye"
},
{
"path": "_godot_defs/static/BackBufferCopy.d.ts",
"chars": 2019,
"preview": "\n/**\n * Node for back-buffering the currently-displayed screen. The region defined in the BackBufferCopy node is buffere"
},
{
"path": "_godot_defs/static/BakedLightmap.d.ts",
"chars": 8096,
"preview": "\n/**\n * Baked lightmaps are an alternative workflow for adding indirect (or baked) lighting to a scene. Unlike the [GIPr"
},
{
"path": "_godot_defs/static/BakedLightmapData.d.ts",
"chars": 1208,
"preview": "\n/**\n*/\ndeclare class BakedLightmapData extends Resource {\n\n \n/**\n*/\n new(): BakedLightmapData; \n static \"new\"(): Ba"
},
{
"path": "_godot_defs/static/BaseButton.d.ts",
"chars": 4903,
"preview": "\n/**\n * BaseButton is the abstract base class for buttons, so it shouldn't be used directly (it doesn't display anything"
},
{
"path": "_godot_defs/static/Basis.d.ts",
"chars": 5620,
"preview": "\n/**\n * 3×3 matrix used for 3D rotation and scale. Almost always used as an orthogonal basis for a Transform.\n *\n * Cont"
},
{
"path": "_godot_defs/static/BitMap.d.ts",
"chars": 2053,
"preview": "\n/**\n * A two-dimensional array of boolean values, can be used to efficiently store a binary matrix (every matrix elemen"
},
{
"path": "_godot_defs/static/BitmapFont.d.ts",
"chars": 1996,
"preview": "\n/**\n * Renders text using `*.fnt` fonts containing texture atlases. Supports distance fields. For using vector font fil"
},
{
"path": "_godot_defs/static/Bone2D.d.ts",
"chars": 1892,
"preview": "\n/**\n * Use a hierarchy of `Bone2D` bound to a [Skeleton2D] to control, and animate other [Node2D] nodes.\n *\n * You can "
},
{
"path": "_godot_defs/static/BoneAttachment.d.ts",
"chars": 670,
"preview": "\n/**\n * This node must be the child of a [Skeleton] node. You can then select a bone for this node to attach to. The Bon"
},
{
"path": "_godot_defs/static/BoxContainer.d.ts",
"chars": 1109,
"preview": "\n/**\n * Arranges child controls vertically or horizontally, and rearranges the controls automatically when their minimum"
},
{
"path": "_godot_defs/static/BoxShape.d.ts",
"chars": 475,
"preview": "\n/**\n * 3D box shape that can be a child of a [PhysicsBody] or [Area].\n *\n*/\ndeclare class BoxShape extends Shape {\n\n "
},
{
"path": "_godot_defs/static/Button.d.ts",
"chars": 3222,
"preview": "\n/**\n * Button is the standard themed button. It can contain text and an icon, and will display them according to the cu"
},
{
"path": "_godot_defs/static/ButtonGroup.d.ts",
"chars": 894,
"preview": "\n/**\n * Group of [Button]. All direct and indirect children buttons become radios. Only one allows being pressed.\n *\n * "
},
{
"path": "_godot_defs/static/CPUParticles.d.ts",
"chars": 13451,
"preview": "\n/**\n * CPU-based 3D particle node used to create a variety of particle systems and effects.\n *\n * See also [Particles],"
},
{
"path": "_godot_defs/static/CPUParticles2D.d.ts",
"chars": 12628,
"preview": "\n/**\n * CPU-based 2D particle node used to create a variety of particle systems and effects.\n *\n * See also [Particles2D"
},
{
"path": "_godot_defs/static/CSGBox.d.ts",
"chars": 654,
"preview": "\n/**\n * This node allows you to create a box for use with the CSG system.\n *\n*/\ndeclare class CSGBox extends CSGPrimitiv"
},
{
"path": "_godot_defs/static/CSGCombiner.d.ts",
"chars": 1323,
"preview": "\n/**\n * For complex arrangements of shapes, it is sometimes needed to add structure to your CSG nodes. The CSGCombiner n"
},
{
"path": "_godot_defs/static/CSGCylinder.d.ts",
"chars": 1036,
"preview": "\n/**\n * This node allows you to create a cylinder (or cone) for use with the CSG system.\n *\n*/\ndeclare class CSGCylinder"
},
{
"path": "_godot_defs/static/CSGMesh.d.ts",
"chars": 1086,
"preview": "\n/**\n * This CSG node allows you to use any mesh resource as a CSG shape, provided it is closed, does not self-intersect"
},
{
"path": "_godot_defs/static/CSGPolygon.d.ts",
"chars": 4425,
"preview": "\n/**\n * An array of 2D points is extruded to quickly and easily create a variety of 3D meshes.\n *\n*/\ndeclare class CSGPo"
},
{
"path": "_godot_defs/static/CSGPrimitive.d.ts",
"chars": 702,
"preview": "\n/**\n * Parent class for various CSG primitives. It contains code and functionality that is common between them. It cann"
},
{
"path": "_godot_defs/static/CSGShape.d.ts",
"chars": 3358,
"preview": "\n/**\n * This is the CSG base class that provides CSG operation support to the various CSG nodes in Godot.\n *\n*/\ndeclare "
},
{
"path": "_godot_defs/static/CSGSphere.d.ts",
"chars": 834,
"preview": "\n/**\n * This node allows you to create a sphere for use with the CSG system.\n *\n*/\ndeclare class CSGSphere extends CSGPr"
},
{
"path": "_godot_defs/static/CSGTorus.d.ts",
"chars": 919,
"preview": "\n/**\n * This node allows you to create a torus for use with the CSG system.\n *\n*/\ndeclare class CSGTorus extends CSGPrim"
},
{
"path": "_godot_defs/static/Camera.d.ts",
"chars": 9879,
"preview": "\n/**\n * Camera is a special node that displays what is visible from its current location. Cameras register themselves in"
},
{
"path": "_godot_defs/static/Camera2D.d.ts",
"chars": 7758,
"preview": "\n/**\n * Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it eas"
},
{
"path": "_godot_defs/static/CameraFeed.d.ts",
"chars": 1990,
"preview": "\n/**\n * A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will sta"
},
{
"path": "_godot_defs/static/CameraServer.d.ts",
"chars": 1635,
"preview": "\n/**\n * The [CameraServer] keeps track of different cameras accessible in Godot. These are external cameras such as webc"
},
{
"path": "_godot_defs/static/CameraTexture.d.ts",
"chars": 948,
"preview": "\n/**\n * This texture gives access to the camera texture provided by a [CameraFeed].\n *\n * **Note:** Many cameras supply "
},
{
"path": "_godot_defs/static/CanvasItem.d.ts",
"chars": 15099,
"preview": "\n/**\n * Base class of anything 2D. Canvas items are laid out in a tree; children inherit and extend their parent's trans"
},
{
"path": "_godot_defs/static/CanvasItemMaterial.d.ts",
"chars": 2917,
"preview": "\n/**\n * [CanvasItemMaterial]s provide a means of modifying the textures associated with a CanvasItem. They specialize in"
},
{
"path": "_godot_defs/static/CanvasLayer.d.ts",
"chars": 2000,
"preview": "\n/**\n * Canvas drawing layer. [CanvasItem] nodes that are direct or indirect children of a [CanvasLayer] will be drawn i"
},
{
"path": "_godot_defs/static/CanvasModulate.d.ts",
"chars": 464,
"preview": "\n/**\n * [CanvasModulate] tints the canvas elements using its assigned [member color].\n *\n*/\ndeclare class CanvasModulate"
},
{
"path": "_godot_defs/static/CapsuleMesh.d.ts",
"chars": 774,
"preview": "\n/**\n * Class representing a capsule-shaped [PrimitiveMesh].\n *\n*/\ndeclare class CapsuleMesh extends PrimitiveMesh {\n\n "
},
{
"path": "_godot_defs/static/CapsuleShape.d.ts",
"chars": 400,
"preview": "\n/**\n * Capsule shape for collisions.\n *\n*/\ndeclare class CapsuleShape extends Shape {\n\n \n/**\n * Capsule shape for col"
},
{
"path": "_godot_defs/static/CapsuleShape2D.d.ts",
"chars": 418,
"preview": "\n/**\n * Capsule shape for 2D collisions.\n *\n*/\ndeclare class CapsuleShape2D extends Shape2D {\n\n \n/**\n * Capsule shape "
},
{
"path": "_godot_defs/static/CenterContainer.d.ts",
"chars": 636,
"preview": "\n/**\n * CenterContainer keeps children controls centered. This container keeps all children to their minimum size, in th"
},
{
"path": "_godot_defs/static/CharFXTransform.d.ts",
"chars": 2698,
"preview": "\n/**\n * By setting various properties on this object, you can control how individual characters will be displayed in a ["
},
{
"path": "_godot_defs/static/CheckBox.d.ts",
"chars": 1267,
"preview": "\n/**\n * A checkbox allows the user to make a binary choice (choosing only one of two possible options). It's similar to "
},
{
"path": "_godot_defs/static/CheckButton.d.ts",
"chars": 1252,
"preview": "\n/**\n * CheckButton is a toggle button displayed as a check field. It's similar to [CheckBox] in functionality, but it h"
},
{
"path": "_godot_defs/static/CircleShape2D.d.ts",
"chars": 615,
"preview": "\n/**\n * Circular shape for 2D collisions. This shape is useful for modeling balls or small characters and its collision "
},
{
"path": "_godot_defs/static/ClassDB.d.ts",
"chars": 5022,
"preview": "\n/**\n * Provides access to metadata stored for every available class.\n *\n*/\ndeclare class ClassDBClass extends Object {"
},
{
"path": "_godot_defs/static/ClippedCamera.d.ts",
"chars": 2396,
"preview": "\n/**\n * This node extends [Camera] to add collisions with [Area] and/or [PhysicsBody] nodes. The camera cannot move thro"
},
{
"path": "_godot_defs/static/CollisionObject.d.ts",
"chars": 5970,
"preview": "\n/**\n * CollisionObject is the base class for physics objects. It can hold any number of collision [Shape]s. Each shape "
},
{
"path": "_godot_defs/static/CollisionObject2D.d.ts",
"chars": 6880,
"preview": "\n/**\n * CollisionObject2D is the base class for 2D physics objects. It can hold any number of 2D collision [Shape2D]s. E"
},
{
"path": "_godot_defs/static/CollisionPolygon.d.ts",
"chars": 1561,
"preview": "\n/**\n * Allows editing a collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that pl"
},
{
"path": "_godot_defs/static/CollisionPolygon2D.d.ts",
"chars": 1473,
"preview": "\n/**\n * Provides a 2D collision polygon to a [CollisionObject2D] parent. Polygons can be drawn in the editor or specifie"
},
{
"path": "_godot_defs/static/CollisionShape.d.ts",
"chars": 1505,
"preview": "\n/**\n * Editor facility for creating and editing collision shapes in 3D space. You can use this node to represent all so"
},
{
"path": "_godot_defs/static/CollisionShape2D.d.ts",
"chars": 1630,
"preview": "\n/**\n * Editor facility for creating and editing collision shapes in 2D space. You can use this node to represent all so"
},
{
"path": "_godot_defs/static/Color.d.ts",
"chars": 16442,
"preview": "\n/**\n * A color represented by red, green, blue, and alpha (RGBA) components. The alpha component is often used for tran"
},
{
"path": "_godot_defs/static/ColorPicker.d.ts",
"chars": 2521,
"preview": "\n/**\n * Displays a color picker widget. Useful for selecting a color from an RGB/RGBA colorspace.\n *\n * **Note:** This c"
},
{
"path": "_godot_defs/static/ColorPickerButton.d.ts",
"chars": 2315,
"preview": "\n/**\n * Encapsulates a [ColorPicker] making it accessible by pressing a button. Pressing the button will toggle the [Col"
},
{
"path": "_godot_defs/static/ColorRect.d.ts",
"chars": 666,
"preview": "\n/**\n * Displays a rectangle filled with a solid [member color]. If you need to display the border alone, consider using"
},
{
"path": "_godot_defs/static/ConcavePolygonShape.d.ts",
"chars": 1158,
"preview": "\n/**\n * Concave polygon shape resource, which can be set into a [PhysicsBody] or area. This shape is created by feeding "
},
{
"path": "_godot_defs/static/ConcavePolygonShape2D.d.ts",
"chars": 1719,
"preview": "\n/**\n * Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal c"
},
{
"path": "_godot_defs/static/ConeTwistJoint.d.ts",
"chars": 2880,
"preview": "\n/**\n * The joint can rotate the bodies across an axis defined by the local x-axes of the [Joint].\n *\n * The twist axis "
},
{
"path": "_godot_defs/static/ConfigFile.d.ts",
"chars": 9326,
"preview": "\n/**\n * This helper class can be used to store [Variant] values on the filesystem using INI-style formatting. The stored"
},
{
"path": "_godot_defs/static/ConfirmationDialog.d.ts",
"chars": 1089,
"preview": "\n/**\n * Dialog for confirmation of actions. This dialog inherits from [AcceptDialog], but has by default an OK and Cance"
},
{
"path": "_godot_defs/static/Container.d.ts",
"chars": 1122,
"preview": "\n/**\n * Base node for containers. A [Container] contains other controls and automatically arranges them in a certain way"
},
{
"path": "_godot_defs/static/Control.d.ts",
"chars": 51818,
"preview": "\n/**\n * Base class for all UI-related nodes. [Control] features a bounding rectangle that defines its extents, an anchor"
},
{
"path": "_godot_defs/static/ConvexPolygonShape.d.ts",
"chars": 526,
"preview": "\n/**\n * Convex polygon shape resource, which can be added to a [PhysicsBody] or area.\n *\n*/\ndeclare class ConvexPolygonS"
},
{
"path": "_godot_defs/static/ConvexPolygonShape2D.d.ts",
"chars": 1722,
"preview": "\n/**\n * Convex polygon shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many"
},
{
"path": "_godot_defs/static/Crypto.d.ts",
"chars": 5913,
"preview": "\n/**\n * The Crypto class allows you to access some more advanced cryptographic functionalities in Godot.\n *\n * For now, "
},
{
"path": "_godot_defs/static/CryptoKey.d.ts",
"chars": 2031,
"preview": "\n/**\n * The CryptoKey class represents a cryptographic key. Keys can be loaded and saved like any other [Resource].\n *\n "
},
{
"path": "_godot_defs/static/CubeMap.d.ts",
"chars": 2603,
"preview": "\n/**\n * A 6-sided 3D texture typically used for faking reflections. It can be used to make an object look as if it's ref"
},
{
"path": "_godot_defs/static/CubeMesh.d.ts",
"chars": 1617,
"preview": "\n/**\n * Generate an axis-aligned cuboid [PrimitiveMesh].\n *\n * The cube's UV layout is arranged in a 3×2 layout that all"
},
{
"path": "_godot_defs/static/CullInstance.d.ts",
"chars": 4496,
"preview": "\n/**\n * Provides common functionality to nodes that can be culled by the [Portal] system.\n *\n * `Static` and `Dynamic` o"
},
{
"path": "_godot_defs/static/Curve.d.ts",
"chars": 3973,
"preview": "\n/**\n * A curve that can be saved and re-used for other objects. By default, it ranges between `0` and `1` on the Y axis"
},
{
"path": "_godot_defs/static/Curve2D.d.ts",
"chars": 6122,
"preview": "\n/**\n * This class describes a Bézier curve in 2D space. It is mainly used to give a shape to a [Path2D], but can be man"
},
{
"path": "_godot_defs/static/Curve3D.d.ts",
"chars": 7868,
"preview": "\n/**\n * This class describes a Bézier curve in 3D space. It is mainly used to give a shape to a [Path], but can be manua"
},
{
"path": "_godot_defs/static/CurveTexture.d.ts",
"chars": 596,
"preview": "\n/**\n * Renders a given [Curve] provided to it. Simplifies the task of drawing curves and/or saving them as image files."
},
{
"path": "_godot_defs/static/CylinderMesh.d.ts",
"chars": 1621,
"preview": "\n/**\n * Class representing a cylindrical [PrimitiveMesh]. This class can be used to create cones by setting either the ["
},
{
"path": "_godot_defs/static/CylinderShape.d.ts",
"chars": 409,
"preview": "\n/**\n * Cylinder shape for collisions.\n *\n*/\ndeclare class CylinderShape extends Shape {\n\n \n/**\n * Cylinder shape for "
},
{
"path": "_godot_defs/static/DTLSServer.d.ts",
"chars": 5607,
"preview": "\n/**\n * This class is used to store the state of a DTLS server. Upon [method setup] it converts connected [PacketPeerUDP"
},
{
"path": "_godot_defs/static/DampedSpringJoint2D.d.ts",
"chars": 1341,
"preview": "\n/**\n * Damped spring constraint for 2D physics. This resembles a spring joint that always wants to go back to a given l"
},
{
"path": "_godot_defs/static/DirectionalLight.d.ts",
"chars": 3636,
"preview": "\n/**\n * A directional light is a type of [Light] node that models an infinite number of parallel rays covering the entir"
},
{
"path": "_godot_defs/static/Directory.d.ts",
"chars": 7553,
"preview": "\n/**\n * Directory type. It is used to manage directories and their content (not restricted to the project folder).\n *\n *"
},
{
"path": "_godot_defs/static/DynamicFont.d.ts",
"chars": 5750,
"preview": "\n/**\n * DynamicFont renders vector font files dynamically at runtime instead of using a prerendered texture atlas like ["
},
{
"path": "_godot_defs/static/DynamicFontData.d.ts",
"chars": 1068,
"preview": "\n/**\n * Used with [DynamicFont] to describe the location of a vector font file for dynamic rendering at runtime.\n *\n*/\nd"
},
{
"path": "_godot_defs/static/EditorExportPlugin.d.ts",
"chars": 3877,
"preview": "\n/**\n * Editor export plugins are automatically activated whenever the user exports the project. Their most common use i"
},
{
"path": "_godot_defs/static/EditorFeatureProfile.d.ts",
"chars": 5433,
"preview": "\n/**\n * An editor feature profile can be used to disable specific features of the Godot editor. When disabled, the featu"
},
{
"path": "_godot_defs/static/EditorFileDialog.d.ts",
"chars": 3389,
"preview": "\n/**\n*/\ndeclare class EditorFileDialog extends ConfirmationDialog {\n\n \n/**\n*/\n new(): EditorFileDialog; \n static \"ne"
},
{
"path": "_godot_defs/static/EditorFileSystem.d.ts",
"chars": 2244,
"preview": "\n/**\n * This object holds information of all resources in the filesystem, their types, etc.\n *\n * **Note:** This class s"
},
{
"path": "_godot_defs/static/EditorFileSystemDirectory.d.ts",
"chars": 2406,
"preview": "\n/**\n * A more generalized, low-level variation of the directory concept.\n *\n*/\ndeclare class EditorFileSystemDirectory "
},
{
"path": "_godot_defs/static/EditorImportPlugin.d.ts",
"chars": 7023,
"preview": "\n/**\n * EditorImportPlugins provide a way to extend the editor's resource import functionality. Use them to import resou"
},
{
"path": "_godot_defs/static/EditorInspector.d.ts",
"chars": 2859,
"preview": "\n/**\n * The editor inspector is by default located on the right-hand side of the editor. It's used to edit the propertie"
},
{
"path": "_godot_defs/static/EditorInspectorPlugin.d.ts",
"chars": 3079,
"preview": "\n/**\n * These plugins allow adding custom property editors to [EditorInspector].\n *\n * Plugins are registered via [metho"
},
{
"path": "_godot_defs/static/EditorInterface.d.ts",
"chars": 6474,
"preview": "\n/**\n * EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)"
},
{
"path": "_godot_defs/static/EditorNavigationMeshGenerator.d.ts",
"chars": 487,
"preview": "\n/**\n*/\ndeclare class EditorNavigationMeshGenerator extends Object {\n\n \n/**\n*/\n new(): EditorNavigationMeshGenerator;"
},
{
"path": "_godot_defs/static/EditorPlugin.d.ts",
"chars": 19139,
"preview": "\n/**\n * Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a "
},
{
"path": "_godot_defs/static/EditorProperty.d.ts",
"chars": 3748,
"preview": "\n/**\n * This control allows property editing for one or multiple properties into [EditorInspector]. It is added via [Edi"
},
{
"path": "_godot_defs/static/EditorResourceConversionPlugin.d.ts",
"chars": 485,
"preview": "\n/**\n*/\ndeclare class EditorResourceConversionPlugin extends Reference {\n\n \n/**\n*/\n new(): EditorResourceConversionPl"
},
{
"path": "_godot_defs/static/EditorResourcePicker.d.ts",
"chars": 3109,
"preview": "\n/**\n * This [Control] node is used in the editor's Inspector dock to allow editing of [Resource] type properties. It pr"
},
{
"path": "_godot_defs/static/EditorResourcePreview.d.ts",
"chars": 2478,
"preview": "\n/**\n * This object is used to generate previews for resources of files.\n *\n * **Note:** This class shouldn't be instant"
},
{
"path": "_godot_defs/static/EditorResourcePreviewGenerator.d.ts",
"chars": 2056,
"preview": "\n/**\n * Custom code to generate previews. Please check `file_dialog/thumbnail_size` in [EditorSettings] to find out the "
},
{
"path": "_godot_defs/static/EditorSceneImporter.d.ts",
"chars": 1598,
"preview": "\n/**\n*/\ndeclare class EditorSceneImporter extends Reference {\n\n \n/**\n*/\n new(): EditorSceneImporter; \n static \"new\"("
},
{
"path": "_godot_defs/static/EditorScenePostImport.d.ts",
"chars": 2388,
"preview": "\n/**\n * Imported scenes can be automatically modified right after import by setting their **Custom Script** Import prope"
},
{
"path": "_godot_defs/static/EditorScript.d.ts",
"chars": 2210,
"preview": "\n/**\n * Scripts extending this class and implementing its [method _run] method can be executed from the Script Editor's "
},
{
"path": "_godot_defs/static/EditorScriptPicker.d.ts",
"chars": 1321,
"preview": "\n/**\n * Similar to [EditorResourcePicker] this [Control] node is used in the editor's Inspector dock, but only to edit t"
},
{
"path": "_godot_defs/static/EditorSelection.d.ts",
"chars": 1402,
"preview": "\n/**\n * This object manages the SceneTree selection in the editor.\n *\n * **Note:** This class shouldn't be instantiated "
},
{
"path": "_godot_defs/static/EditorSettings.d.ts",
"chars": 6296,
"preview": "\n/**\n * Object that holds the project-independent editor settings. These settings are generally visible in the **Editor "
}
]
// ... and 496 more files (download for full content)
About this extraction
This page contains the full source code of the johnfn/ts2gd GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 696 files (2.5 MB), approximately 700.4k tokens, and a symbol index with 775 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.