8423b73dfd
chore: tighten Configuration defaults for memory and CPU
...
RenderDistanceVertical 4 -> 2 (smaller vertical load box) and
WorkerThreadCount ProcessorCount-1 -> ProcessorCount/2 (less
aggressive worker pool).
2026-06-01 13:38:53 +02:00
59466fb291
feat: wire infinite chunk streaming into Game with loading screen
2026-06-01 12:57:09 +02:00
39375b83ea
refactor: extract shared ChunkMath.FloorDiv helper
2026-06-01 10:45:58 +02:00
6a68953c9a
feat: World.SetBlock writes through to IChunkModificationStore
2026-06-01 10:35:10 +02:00
1339bb45ec
feat: add Configuration class with user-tunable defaults
2026-06-01 09:34:40 +02:00
c1be0f75e5
feat: Random Seed toggle & removed unused atlas.png
2026-06-01 09:24:52 +02:00
MDietermann
f5787dc9cc
feat: generate procedural world on load via WorldGenerator
2026-05-31 22:11:27 +02:00
MDietermann
c81cd3c561
feat: derive atlas tile size from loaded texture dimensions
2026-05-31 21:43:53 +02:00
MDietermann
4e14786668
New Atlas + Texture Pipeline
2026-05-31 20:32:46 +02:00
49d35cab5b
feat: add multi-chunk world with cross-chunk face culling
...
Add a World that stores chunks in a Dictionary keyed by chunk
coordinate, with floor-division world<->chunk coordinate mapping
(correct for negative coords). The mesher takes an optional neighbor
sampler so faces at chunk borders are culled against adjacent chunks
instead of always meshing the shell. Render one ChunkRenderer per
chunk, placed via the model matrix. Reorganize the World layer into
Blocks/ and Chunk/ sub-namespaces.
2026-05-28 15:32:45 +02:00
70c986529b
style: apply code-style cleanup (explicit types, this-qualification, switch expressions)
2026-05-28 13:29:13 +02:00
177c47e8f8
feat: wire game window, render loop, and fly-camera input
2026-05-28 12:22:19 +02:00