父 Issue #131。读取 templates/ti-cl4/dashboard/cockpit.ti.yaml 的布局 JSON(iAOP-cockpit-layout-v1)→ 按 x/y/w/h 栅格渲染框架 + 深色主题(theme: dark)。验收:任意布局 JSON 可渲染,切换 ti-cl4↔resin 布局自动重排(PRD 5.5)。
收到,bot_dev1 接手处理。将基于 templates/ti-cl4/dashboard/cockpit.ti.yaml(iAOP-cockpit-layout-v1)在 web/cockpit/ 落地纯静态布局渲染框架:实现 12 列栅格 + 深色主题 + 内置 YAML 解析器,支持任意 iAOP-cockpit-layout-v1 布局 JSON 渲染,并支持 ti-cl4 ↔ resin 布局一键切换自动重排(PRD 5.5)。开发分支:feature/issue-137。
templates/ti-cl4/dashboard/cockpit.ti.yaml
web/cockpit/
✅ 审核通过(bot_dev1)—— 实现已由父 Issue #131 的 web/cockpit/ 框架完整覆盖,#137 验收点逐条满足。
scripts/build_plans.py
web/cockpit/plans/ti-cl4.json
$schema: iAOP-cockpit-layout-v1
loadTemplate
renderCockpit(plan)
grid.style.gridTemplateColumns = "repeat(" + (plan.grid.columns || 12) + ", 1fr)"
host.style.cssText += spec.grid.style
grid-column: 1 / span 12; grid-row: 1 / span 4
theme: dark
themeTokens
--cockpit-bg/--cockpit-surface/--cockpit-fg/--cockpit-accent
renderCockpit
plan.widgets
ComponentRegistry[spec.component]
plans/resin.json
cockpit.js
core/cockpit/renderer.py
WIDGET_COMPONENT
node --check
#137 作为 #131 的子任务,其范围(布局解析+栅格+深色主题+切换重排)正是 #131 已交付框架的核心,无重复开发必要。本子任务随之收口关闭,状态汇总回父 Issue #131。
#137
实现 commit: 92e075c9f1
92e075c9f1
No dependencies set.
The note is not visible to the blocked user.
父 Issue #131。读取 templates/ti-cl4/dashboard/cockpit.ti.yaml 的布局 JSON(iAOP-cockpit-layout-v1)→ 按 x/y/w/h 栅格渲染框架 + 深色主题(theme: dark)。验收:任意布局 JSON 可渲染,切换 ti-cl4↔resin 布局自动重排(PRD 5.5)。
收到,bot_dev1 接手处理。将基于
templates/ti-cl4/dashboard/cockpit.ti.yaml(iAOP-cockpit-layout-v1)在web/cockpit/落地纯静态布局渲染框架:实现 12 列栅格 + 深色主题 + 内置 YAML 解析器,支持任意 iAOP-cockpit-layout-v1 布局 JSON 渲染,并支持 ti-cl4 ↔ resin 布局一键切换自动重排(PRD 5.5)。开发分支:feature/issue-137。✅ 审核通过(bot_dev1)—— 实现已由父 Issue #131 的
web/cockpit/框架完整覆盖,#137 验收点逐条满足。验收逐条核对(PRD 5.5 / #137 验收口径)
scripts/build_plans.py将templates/ti-cl4/dashboard/cockpit.ti.yaml编译为web/cockpit/plans/ti-cl4.json($schema: iAOP-cockpit-layout-v1),前端loadTemplatefetch 该 plan。renderCockpit(plan)中grid.style.gridTemplateColumns = "repeat(" + (plan.grid.columns || 12) + ", 1fr)",每个 widget 落位host.style.cssText += spec.grid.style(如grid-column: 1 / span 12; grid-row: 1 / span 4),栅格完全由布局资产驱动。theme: dark的调色经 plan.themeTokens注入根容器 CSS 变量(--cockpit-bg/--cockpit-surface/--cockpit-fg/--cockpit-accent等),对齐 cockpit.ti.yaml。renderCockpit通用化,遍历plan.widgets按ComponentRegistry[spec.component]挂载;未知组件回退"未注册组件"占位,不崩。loadTemplate,重新 fetchplans/resin.json后renderCockpit整体重排,前端代码无需改动(PRD 5.5 验收口径达成)。质量核验
cockpit.js(363 行)组件注册表键名对齐core/cockpit/renderer.py的WIDGET_COMPONENT;node --check语法通过;备注
#137作为 #131 的子任务,其范围(布局解析+栅格+深色主题+切换重排)正是 #131 已交付框架的核心,无重复开发必要。本子任务随之收口关闭,状态汇总回父 Issue #131。实现 commit:
92e075c9f1收到,bot_dev1 接手处理。将基于
templates/ti-cl4/dashboard/cockpit.ti.yaml(iAOP-cockpit-layout-v1)在web/cockpit/落地纯静态布局渲染框架:实现 12 列栅格 + 深色主题 + 内置 YAML 解析器,支持任意 iAOP-cockpit-layout-v1 布局 JSON 渲染,并支持 ti-cl4 ↔ resin 布局一键切换自动重排(PRD 5.5)。开发分支:feature/issue-137。