jess is one Rust 2024 crate with a library and a binary. These pages cover the gates every change passes, where things live, and how the runtime is put together.
- Building and Testing: the exact checks CI runs and how to run them locally.
- Architecture: the module map, and the rules the layout enforces.
- Script Domains: isolated Luau authorities in one process, and how contexts, capabilities, workers, generations, and teardown work.
- Application Kernel: a script domain joined to live input, advancing frames, with no window and no renderer.
- Render Graph: the backend-independent render graph IR, what it deliberately isn't, and how passes, targets, ordering, culling, lifetimes, and aliasing work.
- Shader IR: the typed shader IR, and how validation, source attribution, constant folding, and WGSL lowering work.
- Input Runtime: device truth, the serializable action graph, sets and layers, ticks, intents, binding presentation, and the platform backends.
- Localization: message bundles, the ICU MessageFormat they speak, how locales fall back, and why every pattern compiles once.
- Luau Style: how jess's own Luau and every example here are written, and the checker that enforces it.
- Benchmarks: the harness, why it refuses unverified builds, and how to compare two runs.
- Releasing: tags, crates.io, and what the release pipeline does with them.
Bugs and patches go to GitHub. Commits are one line, prefixed with what kind of change they are (FEAT:, FIX:, CLEANUP:, REFACTOR:, PERF:, TEST:, DOCS:, DEPS:, CI:), and say what changed in plain words.
Building and Testing
The toolchain, the development build, the gates CI runs, and how the test suite is laid out.
Architecture
The module map: what lives where, what moves between the layers, and the rules the layout enforces.
Releasing
How a release is built and published, and how this site deploys.
Benchmarks
The harness under tools/bench: why it refuses an unverified build, how a bench checks its answer before it posts a time, and how two runs are compared.
Luau Style
How jess's own Luau, the templates, and every Luau example in these docs are written, and @jess/style, the checker that holds them to it.
Render Graph
What jess::render is, what it deliberately is not, and how passes, targets, ordering, culling, lifetimes, and aliasing work.
Shader IR
What jess::shader is, what it deliberately is not, and how its types, validation, source attribution, constant folding, and WGSL lowering work.
Input Runtime
What jess::input is, what it deliberately is not, and how devices, the action graph, sets and layers, ticks, backends, and the Luau that labels and routes them work.
Localization
What @jess/l10n is, the ICU MessageFormat it speaks, how bundles are laid out and loaded, how locales fall back, and why every pattern compiles exactly once.
Audio Engine
How jess::audio mixes on a sample clock without ever waiting on a script: the control side and the render side, frame-stamped commands, the graph, voices, streams, devices, and what is left for later.
Audio Graph
The architecture of jess::audio as a compiled signal graph: definitions, plans, and node state kept apart; revisions made whole on the control side; voices that never touch the graph; feedback, latency, modulation, and the processor contract.
Script Domains
What jess::runtime is, what it deliberately is not, and how domains, contexts, capabilities, workers, generations, and teardown work.
Application Kernel
What jess::host is: a script domain with its live input service, the frame a host runs, how the input phase arrives, and what a capability denial looks like.