Skip to content

feat(toolbar): switch tool icons to embedded SVGs#155

Merged
devmobasa merged 1 commit intodevmobasa:mainfrom
Noah4ever:feat/toolbar-svg-icons
Feb 26, 2026
Merged

feat(toolbar): switch tool icons to embedded SVGs#155
devmobasa merged 1 commit intodevmobasa:mainfrom
Noah4ever:feat/toolbar-svg-icons

Conversation

@Noah4ever
Copy link
Contributor

I use Wayscriber quite a bit and really enjoy it. It has become part of my regular workflow.

One thing that always stood out to me though were the toolbar icons. Maybe because I am more a frontend dev than backend. They’re functionally fine, but visually they felt a bit inconsistent compared to the rest of the UI.

The existing Cairo paths clearly took time and care to get right. For consistency and maintainability, though, I think using SVG assets is a cleaner long-term approach.

This PR replaces the procedural Cairo-drawn tool icons with Lucide SVG icons rendered via resvg, aiming for a cleaner and more consistent look while keeping behavior exactly the same.

What I changed

  • Added a small SVG rendering module for toolbar icons
    • lazy SVG parsing
    • per-size raster cache
    • Cairo mask-based painting so icons inherit the current UI color
  • Updated toolbar_icons/tools.rs to use the SVG renderer
  • Added resvg and tiny-skia as dependencies
  • Kept all existing draw_icon_* function signatures unchanged to avoid refactoring call sites

Before

image

After

image

The icons can obviously be changed anytime (in assets/icons/)

cargo test passes locally

Happy to adjust anything if this doesn’t align with the project direction. I mainly wanted to improve visual consistency without touching behavior or APIs.

@devmobasa
Copy link
Owner

The icons and design all over the app is something I am not proud of.
This is great. I like this. Thanks!

These look much better, and I love option to easily replace them outside of the code, as it should be.

@devmobasa devmobasa merged commit 0ac99d3 into devmobasa:main Feb 26, 2026
1 check failed
@devmobasa
Copy link
Owner

One thing that always stood out to me though were the toolbar icons. Maybe because I am more a frontend dev than backend. They’re functionally fine, but visually they felt a bit inconsistent compared to the rest of the UI.

Yeah, perhaps, I am more of a backend person, I don't have an eye for these things :)
I appreciate the effort.

If you have any other ideas in regards to UI/UX, or anything else feel free to open PR or an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants