// the find
nteract/semiotic
React data visualization library for streaming, networks, and AI-assisted development
Semiotic is a React data visualization library with standard charts, network diagrams (force graphs, Sankey, treemaps), geo maps, and canvas-rendered streaming charts. It suits React teams whose charts have outgrown Recharts-style libraries, and it ships a schema and MCP server so AI coding assistants can generate and check chart configs.
Realtime charts render on canvas with a ref-based push API, and rapid network-edge pushes are coalesced into one layout per animation frame, which is the right shape for monitoring dashboards. Sub-path entries like semiotic/xy, semiotic/geo and semiotic/ordinal are published with measured cold-consumer import sizes, so you can keep initial load down without guessing. Diagnostics such as diagnoseConfig and auditData catch non-finite values, zero-span domains and bad accessors before they become a blank chart, and the same checks are exposed through a CLI and an MCP server. Accessibility is handled as real behaviour rather than a checkbox: canvas aria-labels, SVG title and desc, keyboard-navigable legends, and reduced-motion and forced-colors paths.
The surface area is large: 41 entry points, a 643 KB semiotic/ai bundle, a 422 KB root import, and a 2.1 MB CJS client. The README itself says to avoid the root import, which tells you the root import is an easy way to ship too much code. Several exports are marked experimental or unstable (unstable_toDataPitfallsChain, the artifact governance tools, the Apps SDK widget), and the README spends much of its length on evaluation reports, task packets and release dashboards, so it is hard to tell which parts are stable API you can depend on. The d3 packaging choice externalises twelve d3 modules, which brings a 22-package, 1.9 MB unpacked dependency closure into your install; the authors chose that on purpose, but you inherit the cost. The prose reads like a product page, with lots of 'Built for' framing and an AI-correctness section that its own disclaimer says it cannot guarantee, so judge the AI tooling by the test suite and the eval reports rather than the marketing paragraphs.