fn apply_logged(history: &mut History, op: &EditOp)Expand description
Apply an op to the history, logging a rejection rather than silently
dropping it. A stale-id / out-of-range op is a legitimate no-op (e.g. a
RemoveZoom whose target was already removed across an undo), but a
swallowed Err is invisible — surfacing it to the console keeps wiring
regressions debuggable.