feat(ztools): appearance mode system with engineering color presets #20
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
title, labels, milestone
Summary
Add a configurable appearance mode system to ztools that controls per-part viewport coloring based on the active mode. Initial modes are Realistic (material passthrough) and Engineering (category-based color coding using Catppuccin Mocha palette).
Motivation
FreeCAD's default appearance system ties color to material properties only. Professional engineering workflows benefit from semantic color coding — instantly distinguishing fasteners from structural members, seals from bearings — without affecting the underlying material data.
Scope
AppearanceModebase class withapply(doc)andreset(doc)methodsRealisticMode— delegates to existing materialShapeAppearance(passthrough, default)EngineeringMode— readsKindredCategoryproperty, maps to paletteKindredCategoryenum property added toPart::FeatureobjectsKindred/AppearanceModepersisted across sessionsKindredCategory Enum
custom_bodyfastenerstructuralelectricalseal_gasketbearing_bushingspring_compliantmoving_partEngineering Palette (Catppuccin Mocha)
#fab387#a6e3a1#89b4fa#f9e2af#cba6f7#74c7ec#f2cdcd#f38ba8Implementation Notes
ShapeAppearanceper-object soRealisticModecan restore cleanlyKindredCategorydefaults tocustom_bodyfor untagged partsFile Structure
Acceptance Criteria
KindredCategory