// Package html prepares safe, transactional browser updates from the
// frontend-neutral github.com/bnema/vev-vt/core model.
//
// Renderer state is single-owner and is not internally synchronized. Prepare
// allows exactly one outstanding draw. The consumer must call Commit only
// after accepting the immutable update, or Abort to preserve the committed
// shadow. Reset invalidates any outstanding draw.
//
// Damage values are non-authoritative hints: every row is compared with the
// committed shadow, so mutations outside reported damage remain observable.
// Updates replace complete rows to preserve wide-cell atomicity. Rows are
// encoded as text runs of same-style printable ASCII; wide and non-ASCII
// characters stay single entries. Scroll damage
// uses a full snapshot until browser measurements justify a more complex plan.
//
// The package emits typed data and structural CSS; it never converts terminal
// text to markup. Package browser owns safe DOM application and neutral input
// events. HTTP, WebSocket, sessions, PTY encoding, and application policy are
// consumer responsibilities.
package html