1
0
Fork 0
forked from wry/wry

Add spawn-in window animations

This commit is contained in:
atagen 2026-05-21 16:06:33 +10:00
parent 7575f851fe
commit 18ffaef64d
6 changed files with 157 additions and 12 deletions

View file

@ -12,8 +12,10 @@ be handled deliberately.
- Pointer drag and resize initiated by the mouse or tablet do not animate.
- Linear animations restart only for windows whose destination changes. Other
in-flight windows keep their existing timelines.
- Spawn-in uses scale and position. Spawn-out requires retained visual content
and is deferred until the freezing layer exists.
- Spawn-in uses scale and position for newly mapped tiled and floating app
windows. Layer-shell, overlay, override-redirect, and fullscreen surfaces do
not use this path. Spawn-out requires retained visual content after the live
node is gone and remains deferred.
- Command-driven tile-to-float and float-to-tile transitions may animate.
Protocol drag/drop paths do not.
- The no-overlap multiphase system is a separate phase after the linear path is
@ -80,8 +82,8 @@ Implementation shape:
Initial scope:
- Tiled reflow animation.
- Floating command-driven moves, tile-to-float, float-to-tile, and spawn-in are
deferred until after tiled reflow is validated.
- Floating command-driven moves, tile-to-float, and float-to-tile are deferred
until after tiled reflow and spawn-in are validated.
- Cross-output and cross-scale movements snap for now.
- Linear mode may overlap windows during swaps. That is expected for the classic
interpolation mode; no-overlap is Phase 3.
@ -89,7 +91,6 @@ Initial scope:
deferred, but animated windows must still be clipped to their presentation
bounds and must preserve the existing stretch behavior for undersized contents.
- No spawn-out.
- No content freezing.
- No multiphase no-overlap planner.
Tests:
@ -107,6 +108,8 @@ Goal: freeze visual contents during movement and enable spawn-out.
Initial retained-record implementation status:
- Tiled animation can retain GPU/dmabuf-backed XDG and Xwayland surface trees.
- Spawn-in animation can retain GPU/dmabuf-backed XDG and Xwayland surface trees
for both tiled windows and floating child contents.
- Retained records hold both `GfxTexture` and `SurfaceBuffer` references so the
existing buffer release/sync path remains authoritative.
- Single-pixel buffers can be retained as color records.