Alter URL encoding

This commit is contained in:
2026-07-11 22:50:45 -05:00
parent 20cd4ba6a0
commit 6ce1c39b8d
4 changed files with 177 additions and 17 deletions
+5 -3
View File
@@ -94,9 +94,11 @@ must never be reordered. Append new paths, replace removed paths with `null`, an
edit a path in place for a logical rename or move. Node IDs therefore cannot
contain `>`.
The fragment contains independently trimmed checked (`c`) and expanded (`x`)
bitsets. Bits are least-significant-bit first within each byte. Missing bits
default to unchecked and collapsed; malformed or unsupported state is ignored.
The fragment adaptively encodes checked (`c`) and expanded (`x`) state using the
shortest of a dense bitset, sparse enabled slots, or sparse disabled slots.
Sparse slot numbers are delta-encoded variable-length integers. A coverage value
in the disabled-slot form ensures nodes appended later still default to unchecked
and collapsed. Malformed or unsupported state is ignored.
The helpers `encodeTreeState`, `decodeTreeState`, `applyTreeState`, and
`restoreStateFromLocation` are also exported for custom integrations.
Use `validateManifestEvolution(previous, next)` in a build check to reject