MDietermann
225c6f7253
feat(streaming): load full column bedrock->surface to fix terrain holes
2026-06-03 08:01:38 +02:00
MDietermann
cba6b8c761
feat(world-gen): move cave ceiling and dark bands to new sea level (256)
2026-06-03 07:53:34 +02:00
MDietermann
2677b1b003
feat: New Textures for ores
2026-06-01 22:09:02 +02:00
MDietermann
94930faccb
feat(rendering): frustum-cull chunk draws and log render counts
2026-06-01 20:14:03 +02:00
MDietermann
43527e617b
feat(streaming): load surface shell + player slab instead of vertical box
2026-06-01 18:51:38 +02:00
MDietermann
9daa9f8267
feat(rendering): distance fog and config-derived far plane
2026-06-01 18:46:02 +02:00
MDietermann
6c808b507b
feat(config): add visibility + MinCaveY fields and cave-gen docs
2026-06-01 18:38:30 +02:00
3704d7ce1e
feat(core): wire fog-distance uniforms in Game render loop
2026-06-01 15:48:10 +02:00
9410fee78b
feat(world-gen): integrate CaveCarver into WorldGenerator.Generate
2026-06-01 15:43:32 +02:00
8166c25ba6
feat(core): add cave-generation and fog tuning to Configuration
2026-06-01 15:14:22 +02:00
2c95c7831a
feat: weight vertical distance in chunk-load priority
...
Adds Configuration.VerticalPriorityWeight (default 4). The priority
formula in ChunkStreamer.RecomputeTargetSet now uses
dx^2 + dz^2 + dy^2 * VerticalPriorityWeight, so horizontal chunks at
the player's Y are dispatched before equally-distant chunks above or
below. Fixes janky loading where deep-underground chunks were
competing with surface chunks for early dispatch slots.
2026-06-01 13:41:55 +02:00
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