December Adventure Day 21

Published as part of 'December Adventure 2025' series.

Yesterday and today I started a Rust project where I'm re-implementing the ebook-splitting code and where I'll write the new algorithm I mentioned the other day.

Part of picking up Rust again is getting my bearings, especially around organizing code into modules. I think I finally have the rule I need to remember that always trips me up:

When you have binary and library code, they are different crates and the library crate controls all the Rust source except the one file that makes the binary, main.rs. That's why in main.rs you use PACKAGE_NAME::... and everywhere else you use crate::.... The binary has to import the library. The library gets to talk about itself as the crate.