/// Read-only view of the input surface (editor or search box) for the
/// autocomplete controller. All offsets are **byte offsets** into
/// `buffer_text()`.
///
/// The trait is intentionally read-only: the controller computes what to
/// insert and returns an `AcceptAction` (see `controller`), and the host
/// applies it. That split keeps borrow-checker contention out of the way
/// when the controller is held as a field of the host itself.