Repository navigation
Executables
Source: apps/server/main.cpp
Build: xmake build lpl-server
Serveur autoritaire utilisant le Core engine :
- Crée une instance
Core(Network initialisé automatiquement) - Spawne 50 NPCs aléatoires (IDs 1–50) au démarrage
- Enregistre 7 systèmes ECS :
-
PreSwap :
NetworkReceive→Session→InputProcessing→Movement→Physics -
PostSwap :
Broadcast→ServerMonitor
-
PreSwap :
-
core.run(true)— boucle fixe 60Hz en mode threadé (parallélisme intra-stage) -
Ctrl+Cpropre viasigaction(sansSA_RESTART)
Network : essaie le driver kernel (/dev/lpl0) en premier, fallback sur socket UDP si indisponible.
Usage:
xmake build lpl-server
xmake run lpl-serverSource: apps/benchmark/main.cpp (uses the lpl-bench harness)
Build: xmake build lpl-benchmark
CPU micro-benchmark suite. Each case reports mean ± relative stddev, min, p99 and sample count. Covers:
- Allocators (arena / pool / libc
malloc) - CORDIC
sin(Fixed32) vsstd::sin, with accuracy vs libm - EntityRegistry create/destroy, WorldPartition build+insert
- Physics scalability sweep (1k → 20k entities, real-time budget classification)
- FlatAtomicHashMap (insert / get / forEach / parallel / churn)
- SoA vs AoS layout, SparseSet vs linear scan, N² vs broad-phase collision
See Performance Results for the latest numbers.
Usage:
xmake build lpl-benchmark
./build/linux/x86_64/release/lpl-benchmark [numEntities] [numFrames]Source: apps/client/main.cpp
Build: xmake build lpl-client
Dependencies: Vulkan SDK, ImGui (auto-fetched via xmake)
Client desktop utilisant le Core engine + Vulkan renderer :
- Crée
Core→initClientNetwork(serverIp, serverPort)(envoieMSG_CONNECT) - Init BCI via source factory (serial/synthetic/lsl/csv avec fallback)
- Enregistre les systèmes ECS :
-
PreSwap :
NetworkReceive→Welcome→StateReconciliation→BCI→LocalInput→Spawn→Movement→Physics→InputSend -
PostSwap :
Camera→Render
-
PreSwap :
-
core.runVariableDt()— boucle avec delta time variable - Client-side prediction via
InputManager::computeMovementVelocity() - Rendu Vulkan avec ImGui overlay
| Key | Action |
|---|---|
| W/A/S/D | Movement relative to camera |
| Arrow keys | Camera rotation |
| Escape | Quit |
Usage:
xmake build lpl-client
xmake run lpl-client← Implementation Status | Next: Roadmap →
LplPlugin — Zero-Copy Real-Time VR Engine | Author: MasterLaplace | License: GPL-3.0 | Source Code
This project is a marathon, not a sprint.