procedural generation
128 subscribers
5.38K photos
1.8K videos
7 files
11.4K links
Created by @r_channels
Download Telegram
Why I built a deterministic, data-driven engine that compiles Natural Language into bit-identical geometry

Most generative graphics tools today rely on probabilistic AI models. They are creative, but they are messy. You can’t recreate a scene exactly, and the outputs are often unpredictable.

I wanted the opposite: **Total, bit-identical determinism.**

I’ve spent the last months building **GAP+** (Geometric Architecture Parametrics), a system where natural language inputs compile to verifiable geometry through a strictly deterministic pipeline. No AI, no dependencies, no floating-point drift.

# The Architecture: "Objects are Data, not Code"

I moved away from hardcoded Rust strings. The pipeline is now:

1. **Natural Language Input:** `geotool nl "a stone tower"`
2. **Thin Loader:** Parses modifiers and selects a template.
3. **GAP+ Template:** A parametric `.gap` file (pure data).
4. **Compiler:** Expands `include`, `repeat`, and `let` declarations.
5. **Geokern Engine:** Executes the operations to output a **Merkle Hash** that proves the scene's geometry.

# Why this is different (The "World-Class" Checklist)

* **Cross-Platform Determinism:** By using a golden-root test matrix (Linux, Windows, macOS), every scene hash is validated. If the macOS output differs by a single bit from the Linux output, the CI fails.
* **No-Recompile Workflow:** I can add a complex object (like an obelisk) by adding one `.gap` data file and one TSV registry line. The engine doesn't even know what an "obelisk" is—it just executes the parameters.
* **Zero-Warning Policy:** The codebase enforces strict `clippy` lints and standard formatting via CI. If it doesn't build perfectly, it doesn't get merged.

# The Proof

Here is a physically based render of a gold sphere generated by this pipeline:

`sphere a0 2 48` `pbr a0 0.90 0.55 0.30 1.0 0.18 0.5`

# Why this matters

This isn't just about rendering spheres. It’s about building a **Foundation for Procedural Worlds** where you can mathematically prove the state of your environment across any hardware.

I've just open-sourced the framework, and I'm looking for feedback on the architecture—specifically on how to handle compositional grammar (e.g., "a vase on a table") within a purely deterministic system.

You can check out the source, the golden-root test suite, and the engine internals here:


[https://github.com/MerlijnW70/gap](https://github.com/MerlijnW70/gap)

https://preview.redd.it/rzkf9qkqvb7h1.png?width=1280&format=png&auto=webp&s=c092900458c44c0a849d736a031dcbea7c367c0c




https://redd.it/1u5zczk
@proceduralgeneration
This media is not supported in your browser
VIEW IN TELEGRAM
Tectonic plate movement simulation with voronoi convection zones and texture-pixel layer as the simulation particles with reintegration tracking.

https://redd.it/1u6d6lh
@proceduralgeneration
Media is too big
VIEW IN TELEGRAM
Age of Empires inspired me to make an RTS with randomly generated maps. What makes procedural maps feel memorable?

https://redd.it/1u6n33y
@proceduralgeneration