"""Core data model for AR-Autopilot. This module exports the typed, validated Pydantic v2 models used across the Studio, the firmware build pipeline, and the test bench. Public surface (Sprint 0): - :mod:`~arautopilot.core.ids` — typed identifier wrappers - :mod:`~arautopilot.core.modes` — autopilot operating modes - :mod:`~arautopilot.core.alarms` — alarm types and severities - :mod:`~arautopilot.core.actuator_config` — rudder actuator configuration - :mod:`~arautopilot.core.pid_config` — cascaded PID + gain schedule - :mod:`~arautopilot.core.vessel_config` — vessel + composed configs - :mod:`~arautopilot.core.knob_state` — bridge knob arming state machine - :mod:`~arautopilot.core.project_config` — root project config (root entity) """ from arautopilot.core.actuator_config import ( ActuatorConfig, ActuatorType, ) from arautopilot.core.alarms import ( Alarm, AlarmSeverity, AlarmType, ) from arautopilot.core.ids import ( ProjectId, VesselId, new_project_id, new_vessel_id, ) from arautopilot.core.knob_state import ( KnobFunction, KnobMode, KnobState, ) from arautopilot.core.modes import ( AutopilotMode, is_available_in_phase, ) from arautopilot.core.pid_config import ( AccessLevel, GainSchedulePoint, PidConfig, PidGains, interpolate_gains, ) from arautopilot.core.project_config import ( ProjectConfig, ) from arautopilot.core.vessel_config import ( VesselConfig, VesselType, ) __all__ = [ # ids "ProjectId", "VesselId", "new_project_id", "new_vessel_id", # modes "AutopilotMode", "is_available_in_phase", # alarms "AlarmType", "AlarmSeverity", "Alarm", # actuator "ActuatorType", "ActuatorConfig", # pid "AccessLevel", "PidGains", "GainSchedulePoint", "PidConfig", "interpolate_gains", # vessel "VesselType", "VesselConfig", # knob "KnobMode", "KnobFunction", "KnobState", # project "ProjectConfig", ]