Como funciona
intent-link observa como o usuário se move pela página e estima de qual alvo visível ele está se aproximando. Quando o sinal é forte o bastante, chama a função onIntent desse alvo.
1 · Observar o movimento
No desktop, ele lê o movimento do ponteiro. Em dispositivos de toque, lê a rolagem. Só desperta quando o usuário interage e volta a descansar quando o movimento para.
2 · Decidir o alvo
O mecanismo compara o movimento do usuário com os alvos de intenção visíveis. Alvos fora da viewport não entram nos cálculos.
3 · Executar o trabalho
Quando um alvo se torna provável o bastante, seu callback onIntent é executado uma vez. Ele pode ser executado novamente se o usuário se afastar e voltar depois.
Desktop e celular
- No desktop, o mecanismo acompanha o movimento bidimensional do ponteiro.
- No celular, acompanha a rolagem vertical e é ativado na primeira rolagem.
- Alvos ocultos ou fora da tela são ignorados, inclusive elementos escondidos por CSS responsivo.
A ideia da física
Imagine cada alvo como um pequeno poço de gravidade. O movimento cria energia cinética, e a distância até o alvo cria energia potencial. Um ponteiro ou uma rolagem rápida ainda tem impulso, enquanto um movimento lento perto de um alvo parece estar se acomodando ali. O mecanismo usa uma regra parecida com a termodinâmica para tratar esses destinos de baixa energia como escolhas mais prováveis.
Os dados de movimento do navegador contêm pequenos saltos e erros. Um filtro de Kalman suaviza esse ruído antes do cálculo físico. Em termos simples, ele ajuda a separar movimento intencional de medições instáveis. Tudo isso fica dentro da biblioteca; seu app só recebe onIntent.