# -*- 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, ) __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", ]