You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/blog/entries/charts-that-know-what-theyre-for.js
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -914,7 +914,7 @@ export default {
914
914
subtitle:
915
915
"A heuristic-first chart recommendation engine with per-audience calibration, a literacy-growth surface, and ready-to-render props.",
916
916
author: "Elijah Meeks",
917
-
date: "2026-05-24",
917
+
date: "2026-05-25",
918
918
tags: ["case-study"],
919
919
excerpt:
920
920
"Semiotic 3.6.0 ships a chart recommendation engine that's heuristic-first, LLM-optional, and audience-aware. Charts now carry descriptors that declare what data shapes they serve and which questions they answer; an AudienceProfile layers per-org familiarity and adoption targets on top; a separate 'stretch' surface grows literacy without forcing it.",
<code>Scatterplot</code> and <code>ConnectedScatterplot</code> prefer the canonical
130
126
2-numeric form when a sequence axis is present.
131
127
</strong>{" "}
132
-
On <code>{`{quarter, revenue, profit}`}</code> data both charts now plot revenue ×
133
-
profit (the canonical correlation form) instead of recapitulating a line chart on
134
-
quarter. ConnectedScatterplot threads the sequence as <code>orderAccessor</code> so the
135
-
path encodes temporal progression — Hans Rosling's "income vs life expectancy over
136
-
years" shape, served automatically when the data supports it.
128
+
On <code>{`{quarter, revenue, profit}`}</code> data both charts now plot revenue × profit
129
+
(the canonical correlation form) instead of recapitulating a line chart on quarter.
130
+
ConnectedScatterplot threads the sequence as <code>orderAccessor</code> so the path
131
+
encodes temporal progression — Hans Rosling's "income vs life expectancy over years"
132
+
shape, served automatically when the data supports it.
137
133
</li>
138
134
<li>
139
135
<strong>
140
136
<code>X_FIELD_HINT</code> recognizes calendar-segment field names.
141
137
</strong>{" "}
142
138
The profiler's x-axis name regex now matches <code>quarter</code>, <code>qtr</code>,{" "}
143
139
<code>fiscal</code>, and <code>week</code>. Without this,{" "}
144
-
<code>{`{quarter, revenue, region}`}</code> data fell into scatter-fallback provenance
145
-
and series detection never fired — <code>lineBy</code> / <code>areaBy</code> were
146
-
silently dropped and multi-series time-series charts zigzagged across regions.
140
+
<code>{`{quarter, revenue, region}`}</code> data fell into scatter-fallback provenance and
141
+
series detection never fired — <code>lineBy</code> / <code>areaBy</code> were silently
142
+
dropped and multi-series time-series charts zigzagged across regions.
147
143
</li>
148
144
</ul>
149
145
@@ -161,25 +157,24 @@ function Body() {
161
157
162
158
<h2id="upgrade-notes">Upgrade notes</h2>
163
159
<p>
164
-
Most of 3.6.0 is additive. The capability-descriptor refinements above are the one
165
-
behavior change worth flagging:
160
+
Most of 3.6.0 is additive. The capability-descriptor refinements above are the one behavior
161
+
change worth flagging:
166
162
</p>
167
163
<ul>
168
164
<li>
169
-
<strong>AreaChart on multi-series data.</strong> If you were passing
170
-
multi-series data to <code>AreaChart</code> directly (not via <code>suggestCharts</code>)
171
-
and relying on the chart to render overlapping multi-area output, that path still works
172
-
at the chart level — the capability change affects what the recommender suggests, not the
173
-
chart's prop surface. The chart's <code>areaBy</code> prop is untouched. The change is
174
-
about{" "}
165
+
<strong>AreaChart on multi-series data.</strong> If you were passing multi-series data to{" "}
166
+
<code>AreaChart</code> directly (not via <code>suggestCharts</code>) and relying on the
167
+
chart to render overlapping multi-area output, that path still works at the chart level —
168
+
the capability change affects what the recommender suggests, not the chart's prop surface.
169
+
The chart's <code>areaBy</code> prop is untouched. The change is about{" "}
175
170
<code>suggestCharts</code> output: AreaChart suggestions now subselect their data.
176
171
</li>
177
172
<li>
178
173
<strong>Scatterplot's x/y on sequence-shaped data.</strong> Same caveat — the chart still
179
174
plots whatever you pass it; the recommender's <code>buildProps</code> output changes. Any
180
175
code reading <code>suggestion.props.xAccessor</code> / <code>yAccessor</code> for charts
181
-
with <code>{`{sequence, num1, num2}`}</code> shape will now see the two numerics in
182
-
place of the sequence.
176
+
with <code>{`{sequence, num1, num2}`}</code> shape will now see the two numerics in place
177
+
of the sequence.
183
178
</li>
184
179
<li>
185
180
<strong>
@@ -200,7 +195,7 @@ export default {
200
195
subtitle:
201
196
"The AI release. A heuristic chart recommender, audience-aware ranking, focus + interrogation hooks for two-way anchored conversation, an MCP server, and a per-chart capability layer that makes the library itself a structured catalog.",
202
197
author: "AI-Generated",
203
-
date: "2026-05-31",
198
+
date: "2026-05-26",
204
199
tags: ["release"],
205
200
excerpt:
206
201
"3.6.0 turns Semiotic's observation hooks, native annotations, and streaming runtime into an explicit AI-facing surface. Charts declare what they're for; datasets get profiled and ranked; audiences get calibrated; conversations anchor back to the chart instead of stopping at a chat bubble. Three case-study posts published alongside the release walk through what the new shape makes possible.",
0 commit comments