Rebuild any DOM, exactly as the browser saw it.
Static HTML is a fraction of the real page. Reconstruction captures the tree after hydration, after interaction, and after every mutation the framework applied.
Hydration Capture
Captures are taken after client frameworks have mounted, so component output is present rather than the empty shell served first.
Shadow Boundary Pierce
Open and closed shadow roots are traversed and re-attached into a single addressable tree with stable node paths.
iframe Unrolling
Nested same-origin and cross-origin frames are unrolled with their provenance preserved for downstream rules.
State Vector Diffing
Successive captures are diffed structurally, so you see what changed rather than that something changed.
Clean Tree Synthesis
The reconstructed tree is normalised — wrappers collapsed, presentation-only nodes dropped — before serialisation.
Replay Fidelity
Every node keeps the coordinates and selectors needed to re-target it on a later visit, so rules survive redesigns.
[00:00.412] hydrate ok framework=react@19 [00:00.688] pierce ok shadow_roots=42 closed=7 [00:01.104] unroll_frames ok depth=3 [00:01.290] normalize ok nodes=12840 [00:01.301] serialize ok bytes=418293 [00:01.302] done confidence=0.9998