"""Revolution solid executors (revolve_add / revolve_cut).""" from __future__ import annotations from typing import TYPE_CHECKING, Any from ..registry import atomic_executor from ..topology import FeaturePlanNode, FeatureResult from .common import _shape_from_primary if TYPE_CHECKING: # pragma: no cover - import for type checkers only from ..session import ExecutionSession @atomic_executor("revolve_add", "revolve_cut") def _primary_executor(node: FeaturePlanNode, session: "ExecutionSession", sketch: dict[str, Any] | None) -> FeatureResult: return _shape_from_primary(node, session, sketch=sketch)