Event direction
change is the committed transaction stream. ChangeEvent.source is local for user/API output that a host may persist and remote for already-persisted input that must not be enqueued again. Selection, search, renderer fallback, and other UI events remain observational.
Framework onGridChange/grid-change callbacks carry the same committed event. Adapter readiness is { grid, generation, reason }; reason distinguishes initial, input-reset, and renderer-reset. The imperative ref, exposed handle, or binding is assigned before readiness and cleared on replacement.
Validation and persistence failures
SnapshotValidationErrorrejects malformed workbook snapshots with a path/code/message rather than hydrating partial state.DocumentValidationErrorreports invalid document operations and policy failures.PersistenceErrorclassifies host load/commit failures.IndexedDbPendingCommitStorageErrorclassifies durable pending-queue failures in the browser entry point.IncompleteDataErrormeans an operation requires datasource cells that paged storage has not loaded; load the required pages or avoid a full-sheet operation.
Worker startup and capability failures switch to the canvas renderer and emit renderer-fallback; observe grid.rendererKind to report the active renderer, not the requested option.