Commit graph

226 commits

Author SHA1 Message Date
Serkyo efc8fc12ac ci(workspace): cache cargo artifacts between runs 2026-08-03 23:49:21 +02:00
Serkyo 9b21db0029
Merge pull request #8 from Cryoforge-Nexus/feat/debug-stats-overlay
feat(workspace): runtime diagnostics and the debug statistics panel
2026-08-03 23:13:06 +02:00
Serkyo 824702f0fb docs(workspace): index the new notes and refresh chunk streaming 2026-08-03 03:12:56 +02:00
Serkyo a7fd8dca3b docs(workspace): document runtime diagnostics and the authority stream 2026-08-03 02:52:44 +02:00
Serkyo 338ef9dbe5 docs(workspace): document chunk meshing and visibility 2026-08-03 00:49:07 +02:00
Serkyo e6c55cfd6a perf(server): budget per-tick chunk delivery 2026-08-02 22:58:31 +02:00
Serkyo d33fb518fa refactor(server): format the simulation statistics as a panel 2026-08-02 04:36:12 +02:00
Serkyo 3f1640ce09 fix(client): default the log filter when RUST_LOG is unset 2026-08-02 03:18:49 +02:00
Serkyo 4153a0e9a0 refactor(server): rate-limit the chunk streaming logging 2026-08-02 03:07:33 +02:00
Serkyo 7e5fae7e44 feat(server): report simulation statistics to the log 2026-08-02 03:01:15 +02:00
Serkyo cc6b0cada6 refactor(client): drop chunk logging superseded by the statistics panel 2026-08-02 02:29:41 +02:00
Serkyo c3d757f8dc docs(client): document the raster chord key constants 2026-08-02 01:59:02 +02:00
Serkyo 15a3c74bec feat(client): report debug statistics to the terminal 2026-08-02 01:43:27 +02:00
Serkyo d445a29e5e feat(client): add a stackable stats overlay toggle 2026-08-02 00:44:10 +02:00
Serkyo 17e7b465ce feat(client): accumulate frame and host statistics 2026-08-01 23:18:52 +02:00
Serkyo e4913dfd09 feat(server): report tick and world statistics 2026-08-01 02:05:44 +02:00
Serkyo 0e4d8cb056 feat(net): add the authority stream transport 2026-07-31 23:42:05 +02:00
Serkyo 01f566e824 feat(shared)!: add server stats message and kind 2026-07-31 03:14:20 +02:00
Serkyo 8b031de071 feat(net): expose transport statistics 2026-07-31 02:41:53 +02:00
Serkyo 0c7785d869 feat(client): expose chunk streaming statistics 2026-07-31 01:26:39 +02:00
Serkyo 0e8ba02038 feat(renderer): expose physical device information 2026-07-31 00:38:02 +02:00
Serkyo 89887c5b98 feat(renderer): expose per-frame draw statistics 2026-07-30 23:31:18 +02:00
Serkyo c33643027c fix(server): sleep the remainder of the tick period
The simulation loop slept a flat 50 ms after the tick body, so the real period was the tick's work plus 50 ms and drifted with load; the advertised 20 Hz was never the rate actually achieved. The loop now timestamps the top of the tick and sleeps only the unused remainder of the budget, reporting an overrun instead of sleeping when the body exceeds it.
2026-07-30 22:29:43 +02:00
Serkyo a2b20f0ee9
Merge pull request #7 from Cryoforge-Nexus/feat/meshing-and-culling
feat(workspace): meshing, culling, and debug render modes
2026-07-30 21:58:56 +02:00
Serkyo 95c798954c perf(server): generate chunk baselines outside the cache lock 2026-07-28 00:22:37 +02:00
Serkyo 1d041e035e feat(client): add a solo modifier for debug view chords 2026-07-27 21:36:14 +02:00
Serkyo 324d1b144d feat(renderer): compose render modes from raster passes 2026-07-27 21:36:14 +02:00
Serkyo 8af6ae9661 feat(assets): size and tint debug raster passes in the vertex shader 2026-07-27 21:36:14 +02:00
Serkyo 5c10aefee9 feat(client): add debug controls for toggling render modes 2026-07-27 21:14:22 +02:00
Serkyo 5f4b30a4dc feat(renderer): add selectable debug render modes 2026-07-27 21:10:26 +02:00
Serkyo a5af42f119 feat(client): mesh chunks on a background worker pool 2026-07-26 20:19:59 +02:00
Serkyo dae0bafcd3 refactor(client): abstract chunk mesh upload behind a MeshSink trait 2026-07-26 20:19:27 +02:00
Serkyo 2abe08bf57 chore(client): add crossbeam-channel dependency 2026-07-26 20:14:38 +02:00
Serkyo 5e1b4de98b test(client): relocate chunk streaming tests into src/tests 2026-07-23 03:45:21 +02:00
Serkyo 79543002b1 feat(client): retain chunk voxels and re-mesh neighbours on load and drop 2026-07-23 03:40:16 +02:00
Serkyo 3b3a4a107b feat(renderer): cull voxel faces against neighbouring chunks 2026-07-23 03:40:09 +02:00
Serkyo d8d6635f37 refactor(renderer): rename mesh module to vertex 2026-07-23 02:49:14 +02:00
Serkyo d2f4beb5af refactor(client): mesh chunks via the renderer and drop the client copy 2026-07-23 02:49:14 +02:00
Serkyo edc72a0f6f perf(renderer): merge coplanar voxel faces with a greedy mesher 2026-07-23 02:49:14 +02:00
Serkyo 748e783f1e test(renderer): relocate frustum tests into src/tests 2026-07-23 02:11:50 +02:00
Serkyo bb4e591a09 fix(net): split chunk stream reader and writer to avoid frame desync 2026-07-22 14:45:41 +02:00
Serkyo 20d36624c7 fix(net): enable QUIC keep-alive to survive backpressure stalls 2026-07-22 05:27:01 +02:00
Serkyo f465cfeeaf fix(net): bound chunk delivery channel to apply backpressure 2026-07-22 05:27:01 +02:00
Serkyo a20d98a107 feat(renderer): cull chunk meshes outside the view frustum 2026-07-22 05:17:41 +02:00
Serkyo e5d39be400 ci(workspace): guard against raw blobs that should be git lfs 2026-07-22 04:26:35 +02:00
Serkyo 57d8729470 chore(assets): store compiled shaders via git lfs 2026-07-22 04:23:46 +02:00
Serkyo e7c7dc5aea
Merge pull request #6 from Cryoforge-Nexus/feat/chunk-streaming-slice
feat(client): stream and render server-authoritative chunks end-to-end
2026-07-22 04:01:51 +02:00
Serkyo d01f45ec18 chore(client): modified the radius of chunk generated from 4 to 8 2026-07-22 03:29:40 +02:00
Serkyo 653fd24e15 docs(server): document client-server chunk delivery transport 2026-07-22 00:17:18 +02:00
Serkyo 0a2049bbc9 feat(client): render server-streamed chunks around the camera 2026-07-22 00:17:18 +02:00