VoxelCut

A voxel engine written from scratch in C++26 on a hand-written Vulkan backend, and the game being built on it. This wiki is where the decisions live — what was chosen, why, and what each choice rules out.

How to read this. Each section below is self-contained and has its own navigation once you are inside it. Technical terms are marked with a dotted underline on their first appearance on a page — hover, or tab to them, for a definition and a note on why the term matters here. The full list is on the glossary page.

Sections

Where the project is

AreaState
RendererHand-written Vulkan backend behind a backend-agnostic interface. Textured discrete cubes, per-face texture arrays, ambient occlusion, a stroke-font HUD and a wireframe overlay
Voxel dataChunked world of 32³ chunks; every cell carries a type, material, density byte and a Terrain/Construction class tag
GenerationA staged pipeline: fBm surface with domain warping, 3D noise caves, layered strata with two anchoring modes, mineral seams conditioned on host rock, a terminal bedrock clamp and a density mip-chain
PhysicsFixed-timestep character controller, swept AABB against the voxel grid, with contact normals
EditingClass-aware raycast, place and remove, and a game mode that wears a voxel down over several strikes
Terrain silhouetteStill discrete cubes. Marching Cubes is designed and scheduled, not built
World scaleA fixed dev world held densely in memory. Streaming, persistence and generated world artifacts are designed, not built
GameBarely started. The material table and the digging model are in; everything above them is open