Installation

Prerequis

  1. Toolchain Rust

    Installez Rust via rustup :

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Cible WASM

    Ajoutez la cible de compilation WebAssembly :

    rustup target add wasm32-unknown-unknown
  3. Trunk (utilisateurs Leptos)

    Installez Trunk pour compiler et servir les applications Leptos :

    cargo install trunk

Ajouter rs-grid a votre projet

Leptos
Vanilla JS
Dioxus
Yew

Ajoutez les crates necessaires a votre Cargo.toml :

[dependencies]
rs-grid-core   = { path = "../crates/rs-grid-core" }
rs-grid-scene  = { path = "../crates/rs-grid-scene" }
rs-grid-web    = { path = "../crates/rs-grid-web" }
rs-grid-leptos = { path = "../crates/rs-grid-leptos" }
Note

rs-grid n'est pas encore publie sur crates.io. Utilisez des dependances par chemin local ou par git pour le moment.

Graphe de dependances des crates

Les dependances vont dans un seul sens -- n'introduisez jamais de dependance inverse :

rs-grid-leptos → rs-grid-web → rs-grid-render-canvas → rs-grid-scene → rs-grid-core
rs-grid-dioxus → rs-grid-web → rs-grid-render-canvas → rs-grid-scene → rs-grid-core
rs-grid-yew    → rs-grid-web → rs-grid-render-canvas → rs-grid-scene → rs-grid-core
CrateRole
rs-grid-coreLogique headless : modele, viewport, selection, hit-testing. Aucune dependance WASM.
rs-grid-sceneConvertit GridState en primitives renderer-agnostiques ScenePrimitive
rs-grid-render-canvasBackend Canvas2D via wasm-bindgen
rs-grid-webIntegration navigateur : evenements, DPR, boucle rAF, theme CSS
rs-grid-leptosComposant Leptos CSR (<GridCanvas>)
rs-grid-dioxusComposant Dioxus CSR (GridCanvas)
rs-grid-yewComposant Yew CSR (GridCanvas)

Verifier votre installation

# Verifier que tout le workspace compile
cargo check --workspace

# Lancer les tests unitaires
cargo test --workspace

# Compiler et servir l'application de demo
cd examples/basic-leptos
trunk serve