Row-level editing against a draft copy.
The row type.
Owns validation and persistence. Return { ok: false, errors } to keep the row open with per-field messages.
{ ok: false, errors }
The edit state and its mutators.
The draft never touches the data source, and editors never call an API — the single commit callback owns both, so an app can plug in whatever schema library it uses without the grid knowing about it.
RowCommitResult
Row-level editing against a draft copy.