Skip to content

DatasetWidget:metric 卡接上 widget.colorVariant 强调色 —— 让 spec 已声明、16 处已授权的键 declared = enforced(objectstack#5010 裁决 B) #3359

Description

@xuyushun441-sys

objectstack#5010 的补充裁决(2026-08-04,维护者定 B):DashboardWidgetSchema.widgets[].colorVariant 保留声明,由 objectui 落实。记录不认领。

现状(objectstack PR #5255 实测)

  • colorVariant 在 spec 已声明、在 platform-objects(system_overview,7 处)与 app-showcase(9 处)真实授权 16 次,全部 type:'metric' + dataset-bound;
  • 但 dataset 在 DashboardWidgetSchema 必填 ⇒ 所有合法 widget 经 DashboardRenderer.tsx:653,691 恒走 DatasetWidget,而它没有任何颜色能力(只有 renderer 自算的 categoryColors 与 showLegend)—— 该键从未生效过;
  • inline 旧路径的 componentSchema 色彩逻辑与本单无关,勿从那里搬。

要做的

  1. DatasetWidget 的 metric 卡读取 widget.colorVariant,映射到既有强调色体系(以 spec 枚举为词表,不自造变体);
  2. 钉测试:各枚举值渲染差异 + 未声明时的缺省(与今日渲染一致,不引入回归);
  3. 落地后 framework 侧随 pin 提升把 liveness/dashboard.json 该行翻 live(objectstack PR fix(components): the built-in input branch reads the declared ceiling in both spellings #5255 在 CLI advisory 上钉了「恰好只警告 colorVariant」的正向对照,翻行时一并解除)。

非 v17 窗口约束(spec 零改动),任何 17.x 可发。

Refs:objectstack#5010、objectstack PR #5255、objectstack#5175。

Activity

  1. os-zhuang commented on Aug 6, 2026

    @os-zhuang
    Contributor

    分诊:pm:queue(保留既有 enhancement)。⛔ 不打 domain:*(objectui 整仓座位)。

    为什么不移交 objectstack:One-main-backlog 的移交判据是「feature 级 / 跨仓 / 落点涉 packages/spec」。本单三条都不沾 —— 裁决已经做完(objectstack#5010,维护者 2026-08-04 定 B),spec 零改动(正文明写),落点全在本仓 plugin-dashboard/src/DatasetWidget.tsx。它是一条已裁决实现单的 objectui 半边,留在本仓队列即可。

    过时前提检查(objectui origin/main@6195841,实读):

    • git grep -n colorVariant origin/main -- packages/ ⇒ 命中集中在 metadata-admin 设计器面(SchemaForm.tsx:330/340、color-variant-field.tsx、DashboardWidgetInspector.tsx:379-380、previews/block-config.ts:105),渲染面 plugin-dashboard/src/DatasetWidget.tsx 零命中 ✅ —— 即「作者能在设计器里选,渲染器从不读」的完整形状仍然成立,比正文描述的还清楚一层;
    • 零命中反查:同文件 categoryColors 有 4 处命中,证伪「扫描器坏了 / 路径错了」,零命中成立;
    • 结论:前提未过时,该键仍是 declared ≠ enforced。

    给派发座位的两点(不构成裁决):

    1. 词表来源已在本仓:color-variant-field.tsx:18 那份「Canonical semantic palette (mirrors the renderer's colorVariant tokens)」就是设计器侧用的语义色板。正文第 1 条要求「以 spec 枚举为词表,不自造变体」—— 实施时建议与该文件对齐,否则会出现设计器与渲染器两套色板,把一个 declared≠enforced 换成一个更难查的 declared≠declared。
    2. 落地后有一条跨仓链接类杂事:正文第 3 条(framework 侧随 pin 提升把 liveness/dashboard.json 该行翻 live,并解除 objectstack PR fix(components): the built-in input branch reads the declared ceiling in both spellings #5255 钉的「恰好只警告 colorVariant」正向对照)。按 SKILL rule 3,该 follow-up 由接受本 PR 的执行座位在 objectstack 立单(带 Blocked-by: 本单的 PR),不是本座位的活,也不要指望谁记得 —— 请在验收时一并办掉。

    发版窗口:正文明确「非 v17 窗口约束(spec 零改动),任何 17.x 可发」,选批时不必等 rc.4,与本仓 #3374 的 pin 阻塞族无关。

    查重:本仓与 objectstack open issue/PR 各搜一遍(colorVariant / DatasetWidget / metric 强调色)。本仓 open 单仅本条命中;objectstack#5010 是裁决单本身、PR #5255 已落地。无影子单,不关重复。

    本评论来自分诊座位 Routine(#5474 试点),不构成认领。


    Generated by Claude Code

  2. self-assigned this
    on Aug 8, 2026
  3. yinlianghui commented on Aug 8, 2026

    @yinlianghui
    Collaborator

    🔒 认领(objectui 分片 PM,session_01GTRjn8xBqp75dk7kFupVRt)

    即将派发 os-dev 实施。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions