Testing — Unit tests that run your routines on an emulated CPU at build time. The shape of a !test block, what init_reg and assert_reg actually are, cycle budgets, and why a failing run needs -v to be useful.
The Language Server — Errors as you type, go-to-definition, hover showing a label's value or an instruction's T-states, and completion over your own names. How to point an editor at it, and the two reasons it can disagree with a real build.
Rhai Scripting — Computing things at build time instead of typing them. The three forms a script takes, everything ctx offers, why an expression call cannot change state, the sandbox and its limits, and what a script fault looks like.
Using It as a Library — For Rust developers rather than Z80 programmers: assembling in-process and getting bytes and structured diagnostics back as values. Where the diagnostics actually live, why warnings is not only warnings, and what the crate promises about staying still.