mirror of
https://github.com/lexmount/moli.git
synced 2026-10-05 08:00:56 +00:00
Per-Window length counters cannot shrink after traversal and branching, and leave retained sibling History objects stale. Give each traversable one ordered history and cursor with stable step, browsing context, and Document identities. All History getters read that state; Navigation entries remain Document views. Route push, replace, traversal, and pruning through the shared model. Carry browser positions or renderer snapshots into new Documents and publish committed mutations through the Page owner-action FIFO. Remove cached length adjustments and DOM-order traversal guesses. Preserve srcdoc identity when only its parent's URL changes. Keep reset callback pushes in both renderer and browser history, and prune discarded sibling Navigation entries when forward steps are removed. Validation: cargo fmt --all; workspace all-targets/all-features Clippy with warnings denied; cargo nextest run --no-fail-fast (18,501 passed, 14 skipped); 12 targeted Chromium/Moli state and length comparisons; frontend differential 1,020/1,020 matches, all 5,259 observed frames matching, with zero retries.