Skip to content

API Compatibility

Eduard Gushchin edited this page Jun 21, 2026 · 16 revisions

Home | API by Category | Complete API Index | API Compatibility

Status: GitHub Wiki source for Electron2D 0.1.0 Preview. Updated: 2026-06-22.

Electron2D documents the agreed 2D runtime API subset here. This table is a release guard for public types included in the preview surface.

The clean rewrite baseline currently exports the first object-model, resource UID, 2D math, random number generator, identity, Variant value-carrier, C# scripting marker attributes, keyboard/mouse/gamepad/touch input event baseline, action input baseline, UI input dispatch/focus baseline, display mobile state baseline, texture/viewport/shader, tile set and tile map layer runtime baseline, text/UI baseline, translation baseline, frame-based sprite animation, resource animation tracks, AnimationPlayer, Tween, AudioStream metadata baseline, AudioServer query boundary and bus routing, AudioStreamPlayer and AudioStreamPlayer2D playback nodes, rendering server boundary, physics server RID-boundary types, first 2D physics nodes, concrete 2D shape resources, physics material resource, Area2D overlap signals baseline, direct 2D physics query baseline, fixed physics tick, basic rigid body movement, CharacterBody2D kinematic movement baseline and debug collision shape hooks. Planned entries below describe the target public surface for future tasks, not implemented API.

Status Legend

Status Meaning
Supported Implemented, tested and documented
Partial Implemented only for the described subset
Experimental Implemented but allowed to change before stable release
Planned Required by 0.1.0 Preview, not implemented yet

Current Public Runtime Surface

