# -*- coding: utf-8 -*- """配置化驾驶舱内核模块(iAOP-Core / cockpit)—— 对齐 PRD 5.5「⑤ 配置化驾驶舱」。 对外暴露: - ``LAYOUT_SCHEMA_VERSION`` / ``LAYOUT_SCHEMA_ID``:布局 JSON Schema 标识。 - ``CockpitLayout`` / ``Widget``:布局与组件的内存模型(dataclass)。 - ``validate_layout``:对一份布局资产做结构 + 语义校验,返回校验结果。 - ``load_layout``:从已解析的 dict 构造 ``CockpitLayout``(校验失败抛 ``LayoutValidationError``)。 - ``render_layout`` / ``render_widget``:把布局/组件编译为渲染计划(#51, PRD 5.5 渲染层适配器),输出与前端框架无关的 ``RenderPlan``。 - ``RenderPlan`` / ``WidgetRendererSpec`` / ``GridPlacement``:渲染描述符。 - ``THEME_TOKENS`` / ``WIDGET_COMPONENT``:主题调色与组件映射。 设计目标(PRD 5.5 验收口径): 切换行业模板后,驾驶舱按布局配置自动重排,**无需改前端代码**。 本模块负责"布局资产的定义 + 校验 + 解析 + 渲染计划编译",不依赖任何前端框架; 渲染层(Vue3 / 配置台)只需消费 ``CockpitLayout`` 与 ``RenderPlan`` 的内存模型。 """ from __future__ import annotations from .layout import ( # noqa: F401 DEFAULT_GRID_COLUMNS, LAYOUT_SCHEMA_ID, LAYOUT_SCHEMA_VERSION, PERF_WIDGET_THRESHOLD, VALID_THEMES, VALID_WIDGET_TYPES, CockpitLayout, Grid, LayoutValidationError, LayoutValidationResult, Widget, load_layout, validate_layout, ) from .renderer import ( # noqa: F401 THEME_TOKENS, WIDGET_COMPONENT, GridPlacement, RenderError, RenderPlan, WidgetRendererSpec, compute_grid_placement, plan_to_dict, plan_to_json, render_layout, render_widget, ) from .alarm_config import ( # noqa: F401 ALARM_CONFIG_SCHEMA_ID, ALARM_CONFIG_SCHEMA_VERSION, DEFAULT_ACK_TIMEOUT_S, DEFAULT_MAX_ITEMS, DEFAULT_MUTE_LOWER, MAX_ALLOWED_ITEMS, SEVERITY_RANK, VALID_GROUP_BY, VALID_SEVERITIES, VALID_SORT_BY, VALID_SOURCE_KINDS, AlarmConfigError, AlarmConfigValidationResult, AlarmPanelConfig, AlarmRulesSource, SeverityColor, filter_alarms_by_mute, load_alarm_config, render_alarm_panel_props, validate_alarm_config, ) __all__ = [ "LAYOUT_SCHEMA_ID", "LAYOUT_SCHEMA_VERSION", "VALID_THEMES", "VALID_WIDGET_TYPES", "DEFAULT_GRID_COLUMNS", "PERF_WIDGET_THRESHOLD", "CockpitLayout", "Grid", "Widget", "LayoutValidationError", "LayoutValidationResult", "load_layout", "validate_layout", # 渲染引擎(#51 / PRD 5.5 渲染层适配器) "THEME_TOKENS", "WIDGET_COMPONENT", "RenderError", "RenderPlan", "WidgetRendererSpec", "GridPlacement", "render_layout", "render_widget", "compute_grid_placement", "plan_to_dict", "plan_to_json", # 报警看板配置化(#52 / PRD 5.5 告警面板配置化) "ALARM_CONFIG_SCHEMA_ID", "ALARM_CONFIG_SCHEMA_VERSION", "DEFAULT_ACK_TIMEOUT_S", "DEFAULT_MAX_ITEMS", "DEFAULT_MUTE_LOWER", "MAX_ALLOWED_ITEMS", "SEVERITY_RANK", "VALID_GROUP_BY", "VALID_SEVERITIES", "VALID_SORT_BY", "VALID_SOURCE_KINDS", "AlarmConfigError", "AlarmConfigValidationResult", "AlarmPanelConfig", "AlarmRulesSource", "SeverityColor", "filter_alarms_by_mute", "load_alarm_config", "render_alarm_panel_props", "validate_alarm_config", ]