library
src/ is the mind. library/ is what it is built with: vectors and rotations, image
arithmetic, fitting, codecs — code that would be the same in any mind.
library/
├── vec/
│ ├── vec.ts # TypeScript half
│ └── vec.rs # Rust half
├── image/
├── fit/
└── codec/
The test: could it be copied into another cognet unchanged? A function that halves an
image passes. A constant naming this body's sensors doesn't — it stays in src/.
No world
Nothing here reads or writes components, or knows what a tick is. Values in, values out. That is what makes it testable on its own, and what keeps the systems that call it short.
Nothing here imports from src/.
Any language
A library can have halves in more than one language, side by side: vec/vec.ts,
vec/vec.rs. Rust reaches it as crate::library::vec::vec, Python as library.vec.vec.
Where a computation exists in two languages, both give the same numbers, to the last digit — so a system ported from one to the other can be checked against itself.
One seam, one file
A dependency that might change is imported in exactly one place here. Change how frames are
encoded, and one file in library/codec changes — nothing that sees.