Skip to content

Commit 5367bc1

Browse files
committed
docs(changeset): say only what holds for every chart type about the now-refused axis shapes (objectui#10518)
Review round 2 showed that the round-3 conditions were too broad. Whether a no-category or no-field shape draws depends on the chart type and on the rows: a `name` column, or the `value` fallback. The lead-in now says that several of the now-refused documents draw a chart today, and that what the rest draw depends on the chart type, the rows and the node's other sources. The bullets state only equivalences the renderer guarantees: a dropped key changes nothing; a bare string reads as `{ field }`; a list, a non-object or a missing field names no category; a no-field entry adds no series. Prose only; the frontmatter is byte-identical. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN
1 parent 0e71020 commit 5367bc1

1 file changed

Lines changed: 11 additions & 15 deletions

File tree

‎.changeset/10518-object-chart-y-axis-declared.md‎

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,28 @@ the `object-chart` sibling of the objectui#7690 declaration on `ChartSchema`.
2121
has no string arm (seat decision on objectui#10518, option A).
2222

2323
⚠️ Shipped as `minor`, not `patch`: documents that validated before now **refuse** (the accept set
24-
narrows), and most of them draw a chart today. The exceptions are named in their bullets:
24+
narrows). Several of them draw a chart today, which is why this ships as `minor`; what the rest draw
25+
depends on the chart type, on the rows, and on the node's other category and series sources:
2526

2627
- An `xAxis` object with a malformed value (`min: 'zero'`, `position: 'middle'`), an undeclared
2728
key (`grid`, `logScale`) or no `field`. It is refused as one issue at `xAxis` whose message carries
28-
the spec's own diagnostic, including its alias hint. With a malformed value or an undeclared key
29-
the chart draws today, because the object's `field` still names the category column. An object
30-
with no `field` names no category, so the chart draws only when another source names one: an
31-
`xAxisKey`, or the dimension of a dataset-bound chart. Otherwise it draws a refusal instead: the
32-
objectui#8168 missing-category-axis screen on an object-bound chart that also declares no
33-
`aggregate.groupBy`, and the renderer's `missing-category-key` error on any other chart.
29+
the spec's own diagnostic, including its alias hint. The renderer drops a malformed `min` or
30+
`position` and never reads `grid` or `logScale`, so an object carrying them draws exactly what it
31+
draws without them. An object with no `field` names no category of its own.
3432
- An `xAxis` written as a bare column name (`xAxis: 'status'`), a list of axis objects, or any other
3533
non-object value. It is refused with the remedy `xAxis: { field }`. The renderer's normalizer still
3634
honours a bare string as a tolerance, and that is unchanged, but no producer on this node writes
37-
one. A bare string draws a chart today. A list or another non-object names no category either,
38-
so it draws a chart only under the same condition as an `xAxis` object with no `field`, and
39-
otherwise the same refusal.
35+
one. A bare string names the category column exactly as `{ field }` does, so it draws what that
36+
object draws. A list or any other non-object names no category, like an object with no `field`.
4037
- A `yAxis` entry with a malformed value (`stepSize: 'big'`, `position: 'middle'`), an undeclared
4138
key (`logScale`, `grid`) or no `field`. It is refused at the entry's own path. The renderer ignores
42-
what it cannot read and draws the rest. The exception is a chart whose series come from `yAxis`
43-
alone (no `series`, no `categories`, not dataset-bound): there an entry with no `field` plots
44-
nothing, and when no entry names a `field` the chart draws the renderer's `no-plottable-series`
45-
refusal instead.
39+
what it cannot read and uses the rest of the entry. An entry with no `field` names no column, so it
40+
adds no series.
4641
- A `yAxis` written as a single object or a bare column name. The renderer's normalizer honours
4742
both as a tolerance. Neither is a member of the spec's list, and no producer on this node writes
4843
either, so they are refused with a remedy (the reading objectui#7690 applied to
49-
`ChartSchema.yAxis`). The normalizer is unchanged.
44+
`ChartSchema.yAxis`). The normalizer is unchanged. It reads a single object as a one-entry list, so
45+
a single object with no `field` adds no series either.
5046

5147
A TS consumer that typed a bare-string `xAxis` onto an `ObjectChartSchema` value no longer compiles.
5248
The one in-repo instance, a renderer-tolerance test fixture, now carries an explicit cast.

0 commit comments

Comments
 (0)