JARVIGManual

Modules

Build only what the target needs.

ModuleNative homePrototype todayServer
Core, clock, jobsnative/jarvig_core (clock only)@jarvig/coreyes
Math, frameslater crate@jarvig/math, @jarvig/worldyes
ECSlater crate@jarvig/ecsyes
Assetslater crate@jarvig/assetsyes, without GPU payloads
Materialslater crate@jarvig/materialsschema only if gameplay needs it
Rendererjarvig_renderer (RHI only)@jarvig/render null deviceno
RHIjarvig_rhi plus null backendnonenull only, and the server does not need to link it
wgpu backendjarvig_rhi_wgpu onlynoneno
Windowjarvig_platform (winit)noneno
Physics, animation, audio, AI, netreserved directoriesnot startedphysics, AI, net yes; audio and render no

A game module lives under game/, not in engine/. The editor loads it. Hot reload is a future reload of that module across the C ABI. Do not design an API that only works if the game is compiled into the editor binary, and do not block the bootstrap on hot reload.

Job-system, SIMD, and allocation budgets are requirements of the native core. They are not implemented. Do not invent frame-time numbers for them.