React 19
A interface é uma aplicação React que gerencia controles, estado do preview ao vivo, timing, seleção de modo de animação e interações de exportação no navegador.
Uma ferramenta em Vite + React + TypeScript para estudos visuais de animação em tempo real e exportação de SVG, com um sistema de animação orientado por parâmetros para explorar e salvar variações generativas de movimento.
Ao vivo em: https://movingdots.sugiro.ai/
O que sustenta esta ferramenta de estudo visual e por que ela é diferente de uma demo estática comum.
A interface é uma aplicação React que gerencia controles, estado do preview ao vivo, timing, seleção de modo de animação e interações de exportação no navegador.
Código da aplicação, definições de cena, lógica de exportação e configuração do Vite são escritos em TypeScript, o que ajuda a manter consistência entre parâmetros visuais e estrutura de saída.
Vite cuida do servidor local, da build de produção, do preview e dos pontos de extensão via plugin que alimentam a rota de exportação local.
O app gera visuais SVG a partir de dados estruturados de cena/estado, em vez de embutir animações fixas. Isso torna o sistema visual paramétrico e orientado à exportação.
A ferramenta exporta não apenas SVG, mas também snapshots em markdown, usando rota local e utilitários de filesystem em Node.js em vez de downloads simples no navegador.
O projeto usa lint moderno e uma cadeia padrão de React/Vite/TypeScript, ficando muito mais próximo do Glossary Builder do que dos utilitários estáticos deste conjunto de projetos.
O app combina controles no navegador com uma rota local de exportação sustentada por Node.js.
O projeto começa como um app React normal com Vite, em que src/main.tsx monta a interface e src/App.tsx conduz a ferramenta principal.
Os controles do navegador ajustam estado de cena, modo, timing, parâmetros de design e comportamento de preview da composição visual ativa.
src/lib/scene.ts define designs, metadados de controle, defaults e a lógica de geração SVG que alimenta o preview.
O app envia o SVG e os dados estruturados do snapshot para /api/export, implementado via middleware customizado do Vite em vez de um backend separado.
O middleware de exportação usa utilitários de filesystem para salvar SVG e um markdown correspondente em svg-export/ com nomes incrementados.
É um app frontend com um backend local de exportação embutido na própria cadeia de build.
package.json vite.config.ts src/App.tsx src/main.tsx src/index.css src/lib/scene.ts src/lib/export.ts svg-export/
A decisão arquitetural mais marcante aqui é implementar o comportamento de exportação dentro do middleware do Vite, e não como um serviço de API hospedado separadamente.
O valor central da ferramenta está na exploração visual e na exportação local estruturada.
Os designs são parametrizados, não hard-coded como uma única animação fixa.
O estado em React dirige o preview ao vivo.
Os modos Orbit e Lines representam famílias visuais diferentes.
O app é feito para iteração e variação.
Os SVGs são gravados em disco, não apenas baixados no navegador.
Cada export inclui um snapshot em markdown do estado atual.
A rota do Vite gera nomes numerados para os arquivos.
O fluxo é otimizado para uso criativo local, não para um deployment puramente estático.
O app segue o fluxo normal do Vite, com o suporte a exportação embutido na configuração do servidor.
npm install npm run dev npm run build npm run preview npm run lint
npm run dev é especialmente importante aqui, porque a rota local de exportação fica conectada à configuração do servidor Vite.
Node.js e npm.
Nenhuma API key externa.
Permissão de escrita em disco para exportar localmente.
Fluxo local quando a exportação faz parte do uso.
Dots Animation Tool é uma ferramenta criativa em Vite + React + TypeScript com um backend local de exportação embutido no Vite. Ela está mais próxima de uma ferramenta de trabalho para design do que de um site estático ou app CRUD convencional.