Skip to main content

Celestial

Struct Celestial 

Source
pub struct Celestial {
Show 16 fields pub radius: f32, pub screen_error: f32, pub chunk_res: i64, pub tile_res: i64, pub max_depth: i64, pub vram_budget_gib: f32, pub geomorph: bool, pub lod_colors: bool, pub debug_log: bool, pub horizon_cull: bool, pub cull_height_margin: f32, pub max_bakes_per_frame: i64, pub recompute_every_frame: bool, pub scatter_layers: Array<Gd<CesScatterLayer>>, pub builder: Option<Gd<CesBuilder>>, pub auto_add_builder: bool, /* private fields */
}
Expand description

A procedural planet: the Node3D you add to a Godot scene.

It owns the whole terrain pipeline — every frame it selects a screen-space-error cut of the quadtree around the active camera, realizes the newly-visible chunks on the GPU, and draws them from an indirect MultiMesh child. What the surface looks like comes from the CesBuilder resource in builder (terrain + ocean); vegetation and props come from the CesScatterLayer resources in scatter_layers.

The exported properties below are all live: editing one in the inspector (or from GDScript) reshades or rebuilds as needed, with no scene reload.

Fields§

§radius: f32

Radius of the undisplaced sphere, in world units — the scale of the whole planet. Terrain displaces around it, so the rendered ground can sit above or below this radius (see ground_radius_at). Changing it re-realizes every resident chunk. Default 1000.

§screen_error: f32

Target screen-space error, in normalized screen units (chunk edge over distance): the LOD cut is chosen so no chunk exceeds it. Lower = sharper terrain, but more resident chunks, more bakes and more VRAM pressure; higher = coarser and cheaper. Default 0.02 (range 0.005–0.5).

§chunk_res: i64

Geometry grid of one chunk: chunk_res segments per chunk edge, so each chunk carries chunk_res² triangles. Raising it makes each chunk denser (fewer, larger chunks reach the same screen_error) at a higher per-slot vertex-pool cost. Default 16 (range 2–32).

§tile_res: i64

Phase 4: per-chunk detail-tile resolution. Colour + normal detail is baked at tile_res × tile_res per chunk (independent of chunk_res) and sampled per-pixel, so surface shading is crisper than the geometry grid. NOTE: the detail atlas costs tile_res² × 16 B per resident chunk (detail atlases + surface buffers), so a larger tile_res means fewer chunks fit in vram_budget_gib (see effective_budget).

§max_depth: i64

Hard cap on quadtree subdivision, i.e. the finest terrain the camera can ever reach: below this depth the cut stops refining even if screen_error is not met, so the ground goes blocky as you get close. 0 = no subdivision (the 20 base icosphere faces only — “LOD 0”). Default 16 (range 0–20).

§vram_budget_gib: f32

GPU VRAM budget for the resident chunk pools, in GiB. You set the gigabytes, not a slot count: the number of resident chunk slots is derived as vram / per-chunk bytes, where per-chunk = verts_per_chunk×48 B (geometry) + tile_res²×16 B (detail atlases + surface buffers). So a bigger tile_res simply means fewer chunks fit in the same budget — no manual rebalancing. (Also clamped so the atlas texture height stays within the GPU’s limit.)

§geomorph: bool

Geomorphing (Phase 5): smoothly blend each chunk between its full-detail grid and its coarser (parent-resolution) sublattice as the camera distance crosses the LOD band, so detail fades in/out instead of popping when the quadtree subdivides/merges. The per-chunk morph factor rides in the per-frame instance buffer (INSTANCE_CUSTOM.g) and is applied in the surface vertex shader, so the realize/bake cache is untouched. When off, every chunk gets morph = 1 (full detail, no blend) and the instance buffer is NOT re-uploaded on camera movement.

§lod_colors: bool

Debug view: tint each chunk by its pool slot so the chunk tiling (and the LOD cut) is visible on the surface. Off by default; purely visual.

§debug_log: bool

Print a one-line status (chunks in the cut, resident, realized, graph executes, selection time) to the Godot output every ~5 seconds. Default on.

§horizon_cull: bool

Horizon (back-of-planet) culling: skip selecting/realizing/baking/drawing chunks that are fully beyond the planet’s horizon. Removes the entire far hemisphere; and because the horizon is close when the camera is near the surface, it also drops distant near-ground chunks — shrinking the resident set (and the VRAM/tile_res it can afford).

§cull_height_margin: f32

Terrain-height slack for horizon culling, as a fraction of radius: a patch is kept if terrain up to radius × cull_height_margin above the surface could peek over the horizon. Raise if tall terrain pops in at the horizon; lower to cull more aggressively. (HQ max displacement ≈ 0.3·r.)

§max_bakes_per_frame: i64

Max NEW chunks to realize+bake per frame. A large influx (teleport, fast turn, first fill) otherwise bakes every newly-visible chunk in one frame and spikes frame time; capping it spreads the work over frames (the rest pop in over the next few frames). Lower = smoother under influx, slower fill-in. Dirty re-bakes (streamed-tile arrivals) share this cap; already-resident chunks are always drawn (stale until their re-bake turn). Default 48.

§recompute_every_frame: bool

TEST (temporary): bypass the per-chunk cache and re-realize + re-bake every VISIBLE chunk EVERY frame (no persistence, no eviction). Lets you probe the raw per-frame realize+bake cost at high tile_res/chunk_res without the cache size limiting things. Off = normal cached path.

§scatter_layers: Array<Gd<CesScatterLayer>>

Scatter layers (CEL-73): each layer scatters one mesh over the planet on a stable world lattice, with LIVE density + min_height/max_height sliders — edits re-run only the scatter-compact dispatch. A layer with no mesh is INACTIVE (for grass assign addons/celestialsim/grass_blade.tres). lod_level sets density/reach; adding/removing layers (or changing instances_per_cell/max_instances) rebuilds the GPU job.

§builder: Option<Gd<CesBuilder>>

The terrain builder (one active at a time). Its TYPE (a CesBuilder subclass) decides how the surface is produced. A new planet starts with a GPU-example builder (added when the node is first readied); clear it to render a plain white sphere. Swapping or editing the builder reshades/rebuilds live.

§auto_add_builder: bool

Hidden, storage-only guard: add the default builder the first time a builder-less planet is readied, then never again (so clearing the builder stays white). Not shown in the inspector — see on_validate_property.

Implementations§

Source§

impl Celestial

Source

pub fn get_radius(&self) -> <f32 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_radius(&mut self, radius: <f32 as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_screen_error(&self) -> <f32 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_screen_error(&mut self, screen_error: <f32 as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_chunk_res(&self) -> <i64 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_chunk_res(&mut self, chunk_res: <i64 as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_tile_res(&self) -> <i64 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_tile_res(&mut self, tile_res: <i64 as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_max_depth(&self) -> <i64 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_max_depth(&mut self, max_depth: <i64 as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_vram_budget_gib(&self) -> <f32 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_vram_budget_gib( &mut self, vram_budget_gib: <f32 as GodotConvert>::Via, )

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_geomorph(&self) -> <bool as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_geomorph(&mut self, geomorph: <bool as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_lod_colors(&self) -> <bool as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_lod_colors(&mut self, lod_colors: <bool as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_debug_log(&self) -> <bool as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_debug_log(&mut self, debug_log: <bool as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_horizon_cull(&self) -> <bool as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_horizon_cull(&mut self, horizon_cull: <bool as GodotConvert>::Via)

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_cull_height_margin(&self) -> <f32 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_cull_height_margin( &mut self, cull_height_margin: <f32 as GodotConvert>::Via, )

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_max_bakes_per_frame(&self) -> <i64 as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_max_bakes_per_frame( &mut self, max_bakes_per_frame: <i64 as GodotConvert>::Via, )

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_recompute_every_frame(&self) -> <bool as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_recompute_every_frame( &mut self, recompute_every_frame: <bool as GodotConvert>::Via, )

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_scatter_layers( &self, ) -> <Array<Gd<CesScatterLayer>> as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_scatter_layers( &mut self, scatter_layers: <Array<Gd<CesScatterLayer>> as GodotConvert>::Via, )

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn get_auto_add_builder(&self) -> <bool as GodotConvert>::Via

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source

pub fn set_auto_add_builder( &mut self, auto_add_builder: <bool as GodotConvert>::Via, )

👎Deprecated:

Auto-generated Rust getters/setters for #[var] are being phased out until v0.6. If you need them, opt in with #[var(pub)].

Source§

impl Celestial

Source

pub fn get_builder(&self) -> Option<Gd<CesBuilder>>

A builder’s changed signal lands here. A STRUCTURAL change — which builder is first-enabled, its BuilderRoute, or a GpuCustom shader source — rebuilds the job (so the pipeline / compiled shader / provider is re-wired). A pure param edit is applied live, by kind, then every resident chunk is invalidated so it re-realizes with the new values.

Source

pub fn set_builder(&mut self, v: Option<Gd<CesBuilder>>)

Swap the terrain builder (assign a different one, or clear it → white). Rebuilds the job so the new type/params take effect immediately; the next frame re-wires the new builder’s changed signal (via connect_builders).

Source

pub fn on_builder_changed(&mut self)

Source

pub fn chunks_in_queue(&self) -> i64

Chunks currently streaming toward full detail: queued/running background bakes plus baked patches waiting for cache admission. 0 ⇒ every chunk in view is resident at its target LOD (nothing left to arrive).

Source

pub fn tile_cache_path(&self) -> GString

Absolute path of the provider’s on-disk cache (empty when none).

Source

pub fn tiles_in_flight(&self) -> i64

Provider resource fetches currently in flight (network + decode).

Source

pub fn cut_report(&self) -> GString

Division-algorithm debug: per-depth histogram of the last selected cut, plus how many of those chunks are actually DRAWN (resident) — any gap is a hole on screen (unadmitted/throttled chunks). Example output: cut 271 drawn 268 | d7:12 d8:24 ... d16:40.

Source

pub fn ground_radius_at(&self, dir: Vector3) -> f32

The one query gameplay code needs: how to put something on the surface.

Radius (world units, from the planet centre) of the RENDERED ground in direction dir (a world-space direction from the centre), so dir.normalized() * ground_radius_at(dir) is the surface point: the bare sphere plus the CPU-surface displacement, sampled by the provider’s sample_height. Use this to place cameras/objects on the surface instead of guessing an altitude — the ground can legitimately sit kilometres above the sphere. Returns the bare radius when no CPU-surface provider is active.

Source

pub fn debug_dump_radii(&self)

TEMP DEBUG: schedule a render-thread dump of every drawn slot’s vertex radius range (see CesChunkJob::debug_dump_radii).

Source

pub fn on_scatter_layer_changed(&mut self)

Any scatter layer’s changed signal lands here (CEL-73); the edit is classified next frame in check_scatter_structure / the stage packer.

Source

pub fn resident_count(&self) -> i64

Chunks currently holding a GPU pool slot (cached geometry + detail atlas). Compare with effective_budget to see how full the VRAM budget is.

Source

pub fn realize_count(&self) -> i64

Chunks realized in the last staged batch (0 once the camera settles).

Source

pub fn executes(&self) -> i64

Graph executes that actually consumed a stage (flat when stationary).

Source

pub fn select_ms(&self) -> f64

Last CPU selection time in milliseconds.

Source

pub fn update_ms(&self) -> f64

Last ChunkCache::update time in ms (eviction/bookkeeping cost).

Source

pub fn gpu_report(&self) -> GString

Per-stage GPU time of the last CesChunkJob execute, e.g. "upload 0.01 + realize 0.42 ms". Each graph node (compute stage) is a term — a future pass (e.g. a separate normals/noise shader) appears here automatically. "idle" when no realize ran since the camera last moved; this is the realize COMPUTE cost, distinct from the every-frame render (rasterization) cost shown as render gpu.

Source

pub fn triangle_count(&self) -> i64

Triangles currently drawn = visible chunks × chunk_res².

Source

pub fn pool_vram_bytes(&self) -> i64

VRAM (bytes) the GPU pools reserve for budget slots. Per-vertex the pool costs pos_tex(rgba32f=16) + verts_tex(2×rgba16f=16) + verts_buf (float4=16) = 48 B × verts_per_chunk(res). Phase 4 adds the detail atlases: colour(rgba8=4) + normal(rgba8=4) = 8 B × tile_res² per slot.

Source

pub fn effective_budget(&self) -> u32

Resident chunk SLOT count derived from the VRAM budget. Each slot costs verts_per_chunk(chunk_res)×48 B (geometry) + tile_res²×16 B (detail atlases + normal atlas); slots = vram_budget / per_slot. Also clamped so the atlas texture height (slots×tile_res²/ATTR_TEX_WIDTH) stays within the GPU’s max texture dimension (the atlas is one strip of width ATTR_TEX_WIDTH).

Trait Implementations§

Source§

impl Bounds for Celestial

Source§

type Memory = <<Celestial as GodotClass>::Base as Bounds>::Memory

Defines the memory strategy of the static type.
Source§

type Declarer = DeclUser

Whether this class is a core Godot class provided by the engine, or declared by the user as a Rust struct.
Source§

impl GodotClass for Celestial

Source§

type Base = Node3D

The immediate superclass of T. This is always a Godot engine class.
Source§

fn class_id() -> ClassId

Globally unique class ID, linked to the name under which the class is registered in Godot. Read more
§

const INIT_LEVEL: InitLevel = <Self::Base as GodotClass>::INIT_LEVEL

Initialization level, during which this class should be initialized with Godot. Read more
§

fn inherits<Base>() -> bool
where Base: GodotClass,

Returns whether Self inherits from Base. Read more
Source§

impl INode3D for Celestial

Source§

fn ready(&mut self)

Give a fresh planet its default CesGPUNoiseExample builder so it renders terrain immediately (safe here — the node is in the tree, unlike an instantiated property default). Fires once via the storage-only auto_add_builder guard, so clearing the builder and saving keeps the white planet.

Source§

fn on_validate_property(&self, property: &mut PropertyInfo)

Hide the internal auto_add_builder guard from the inspector (kept for storage only), so it isn’t a user-facing setting.

Source§

fn process(&mut self, delta: f64)

Called on each idle frame, prior to rendering, and after physics ticks have been processed. delta is the time between frames in seconds. Read more
§

fn init(base: Base<Self::Base>) -> Self

Godot constructor, accepting an injected base object. Read more
§

fn enter_tree(&mut self)

Called when the node enters the [SceneTree][crate::classes::SceneTree] (e.g. upon instantiating, scene changing, or after calling [add_child][crate::classes::Node::add_child] in a script). If the node has children, its [enter_tree][crate::classes::INode::enter_tree] callback will be called first, and then that of the children. Read more
§

fn exit_tree(&mut self)

Called when the node is about to leave the [SceneTree][crate::classes::SceneTree] (e.g. upon freeing, scene changing, or after calling [remove_child][crate::classes::Node::remove_child] in a script). If the node has children, its [exit_tree][crate::classes::INode::exit_tree] callback will be called last, after all its children have left the tree. Read more
§

fn physics_process(&mut self, delta: f64)

Called once on each physics tick, and allows Nodes to synchronize their logic with physics ticks. delta is the logical time between physics ticks in seconds and is equal to [member Engine.time_scale] / [member Engine.physics_ticks_per_second]. Read more
§

fn input(&mut self, event: Gd<InputEvent>)

Called when there is an input event. The input event propagates up through the node tree until a node consumes it. Read more
§

fn shortcut_input(&mut self, event: Gd<InputEvent>)

Called when an [InputEventKey][crate::classes::InputEventKey], [InputEventShortcut][crate::classes::InputEventShortcut], or [InputEventJoypadButton][crate::classes::InputEventJoypadButton] hasn’t been consumed by [input][crate::classes::INode::input] or any GUI [Control][crate::classes::Control] item. It is called before [unhandled_key_input][crate::classes::INode::unhandled_key_input] and [unhandled_input][crate::classes::INode::unhandled_input]. The input event propagates up through the node tree until a node consumes it. Read more
§

fn unhandled_key_input(&mut self, event: Gd<InputEvent>)

Called when an [InputEventKey][crate::classes::InputEventKey] hasn’t been consumed by [input][crate::classes::INode::input] or any GUI [Control][crate::classes::Control] item. It is called after [shortcut_input][crate::classes::INode::shortcut_input] but before [unhandled_input][crate::classes::INode::unhandled_input]. The input event propagates up through the node tree until a node consumes it. Read more
§

fn unhandled_input(&mut self, event: Gd<InputEvent>)

Called when an [InputEvent][crate::classes::InputEvent] hasn’t been consumed by [input][crate::classes::INode::input] or any GUI [Control][crate::classes::Control] item. It is called after [shortcut_input][crate::classes::INode::shortcut_input] and after [unhandled_key_input][crate::classes::INode::unhandled_key_input]. The input event propagates up through the node tree until a node consumes it. Read more
§

fn on_notification(&mut self, what: Node3DNotification)

Called when the object receives a Godot notification. Read more
§

fn on_get(&self, property: StringName) -> Option<Variant>

Called whenever get() is called or Godot gets the value of a property. Read more
§

fn on_set(&mut self, property: StringName, value: Variant) -> bool

Called whenever Godot set() is called or Godot sets the value of a property. Read more
§

fn on_get_property_list(&mut self) -> Vec<PropertyInfo>

Called whenever Godot get_property_list() is called, the returned vector here is appended to the existing list of properties. Read more
§

fn on_property_get_revert(&self, property: StringName) -> Option<Variant>

Called by Godot to tell if a property has a custom revert or not. Read more
§

fn to_string(&self) -> GString

String representation of the Godot instance. Read more
§

fn get_configuration_warnings(&self) -> PackedArray<GString>

The elements in the array returned from this method are displayed as warnings in the Scene dock if the script that overrides it is a tool script. Read more
§

fn get_accessibility_configuration_warnings(&self) -> PackedArray<GString>

The elements in the array returned from this method are displayed as warnings in the Scene dock if the script that overrides it is a tool script, and accessibility warnings are enabled in the editor settings. Read more
§

fn get_focused_accessibility_element(&self) -> Rid

Called during accessibility information updates to determine the currently focused sub-element, should return a sub-element RID or the value returned by [get_accessibility_element][crate::classes::Node::get_accessibility_element].
Source§

impl Inherits<Node> for Celestial

§

const IS_SAME_CLASS: bool = false

True iff Self == Base. Read more
Source§

impl Inherits<Node3D> for Celestial

§

const IS_SAME_CLASS: bool = false

True iff Self == Base. Read more
Source§

impl Inherits<Object> for Celestial

§

const IS_SAME_CLASS: bool = false

True iff Self == Base. Read more
Source§

impl WithBaseField for Celestial

Source§

fn to_gd(&self) -> Gd<Celestial>

Returns the Gd pointer containing this object. Read more
§

fn base(&self) -> BaseRef<'_, Self>

Returns a shared reference guard, suitable for calling &self engine methods on this object. Read more
§

fn base_mut(&mut self) -> BaseMut<'_, Self>

Returns an exclusive reference guard, suitable for calling &self/&mut self engine methods on this object. Read more
§

fn run_deferred<F>(&mut self, mut_self_method: F)
where F: FnOnce(&mut Self) + 'static,

Defers the given closure to run during idle time. Read more
§

fn run_deferred_gd<F>(&mut self, gd_function: F)
where F: FnOnce(Gd<Self>) + 'static,

Defers the given closure to run during idle time. Read more
Source§

impl WithSignals for Celestial

Source§

type SignalCollection<'c, C: WithSignals> = __godot_Signals_Celestial<'c, C>

The associated struct listing all signals of this class. Read more
Source§

impl WithUserSignals for Celestial

Source§

fn signals(&mut self) -> Self::SignalCollection<'_, Self>

Access user-defined signals of the current object self. Read more
Source§

impl GodotDefault for Celestial

Source§

impl ImplementsGodotApi for Celestial

Source§

impl ImplementsGodotExports for Celestial

Source§

impl ImplementsGodotVirtual for Celestial

Source§

impl You_forgot_the_attribute__godot_api for Celestial

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Inherits<T> for T
where T: GodotClass,

§

const IS_SAME_CLASS: bool = true

True iff Self == Base. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> NewAlloc for T
where T: GodotDefault<Memory = MemManual> + Bounds,

§

fn new_alloc() -> Gd<T>

Return a new, manually-managed Gd containing a default-constructed instance. Read more
§

impl<C> ObjectToOwned<C> for C
where C: WithBaseField,

§

fn object_to_owned(&self) -> Gd<C>

Converts the object reference to an owned Gd<T>.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> UniformObjectDeref<DeclUser> for T
where T: WithBaseField,

§

type TargetRef<'a> = GdRef<'a, T>

§

type TargetMut<'a> = GdMut<'a, T>

§

fn object_as_ref<'a>( gd: &'a Gd<T>, ) -> <T as UniformObjectDeref<DeclUser>>::TargetRef<'a>

§

fn object_as_mut<'a>( gd: &'a mut Gd<T>, ) -> <T as UniformObjectDeref<DeclUser>>::TargetMut<'a>