gdext.internal.register
Members list
Packages
Type members
Classlikes
Static description of one registered class: its Godot name, its parent engine class, the factory that builds a fresh Scala instance, and which engine virtuals the subclass overrides (by Godot method name, e.g. "_process").
Static description of one registered class: its Godot name, its parent engine class, the factory that builds a fresh Scala instance, and which engine virtuals the subclass overrides (by Godot method name, e.g. "_process").
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Registers a user-defined Scala class with Godot's ClassDB.
Registers a user-defined Scala class with Godot's ClassDB.
This is the explicit builder substrate the macro layer (and hand-written code) targets. It fills a GDExtensionClassCreationInfo4 with static trampolines — the GDExtension callbacks cannot capture closures — that defer all per-class/per-instance behaviour to ClassRegistry via integer tokens (see Tokens).
Lifecycle wired here:
- create: construct the parent engine object, build the Scala instance, link them with
object_set_instance, and return the engine handle. - free: drop the Scala instance from the registry.
- get_virtual: report which engine virtuals (
_ready/_process/_physics_process) the subclass overrides, handing Godot the matching static dispatcher.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ClassRegistration.type
Process-global registry backing the static GDExtension class callbacks.
Process-global registry backing the static GDExtension class callbacks.
GDExtension callbacks are C function pointers and cannot capture Scala closures, so all per-class and per-instance state lives here and is reached from the static trampolines via opaque tokens:
- class token: a small integer passed to Godot as
class_userdata. The create/get-virtual callbacks use it to find the ClassDescriptor. - instance token: a small integer handed to
object_set_instanceas the instance pointer. The free/virtual-call callbacks use it to find the live GodotScriptClass.
Using integer tokens (rather than raw object addresses) keeps the GC from ever seeing a disguised pointer to a managed object — the Scala instances are held alive by strong references in instances until explicitly freed.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ClassRegistry.type
Enumeration helpers + the AsRef projection. Each helper takes the comp already projected to its bare wrapper type E and returns the option names; a null/unassigned comp yields Seq("") so the resulting ENUM has a single valid empty entry rather than a malformed empty hint string.
Enumeration helpers + the AsRef projection. Each helper takes the comp already projected to its bare wrapper type E and returns the option names; a null/unassigned comp yields Seq("") so the resulting ENUM has a single valid empty entry rather than a malformed empty hint string.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CompEnum.type
Runtime backing for the component-reference dropdown annotations (exportBoneName / exportAnimation / exportSpriteAnimation / exportAnimationProperty).
Runtime backing for the component-reference dropdown annotations (exportBoneName / exportAnimation / exportSpriteAnimation / exportAnimationProperty).
The Register macro registers, for each annotated String property, a builder closure keyed by (className, propName). The closure reads the sibling comp's current value off the live instance and enumerates the option names. At inspect time ClassRegistration's validate_property trampoline looks the builder up and rewrites the property to an ENUM with those options.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CompEnumRegistry.type
The "zero value" for an exportable type — what a registered class's constructor parameter is initialised to when the user does not write an explicit default. Godot constructs instances with no arguments, so every primary-ctor param needs some value; this typeclass supplies the natural empty/null one per type, so a game class can declare
The "zero value" for an exportable type — what a registered class's constructor parameter is initialised to when the user does not write an explicit default. Godot constructs instances with no arguments, so every primary-ctor param needs some value; this typeclass supplies the natural empty/null one per type, so a game class can declare
final class Player(var projectile: Projectile) extends Node2D
with no = null. The @gdexport macro's instance factory summons a DefaultValue[A] for any param lacking a user default (see Register.scala); an explicit = ... always takes precedence. Mirrors the supported export types in ExportType / RefLeaf.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
DefaultValue.type
An inspector hint override for an exported property — the analogue of GDScript's @export_range, @export_file, @export_multiline, … . Passed as the argument to gdexport (@gdexport(ExportHint.range(0, 100)) var hp: Int).
An inspector hint override for an exported property — the analogue of GDScript's @export_range, @export_file, @export_multiline, … . Passed as the argument to gdexport (@gdexport(ExportHint.range(0, 100)) var hp: Int).
It overrides the hint / hint_string an ExportType would otherwise emit and ORs usageExtra into the property usage. The value is plain runtime data; the Register macro just forwards it into PropertyRegistration.registerExport.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ExportHint.type
The single seam the @gdexport macro summons. Bundles Variant marshalling with the inspector metadata (hint / hint_string / class_name / usage) for one exportable field type. Per-type logic therefore lives in ordinary givens here (not in the macro); the macro only reads the field type, summons ExportType[A], and wires the get/set lambdas.
The single seam the @gdexport macro summons. Bundles Variant marshalling with the inspector metadata (hint / hint_string / class_name / usage) for one exportable field type. Per-type logic therefore lives in ordinary givens here (not in the macro); the macro only reads the field type, summons ExportType[A], and wires the get/set lambdas.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ExportType.type
Root base for everything in the engine class hierarchy.
Root base for everything in the engine class hierarchy.
Generated engine classes extend this (transitively via Object), and user classes extend an engine class (class Player extends Node2D). It carries the engine-object handle every instance is backed by, the lifetime operations (free/unref/reference/cast), the overridable engine virtuals, and the small plumbing the generated wrappers and registration use.
Since every wrapper IS a handle-carrying object, there is no separate smart pointer: you hold an engine object as its plain wrapper type (Node2D, PlayerStats) and call these methods directly on it. A null reference is the absent / failed-cast sentinel.
Two ways an instance gets its handle:
- a user class is constructed by Godot via the create callback, which calls setHostObject;
- a wrapper around a fetched object (e.g. from a
ClassMeta.fromHandleor a singleton) is built then handed a handle via withHost.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Objectclass AudioServerclass CameraServerclass ClassDBclass DisplayServerclass EditorInterfaceclass EditorPathsclass EditorSelectionclass EditorUndoRedoManagerclass EditorVCSInterfaceclass Engineclass EngineDebuggerclass FramebufferCacheRDclass GDExtensionManagerclass Geometry2Dclass Geometry3Dclass GodotInstanceclass IPclass Inputclass InputMapclass JNISingletonclass JSONRPCclass JavaClassWrapperclass JavaScriptBridgeclass MainLoopclass SceneTreeclass Marshallsclass MovieWriterclass NativeMenuclass NavigationMeshGeneratorclass NavigationServer2Dclass NavigationServer3Dclass Nodeclass AnimationMixerclass AnimationPlayerclass AnimationTreeclass AudioStreamPlayerclass CanvasItemclass Controlclass BaseButtonclass Buttonclass CheckBoxclass CheckButtonclass ColorPickerButtonclass MenuButtonclass OptionButtonclass LinkButtonclass TextureButtonclass ColorRectclass Containerclass AspectRatioContainerclass BoxContainerclass HBoxContainerclass EditorResourcePickerclass EditorScriptPickerclass EditorToasterclass VBoxContainerclass ColorPickerclass ScriptEditorBaseclass CenterContainerclass EditorPropertyclass FlowContainerclass HFlowContainerclass VFlowContainerclass FoldableContainerclass GraphElementclass GraphFrameclass GraphNodeclass GridContainerclass MarginContainerclass EditorDockclass FileSystemDockclass PanelContainerclass ScriptEditorclass ScrollContainerclass EditorInspectorclass SplitContainerclass HSplitContainerclass VSplitContainerclass SubViewportContainerclass TabContainerclass GraphEditclass ItemListclass Labelclass LineEditclass MenuBarclass NinePatchRectclass Panelclass Rangeclass EditorSpinSliderclass ProgressBarclass ScrollBarclass HScrollBarclass VScrollBarclass Sliderclass HSliderclass VSliderclass SpinBoxclass TextureProgressBarclass ReferenceRectclass RichTextLabelclass Separatorclass HSeparatorclass VSeparatorclass TabBarclass TextEditclass CodeEditclass TextureRectclass Treeclass VideoStreamPlayerclass Node2Dclass AnimatedSprite2Dclass AudioListener2Dclass AudioStreamPlayer2Dclass BackBufferCopyclass Bone2Dclass CPUParticles2Dclass Camera2Dclass CanvasGroupclass CanvasModulateclass CollisionObject2Dclass Area2Dclass PhysicsBody2Dclass CharacterBody2Dclass RigidBody2Dclass PhysicalBone2Dclass StaticBody2Dclass AnimatableBody2Dclass CollisionPolygon2Dclass CollisionShape2Dclass GPUParticles2Dclass Joint2Dclass DampedSpringJoint2Dclass GrooveJoint2Dclass PinJoint2Dclass Light2Dclass DirectionalLight2Dclass PointLight2Dclass LightOccluder2Dclass Line2Dclass Marker2Dclass MeshInstance2Dclass MultiMeshInstance2Dclass NavigationLink2Dclass NavigationObstacle2Dclass NavigationRegion2Dclass Parallax2Dclass ParallaxLayerclass Path2Dclass PathFollow2Dclass Polygon2Dclass RayCast2Dclass RemoteTransform2Dclass ShapeCast2Dclass Skeleton2Dclass Sprite2Dclass TileMapclass TileMapLayerclass TouchScreenButtonclass VisibleOnScreenEnabler2Dclass CanvasLayerclass ParallaxBackgroundclass EditorFileSystemclass EditorPluginclass GridMapEditorPluginclass ScalaExportPluginclass EditorResourcePreviewclass HTTPRequestclass InstancePlaceholderclass MissingNodeclass MultiplayerSpawnerclass MultiplayerSynchronizerclass NavigationAgent2Dclass NavigationAgent3Dclass Node3Dclass AudioListener3Dclass AudioStreamPlayer3Dclass BoneAttachment3Dclass Camera3Dclass XRCamera3Dclass CollisionObject3Dclass Area3Dclass PhysicsBody3Dclass CharacterBody3Dclass PhysicalBone3Dclass RigidBody3Dclass VehicleBody3Dclass StaticBody3Dclass AnimatableBody3Dclass CollisionPolygon3Dclass CollisionShape3Dclass GridMapclass ImporterMeshInstance3Dclass Joint3Dclass ConeTwistJoint3Dclass Generic6DOFJoint3Dclass HingeJoint3Dclass PinJoint3Dclass SliderJoint3Dclass LightmapProbeclass Marker3Dclass NavigationLink3Dclass NavigationObstacle3Dclass NavigationRegion3Dclass OpenXRCompositionLayerclass OpenXRHandclass OpenXRRenderModelclass OpenXRRenderModelManagerclass Path3Dclass PathFollow3Dclass RayCast3Dclass RemoteTransform3Dclass ShapeCast3Dclass Skeleton3Dclass SkeletonModifier3Dclass BoneConstraint3Dclass AimModifier3Dclass CopyTransformModifier3Dclass BoneTwistDisperser3Dclass IKModifier3Dclass ChainIK3Dclass IterateIK3Dclass CCDIK3Dclass FABRIK3Dclass JacobianIK3Dclass SplineIK3Dclass TwoBoneIK3Dclass LookAtModifier3Dclass ModifierBoneTarget3Dclass PhysicalBoneSimulator3Dclass RetargetModifier3Dclass SkeletonIK3Dclass SpringBoneSimulator3Dclass XRBodyModifier3Dclass XRHandModifier3Dclass SpringArm3Dclass SpringBoneCollision3Dclass VehicleWheel3Dclass VisualInstance3Dclass Decalclass FogVolumeclass GPUParticlesAttractor3Dclass GPUParticlesCollision3Dclass GeometryInstance3Dclass CPUParticles3Dclass CSGShape3Dclass CSGCombiner3Dclass CSGPrimitive3Dclass CSGBox3Dclass CSGCylinder3Dclass CSGMesh3Dclass CSGPolygon3Dclass CSGSphere3Dclass CSGTorus3Dclass GPUParticles3Dclass Label3Dclass MeshInstance3Dclass SoftBody3Dclass MultiMeshInstance3Dclass SpriteBase3Dclass AnimatedSprite3Dclass Sprite3Dclass Light3Dclass DirectionalLight3Dclass OmniLight3Dclass SpotLight3Dclass LightmapGIclass OccluderInstance3Dclass OpenXRVisibilityMaskclass ReflectionProbeclass RootMotionViewclass VisibleOnScreenEnabler3Dclass VoxelGIclass XRFaceModifier3Dclass XRNode3Dclass XRAnchor3Dclass XRController3Dclass XROrigin3Dclass ResourcePreloaderclass ShaderGlobalsOverrideclass StatusIndicatorclass Timerclass Viewportclass SubViewportclass Windowclass AcceptDialogclass ConfirmationDialogclass EditorCommandPaletteclass FileDialogclass EditorFileDialogclass ScriptCreateDialogclass Popupclass PopupMenuclass PopupPanelclass WorldEnvironmentclass OSclass OpenXRExtensionWrapperclass OpenXRFutureExtensionclass Performanceclass PhysicsDirectBodyState2Dclass PhysicsDirectBodyState3Dclass PhysicsServer2Dclass PhysicsServer2DExtensionclass PhysicsServer2DManagerclass PhysicsServer3Dclass PhysicsServer3DExtensionclass PhysicsServer3DManagerclass ProjectSettingsclass RefCountedclass AESContextclass AStar2Dclass AStar3Dclass AStarGrid2Dclass AudioEffectInstanceclass AudioSampleclass AudioSamplePlaybackclass AudioStreamPlaybackclass CameraFeedclass CharFXTransformclass ConfigFileclass Cryptoclass DTLSServerclass DirAccessclass ENetConnectionclass EditorContextMenuPluginclass EditorDebuggerPluginclass EditorDebuggerSessionclass EditorExportPlatformclass EditorExportPlatformIOSclass EditorExportPlatformPCclass EditorExportPlatformWebclass EditorExportPluginclass EditorExportPresetclass EditorFeatureProfileclass EditorInspectorPluginclass EditorScenePostImportclass EditorScriptclass EncodedObjectAsIDclass EngineProfilerclass Expressionclass FileAccessclass GLTFObjectModelPropertyclass HMACContextclass HTTPClientclass HashingContextclass ImageFormatLoaderclass JavaClassclass JavaObjectclass JavaScriptObjectclass KinematicCollision2Dclass KinematicCollision3Dclass Lightmapperclass LightmapperRDclass Loggerclass MeshDataToolclass MultiplayerAPIclass MultiplayerAPIExtensionclass SceneMultiplayerclass Mutexclass Node3DGizmoclass EditorNode3DGizmoclass OpenXRAPIExtensionclass OpenXRFutureResultclass OpenXRStructureBaseclass PCKPackerclass PackedDataContainerRefclass PacketPeerclass ENetPacketPeerclass MultiplayerPeerclass ENetMultiplayerPeerclass MultiplayerPeerExtensionclass OfflineMultiplayerPeerclass WebRTCMultiplayerPeerclass WebSocketMultiplayerPeerclass PacketPeerDTLSclass PacketPeerExtensionclass PacketPeerStreamclass PacketPeerUDPclass WebRTCDataChannelclass WebSocketPeerclass RDAttachmentFormatclass RDFramebufferPassclass RDSamplerStateclass RDShaderSourceclass RDTextureFormatclass RDTextureViewclass RDUniformclass RDVertexAttributeclass RandomNumberGeneratorclass RegExclass RegExMatchclass RenderSceneBuffersclass RenderSceneBuffersRDclass Resourceclass Animationclass AnimationLibraryclass AnimationNodeclass AnimationNodeExtensionclass AnimationNodeOutputclass AnimationNodeSyncclass AnimationNodeAdd2class AnimationNodeAdd3class AnimationNodeBlend2class AnimationNodeBlend3class AnimationNodeOneShotclass AnimationNodeSub2class AnimationNodeTransitionclass AnimationNodeTimeScaleclass AnimationNodeTimeSeekclass AnimationRootNodeclass AnimationNodeAnimationclass AnimationNodeBlendTreeclass AudioBusLayoutclass AudioEffectclass AudioEffectAmplifyclass AudioEffectCaptureclass AudioEffectChorusclass AudioEffectCompressorclass AudioEffectDelayclass AudioEffectDistortionclass AudioEffectEQclass AudioEffectEQ10class AudioEffectEQ21class AudioEffectEQ6class AudioEffectFilterclass AudioEffectLowPassFilterclass AudioEffectNotchFilterclass AudioEffectHardLimiterclass AudioEffectLimiterclass AudioEffectPannerclass AudioEffectPhaserclass AudioEffectPitchShiftclass AudioEffectRecordclass AudioEffectReverbclass AudioEffectStereoEnhanceclass AudioStreamclass AudioStreamGeneratorclass AudioStreamInteractiveclass AudioStreamMP3class AudioStreamMicrophoneclass AudioStreamOggVorbisclass AudioStreamPlaylistclass AudioStreamPolyphonicclass AudioStreamRandomizerclass AudioStreamSynchronizedclass AudioStreamWAVclass BitMapclass BoneMapclass ButtonGroupclass CameraAttributesclass CameraAttributesPhysicalclass ColorPaletteclass Compositorclass CompositorEffectclass CryptoKeyclass Curveclass Curve2Dclass Curve3Dclass EditorNode3DGizmoPluginclass EditorSettingsclass Environmentclass FoldableGroupclass Fontclass FontFileclass FontVariationclass SystemFontclass GDExtensionclass GLTFAccessorclass GLTFAnimationclass GLTFBufferViewclass GLTFCameraclass GLTFDocumentclass FBXDocumentclass GLTFDocumentExtensionclass GLTFLightclass GLTFMeshclass GLTFNodeclass GLTFPhysicsBodyclass GLTFPhysicsShapeclass GLTFSkeletonclass GLTFSkinclass GLTFSpecGlossclass GLTFStateclass FBXStateclass GLTFTextureclass GLTFTextureSamplerclass Gradientclass Imageclass ImporterMeshclass InputEventclass InputEventActionclass InputEventFromWindowclass InputEventScreenDragclass InputEventScreenTouchclass InputEventWithModifiersclass InputEventGestureclass InputEventMagnifyGestureclass InputEventPanGestureclass InputEventKeyclass InputEventMouseclass InputEventMouseButtonclass InputEventMouseMotionclass InputEventJoypadButtonclass InputEventJoypadMotionclass InputEventMIDIclass InputEventShortcutclass JSONclass JointLimitation3Dclass JointLimitationCone3Dclass LabelSettingsclass LightmapGIDataclass Materialclass BaseMaterial3Dclass ORMMaterial3Dclass StandardMaterial3Dclass CanvasItemMaterialclass FogMaterialclass PanoramaSkyMaterialclass ParticleProcessMaterialclass PhysicalSkyMaterialclass PlaceholderMaterialclass ProceduralSkyMaterialclass ShaderMaterialclass Meshclass ArrayMeshclass ImmediateMeshclass PlaceholderMeshclass PrimitiveMeshclass BoxMeshclass CapsuleMeshclass CylinderMeshclass PlaneMeshclass QuadMeshclass PointMeshclass PrismMeshclass RibbonTrailMeshclass SphereMeshclass TextMeshclass TorusMeshclass TubeTrailMeshclass MeshLibraryclass MissingResourceclass MultiMeshclass NavigationMeshclass NavigationPolygonclass Noiseclass FastNoiseLiteclass Occluder3Dclass ArrayOccluder3Dclass BoxOccluder3Dclass PolygonOccluder3Dclass QuadOccluder3Dclass SphereOccluder3Dclass OccluderPolygon2Dclass OggPacketSequenceclass OpenXRActionclass OpenXRActionMapclass OpenXRActionSetclass OpenXRBindingModifierclass OpenXRIPBindingModifierclass OpenXRHapticBaseclass OpenXRHapticVibrationclass OpenXRIPBindingclass OpenXRInteractionProfileclass PackedDataContainerclass PackedSceneclass PhysicsMaterialclass PolygonPathFinderclass RDShaderFileclass RDShaderSPIRVclass RichTextEffectclass SceneReplicationConfigclass Scriptclass GDScriptclass ScriptExtensionclass Shaderclass VisualShaderclass ShaderIncludeclass Shape2Dclass CapsuleShape2Dclass CircleShape2Dclass ConcavePolygonShape2Dclass ConvexPolygonShape2Dclass RectangleShape2Dclass SegmentShape2Dclass SeparationRayShape2Dclass WorldBoundaryShape2Dclass Shape3Dclass BoxShape3Dclass CapsuleShape3Dclass ConcavePolygonShape3Dclass ConvexPolygonShape3Dclass CylinderShape3Dclass HeightMapShape3Dclass SeparationRayShape3Dclass SphereShape3Dclass WorldBoundaryShape3Dclass Shortcutclass SkeletonModification2Dclass SkeletonProfileclass SkeletonProfileHumanoidclass Skinclass Skyclass SpriteFramesclass StyleBoxclass StyleBoxEmptyclass StyleBoxFlatclass StyleBoxLineclass StyleBoxTextureclass SyntaxHighlighterclass CodeHighlighterclass EditorSyntaxHighlighterclass Textureclass Texture2Dclass AnimatedTextureclass AtlasTextureclass CameraTextureclass CanvasTextureclass CompressedTexture2Dclass CurveTextureclass CurveXYZTextureclass DPITextureclass ExternalTextureclass GradientTexture1Dclass GradientTexture2Dclass ImageTextureclass MeshTextureclass NoiseTexture2Dclass PlaceholderTexture2Dclass Texture2DRDclass ViewportTextureclass Texture3Dclass CompressedTexture3Dclass ImageTexture3Dclass NoiseTexture3Dclass PlaceholderTexture3Dclass Texture3DRDclass TextureLayeredclass CompressedTextureLayeredclass CompressedCubemapclass CompressedCubemapArrayclass CompressedTexture2DArrayclass ImageTextureLayeredclass Cubemapclass CubemapArrayclass Texture2DArrayclass PlaceholderCubemapclass PlaceholderCubemapArrayclass TextureLayeredRDclass Texture2DArrayRDclass TextureCubemapArrayRDclass TextureCubemapRDclass Themeclass TileMapPatternclass TileSetclass TileSetSourceclass TileSetAtlasSourceclass Translationclass OptimizedTranslationclass VideoStreamclass VideoStreamTheoraclass VideoStreamPlaybackclass VisualShaderNodeclass VisualShaderNodeClampclass VisualShaderNodeColorOpclass VisualShaderNodeCompareclass VisualShaderNodeConstantclass VisualShaderNodeCubemapclass VisualShaderNodeCustomclass VisualShaderNodeFloatOpclass VisualShaderNodeFresnelclass VisualShaderNodeIfclass VisualShaderNodeInputclass VisualShaderNodeIntFuncclass VisualShaderNodeIntOpclass VisualShaderNodeIsclass VisualShaderNodeMixclass VisualShaderNodeOutputclass VisualShaderNodeRemapclass VisualShaderNodeRerouteclass VisualShaderNodeFrameclass VisualShaderNodeCommentclass VisualShaderNodeSample3Dclass VisualShaderNodeStepclass VisualShaderNodeSwitchclass VisualShaderNodeTextureclass VisualShaderNodeUIntFuncclass VisualShaderNodeUIntOpclass VisualShaderNodeUVFuncclass VisualShaderNodeVaryingclass VisualShaderNodeVectorOpclass VoxelGIDataclass World2Dclass World3Dclass X509Certificateclass ResourceFormatLoaderclass ResourceFormatSaverclass ResourceImporterclass EditorImportPluginclass ResourceImporterBMFontclass ResourceImporterBitMapclass ResourceImporterImageclass ResourceImporterMP3class ResourceImporterOBJclass ResourceImporterSVGclass ResourceImporterSceneclass ResourceImporterTextureclass ResourceImporterWAVclass SceneStateclass SceneTreeTimerclass ScriptBacktraceclass Semaphoreclass SkinReferenceclass SocketServerclass TCPServerclass UDSServerclass StreamPeerclass StreamPeerBufferclass StreamPeerExtensionclass StreamPeerGZIPclass StreamPeerSocketclass StreamPeerTCPclass StreamPeerUDSclass StreamPeerTLSclass SurfaceToolclass TLSOptionsclass TextLineclass TextParagraphclass TextServerclass TextServerExtensionclass TextServerAdvancedclass TextServerDummyclass Threadclass TranslationDomainclass TriangleMeshclass Tweenclass Tweenerclass CallbackTweenerclass IntervalTweenerclass MethodTweenerclass PropertyTweenerclass SubtweenTweenerclass UDPServerclass UPNPclass UPNPDeviceclass WeakRefclass WebRTCPeerConnectionclass XMLParserclass XRInterfaceclass MobileVRInterfaceclass OpenXRInterfaceclass WebXRInterfaceclass XRInterfaceExtensionclass XRPoseclass XRTrackerclass XRFaceTrackerclass XRPositionalTrackerclass OpenXRAnchorTrackerclass OpenXRMarkerTrackerclass OpenXRPlaneTrackerclass XRBodyTrackerclass XRControllerTrackerclass XRHandTrackerclass ZIPPackerclass ZIPReaderclass RenderDataclass RenderDataExtensionclass RenderDataRDclass RenderSceneDataclass RenderSceneDataExtensionclass RenderSceneDataRDclass RenderingDeviceclass RenderingServerclass ResourceLoaderclass ResourceSaverclass ResourceUIDclass ScriptLanguageclass ScriptLanguageExtensionclass ShaderIncludeDBclass TextServerManagerclass ThemeDBclass TileDataclass Timeclass TranslationServerclass TreeItemclass UndoRedoclass UniformSetCacheRDclass WorkerThreadPoolclass XRServerclass XRVRSShow all
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
GodotScriptClass.type
Registers Scala methods on a registered class so they are callable from GDScript / the engine (the #[func] analogue), and provides the getter/ setter methods that property (@export) registration links together.
Registers Scala methods on a registered class so they are callable from GDScript / the engine (the #[func] analogue), and provides the getter/ setter methods that property (@export) registration links together.
Dispatch goes through the Variant call_func path: the trampoline finds the instance and the method dispatcher by their tokens, then invokes the dispatcher with the raw argument Variants and the return Variant slot. A dispatcher reads its args via the Phase 1 FromVariant seam and writes its result via ToVariant. All argument/return marshalling reuses that seam, so any builtin-convertible type is supported.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
MethodRegistration.type
Godot PropertyHint values (subset we emit), pinned from extension_api.json global_enums for Godot 4.6.1. The inspector uses these (with hint_string) to choose the editing widget for an exported property.
Godot PropertyHint values (subset we emit), pinned from extension_api.json global_enums for Godot 4.6.1. The inspector uses these (with hint_string) to choose the editing widget for an exported property.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PropertyHint.type
Registers an @export-style property on a registered class.
Registers an @export-style property on a registered class.
Godot models a property as a name plus a setter and getter method (by name). So this registers a set_<name> and get_<name> method pair (via MethodRegistration) and then links them with classdb_register_extension_class_property. The property then appears in the inspector and is readable/writable from GDScript.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PropertyRegistration.type
Godot PropertyUsageFlags (subset).
Godot PropertyUsageFlags (subset).
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PropertyUsage.type
A reference "leaf": how a node/resource/scene wrapper marshals to/from a raw engine handle, plus its inspector hint metadata. ExportType derives the Option/Required/bare variants from this. The givens live here (RefLeaf's companion) so implicit search for RefLeaf[Tres[T]] etc. finds them.
A reference "leaf": how a node/resource/scene wrapper marshals to/from a raw engine handle, plus its inspector hint metadata. ExportType derives the Option/Required/bare variants from this. The givens live here (RefLeaf's companion) so implicit search for RefLeaf[Tres[T]] etc. finds them.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Automatic, annotation-driven class registration — the gdext #[derive(GodotClass)] analogue.
Automatic, annotation-driven class registration — the gdext #[derive(GodotClass)] analogue.
Register.auto[Player]() scans Player at compile time and emits all the registration calls: the class itself (Godot base derived from the superclass, with auto-detected virtual overrides), every @func method, every @gdexport property, and every @signal. Game code therefore writes zero registration boilerplate — it only extends an engine class and annotates members.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Register.type
Records, per (className, propertyName), the required scene root node type of a Tscn[T] export. Godot has no native hint to filter a PackedScene picker by root-node type, so the editor inspector plugin (Phase E) reads this registry to know which scenes a given property may accept.
Records, per (className, propertyName), the required scene root node type of a Tscn[T] export. Godot has no native hint to filter a PackedScene picker by root-node type, so the editor inspector plugin (Phase E) reads this registry to know which scenes a given property may accept.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
SceneExportRegistry.type
Registers signals on a registered class and emits them.
Registers signals on a registered class and emits them.
Registration uses classdb_register_extension_class_signal. Emission goes through Object.emit_signal, which is a vararg method, so it uses the Variant call path (object_method_bind_call) with the signal name as the first Variant argument followed by the signal's payload Variants.
This first cut covers the most common case — a no-argument signal — which is enough to prove registration + connect + emit end to end. Adding typed payload arguments is a matter of extending the argument-info array and the emit arg list.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
SignalRegistration.type
Encodes the small integer tokens that ClassRegistry hands to Godot as opaque CVoidPtrs (class_userdata, instance pointer) and back.
Encodes the small integer tokens that ClassRegistry hands to Godot as opaque CVoidPtrs (class_userdata, instance pointer) and back.
We deliberately stuff an integer id into the pointer slot rather than a real Scala-object address: the Scala objects are kept alive by the registry, and the GC never has to chase a fabricated pointer. Conversion is via the Scala Native intrinsics for raw-pointer/word casts.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Tokens.type
Maps a Scala type to its Godot Variant type tag, for registration info.
Maps a Scala type to its Godot Variant type tag, for registration info.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object given_VariantTypeOf_Booleanobject given_VariantTypeOf_Doubleobject given_VariantTypeOf_Intobject given_VariantTypeOf_Longobject given_VariantTypeOf_String
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
VariantTypeOf.type