Handle phased animation retargeting
This commit is contained in:
parent
1a75f47709
commit
b211b53528
4 changed files with 263 additions and 7 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue