feat(icons): add icon theming infrastructure with Catppuccin color remapping
Some checks failed
Build and Test / build (pull_request) Has been cancelled

- Remove hand-crafted kindred-icons/ in favor of auto-generated themed icons
- Add icons/mappings/ with FCAD.csv (Tango palette) and kindred.csv (Catppuccin Mocha)
- Add icons/retheme.py script to remap upstream FreeCAD SVG colors
- Generate icons/themed/ with 1,595 themed SVGs (45,300 color replacements)
- BitmapFactory loads icons/themed/ as highest priority before default icons
- 157-color mapping covers the full Tango palette, interpolating between
  4 luminance anchors per color family

Regenerate: python3 icons/retheme.py
This commit is contained in:
forbes
2026-02-15 20:31:00 -06:00
parent 2fa1672edf
commit d7b532255b
3052 changed files with 427367 additions and 9548 deletions

View File

@@ -64,10 +64,9 @@ BitmapFactoryInst& BitmapFactoryInst::instance()
_pcSingleton = new BitmapFactoryInst;
std::map<std::string, std::string>::const_iterator it;
// Kindred Create custom icons - highest priority
// These override default FreeCAD icons with Catppuccin Mocha themed versions
// Catppuccin Mocha themed icons - highest priority (generated by icons/retheme.py)
_pcSingleton->addPath(
QStringLiteral("%1/kindred-icons").arg(QString::fromStdString(App::Application::getHomePath()))
QStringLiteral("%1/icons/themed").arg(QString::fromStdString(App::Application::getHomePath()))
);
it = App::GetApplication().Config().find("ProgramIcons");