Boundary rules
- Core stays host-agnostic.
- Rhino handles Rhino/Grasshopper specifics.
- The web app owns browser UI concerns.
- Tests check behavior and contracts, not private implementation details.
Why it matters
This separation keeps the public docs clean and makes it easier to document behavior without exposing the code paths behind it.