1# @ajax/mesh-place-compose
23Moving a placed program's bytes: its state regions read and written through the view
4(`mpc_read_state`, `mpc_write_state`), its frame parts gathered from the output regions and scattered
5into a show buffer (`mpc_gather`, `mpc_scatter`, `mpc_sys_nibbles`), and the Composer (`mpc_add`), which
6matches the parts of a frame arriving from several machines and yields the frame only once it has every
7part (older incomplete frames are dropped; at most 8 kept).
89## Ported from
1011[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) `crates/mesh-host/src/place.rs`:
12`read_state`, `write_state`, `gather`, `scatter`, `sys_nibbles`, `Composer`, `Whole`, `PENDING`.
1314## Tests
1516`tests/compose.c`: the Rust's `gather_scatter_state` and `composer_matches_frames`.
1718## Licence
1920MIT. See the repository's LICENSE.