Add a KWin JavaScript effect for compositor-side size and translation transitions, and enable it in convergence mode. Keep the tile preview effect as an outline driver so nested preview does not activate a SceneEffect surface.
Expose layout requests and state through shell settings so Folio
can offer alternatives for the current tiled workspace. Keep KWin
as the owner of layout changes, snapshot request serials so requests
are not dropped, and hide the edge menu when fewer than two windows
are tiled.
Show each running window as its own card in the Folio Running
panel, including duplicate apps. When a card is dropped on another
desktop, still call requestVirtualDesktops() after notifying dynamic
tiling so the move actually completes. Add a guard to keep both
behaviors from regressing.
Reserve side and bottom decoration borders for normal windows and draw a rounded decoration frame so windows match the convergence workspace shape. Add static guards for the decoration and existing workspace-frame corner geometry.
Keep one layout per output and virtual desktop. Move new windows to another existing desktop when the current page is full.
When a user moves a window onto a full page, replace the last focused window on that page and send it back to the source desktop. Use stable slot swaps instead of insert splits so the layout shape does not change during moves.