Skip to content
jess
guide

Contributing

Build jess, run its gates, understand its internals, and get changes released.

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.