Problem
A hand-built world runs out the moment the player walks past its edge. The interesting problem is generating, streaming, and discarding chunks fast enough that the world feels endless instead of loading.
Approach
Chunks generate procedurally (grass, dirt, stone, sand, water, trees) and stream in as the player roams. Movement and collision run on Rapier physics. WASD and Space walk, jump, and fly; the player can break and place blocks, including advanced ones (glass, water, exploding TNT), and a day/night cycle runs an orbiting sun and moon over all of it.
What I'd change
Chunk generation and streaming currently run on the main thread, so a large render distance drops frames on generation. Moving it to a worker is the obvious next step and hasn't happened yet.