Godot::CrystalIntegrationPlugin
Inherits Godot::EditorPlugin < Godot::Node < Godot::Object < Reference < Object
Constants
Constructors
Class methods
Builds an environment Hash with properly configured CRYSTAL_PATH ensuring libgodot and local shards can be resolved from anywhere.
Automated verification workflow for the Build Crystal toolbar button and GDExtension reload
Ensures all editor integration components are active when running inside the Godot Editor. Safe to call both on startup and after GDExtension reloads.
Automatically generates project bindings for custom GDScript nodes if present
Registers Crystal icons into Godot's EditorIcons theme so ScriptCreateDialog and FileSystem dock display proper icons
Compiles project Crystal code with optional release optimizations
Handles toolbar compile button press to trigger manual Crystal rebuild
Scans project addons/ directory and recompiles any Crystal addons whose source code changed
Formats and bubbles up compilation failures into the Godot Editor UI:
- Outputs clean formatted error banner in the bottom panel
- Emits EditorToaster notification (toast in status bar)
- Pops up centered AcceptDialog in the editor viewport
- Jumps to the offending line in ScriptEditor if file/line is detected
Saves all open scripts and scenes in the editor before compiling so modifications on disk are up to date
Synchronizes a script editor buffer with the file on disk. If the file on disk was modified externally (or on initial load), disk changes take precedence. If the buffer was modified in-editor inside Godot, changes are flushed to disk.
Instance methods
Dispatches inspector tool button clicks on this object.
Virtual method and property dispatch hooks overridden by class registration macros.
Delta timestep is received with 64-bit precision (Float64).
Dispatches generic virtual methods with raw arguments and return buffer.
Invoked by the GDExtension bridge when retrieving an exposed @export property.
Invoked by the GDExtension bridge when setting an exposed @export property.
Per-frame process callback receiving delta timestep in seconds (Float64).
Calls the named method on the object with variable arguments.
One-shot type-safe signal listener that automatically disconnects after firing once
Bound signal accessor for idiomatic await(node.ready_in_editor) or node.ready_in_editor.connect { ... }