Files
netris-nestri/crates
Wanjohi 4d97424cc9 fix(nesinit): a launch is a session of its own and the box owns the compositor
Stopping a launch signalled only its top process, so the compositor wrapper,
wine and the game survived and the window stayed open. Each launch now runs
under setsid; a stop signals the whole session (TERM, then KILL after 5s) and
a launch counts as ended only once its session is empty.

The compositor moves out of the first launch into the box: the boot
descriptor carries an optional Compositor (geometry, rate, uid, env) and
nesinit starts it before the box reports ready, so every launch joins it.
2026-10-18 06:44:03 +03:00
..
2026-08-26 17:49:43 +03:00

crates/

Shared Rust: a library another crate in this repo depends on. A binary someone runs goes in apps/; shared JS/TS goes in packages/. The split is by what a thing is, not by what language it is written in — same rule on both sides of the repo.

Empty today. Components move here one at a time as they are opened.

Two rules

Every version is pinned in the root Cargo.toml. A member writes tokio.workspace = true and never a version, so two crates in this tree cannot disagree about a dependency.

Nothing here may depend on anything closed, or name it. This repo is public. A crate that needs a private component is in the wrong repo, and a comment explaining who calls this wants a category noun — "the caller", "a supervising agent" — rather than a name. The requirement is the interesting part; who currently satisfies it is not.