Not stopping time — addressing it, by nesting level. Each decimal place is a depth: .0001 = L4 (finest) up through units = L0 (the floor). Advance the finest level — .0001, .0002, .0003 — until it freezes (rolls over), then carry up: resume from the frozen level and tick the next coarser one. Every execution state gets a unique address. 3.1234 and 3.1233 are different snapshots. Go as fine as you need.
A full address — 3.1234 — reads as: L0=3, L1=.1, L2=.02, L3=.003, L4=.0004. It's a coordinate for exactly one execution state, at every level simultaneously. The two-axis gap, made into a clock: vertical depth is the decimal place, the value at each place is how far that level has advanced.
You drive the finest level: .0001, .0002, .0003… When it reaches its freeze point (the radix — the loop completes / the level settles), it rolls over to 0 and carries up: the next coarser level ticks by one, and the fine level resumes from frozen. Exactly your walk — advance L4 till frozen, include into L3, start from frozen L3, advance, and so on up to L0. It's a mixed-radix odometer: each level a digit, freeze = rollover = carry.
This is a hierarchical timestamp — kin to a vector clock, where each component tracks a different level of the system, and the composite orders every state uniquely. It gives you finer-than-step control: you can hold L0–L2 frozen and sweep only L4, inspecting the innermost behavior while the outer structure stays fixed — the stop-sign-at-the-junction, asking "what am I doing" at exactly the depth you choose. And it's unbounded: need finer? add a place (.00001 = L5). The addressing never breaks; it just gets more precise. 3.1234 and 3.1233 are neighbors at the finest grain — distinct, ordered, addressable.