Rendering
A GPU-driven WebGPU pipeline. Culling, LOD selection and indirect dispatch stay on the GPU, lit by clustered lights, virtual shadow clipmaps and a physically based sky.
Bract is a GPU-driven WebGPU engine. Rendering, procedural generation, physics and streaming were designed together from the first commit, so one browser tab can hold an entire world, from orbit to the ground beneath your feet.
WebGPU · WGSL · TypeScript · WebAssembly
Most engines bolt scale on later. In Bract, the renderer, the generators and the spatial systems share one set of contracts. That is why they hold up when the world gets big.
A GPU-driven WebGPU pipeline. Culling, LOD selection and indirect dispatch stay on the GPU, lit by clustered lights, virtual shadow clipmaps and a physically based sky.
Terrain, erosion, biomes, foliage and oceans are generated, not authored by hand. Generators run as GPU compute and WASM, and the same seed gives the same world every time.
Double-precision world positions, a floating render origin, a dual spatial tree and a residency system that streams what the camera needs, from orbit down to the ground.
Each of these systems runs in the engine today. We test them in automated suites and check them visually in a live browser.
Visibility, LOD binning and draw generation run in compute shaders. The CPU describes the frame and the GPU builds it.
Page-resident shadow maps keep contact detail near the camera and stable coverage out to the horizon.
A physically based sky drives image-based lighting and an HDR, scene-referred post pipeline.
Lights are binned into clusters on the GPU, so dense night scenes stay within a predictable cost.
Double-precision world space with a floating, cell-anchored render origin keeps precision intact at planetary distances.
Thermal, particle and wind erosion, layered biomes and noise stacks, computed on the GPU.
Procedural trees compiled through WASM and scattered by biome, with LOD built in.
FFT ocean surfaces and GPU-resident fluid state, integrated with the compute pipeline.
Tiered determinism enforced by CI canaries. You can run on Jolt, Havok or the native solver.
Backends sit behind typed adapters. Serializable state lives in an entity–component model. Every major design choice is written down as an architecture decision record before we build it.
Playable builds open alongside early access. Each one runs in your browser, with nothing to install.
Early access opens in waves for studios, technical artists and teams building large worlds on the web. Tell us what you are making.