Phase 0: scaffold three-service backend (api/worker/frontend)

api/ (ElysiaJS+Bun WS gateway skeleton), worker/ (Rust, Redis dirty-chunk
stream consumer behind a swappable RenderBackend trait), frontend/
(ElysiaJS+Pug+Tailwind4+Alpine, one server-rendered page) — all three
verified running locally. docker-compose wires them up with postgres,
redis, minio (rendered tile/mesh object storage), and Caddy as reverse
proxy.
This commit is contained in:
2026-08-08 14:10:04 +02:00
commit 4c7cc26281
26 changed files with 1653 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
mod cpu;
pub use cpu::CpuRenderBackend;
/// Swappable rendering strategy (CPU via rayon / GPU via wgpu / hybrid) selected at startup
/// via the `RENDER_BACKEND` env var. Only the CPU path exists so far; GPU/hybrid land in
/// Phase 8, with automatic fallback to CPU if `gpu`/`hybrid` is requested but no compatible
/// GPU is found.
pub trait RenderBackend: Send + Sync {
fn name(&self) -> &'static str;
// Tile rasterization and chunk meshing methods land alongside their Phase 1/2 callers —
// no point defining signatures for data shapes that don't exist yet.
}