Found while implementing objectui#7823 (the object-view relay's six-key chart projection).
Recording only, no fix in that PR — it is a different package and outside that card's file
surface (packages/plugin-list/ is objectui#7544's).
What is measured
On origin/main 83fe6e741, the authored chart.config block reaches the chart renderer
on ONE of the two routes into object-chart, and is dropped on the other.
Live on the dedicated chart-view route. packages/app-shell/src/views/ObjectView.tsx
:2118 (dataset branch) and :2152 (legacy branch) both put it on the object-chart
schema:
schema={{ type: 'object-chart', dataset, dimensions, values, chartType, xAxisKey,
series, config: chartConfig.config, className }}
and packages/plugin-charts/src/ChartRenderer.tsx :134 reads it off that schema:
let config = schema.config;
(ObjectChart forwards its props into ChartRenderer at ObjectChart.tsx:1131, so the
key is consumed, not merely carried.)
Dropped on the ListView chart route. packages/plugin-list/src/ListView.tsx
case 'chart' (:2692) builds its own object-chart schema and names config in
neither branch:
- dataset branch returns
type / dataset / dimensions / values / chartType /
xAxisKey / series / className
- legacy branch returns
type / objectName / chartType / filter / aggregate /
xAxisKey / series / className
chartCfg (the resolved block, which DOES carry config) is read for chartType and
aggregation only.
Why this is worth a card
The same authored chart: block renders with its config honoured when the view's own
type is chart, and without it when the identical block is reached through the Chart
toggle that objectui#7544 added to ListView. The author gets two different renderings
of one declaration depending on which route the user arrived by, and nothing reports the
difference.
It is the same failure class as objectui#7823 — a rung that EXISTS and narrows, invisible
to a rung census because the key is present — one seam further downstream. objectui#7823
only made this reachable: before it, the block never arrived at this route with a usable
binding at all, so the missing config rung had nothing to drop.
Not verified here
Whether config is declared on the spec's ListChartConfigSchema (i.e. whether this is
an authorable key or an internal one), and what ChartRenderer actually does with the
value downstream of :134. Both are worth one reading before choosing the fix shape —
if the key turns out NOT to be authorable, the correct direction may be removing the
forward on the app-shell side rather than adding a rung on the plugin-list side.
Generated by Claude Code
Found while implementing objectui#7823 (the object-view relay's six-key chart projection).
Recording only, no fix in that PR — it is a different package and outside that card's file
surface (
packages/plugin-list/is objectui#7544's).What is measured
On
origin/main83fe6e741, the authoredchart.configblock reaches the chart rendereron ONE of the two routes into
object-chart, and is dropped on the other.Live on the dedicated chart-view route.
packages/app-shell/src/views/ObjectView.tsx:2118(dataset branch) and:2152(legacy branch) both put it on theobject-chartschema:
and
packages/plugin-charts/src/ChartRenderer.tsx:134reads it off that schema:(
ObjectChartforwards its props intoChartRendereratObjectChart.tsx:1131, so thekey is consumed, not merely carried.)
Dropped on the ListView chart route.
packages/plugin-list/src/ListView.tsxcase 'chart'(:2692) builds its ownobject-chartschema and namesconfiginneither branch:
type/dataset/dimensions/values/chartType/xAxisKey/series/classNametype/objectName/chartType/filter/aggregate/xAxisKey/series/classNamechartCfg(the resolved block, which DOES carryconfig) is read forchartTypeandaggregationonly.Why this is worth a card
The same authored
chart:block renders with itsconfighonoured when the view's owntypeischart, and without it when the identical block is reached through the Charttoggle that objectui#7544 added to
ListView. The author gets two different renderingsof one declaration depending on which route the user arrived by, and nothing reports the
difference.
It is the same failure class as objectui#7823 — a rung that EXISTS and narrows, invisible
to a rung census because the key is present — one seam further downstream. objectui#7823
only made this reachable: before it, the block never arrived at this route with a usable
binding at all, so the missing
configrung had nothing to drop.Not verified here
Whether
configis declared on the spec'sListChartConfigSchema(i.e. whether this isan authorable key or an internal one), and what
ChartRendereractually does with thevalue downstream of
:134. Both are worth one reading before choosing the fix shape —if the key turns out NOT to be authorable, the correct direction may be removing the
forward on the app-shell side rather than adding a rung on the plugin-list side.
Generated by Claude Code