1# @ajax/mesh-place-mode
23How a program is placed across a cluster of N machines: `local`, pinned to one machine (`pin 2`), or
4split by an assignment of its parts to systems (`split`, `split 0,1`, `split 1:3,2:1`, and `split auto`,
5weighted by each machine's measured time per part); the wire codes (PLACE_*, PX_PLACE_ASSIGN); and each
6machine's role in a mode (local, runner, mirror, owner, follower), where input goes, which parts it
7renders, and whose state continues across a change.
89## Ported from
1011[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) `crates/mesh-host/src/place.rs`:
12`Assign` (`new`, `owner`, `mask_of`, `members`, `list`, `counts`, `even`, `auto`, `check`), `mask`,
13`Mode` (`parse`, `code`, `assign_bytes`, `from_code`, `label`, `allowed`, `fits`), `Target`, `Role`,
14`role`, `runs`, `input_to`, `parts_of`, `authority`.
1516## Tests
1718`tests/mode.c`: the Rust's `modes_and_assignments`, `roles_input_authority` and
19`auto_weights_the_slow_machine_down`, with the error messages.
2021## Licence
2223MIT. See the repository's LICENSE.