Commit Graph
3 Commits
Author SHA1 Message Date
LeoVasanko 379b0de1dc Replace jsondiff producer with own diff; support list edits in replay
compute_diff now emits a simple subset of jsondiff's marshaled syntax:
plain key assignment for adds and full-value changes (lists replaced
wholesale), $delete for removed object keys, and $replace only when a
dict replaces a non-dict. Removed keys are always $delete, even when the
object becomes empty (jsondiff emitted $replace: {}).

apply_diff (single implementation in serialization.base, used by both
replay and patch_state) additionally accepts jsondiff-produced patches:
positional $insert/$delete and per-index nested diffs on lists, plus
$ escaping of user keys and values per the marshal format.

jsondiff moves to the dev dependency group; it is used only by tests
that verify patch compatibility in both directions.
2026-09-02 04:06:36 +00:00
LeoVasanko b501fcca86 Only Kanta exported at root, others available from submodules. 2026-06-13 21:26:35 +00:00
LeoVasanko c254970ae5 Initial commit 2026-06-12 19:15:46 +00:00