#3729 把 `<ObjectChart>` 的作者面切回 spec `ChartConfig` 形状,objectui#2883 让渲染器兑现了绝大部分。收尾盘点后仍有 5 个属性是**声明了但渲染器不读**的,按 ADR-0078 单独记账,不留在暗处。 ## 清单 | 属性 | 现状 | 建议 | |---|---|---| | `ChartAxis.stepSize` | 完全无人读 | 实现(Recharts `ticks` / `tickCount`)——刻度密度是真实需求 | | `ChartInteraction.clickAction` | 完全无人读 | 渲染器已有 `onChartClick`,但没有「按 action id 触发」的接线。要么接上 action 派发,要么裁掉——`drillDown` 已覆盖大部分点击语义 | | `ChartInteraction.zoom` | 无 Recharts 原语,#3750 已在 schema description 里标注 declared-not-delivered | 保持标注,或按 #1475 先例裁掉;`brush` 是已交付的替代 | | `ChartConfig.description` | 无人读(无障碍描述) | 接到 `aria-label` / `<desc>`——成本极低,且是 a11y 缺口 | | `ChartConfig.height` | 只有 `ChartBarRenderer` 读;`AdvancedChartImpl`(真正的图表路径)不读 | 接上,或从 ChartConfig 裁掉并统一由容器控制高度 | ## 为什么单独开 #3729/#3750 的范围是**绑定**(轴/系列/结果列)与主要表现属性,已全部兑现并被测试锁定。上面 5 个是同一类问题的长尾:单个成本都很低,但混进那个 PR 会让它变成一次无边界的 ChartConfig 全量审计。按 PD #10「file, don't silently expand」拆出来。 处理时请同时更新 `<ObjectChart>` 的 `dataProps`:裁掉的属性要一并从公布契约移除,实现的保持——否则又回到 declared ≠ delivered。 ## 关联 - #3701(结果列命名约定)、#3725、#3729、#3750 - objectui#2880 / objectui#2883(渲染器实现) - ADR-0078(no silently-inert metadata)、#1475(trim + implement 先例)
Activity
feat(spec)!: `ChartInteraction` drops `zoom` and `clickAction`; `step…
feat(spec,lint): declare the chart segment drill as ChartDrillDownSch…
feat(spec,lint): 声明 chart segment drill —— `ChartDrillDownSchema`,挂在真…