CelestialSim¶
GPU-realized procedural planets for Godot. Add one Celestial node to a 3D scene and
you get a planet with adaptive chunked-quadtree LOD — geometry and surface detail are
realized on the GPU, with no readback and no lag spikes.
Orbit to surface in one continuous dive — the terrain refines as the camera falls, and nothing is read back from the GPU.

Beta
CelestialSim is in beta: ready to build with, but still pre-1.0, so APIs can change between releases. If something is missing or unclear, tell us on Discord or GitHub.
Start here¶
I want a planet in my scene¶
Install the addon, drop in a node, press play. No Rust required.
- Install — download the release zip, copy one folder, done.
- Getting Started — your first planet, from the editor and from GDScript, plus the handful of knobs worth touching first.
I want my own terrain¶
The built-in noise is a starting point, not the product. Bring your own height and colour functions.
- Terrain builders — how the
builderproperty works and which path to pick. - Custom GPU terrain — write a
.glslwith two small functions. - Custom CPU terrain in GDScript — batched GDScript, including an async bake off the main thread.
I want to know how it works¶
- Architecture — the screen-space-error quadtree cut, the chunk cache,
and the
upload → realize → bakeGPU graph.
Reference¶
Celestialnode — every export, with its range and default.- Water — the analytic ocean, configured on the builder.
- Scatter objects — GPU-placed grass, trees and rocks.
- Rust API reference — generated from
cargo doc.