1
0
Fork 0
forked from wry/wry

Handle phased animation retargeting

This commit is contained in:
atagen 2026-05-22 16:35:44 +10:00
parent 1a75f47709
commit b211b53528
4 changed files with 263 additions and 7 deletions

View file

@ -288,8 +288,27 @@ Hard failure:
## 9. Mixed-Action Phases
Look for layouts where one window can move on one axis while another window
scales on a different axis in the same proven phase.
This case is easiest to prove with the planner tests because Wry currently has
few user commands that create a same-batch move for one tiled window and an
independent resize for another. The canonical geometry is:
```text
start: A = (0,0)-(80,80) B = (200,0)-(280,80)
target: A = (40,0)-(120,80) B = (200,0)-(280,120)
```
`A` moves horizontally while `B` scales vertically. The windows are far enough
apart that the mixed phase is provably non-overlapping.
To exercise the current proof directly, run:
```sh
cargo test animation::multiphase::tests::mixed_single_phase_accepts_move_and_scale_when_proven
```
For visual/manual testing, use any command sequence that can produce the same
shape in one layout batch: one window changes only x-position, and a separate,
non-overlapping window changes only height.
Expected:
@ -298,8 +317,8 @@ Expected:
- no individual window moves diagonally
- no overlap occurs at any point during the phase
This is easier to confirm with debug fallback logs plus visual inspection. A
fallback here is acceptable if the planner cannot prove the sequence.
A fallback here is acceptable if no normal user command can create this geometry;
the planner test above is the authority for the mixed-action rule.
## 10. Mono Mode