//! Axis/grid/crosshair/tooltip guides — read [`crate::scale::Scale::ticks`]
//! and [`crate::theme::FigureTheme`], draw through the same
//! [`crate::coord::PlotArea`] transform every mark uses.
//!
//! `crosshair`/`tooltip` are the V2 interaction-plane additions (design
//! doc §3, `guide/` block) — both take an already-resolved position from
//! [`crate::interact`], never their own hit-testing. `legend` is the
//! multi-series addition — measured BEFORE plot layout so a figure can
//! shrink its own plot rect by the legend's exact measured size (see
//! `legend`'s own module docs, design law #1). `colorbar` is the
//! continuous-[`crate::scale::color::ColorScale`] counterpart of `legend`
//! — same measure-before-layout discipline, a gradient swatch instead of
//! a discrete list. `labeler` is the harvested bitmap-occupancy 2D label
//! placer (research doc §2, arXiv 2405.10953) — a generalization of
//! `axis`'s own 1D skip-only greedy collision to arbitrary screen-space
//! label rects, used by [`crate::figure::TimelineFigure`]'s point labels
//! and exposed generically for future figures. `wrap` is a small, pure,
//! measure-fn-driven word-wrap + ellipsis-truncate utility lifted from
//! `foxhound-app-shell-native` (see that module's own doc comment) --
//! feeds pre-wrapped lines to `tooltip::draw_tooltip` or any other
//! multi-line text layout. `text_protect` is the small `plate`/`halo`
//! label-readability primitive pair (typography-gap follow-up, see that
//! module's own doc comment) — used by `annotation`'s own `HBand`/`VBand`
//! label plate, and by `uzor-graph`'s node-label halo (a separate crate,
//! hence its two functions are `pub`, not `pub(crate)`).