Uploaded 0.7.1, same download link as in first post. Only difference to 0.7.0 is the blocker behavior, now it's mostly like in 0.6. Description in this post.
So failing as in "the intended solution no longer works (!)", or merely "the replay stops working because obviously this change slightly alters the timing of any lixes that interacted with blockers, and replays are currently strictly time-based and not position-based"?
Replay stops working because obviously the change slightly alters the timing of any lixes that interact with the blocker.
Instead of narrowing the blocker field, Nepster suggested to make a hollow field, and geoo suggested to special-case the blocker field for 0.7.1. This solves the original problem that led me to narrow the blocker field.
0.6.* blocker field: LLLLLL-RRRRRR
0.7.0 blocker field: LLLLL-RRRRR
0.7.1 field vs. builder: LLLLL---RRRRR
0.7.1 field vs. others: LLLLLL-RRRRRR (as in 0.6.*)
Right, it's no surprise that the outside shape affects many replays.
The goal is to always allow the crowd to follow a blocked builder A, even if we assign the blocker to B while the builder A is inside B's future blocker field. I'd like to investigate more whether we want an intrusive change or whether special-casing is OK. Maybe the builder-brick-doubling positions its duplicated brick badly and we should look into that instead.
It's not ideal perhaps, but at least we don't expect this kind of change to happen all that often, maybe never again, so maybe a one-time pain is alright?
It's probably good style to not break replays or the blocker field. We have changed the builder already. Maybe more changes to its behavior w.r.t. blockers is enough, and walker-blocker interactions can stay like in 0.6.
-- Simon