rs-grid
Un moteur de data grid headless construit en Rust et compile en WebAssembly. Concu pour des millions de lignes avec un rendu fluide a 60 fps sur Canvas2D.
- Demarrage rapide -- Installez rs-grid et affichez votre premiere grille en quelques minutes.
- Architecture -- Comprendre le pipeline unidirectionnel de l'etat au canvas.
- Fonctionnalites -- Colonnes, edition, tri, filtrage, presse-papiers, et plus encore.
- Theming -- Personnalisez les couleurs, polices et espacements avec des variables CSS.
- Sources de donnees -- Donnees en memoire, virtuelles ou paginee cote serveur.
- Reference API -- Reference complete de GridState, GridCommand et tous les types.
Fonctionnalites cles
- Virtualisation du viewport -- seules les cellules visibles sont rendues, quelle que soit la taille du jeu de donnees
- Hit-testing O(1) -- offsets de colonnes precalcules et hauteur de ligne uniforme
- Edition inline -- editeurs de saisie texte et liste deroulante avec annuler/retablir
- Tri et filtrage -- tri et filtre texte par colonne, cote client ou serveur
- Copier/couper/coller -- presse-papiers TSV avec support RFC 4180
- Recherche Ctrl+F -- recherche plein texte insensible a la casse avec surlignage
- Operations sur les colonnes -- redimensionner, deplacer, epingler, ajustement automatique
- 3 sources de donnees -- en memoire, virtuelle (basee sur des closures), cache de pages asynchrone
- 4 themes integres -- light, dark, Material 3, Material 3 Dark
- Renderer-agnostique -- graphe de scene en primitives, le backend est interchangeable
- Barres de defilement personnalisees -- themees, coherentes entre plateformes
- Menu contextuel -- actions integrees et personnalisables
- Leptos, Dioxus, Yew et vanilla JS -- utilisable avec Leptos CSR, Dioxus CSR ou en JavaScript pur
Architecture en un coup d'oeil
Toutes les mutations passent par GridState::apply(GridCommand). Pas de callbacks,
pas de bindings bidirectionnels. Le pipeline est deterministe et facile a tester.
Crates du workspace
Warning
Les dependances vont dans un seul sens : leptos → web → render-canvas → scene → core.
N'introduisez jamais de dependance inverse.

