Skip to content

✨ Lightweight IconView#893

Merged
SenpaiHunters merged 4 commits into
developfrom
new-icon-view
Nov 18, 2025
Merged

✨ Lightweight IconView#893
SenpaiHunters merged 4 commits into
developfrom
new-icon-view

Conversation

@mrkai77

@mrkai77 mrkai77 commented Nov 18, 2025

Copy link
Copy Markdown
Owner

For some time, the SwiftUI-based IconView has occasionally caused issues. The most notable problem was that it could lag one state behind after a user updated a selection in the keybinds tab. Other issues included stuttering animations and high rendering costs, although the latter could potentially have been optimized within SwiftUI itself.

By switching to a dedicated NSView backed by CALayers for rendering icons, we gain more control over when the view updates and benefit from a more lightweight rendering backend. This allows Loop to focus its resources on higher-priority tasks in the settings window.

@mrkai77 mrkai77 self-assigned this Nov 18, 2025
@mrkai77 mrkai77 marked this pull request as draft November 18, 2025 05:27
@mrkai77 mrkai77 marked this pull request as ready for review November 18, 2025 05:34

@SenpaiHunters SenpaiHunters left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reviewed each file and noticed that sizing changes were made, for example, from 12 to 14. I assume this is in accordance with macOS 26 or for another reason. Visually, I don't see a significant change. Regardless, everything is accepted, and I hope this will resolve some issues we've been experiencing!

@SenpaiHunters SenpaiHunters merged commit 0af5009 into develop Nov 18, 2025
1 check passed
@SenpaiHunters SenpaiHunters deleted the new-icon-view branch November 18, 2025 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants