worker-visualizer
Desenvolve visualizadores de dados em tempo real que rodam fora da thread principal. É útil para simulações e computação intensiva sem travar a interface.
O que ela faz
Cria uma animação visual que roda de forma fluida (60 quadros por segundo) no seu navegador. Ele faz cálculos pesados em segundo plano, sem travar a página principal, e mostra o resultado em uma tela.
Quando usar
- ✓Quando você quer ver simulações de partículas ou física em tempo real.
- ✓Para criar efeitos visuais complexos como fractais que se movem.
- ✓Ao desenvolver algo que precisa de muitos cálculos sem deixar a interface lenta.
Exemplo do que pedir para a IA
“Crie uma simulação de 1000 partículas que se atraem e mostre em uma tela.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O código principal divide o trabalho: uma parte faz os cálculos pesados em uma área separada (Web Worker) e a outra parte apenas desenha o resultado na tela. Isso garante que a página continue responsiva.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add nexu-io/open-design --skill worker-visualizerOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/design-templates/worker-visualizer/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Skill: Visualizador de Trabalhador
Produz um único index.html autônomo que move computação pesada por quadro para um Web Worker e renderiza o resultado em um canvas, mantendo a thread principal em suaves 60fps.
Por que este é um artefato potencializado
O OpenDesign detecta new Worker( / SharedArrayBuffer / OffscreenCanvas e renderiza este arquivo em visualização potencializada — um iframe cross-origin-isolated com allow-same-origin. Isso significa que Web Workers externos e de blob são construídos com sucesso, SharedArrayBuffer é definido (crossOriginIsolated === true) e importScripts funciona. Na antiga sandbox opaca, todos os três falhavam; aqui eles simplesmente funcionam.
Mapa de recursos
worker-visualizer/
├── SKILL.md ← you're reading this
└── example.html ← a working 12k-particle SharedArrayBuffer sim (READ FIRST)
Fluxo de trabalho
Passo 0 — Leia a referência
Leia example.html. Observe a divisão: o worker integra posições a cada tick; a thread principal apenas lê + desenha. Ele detecta recursos crossOriginIsolated e usa um SharedArrayBuffer para cópia zero quando disponível, recorrendo a uma cópia transferível postMessage caso contrário. Sempre envie esse fallback para que o artefato ainda anime se o isolamento estiver desativado.
Passo 1 — Escolha a carga de trabalho
Escolha UM trabalho limitado por computação que valha a pena descarregar:
- Campo de Partículas / N-corpos (padrão): milhares de corpos com uma lei de força barata.
- Fractal: tempo de escape de Mandelbrot/Julia em um buffer
ImageData. - Autômato celular / reação-difusão: grade atualizada no worker.
- Visualizador de dados/áudio: transforma um stream em barras/anéis a cada quadro.
Passo 2 — Construa index.html
- Um arquivo, zero requisições externas. Construa o worker a partir de um
Blob+URL.createObjectURL(inline sua fonte), ou incorpore-o como um URLdata:. - Prefira SharedArrayBuffer para estado grande por quadro: aloque na thread principal, passe o
SharedArrayBufferpara o worker e leia a mesma visualizaçãoFloat32Array/Uint8ClampedArrayenquanto desenha. Proteja emtypeof SharedArrayBuffer !== 'undefined' && crossOriginIsolated. - Caminho de fallback: se não estiver isolado,
postMessageumArrayBuffertransferível a cada quadro. - Considere
OffscreenCanvas+canvas.transferControlToOffscreen()para renderizar dentro do worker para as cenas mais pesadas.
Passo 3 — Sobreposição + marca
- HUD com o título e 2–3 tiles de estatísticas ao vivo (contagem de partículas, modo de transporte, fps). Mapeie a cor de destaque para o DESIGN.md ativo quando presente; caso contrário, um fundo escuro com um destaque vívido.
Passo 4 — Auto-revisão (P0)
- Worker constrói sem SecurityError; sim roda.
- Renderização da thread principal mantém ~60fps sob a carga de trabalho completa.
- O caminho
SharedArrayBufferé engajado quandocrossOriginIsolatedé verdadeiro; o fallbackpostMessageé engajado caso contrário — verifique se AMBOS os ramos degradam de forma limpa. - Sem crescimento ilimitado: velocidades/posições permanecem estáveis por minutos.
- A estatística "Transporte" relata verdadeiramente qual caminho está ativo.
Perguntas frequentes
O que é um 'Web Worker'?
É como ter um ajudante secreto no navegador que faz tarefas pesadas sem atrapalhar o que você está vendo na tela principal.
O que é 'SharedArrayBuffer'?
É uma forma avançada de compartilhar dados muito grandes entre a parte principal e o ajudante (Web Worker) sem precisar copiar tudo, tornando tudo mais rápido.
Por que a animação roda a 60fps?
A ferramenta foi feita para otimizar os cálculos e o desenho, garantindo que a animação seja suave e agradável de assistir, como em um jogo.
Detalhes
Descrição original do autor
A real-time data/particle/simulation visualizer whose heavy compute runs in a Web Worker (off the main thread), optionally sharing memory with the UI via SharedArrayBuffer, and renders to a canvas at 60fps. Produced as a single self-contained `index.html`. Use when the brief asks for a "web worker", "simulation", "particle system", "physics", "off-main-thread", "fractal", "real-time compute", or "
repo: nexu-io/open-design
Popularidade
- Estrelas no GitHub
- 101 mil
- Posição no ranking
- #516
- Licença
- Apache-2.0
- Atualizada em
- 16/10/2026
Comentários
- …
Mais skills deste repositório
sample-plugin
Faz seu agente criar um arquivo de metadados para testes. Ele ajuda a garantir que o código funcione corretamente em diferentes situações.
nexu-io/open-design
aster-atelier
Ajuda seu agente a criar um site artístico com visual clássico. Ele usa imagens elegantes, céus azuis e fontes serifadas para um visual cinematográfico.
nexu-io/open-design
audio-jingle
Faz seu agente gerar áudio como jingles e efeitos sonoros. Ele pode criar músicas e vozes, salvando o resultado em um arquivo de áudio.
nexu-io/open-design
blog-post
Ajuda seu agente a escrever artigos longos ou posts de blog. Ele inclui espaços para imagens, citações e informações do autor.
nexu-io/open-design
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC