docs: write THEMING.md — Catppuccin Mocha, KindredCreate.qss, preference packs, and icon library #94

Closed
opened 2026-02-09 13:45:24 +00:00 by forbes · 1 comment
Owner

Tier 2 — Component Guide

File: docs/THEMING.md

What this document should cover

  1. Theme overview — Catppuccin Mocha dark theme applied application-wide

    • Color palette: Catppuccin Mocha (mauve, blue, teal, green, etc.)
    • Canonical stylesheet: src/Gui/Stylesheets/KindredCreate.qss
  2. Stylesheet architecture:

    • src/Gui/Stylesheets/ directory:
      • KindredCreate.qss — Kindred's canonical theme
      • FreeCAD.qss — FreeCAD default theme
      • defaults.qss — base QSS rules
      • images_classic/, images_dark-light/ — theme image assets
      • overlay/ — overlay components
    • src/Gui/PreferencePacks/KindredCreate/ — preference pack containing theme copy
    • Build-time sync: configure_file() copies QSS into preference pack
    • src/Gui/PreferencePackTemplates/ — template system
  3. QSS customization guide:

    • How QGroupBox indicators are styled
    • Hyperlink color overrides
    • Report defaults
    • Recent fixes: issues #41 (QGroupBox), #43 (hyperlinks), #44 (report defaults)
  4. Preference packs:

    • What a FreeCAD preference pack is
    • KindredCreate preference pack structure
    • How it gets applied at startup
    • ztools also ships a CatppuccinMocha pack in mods/ztools/CatppuccinMocha/
  5. Icon library (kindred-icons/):

    • ~200 SVG files — workbench icons, tool icons, UI icons, document icons
    • Catppuccin Mocha color palette in icons
    • How icons are referenced by FreeCAD (resource paths)
    • Silo-specific icons:
      • src/Gui/Icons/ — 5 silo-*.svg registered in resource.qrc (Qt resource system)
      • mods/silo/freecad/resources/icons/ — 10 silo-*.svg (workbench icons)
    • Known missing icons: silo-tag, silo-rollback, silo-status
  6. How to modify the theme:

    • Edit KindredCreate.qss
    • Test with FreeCAD's stylesheet reloader
    • Ensure preference pack copy stays in sync (build-time configure_file())
  7. How to add/modify icons:

    • SVG guidelines (Catppuccin palette, consistent stroke widths)
    • Adding to kindred-icons/
    • Registering in Qt resource system if needed

Key source files

  • src/Gui/Stylesheets/KindredCreate.qss — canonical theme
  • src/Gui/PreferencePacks/KindredCreate/ — preference pack
  • src/Gui/Icons/ — Qt resource icons
  • src/Gui/resource.qrc — Qt resource registration
  • kindred-icons/ — full icon library (~200 SVGs)
  • mods/ztools/CatppuccinMocha/ — ztools theme pack
  • mods/silo/freecad/resources/icons/ — Silo workbench icons

Acceptance criteria

  • Stylesheet architecture is clear (canonical vs preference pack copy)
  • QSS customization guide covers recent fixes
  • Icon library is catalogued with guidance for additions
  • A designer can follow the doc to modify theme or icons
## Tier 2 — Component Guide **File:** `docs/THEMING.md` ### What this document should cover 1. **Theme overview** — Catppuccin Mocha dark theme applied application-wide - Color palette: Catppuccin Mocha (mauve, blue, teal, green, etc.) - Canonical stylesheet: `src/Gui/Stylesheets/KindredCreate.qss` 2. **Stylesheet architecture:** - `src/Gui/Stylesheets/` directory: - `KindredCreate.qss` — Kindred's canonical theme - `FreeCAD.qss` — FreeCAD default theme - `defaults.qss` — base QSS rules - `images_classic/`, `images_dark-light/` — theme image assets - `overlay/` — overlay components - `src/Gui/PreferencePacks/KindredCreate/` — preference pack containing theme copy - Build-time sync: `configure_file()` copies QSS into preference pack - `src/Gui/PreferencePackTemplates/` — template system 3. **QSS customization guide:** - How QGroupBox indicators are styled - Hyperlink color overrides - Report defaults - Recent fixes: issues #41 (QGroupBox), #43 (hyperlinks), #44 (report defaults) 4. **Preference packs:** - What a FreeCAD preference pack is - KindredCreate preference pack structure - How it gets applied at startup - ztools also ships a CatppuccinMocha pack in `mods/ztools/CatppuccinMocha/` 5. **Icon library** (`kindred-icons/`): - ~200 SVG files — workbench icons, tool icons, UI icons, document icons - Catppuccin Mocha color palette in icons - How icons are referenced by FreeCAD (resource paths) - Silo-specific icons: - `src/Gui/Icons/` — 5 silo-*.svg registered in `resource.qrc` (Qt resource system) - `mods/silo/freecad/resources/icons/` — 10 silo-*.svg (workbench icons) - Known missing icons: silo-tag, silo-rollback, silo-status 6. **How to modify the theme:** - Edit `KindredCreate.qss` - Test with FreeCAD's stylesheet reloader - Ensure preference pack copy stays in sync (build-time `configure_file()`) 7. **How to add/modify icons:** - SVG guidelines (Catppuccin palette, consistent stroke widths) - Adding to `kindred-icons/` - Registering in Qt resource system if needed ### Key source files - `src/Gui/Stylesheets/KindredCreate.qss` — canonical theme - `src/Gui/PreferencePacks/KindredCreate/` — preference pack - `src/Gui/Icons/` — Qt resource icons - `src/Gui/resource.qrc` — Qt resource registration - `kindred-icons/` — full icon library (~200 SVGs) - `mods/ztools/CatppuccinMocha/` — ztools theme pack - `mods/silo/freecad/resources/icons/` — Silo workbench icons ### Acceptance criteria - [ ] Stylesheet architecture is clear (canonical vs preference pack copy) - [ ] QSS customization guide covers recent fixes - [ ] Icon library is catalogued with guidance for additions - [ ] A designer can follow the doc to modify theme or icons
forbes added the documentation label 2026-02-09 13:45:24 +00:00
Author
Owner

Superseded by the mdBook documentation structure set up in PR #105. The content scope of this issue is now covered by the pages in docs/src/. Remaining content work is tracked in #104.

Superseded by the mdBook documentation structure set up in PR #105. The content scope of this issue is now covered by the pages in `docs/src/`. Remaining content work is tracked in #104.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#94