À propos du projet

Semiotic est une bibliothèque de visualisation de données React conçue pour le développement assisté par IA. Elle combine une large couverture de graphiques avec des outils d'IA, prenant en charge les graphes de réseau, les données en flux et les vues coordonnées. La bibliothèque fournit des schémas structurés, des diagnostics et des preuves de rendu pour aider les assistants de codage à implémenter, vérifier et réparer le code de graphiques. Les fonctionnalités clés incluent : - **Visualisation de réseau** : Graphes à force dirigée, diagrammes de Sankey, diagrammes en cordes, mises en page arborescentes, treemaps, empilement de cercles et diagrammes orbitaux comme composants React avec une API de props cohérente. - **Données en flux** : Graphiques en temps réel rendus sur canvas à 60fps avec une API push basée sur ref, incluant le décroissance, l'impulsion et l'encodage de fraîcheur pour les tableaux de bord de surveillance. - **Annotations de première classe** : Objets d'annotation liés aux données qui se déplacent avec les graphiques et se rendent via navigateur, SSR et export. - **Outils d'IA** : Inclut `semiotic/ai` pour un catalogue de capacités de graphiques basé sur schéma, `ai/schema.json` pour des schémas de props lisibles par machine, `npx semiotic-mcp` pour le rendu de graphiques via serveur MCP, et `npx semiotic-ai --doctor` pour la validation CLI. - **Diagnostics** : Fonctions `diagnoseConfig` et `auditData` pour la détection d'anti-modèles et des vérifications préalables numériques. - **Accessibilité** : Limites d'erreur intégrées, validation en mode développement, étiquettes ARIA, légendes navigables au clavier et tables de données accessibles. - **Imports modulaires** : Sous-chemins familiaux comme `semiotic/xy`, `semiotic/geo`, `semiotic/value` et `semiotic/realtime` pour des bundles plus petits, avec support du tree-shaking. - **Rendu côté serveur** : `semiotic/server` pour rendre les graphiques en SVG statique ou en images. - **Utilitaires de données** : `semiotic/data` pour le binning, le rollup, le groupBy, le pivot et la conversion Vega-Lite. - **Sérialisation** : Les graphiques se sérialisent vers/depuis JSON via `toConfig`, `fromConfig`, `toURL`, permettant un aller-retour depuis les notebooks et les spécifications générées par IA. La bibliothèque inclut des tableaux de tailles de bundles pour divers imports, allant de petits utilitaires (0,2 Ko) à des API de graphiques complètes (374 Ko). Elle fournit également des graphiques basés sur la physique (GaltonBoardChart) avec des adaptateurs optionnels Matter.js et Rapier.js. Semiotic est positionné pour les projets nécessitant des graphes de réseau aux côtés de séries temporelles, de données en flux et de vues coordonnées au-delà des bibliothèques de graphiques standard.