Commit graph

146 commits

Author SHA1 Message Date
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 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 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 d01f45ec18 chore(client): modified the radius of chunk generated from 4 to 8 2026-07-22 03:29:40 +02:00
Serkyo 0a2049bbc9 feat(client): render server-streamed chunks around the camera 2026-07-22 00:17:18 +02:00
Serkyo e00ceecab6 feat(net): expose the client chunk stream to the winit loop 2026-07-22 00:06:46 +02:00
Serkyo 9dc7bba3a9 feat(server): stream chunks to clients for their subscribed region 2026-07-22 00:01:57 +02:00
Serkyo 40b97d095e feat(net): carry chunk subscribe and delivery on the chunk stream 2026-07-21 23:53:15 +02:00
Serkyo d12f7ac034 chore(shared): reformat protocol re-exports for rustfmt 1.97 2026-07-21 22:18:58 +02:00
Serkyo 25b088ce0b refactor(server): move region files to 3D (rx, ry, rz) grid 2026-07-21 22:13:58 +02:00
Serkyo b3f10d8f12 feat(shared): add chunk subscribe and delivery message types 2026-07-21 21:57:55 +02:00
Serkyo ce79449a6c refactor(shared): split protocol into stub and control submodule 2026-07-21 21:57:38 +02:00
Serkyo 8cfee29b53 fix(renderer): silence release-build warnings from debug-only validation 2026-07-16 03:01:02 +02:00
Serkyo fd6ec10ce5 fix(renderer): recreate swapchain on resize and out-of-date present 2026-07-16 02:54:23 +02:00
Serkyo 2bf140cf02 feat(client): stream local chunk meshes around camera 2026-07-16 02:24:27 +02:00
Serkyo 60fe2fc294 feat(client): upload origin chunk via renderer insert_mesh 2026-07-16 00:05:30 +02:00
Serkyo dd8a969828 feat(renderer): render keyed collection of chunk meshes with per-chunk offset 2026-07-16 00:05:30 +02:00
Serkyo bb33247f96 chore(net): modified doc comments 2026-07-15 18:48:21 +02:00
Serkyo 7620c3b54e feat(client): connect to server and complete handshake 2026-07-14 01:38:58 +02:00
Serkyo e941415836 feat(server): accept QUIC client connections 2026-07-14 01:38:58 +02:00