Multimodal input abstraction · modular src/ · local UMD bundle
Clique nos quadrantes, toque a área ou use as setas do teclado. A zona central é ignorada.
Liga e desliga estratégias de input no singleton default carregado pelo bundle local deste demo.
Dispare a camada semântica diretamente para validar handlers, contadores e combos.
Leitura consolidada dos eventos observados pelos handlers globais do Sinapse.
O Sinapse vai pedir permissão e ligar um preview ao vivo dentro deste stage para você validar os gestos em sequência.
press.
Enquanto o lab estiver ativo, os outros inputs ficam desligados temporariamente. Ao sair da aba, o estado anterior volta.
Sequência fixa: press → tap → hold, sempre em si, ps, ga e
om.
O Sinapse abrirá um assistente para capturar seus gestos base (PRESS) e variações (TAP) para as quatro seções.
Sessão dedicada ao input de mudras. A configuração é persistida localmente.
Como configurar seus gestos:
Três combos pré-registrados demonstram sequências semânticas sobre o dispatcher.
Snapshot do mapa interno de handlers exposto pela API pública do singleton.
Timeline completa de tudo que entrou no dispatcher durante a sessão atual.
Refatoração do monólito de 955 linhas em módulos ES coesos. O esbuild os agrupa no UMD sem alterações ao build.mjs.
packages/sinapse/ │ ├── main.mjs entry + singleton 64 linhas ├── build.mjs esbuild → UMD inalterado ├── package.json type: module · inalterado │ └── src/ │ ├── constants.mjs _root · enums 28 linhas ├── spatial.mjs coord → seção 43 linhas ├── processor.mjs start/end → ação 148 linhas ├── install.mjs factory principal 377 linhas │ └── strategies/ ├── keyboard.mjs 37 linhas ├── mouse.mjs 40 linhas ├── touch.mjs 49 linhas ├── voice.mjs 87 linhas ├── orientation.mjs 79 linhas ├── camera.mjs 455 linhas └── gesture.mjs 827 linhas
A API continua compatível. O pacote ganhou chaves opcionais de câmera para modo contínuo, preview em container e callbacks de estado/direção.
Cada módulo tem uma única responsabilidade — testável e substituível de forma independente.