"""Base settings class for all solutions.
Each solution extends SolutionSettings with its own fields.
The base class holds only universal rigging concepts — no naming tokens.
"""
from dataclasses import dataclass
from openrig.constants import Side
[docs]
@dataclass
class SolutionSettings:
"""Base settings shared by every solution.
Subclasses add solution-specific fields (naming tokens, joint counts,
fallback positions, etc.). Only concepts that are universally meaningful
across all solutions belong here.
Attributes:
side: Which side of the body this solution belongs to
(left, right, center, or middle).
"""
side: Side = Side.CENTER