Skip to content

Commit e638579

Browse files
committed
Update ai bundle size and clarify ArcDemo comment
Bump the documented size of `semiotic/ai` from 211KB to 215KB across README.md, CLAUDE.md, and ai/system-prompt.md to reflect an updated build. Also expand the comment in ConversationArcPage.js's ArcDemo to clarify the meaning of `enableOnMount: false`, note that the underlying store is module-scoped and shared with AutoInstrumentDemo, and explain why `enabled` may be true on first render. These are documentation/comment-only changes.
1 parent 1a11272 commit e638579

4 files changed

Lines changed: 10 additions & 7 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- Install: `npm install semiotic`
55
<!-- semiotic-bundle-sizes:start -->
66
<!-- Auto-generated by scripts/sync-bundle-sizes.mjs — do not edit by hand. -->
7-
- **Use sub-path imports**`semiotic/xy` (86KB gz), `semiotic/ordinal` (70KB gz), `semiotic/network` (64KB gz), `semiotic/geo` (52KB gz), `semiotic/realtime` (91KB gz), `semiotic/server` (122KB gz), `semiotic/utils` (22KB gz), `semiotic/recipes` (5KB gz), `semiotic/themes` (4KB gz), `semiotic/data` (3KB gz), `semiotic/ai` (211KB gz). Full `semiotic` is 190KB gz.
7+
- **Use sub-path imports**`semiotic/xy` (86KB gz), `semiotic/ordinal` (70KB gz), `semiotic/network` (64KB gz), `semiotic/geo` (52KB gz), `semiotic/realtime` (91KB gz), `semiotic/server` (122KB gz), `semiotic/utils` (22KB gz), `semiotic/recipes` (5KB gz), `semiotic/themes` (4KB gz), `semiotic/data` (3KB gz), `semiotic/ai` (215KB gz). Full `semiotic` is 190KB gz.
88
<!-- semiotic-bundle-sizes:end -->
99
- CLI: `npx semiotic-ai [--schema|--compact|--examples|--doctor]`
1010
- MCP: `npx semiotic-mcp`

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ Semiotic ships 12 entry points. **Don't import from `"semiotic"` unless you need
297297
| `semiotic/recipes` | **5 KB** | Pure layout functions (waffle, marimekko, flextree, dagre, …) |
298298
| `semiotic/themes` | **4 KB** | Theme presets only (tufte, carbon, etc.) |
299299
| `semiotic/data` | **3 KB** | bin, rollup, groupBy, pivot, fromVegaLite |
300-
| `semiotic/ai` | **211 KB** | All 42 HOCs + validation — optimized for LLM code generation |
300+
| `semiotic/ai` | **215 KB** | All 42 HOCs + validation — optimized for LLM code generation |
301301
| `semiotic` | **190 KB** | Everything below (full bundle) |
302302

303303
<!-- semiotic-bundle-sizes:end -->

ai/system-prompt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<!-- semiotic-bundle-sizes:start -->
44
<!-- Auto-generated by scripts/sync-bundle-sizes.mjs — do not edit by hand. -->
5-
**Use sub-path imports**`semiotic/xy` (86KB gz), `semiotic/ordinal` (70KB gz), `semiotic/network` (64KB gz), `semiotic/geo` (52KB gz), `semiotic/realtime` (91KB gz), `semiotic/server` (122KB gz), `semiotic/utils` (22KB gz), `semiotic/recipes` (5KB gz), `semiotic/themes` (4KB gz), `semiotic/data` (3KB gz), `semiotic/ai` (211KB gz). Full `semiotic` is 190KB gz.
5+
**Use sub-path imports**`semiotic/xy` (86KB gz), `semiotic/ordinal` (70KB gz), `semiotic/network` (64KB gz), `semiotic/geo` (52KB gz), `semiotic/realtime` (91KB gz), `semiotic/server` (122KB gz), `semiotic/utils` (22KB gz), `semiotic/recipes` (5KB gz), `semiotic/themes` (4KB gz), `semiotic/data` (3KB gz), `semiotic/ai` (215KB gz). Full `semiotic` is 190KB gz.
66
<!-- semiotic-bundle-sizes:end -->
77

88
## Flat Array Data (`data: object[]`)

docs/src/pages/features/ConversationArcPage.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,13 @@ function ArcSummaryPanel({ summary, enabled }) {
192192

193193
function ArcDemo() {
194194
// The hook owns subscription, re-render coordination, and snapshot
195-
// stability via useSyncExternalStore. `enableOnMount: false` lets the
196-
// button drive enable/disable; if we let the hook auto-enable, the
197-
// button would always be in the "currently recording" state when the
198-
// page loads.
195+
// stability via useSyncExternalStore. `enableOnMount: false` means
196+
// this demo's toggle button is what flips THIS hook's intent to
197+
// record. The underlying store is module-scoped, so AutoInstrumentDemo
198+
// below also touches it; readers may see `enabled` true on first
199+
// render if that demo mounted first and called `enableConversationArc()`.
200+
// That's intentional — the demos share one buffer to demonstrate the
201+
// module-scope contract.
199202
const { history: events, summary, enabled, sessionId, record, clear: clearArc } =
200203
useConversationArc({ enableOnMount: false })
201204
const chartRef = useRef(null)

0 commit comments

Comments
 (0)