API Reference Status Notes
Electron2D.AnimatedSprite2D AnimatedSprite2D Partial Frame-based 2D animation node with SpriteFrames, autoplay, play/pause/stop, frame progress, loop handling and canvas submission of the current frame.
Electron2D.Animation Animation Partial Resource for value tracks and method call tracks with deterministic key ordering and interpolation for the supported Variant subset.
Electron2D.Animation+InterpolationTypeEnum Animation.InterpolationType Partial Nearest and linear interpolation modes for value tracks.
Electron2D.Animation+LoopModeEnum Animation.LoopMode Partial None and linear loop modes for resource animation playback.
Electron2D.Animation+TrackTypeEnum Animation.TrackType Partial Value and method track kinds for the 0.1 animation baseline.
Electron2D.AnimationLibrary AnimationLibrary Partial Named animation resource collection with deterministic name listing and add/remove/rename operations.
Electron2D.AnimationPlayer AnimationPlayer Partial Node that plays animation libraries, applies value tracks through NodePath, calls method tracks, queues animations and emits animation_finished.
Electron2D.Area2D Area2D Partial RID lifecycle, monitoring flags, priority, transform sync, AABB overlap snapshots, body_entered/body_exited and area_entered/area_exited signals.
Electron2D.AtlasTexture AtlasTexture Partial Atlas region resource with atlas, region, margin, filter clip and transparency delegation.
Electron2D.AudioServer AudioServer Partial Process-wide audio query boundary with mix rate, output latency, speaker mode, Master, user buses, routing path, bus volume, mute, solo and lock/unlock. Internal voice handles are not public API.
Electron2D.AudioServer+SpeakerMode AudioServer.SpeakerMode Partial Speaker layout values for stereo and surround output queries.
Electron2D.AudioStream AudioStream Partial Base audio stream resource with length, monophonic, meta-stream and sample eligibility metadata queries.
Electron2D.AudioStreamPlayer AudioStreamPlayer Partial Scene node for non-positional playback with play/stop/pause/resume, seek, autoplay, loop metadata, bus selection, volume, pitch and polyphony.
Electron2D.AudioStreamPlayer2D AudioStreamPlayer2D Partial 2D playback node with the shared playback API plus bus selection, distance attenuation and left/right panning.
Electron2D.Callable Callable Partial Target-method and C# action callable baseline for synchronous signal emission and deferred calls.
Electron2D.CallbackTweener CallbackTweener Partial Tween step that invokes a Callable once when the sequence reaches it.
Electron2D.Camera2D Camera2D Partial Current 2D camera selection, target/center/rotation queries, offset, zoom and documented smoothing no-op baseline.
Electron2D.CanvasItem CanvasItem Partial Visibility, inherited modulate, self-modulate, z-index, y-sort flag, show/hide and GetWorld2D() baseline.
Electron2D.CanvasLayer CanvasLayer Partial Layer, visibility and transform baseline for independent 2D canvas ordering.
Electron2D.CapsuleShape2D CapsuleShape2D Partial Capsule shape resource with radius/height validation, RID creation and AOT-safe serialization metadata.
Electron2D.CharacterBody2D CharacterBody2D Partial Kinematic character body with Velocity, MoveAndSlide(), floor/wall/ceiling state, floor snap and platform velocity baseline.
Electron2D.CharacterBody2D+MotionModeEnum CharacterBody2D.MotionMode Partial Grounded and floating collision classification modes.
Electron2D.CharacterBody2D+PlatformOnLeaveEnum CharacterBody2D.PlatformOnLeave Partial Platform leave policy values reserved for the kinematic movement API.
Electron2D.CircleShape2D CircleShape2D Partial Circle shape resource with radius validation, RID creation and AOT-safe serialization metadata.
Electron2D.Collections.Array Array Partial Mutable reference-like Variant list for the 0.1 closed Variant type set.
Electron2D.Collections.Dictionary Dictionary Partial Mutable reference-like Variant key/value map for the 0.1 closed Variant type set.
Electron2D.CollisionObject2D CollisionObject2D Partial Base collision object with GetRid(), collision layer/mask storage, RID lifecycle and transform sync.
Electron2D.CollisionShape2D CollisionShape2D Partial Shape reference, disabled/one-way flags, debug visualization color and concave-shape static-body validation.
Electron2D.Color Color Partial RGBA value type baseline with arithmetic, interpolation, clamp and HTML conversion.
Electron2D.ConcavePolygonShape2D ConcavePolygonShape2D Partial Concave segment-pair shape resource restricted to StaticBody2D through CollisionShape2D.
Electron2D.ConnectFlags ConnectFlags Partial Signal connection flag names are declared; advanced flag semantics are still planned.
Electron2D.Control Control Partial UI base node with position, size, theme font overrides, _GuiInput, MouseFilter, FocusMode, event acceptance and focus helpers.
Electron2D.ConvexPolygonShape2D ConvexPolygonShape2D Partial Convex polygon shape resource with finite point validation and AOT-safe array serialization.
Electron2D.DisplayServer DisplayServer Partial Display safe area, screen orientation and virtual keyboard request state without public native handles.
Electron2D.DisplayServer+ScreenOrientation DisplayServer.ScreenOrientation Partial Orientation request values for landscape, portrait, reverse and sensor-driven modes.
Electron2D.DisplayServer+VirtualKeyboardType DisplayServer.VirtualKeyboardType Partial Virtual keyboard layout request values for text, multiline, numeric, phone, email, password and URL input.
Electron2D.Error Error Partial Minimal signal/runtime error result values.
Electron2D.ExportAttribute ExportAttribute / [Export] Partial Marker attribute for script fields/properties included in explicit serialization and Inspector metadata.
Electron2D.FocusMode Control.FocusMode Partial Focus mode values for disabled, click-only and direct/all focus in the UI input baseline.
Electron2D.Font Font Partial Base font resource with string measurement, glyph availability, fallback layout and internal cache.
Electron2D.HorizontalAlignment HorizontalAlignment Partial Horizontal alignment values used by text drawing APIs.
Electron2D.Input Input Partial Process-wide action state queries for pressed, just-pressed, strength and four-action vectors.
Electron2D.InputEvent InputEvent Partial Base input event resource with device id for lifecycle dispatch.
Electron2D.InputEventAction InputEventAction Partial Direct action input event with action name, pressed state and strength for tests, tooling and automation.
Electron2D.InputEventFromWindow InputEventFromWindow Partial Window id layer for platform-backed keyboard and mouse events.
Electron2D.InputEventJoypadButton InputEventJoypadButton Partial Gamepad button press/release event with button index, pressed state, pressure and action binding support.
Electron2D.InputEventJoypadMotion InputEventJoypadMotion Partial Gamepad axis motion event with normalized axis value and signed action binding support.
Electron2D.InputEventKey InputEventKey Partial Keyboard key down/up, echo and native text input Unicode scalar baseline.
Electron2D.InputEventMouse InputEventMouse Partial Shared mouse position and button mask baseline.
Electron2D.InputEventMouseButton InputEventMouseButton Partial Mouse button down/up and wheel-as-button baseline.
Electron2D.InputEventMouseMotion InputEventMouseMotion Partial Mouse position, relative motion and button mask baseline.
Electron2D.InputEventScreenDrag InputEventScreenDrag Partial Multitouch drag event with index, position, relative motion, pressure, tilt and pen inversion fields.
Electron2D.InputEventScreenTouch InputEventScreenTouch Partial Multitouch press/release/cancel event with index, position, pressed, double-tap and canceled fields.
Electron2D.InputEventWithModifiers InputEventWithModifiers Partial Modifier state layer for keyboard and future mouse input events.
Electron2D.InputMap InputMap Partial Process-wide action registry with deadzones, keyboard/mouse/gamepad bindings, direct action matching and internal settings serialization.
Electron2D.IntervalTweener IntervalTweener Partial Tween step that consumes sequence time without writing properties or calling user callbacks.
Electron2D.JoyAxis JoyAxis Partial Standardized gamepad axis values for motion events, action bindings and Input.GetJoyAxis().
Electron2D.JoyButton JoyButton Partial Standardized gamepad button values for button events, action bindings and Input.IsJoyButtonPressed().
Electron2D.Key Key Partial Printable ASCII, core special key constants and mobile back/menu navigation keys used by keyboard mapping.
Electron2D.KeyLocation KeyLocation Partial Left/right modifier key location baseline.
Electron2D.KinematicCollision2D KinematicCollision2D Partial Collision result object returned by body movement methods, with collider, normal, travel, remainder and velocity data.
Electron2D.Label Label Partial Single-line plain text control backed by theme font overrides and CanvasItem.DrawString.
Electron2D.Material Material Partial Base visual material resource with NextPass and RenderPriority storage for future renderer ordering.
Electron2D.Mathf Mathf Partial Basic constants, approximate comparison, clamp, interpolation, angle conversion, modulo and snapping helpers.
Electron2D.MouseButton MouseButton Partial Left/right/middle, wheel and extra button constants for mouse events.
Electron2D.MouseButtonMask MouseButtonMask Partial Held mouse button bit flags converted from platform state.
Electron2D.MouseFilter Control.MouseFilter Partial Mouse filter values for stop, pass and ignore GUI input routing.
Electron2D.Object Object Partial Instance id, Free(), CallDeferred(), IsQueuedForDeletion() and IsInstanceValid() baseline.
Electron2D.Node Node Partial Lifecycle, hierarchy, Owner, groups, reparent/move, QueueFree() and GetViewport() baseline.
Electron2D.Node2D Node2D Partial Local/global 2D position, rotation, scale, transform conversion and transform-preserving reparent baseline.
Electron2D.NodePath NodePath Partial Relative/absolute node path parsing and GetNode()/GetNodeOrNull() resolution baseline.
Electron2D.PackedScene PackedScene Partial In-memory pack/instantiate baseline for owned node subtrees.
Electron2D.PhysicsBody2D PhysicsBody2D Partial Base class for body nodes with shared PhysicsMaterialOverride and MoveAndCollide() kinematic movement helper.
Electron2D.PhysicsDirectSpaceState2D PhysicsDirectSpaceState2D Partial Managed AABB baseline for IntersectRay, IntersectPoint and IntersectShape over active CollisionShape2D nodes.
Electron2D.PhysicsMaterial PhysicsMaterial Partial Body material resource with Friction, Bounce, Rough, Absorbent, validation and AOT-safe serialization metadata.
Electron2D.PhysicsPointQueryParameters2D PhysicsPointQueryParameters2D Partial Point query parameters for direct 2D physics queries, including mask, body/area flags and excluded RIDs.
Electron2D.PhysicsRayQueryParameters2D PhysicsRayQueryParameters2D Partial Ray query parameters for direct 2D physics queries, including endpoints, mask, body/area flags, hit-from-inside and excluded RIDs.
Electron2D.PhysicsServer2D PhysicsServer2D Partial Low-level 2D physics server facade for RID allocation, spaces, shape kinds and internal backend swapping; no real simulation yet.
Electron2D.PhysicsServer2D+ProcessInfo PhysicsServer2D.ProcessInfo Partial Process statistic enum; values currently report 0 until real simulation is implemented.
Electron2D.PhysicsServer2D+ShapeType PhysicsServer2D.ShapeType Partial Shape type enum for physics server shape RID creation.
Electron2D.PhysicsServer2D+SpaceParameter PhysicsServer2D.SpaceParameter Partial Space parameter enum with value round-trip through the server boundary.
Electron2D.PhysicsShapeQueryParameters2D PhysicsShapeQueryParameters2D Partial Shape query parameters for direct 2D physics queries, including shape resource, transform, motion, margin, mask and excluded RIDs.
Electron2D.PropertyTweener PropertyTweener Partial Tween step that captures a public property or field value and writes eased values until completion.
Electron2D.RandomNumberGenerator RandomNumberGenerator Partial RNG baseline with seed/state replay, integer/float ranges and PCG32 sequence policy for 0.1.
Electron2D.RayCast2D RayCast2D Partial Ray query settings, forced update and cached AABB hit result through PhysicsDirectSpaceState2D.
Electron2D.Rect2 Rect2 Partial Floating-point axis-aligned rectangle baseline with intersection, merge, grow and normalization helpers.
Electron2D.Rect2I Rect2I Partial Integer axis-aligned rectangle baseline with intersection, merge, grow and normalization helpers.
Electron2D.RectangleShape2D RectangleShape2D Partial Rectangle shape resource with size validation, RID creation and AOT-safe serialization metadata.
Electron2D.RefCounted RefCounted Partial Manual reference count baseline with Reference(), Unreference() and GetReferenceCount().
Electron2D.RenderingServer RenderingServer Partial Singleton-style facade for active renderer profile and feature flags; concrete backends remain internal.
Electron2D.RenderingServer+RenderingFeature RenderingServer feature enum Partial 0.1 feature flags for compatibility and standard renderer profiles.
Electron2D.RenderingServer+RenderingProfile RenderingServer profile enum Partial Compatibility and Standard renderer profiles.
Electron2D.Resource Resource Partial ResourceName, ResourcePath, ResourceLocalToScene, ResourceSceneUniqueId and TakeOverPath().
Electron2D.ResourceUid ResourceUID / ResourceUid Partial Stable uid:// conversion and in-memory UID-to-path mapping for resource references.
Electron2D.Rid RID Partial Opaque resource identifier baseline with invalid ID 0, equality, hashing and ordering.
Electron2D.RigidBody2D RigidBody2D Partial RID lifecycle, stored rigid body properties, transform sync, fixed-step velocity movement and AABB sweep against static bodies.
Electron2D.RigidBody2D+CenterOfMassModeEnum RigidBody2D.CenterOfMassMode Partial Center-of-mass mode values for RigidBody2D.
Electron2D.RigidBody2D+FreezeModeEnum RigidBody2D.FreezeMode Partial Freeze behavior values for RigidBody2D.
Electron2D.SceneTree SceneTree Partial Initial root node, current scene, deterministic tree traversal for tests and future editor/runtime tools, debug collision hint, scene change, group queries/calls, deferred queue flush and queued deletion flush.
Electron2D.SegmentShape2D SegmentShape2D Partial Segment shape resource with endpoint validation, RID creation and AOT-safe serialization metadata.
Electron2D.Shader Shader Partial Canvas item shader resource storing source code for import-time compilation.
Electron2D.Shader+Mode Shader.Mode Partial 0.1 canvas item shader mode subset.
Electron2D.ShaderMaterial ShaderMaterial Partial Material resource with Shader, supported uniform values, Texture2D samplers and fail-closed reserved built-in validation.
Electron2D.Shape2D Shape2D Partial Base shape resource for CollisionShape2D with lazy physics RID creation and cleanup.
Electron2D.SignalAttribute SignalAttribute / [Signal] Partial Marker attribute for script delegates backed by explicit signal metadata and the existing Connect()/EmitSignal() API.
Electron2D.Sprite2D Sprite2D Partial Texture, centered/offset drawing rect, region rect, flip flags, pixel opacity and internal submission baseline.
Electron2D.SpriteFrames SpriteFrames Partial Resource for named texture-frame animations, frame durations, speed and loop modes consumed by AnimatedSprite2D.
Electron2D.SpriteFrames+LoopModeEnum SpriteFrames.LoopMode Partial Loop mode values for none, linear and pingpong playback.
Electron2D.StaticBody2D StaticBody2D Partial RID lifecycle, constant velocity storage and transform sync baseline.
Electron2D.StringName StringName Partial Immutable interned-name baseline with ordinal equality, hashing, empty/default semantics and string conversion.
Electron2D.Texture2D Texture2D Partial Abstract texture resource baseline for size, alpha, mipmaps and pixel opacity queries.
Electron2D.TileData TileData Partial Tile metadata resource with modulation, texture origin, z-index and per-layer collision polygon settings.
Electron2D.TileMapLayer TileMapLayer Partial Runtime tile map layer with cell storage, coordinate conversion, canvas submission, body RID queries and one-way tile collision shapes.
Electron2D.TileSet TileSet Partial Tile set resource with tile size, source id mapping, source lookup and deterministic source listing.
Electron2D.TileSetAtlasSource TileSetAtlasSource Partial Atlas-backed tile source with texture region size, tile registration, tile data lookup and source rectangle queries.
Electron2D.TileSetSource TileSetSource Partial Base resource type for tile sources stored in TileSet.
Electron2D.ToolAttribute ToolAttribute / [Tool] Experimental Marker attribute for editor-time script intent; current metadata marks it experimental and sandboxed.
Electron2D.Transform2D Transform2D Partial 2D basis/origin transform baseline with point transforms, composition and inverse.
Electron2D.Translation Translation Partial Locale-bound resource with source message keys, optional contexts and deterministic message listing.
Electron2D.TranslationServer TranslationServer Partial Process-wide locale selection, translation registry, exact/base/fallback lookup and key fallback.
Electron2D.Tween Tween Partial Sequential runtime tween with property, interval and callback steps, easing, pause/play/stop, kill, manual stepping and completion signals.
Electron2D.Tween+EaseType Tween.EaseType Partial Ease mode enum for in, out, in-out and out-in interpolation.
Electron2D.Tween+TransitionType Tween.TransitionType Partial Transition curve enum for linear and deterministic curved interpolation modes.
Electron2D.Tweener Tweener Partial Public base type for concrete tween sequence steps.
Electron2D.Variant Variant Partial Closed 0.1 value carrier for nil, primitives, enum-as-int, 2D math, identity handles, Object-derived values, Callable and Electron2D collections.
Electron2D.Variant+Type Variant.Type Partial Closed 0.1 Variant type enum; 3D, Signal and packed arrays are intentionally excluded for now.
Electron2D.Vector2 Vector2 Partial Floating-point 2D vector baseline with arithmetic, length, dot/cross, interpolation and formatting.
Electron2D.Vector2I Vector2I Partial Integer 2D vector baseline with arithmetic, length, aspect and conversions.
Electron2D.VerticalAlignment VerticalAlignment Partial Vertical alignment values used by text controls.
Electron2D.Viewport Viewport Partial Runtime 2D viewport subset with current camera, visible rect, canvas transform, pixel snapping, root instance and input handled-state baseline.
Electron2D.ViewportTexture ViewportTexture Partial Dynamic viewport texture returned by Viewport.GetTexture() with scene-local texture metadata.
Electron2D.World2D World2D Partial 2D world object exposing DirectSpaceState for direct physics queries without backend handles.

Planned 2D Surface

API Reference Status Notes
Electron2D.Timer Timer Planned Timer node.

Clone this wiki locally