mirror of
https://github.com/BetterCorp/BetterFrame.git
synced 2026-05-26 22:26:33 +00:00
When the active layout switches, cells that exist in both old + new (same camera, same URL, same HTML) now slide + scale from their old screen position to the new one over 350ms (ease-out cubic). Fresh cells fade in; removed cells fade out where they were. Implementation: - Each cell widget gets a stable widget_name (cam:<id>:<selector>, web:<url>, html:<hash>) so old/new can be matched. - Before swap, capture each cell's bounds + a WidgetPaintable snapshot. - New grid wrapped in an Overlay; a Fixed ghost layer hosts the animated Picture widgets driven by add_tick_callback + ease-out cubic. - Once the window finishes the animation timer, the overlay is unwrapped back to a plain grid so subsequent renders don't accumulate layers. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.lock | ||
| Cargo.toml | ||
| prototype.sh | ||