Comment ça marche
intent-link observe la façon dont une personne se déplace dans la page et estime la cible visible dont elle se rapproche. Quand le signal est assez fort, il appelle la fonction onIntent de cette cible.
1 · Observer le mouvement
Sur ordinateur, le moteur lit le mouvement du pointeur. Sur un appareil tactile, il lit le défilement. Il ne démarre qu’à la première interaction et se rendort quand le mouvement s’arrête.
2 · Estimer la cible
Le moteur compare le mouvement de l’utilisateur aux cibles d’intention visibles. Les cibles hors de la fenêtre visible sont exclues des calculs actifs.
3 · Lancer votre action
Quand une cible devient assez probable, son callback onIntent s’exécute une fois. Il peut s’exécuter de nouveau après que l’utilisateur s’est éloigné puis rapproché.
Ordinateur et mobile
- Sur ordinateur, la prédiction suit le pointeur dans deux dimensions.
- Sur mobile, la prédiction suit le défilement vertical. Le premier défilement l’active.
- Les cibles masquées ou hors écran sont ignorées, y compris celles masquées par du CSS responsive.
L’idée physique
Imaginez chaque cible comme un petit puits de gravité. Le mouvement crée de l’énergie cinétique, tandis que la distance à une cible crée de l’énergie potentielle. Un pointeur ou un défilement rapide a encore du mouvement ; un mouvement lent près d’une cible semble s’y stabiliser. Le moteur applique une règle inspirée de la thermodynamique qui considère ces destinations de faible énergie comme plus probables.
Les données de mouvement du navigateur contiennent de petits sauts et des erreurs. Un filtre de Kalman lisse ce bruit avant le calcul physique. En termes simples, il aide le moteur à distinguer un mouvement volontaire de mesures instables. Tout cela reste interne à la bibliothèque ; l’application reçoit seulement onIntent.