[PR #1002] [MERGED] feat(animation): transparency animations + refactoring of animations "engine" #1165

Closed
opened 2026-01-05 14:54:19 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/LGUG2Z/komorebi/pull/1002
Author: @thearturca
Created: 9/22/2024
Status: Merged
Merged: 11/26/2024
Merged by: @LGUG2Z

Base: masterHead: refactor/rustify-animations


📝 Commits (10+)

  • 1a184a4 refactor(animation): move animations to its own mod
  • d3ac6b7 refactor(animation): reduce mutex call on ANIMATION_STYLE
  • 8a42b73 refactor(animation): introduce Lerp trait
  • 7b08afa refactor(animation): remove unused imports
  • e449861 refactor(animation): generalized ANIMATION_MANAGER
  • 67b2a7a feat(animation): introduce AnimationPrefix enum
  • 8290f14 feat(animation): introduce RenderDispatcher trait
  • 2400d75 feat(animation): implement window transparency animation
  • 44189d8 refactor(animation): move generation of animation key to RenderDispatcher
  • e502cb3 refactor(animation): rename animation mod to engine

📊 Changes

17 files changed (+764 additions, -347 deletions)

View changed files

📝 komorebi-client/src/lib.rs (+1 -0)
komorebi/src/animation/animation_manager.rs (+115 -0)
komorebi/src/animation/engine.rs (+122 -0)
komorebi/src/animation/lerp.rs (+42 -0)
komorebi/src/animation/mod.rs (+54 -0)
komorebi/src/animation/prefix.rs (+31 -0)
komorebi/src/animation/render_dispatcher.rs (+8 -0)
📝 komorebi/src/animation/style.rs (+1 -127)
komorebi/src/animation_manager.rs (+0 -108)
📝 komorebi/src/core/mod.rs (+4 -3)
📝 komorebi/src/lib.rs (+0 -11)
📝 komorebi/src/main.rs (+6 -0)
📝 komorebi/src/process_command.rs (+44 -13)
📝 komorebi/src/static_config.rs (+49 -12)
📝 komorebi/src/window.rs (+250 -70)
📝 komorebi/src/windows_api.rs (+16 -0)
📝 komorebic/src/main.rs (+21 -3)

📄 Description

This PR refactors animations "engine" and makes it possible to add a new type of animations.

  • Animations moved to its own mod (folder)
  • AnimationManager get generalized by replacing HashMap key from hwnd(isize) to String
  • Add Lerp trait to easily perform linear interpolation values of any type
  • Add AnimationPrefix enum for easy tracking animations in AnimationManager
  • Add RenderDispatcher trait to standardize animations behavior.
  • Implement of window transparency transition animation

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/LGUG2Z/komorebi/pull/1002 **Author:** [@thearturca](https://github.com/thearturca) **Created:** 9/22/2024 **Status:** ✅ Merged **Merged:** 11/26/2024 **Merged by:** [@LGUG2Z](https://github.com/LGUG2Z) **Base:** `master` ← **Head:** `refactor/rustify-animations` --- ### 📝 Commits (10+) - [`1a184a4`](https://github.com/LGUG2Z/komorebi/commit/1a184a4442d3a3658bf0a1e6f61b0792a0488183) refactor(animation): move animations to its own mod - [`d3ac6b7`](https://github.com/LGUG2Z/komorebi/commit/d3ac6b72c225f830a4e91d2e1197e6dcb5c68430) refactor(animation): reduce mutex call on `ANIMATION_STYLE` - [`8a42b73`](https://github.com/LGUG2Z/komorebi/commit/8a42b738feeb627bbe862f0edbe49158ab809eba) refactor(animation): introduce `Lerp` trait - [`7b08afa`](https://github.com/LGUG2Z/komorebi/commit/7b08afa891f6400698ca362e5f40fce20c4e61d5) refactor(animation): remove unused imports - [`e449861`](https://github.com/LGUG2Z/komorebi/commit/e449861c10badcc229d137d22c3d4f5e08befd91) refactor(animation): generalized ANIMATION_MANAGER - [`67b2a7a`](https://github.com/LGUG2Z/komorebi/commit/67b2a7a284e7aa367d90c39d22fae199866ae40c) feat(animation): introduce `AnimationPrefix` enum - [`8290f14`](https://github.com/LGUG2Z/komorebi/commit/8290f143a662928274f8fce538a29b57efd26294) feat(animation): introduce `RenderDispatcher` trait - [`2400d75`](https://github.com/LGUG2Z/komorebi/commit/2400d757fec9305c1f0d6b022443f091f123bd7b) feat(animation): implement window transparency animation - [`44189d8`](https://github.com/LGUG2Z/komorebi/commit/44189d8382f63cdd42ef77e7007a4e73dbe369c2) refactor(animation): move generation of `animation key` to `RenderDispatcher` - [`e502cb3`](https://github.com/LGUG2Z/komorebi/commit/e502cb3ffb8cee3fbc4ddeca6311b6016abc49d9) refactor(animation): rename `animation` mod to `engine` ### 📊 Changes **17 files changed** (+764 additions, -347 deletions) <details> <summary>View changed files</summary> 📝 `komorebi-client/src/lib.rs` (+1 -0) ➕ `komorebi/src/animation/animation_manager.rs` (+115 -0) ➕ `komorebi/src/animation/engine.rs` (+122 -0) ➕ `komorebi/src/animation/lerp.rs` (+42 -0) ➕ `komorebi/src/animation/mod.rs` (+54 -0) ➕ `komorebi/src/animation/prefix.rs` (+31 -0) ➕ `komorebi/src/animation/render_dispatcher.rs` (+8 -0) 📝 `komorebi/src/animation/style.rs` (+1 -127) ➖ `komorebi/src/animation_manager.rs` (+0 -108) 📝 `komorebi/src/core/mod.rs` (+4 -3) 📝 `komorebi/src/lib.rs` (+0 -11) 📝 `komorebi/src/main.rs` (+6 -0) 📝 `komorebi/src/process_command.rs` (+44 -13) 📝 `komorebi/src/static_config.rs` (+49 -12) 📝 `komorebi/src/window.rs` (+250 -70) 📝 `komorebi/src/windows_api.rs` (+16 -0) 📝 `komorebic/src/main.rs` (+21 -3) </details> ### 📄 Description This PR refactors animations "engine" and makes it possible to add a new type of animations. - Animations moved to its own mod (folder) - `AnimationManager` get generalized by replacing HashMap key from `hwnd(isize)` to `String` - Add `Lerp` trait to easily perform linear interpolation values of any type - Add `AnimationPrefix` enum for easy tracking animations in `AnimationManager` - Add `RenderDispatcher` trait to standardize animations behavior. - Implement of window transparency transition animation --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-01-05 14:54:19 +01:00
adam closed this issue 2026-01-05 14:54:19 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#1165