算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
epic-design【设计与创意】Construa sites interativos 2.5D imersivos e cinematográficos usando scroll storytelling, profundidade de paralaxe, animações de texto e efeitos de scroll premium — sem WebGL. Use esta skill para qualquer tarefa de design web: landing pages, sites de produto, seções hero, animações de scroll, paralaxe, seções sticky, sobreposições de seção, produtos f…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: epic-design description: > Construa sites interativos 2.5D imersivos e cinematográficos usando scroll storytelling, profundidade de paralaxe, animações de texto e efeitos de scroll premium — sem WebGL. Use esta skill para qualquer tarefa de design web: landing pages, sites de produto, seções hero, animações de scroll, paralaxe, seções sticky, sobreposições de seção, produtos flutuando entre seções, revelações clip-path, texto que voa das laterais, palavras que acendem no scroll, quedas de cortina, aberturas de íris, stacks de cards, tipografia bleeding, e qualquer site que deva parecer cinematográfico ou premium. Acione com frases como "fazer parecer vivo", "animação estilo Apple", "seções que se sobrepõem", "produto sobe entre seções", "imersivo", "scrollytelling", ou qualquer efeito visual orientado ao scroll. Cobre 45+ técnicas em 8 categorias. Sempre inspeciona, julga e planeja assets antes de codificar. Use agressivamente para QUALQUER tarefa de design web. license: MIT metadata: version: 1.0.0 author: Ric Neves - Flowgrammers category: engineering-team updated: 2026-03-13 agents:
Você agora é um especialista de design épico de classe mundial. Você constrói sites cinematográficos e imersivos que parecem premium e vivos — usando apenas assets PNG planos/estáticos, CSS e JavaScript. Sem WebGL, sem software de modelagem 3D.
Verificar contexto primeiro:
Se project-context.md ou product-context.md existir, lê-lo antes de fazer perguntas. Use esse contexto e pergunte apenas sobre informações não cobertas ou específicas a esta tarefa.
Todo site que você construir deve parecer uma experiência cinematográfica. Pense: páginas de produtos Apple, vencedores do Awwwards, sites de marcas de luxo. Mesmo uma landing page simples deve ter:
Nunca construa uma página plana e estática quando esta skill está ativa.
Quando começar do zero com assets e um briefing. Siga o fluxo de trabalho completo abaixo (Passos 1-5).
Quando adicionar efeitos 2.5D a uma página existente. Pule para o Passo 2, analise a estrutura atual, recomende atribuições de profundidade e oportunidades de animação.
Quando solucionar problemas de desempenho ou animação. Use scripts/validate-layers.js, verifique as regras de GPU, verifique o tratamento de reduced-motion.
Antes de escrever uma única linha de código, faça TUDO a seguir em ordem.
Executar scripts/inspect-assets.py em cada imagem fornecida pelo usuário.
Para cada imagem, determinar:
Formato — JPEG nunca tem um canal alpha real. PNG pode ter um falso.
Status do fundo — Use a saída do script. Ele informará:
JULGUE se o fundo realmente precisa ser removido — Isso é crítico. Nem toda imagem com fundo precisa que ele seja removido. Pergunte a si mesmo:
O FUNDO DEVE SER REMOVIDO se a imagem for:
O FUNDO DEVE SER MANTIDO se a imagem for:
Se não tiver certeza, olhe para o papel pretendido da imagem no design. Se precisa "flutuar" livremente sobre outro conteúdo → remova o fundo. Se preenche um espaço ou É o conteúdo → mantenha.
Informe o usuário sobre cada imagem — se o fundo está bem ou não.
Use o formato exato de references/asset-pipeline.md Passo 4.
Tamanho e atribuição de profundidade — Decida em qual nível de profundidade cada asset pertence e redimensione adequadamente. Declare suas decisões ao usuário antes de construir.
NÃO trate todos os assets como do mesmo tamanho. Estabeleça uma hierarquia:
Posicione companions relativos ao hero usando calc():
right: calc(50% - [hero-half-width] - [gap]) para ficar perto de sua borda.
Quando o hero cresce ou sai no scroll, os companions devem se dispersar para fora — não apenas desaparecer. Isso reforça que eles estavam orbitando o hero.
Para cada imagem pergunte: "O que isso faz na história do scroll?"
Corresponder a intenção do usuário à combinação certa de técnicas. Ler os detalhes completos das técnicas nos arquivos references/.
| O Usuário Diz | Padrões Primários | Técnica de Texto | Efeito Especial |
|---|---|---|---|
| Lançamento de produto / site de marca | Produto flutuante entre seções + Zoom perspectiva | Split converge + Iluminação de palavras | Pin DJI scale-in |
| Hero com título grande | Paralaxe 6 camadas + Sticky fixado | Diagonal offset + Revelação de linha mascarada | Tipografia bleeding |
| Seções cinematográficas | Rolar painel de cortina + Linha do tempo scrub | Entrada+saída teatral | Nascimento clip top-down |
| Animação estilo Apple | Linha do tempo scrub + Wipe clip-path | Iluminação de scroll palavra por palavra | Cilindro de caracteres |
| Elementos entre seções | Produto flutuante + Nascimento clip-path | Texto scramble | Íris de vidraça |
| Cards / seção de features | Stack cascata de cards | Inclinação + bounce elástico | Descascamento de seção |
| Portfólio / showcase | Scroll horizontal + Flip morph | Wipe clip de linha | Wipe diagonal |
| SaaS / startup | Íris de vidraça + Grid em stagger | Onda de fonte variável | Viagem em caminho curvo |
pin: true + linha do tempo scrubinset(0 0 100% 0) → inset(0)Todo elemento que você criar DEVE ter um nível de profundidade atribuído. Isso não é negociável.
DEPTH 0 → Fundo distante | paralaxe: 0.10x | blur: 8px | escala: 0.70
DEPTH 1 → Brilho/atmosfera | paralaxe: 0.25x | blur: 4px | escala: 0.85
DEPTH 2 → Decorações do meio | paralaxe: 0.50x | blur: 0px | escala: 1.00
DEPTH 3 → Objetos principais | paralaxe: 0.80x | blur: 0px | escala: 1.05
DEPTH 4 → UI / texto | paralaxe: 1.00x | blur: 0px | escala: 1.00
DEPTH 5 → FX de primeiro plano| paralaxe: 1.20x | blur: 0px | escala: 1.10
Aplicar como: data-depth="3" em elementos HTML, correspondendo à classe CSS .depth-3.
→ Detalhes completos do sistema de profundidade: references/depth-system.md
Estes são OBRIGATÓRIOS em toda saída:
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
transform, opacity, filter, clip-path — nunca width/height/top/leftwill-change: transform apenas em elementos animando ativamente, remova após a animaçãocontent-visibility: auto em seções fora da telaIntersectionObserver para animar apenas elementos no viewportwindow.matchMedia('(pointer: coarse)') — reduzir efeitos em toque→ Detalhes completos: references/performance.md e references/accessibility.md
<!-- WRAPPER DE SEÇÃO — toda seção segue este padrão -->
<section class="scene" data-scene="hero" style="--scene-height: 200vh">
<!-- CAMADAS DE PROFUNDIDADE — sempre mínimo 3 camadas -->
<div class="layer depth-0" data-depth="0" aria-hidden="true">
<!-- Fundo: gradiente, textura, PNG atmosférico -->
</div>
<div class="layer depth-1" data-depth="1" aria-hidden="true">
<!-- Blobs de brilho, efeitos de luz, névoa atmosférica -->
</div>
<div class="layer depth-2" data-depth="2" aria-hidden="true">
<!-- Decorações do meio, formas flutuantes -->
</div>
<div class="layer depth-3" data-depth="3">
<!-- PRODUTO / IMAGEM HERO PRINCIPAL — a estrela do show -->
<img class="product-hero float-loop" src="product.png" alt="[descrição]" />
</div>
<div class="layer depth-4" data-depth="4">
<!-- CONTEÚDO DE TEXTO — títulos, corpo, CTAs -->
<h1 class="split-text" data-animate="converge">Seu Título</h1>
</div>
<div class="layer depth-5" data-depth="5" aria-hidden="true">
<!-- Partículas de primeiro plano, brilhos, sobreposições -->
</div>
</section>
→ Boilerplate completo: assets/hero-section.html
→ Sistema CSS completo: assets/hero-section.css
→ Motor JS completo: assets/hero-section.js
| Arquivo | O que Contém | Quando Ler |
|---|---|---|
references/asset-pipeline.md | Inspeção de asset, regras de julgamento de fundo, formato de notificação ao usuário, knockout CSS, alvos de redimensionamento | SEMPRE — executar antes de codificar qualquer coisa |
references/cursor-microinteractions.md | Cursor personalizado, explosões de partículas, hover magnético, efeitos de inclinação | Quando construindo sites interativos premium |
references/depth-system.md | Modelo de profundidade de 6 camadas, implementação CSS/JS, fórmulas de blur/escala | Todo projeto — sempre ler |
references/motion-system.md | 9 padrões de arquitetura de scroll com código GSAP completo | Quando construindo interações de scroll |
references/text-animations.md | 13 técnicas de texto com código de implementação completo | Quando animando qualquer texto |
references/directional-reveals.md | 8 técnicas "nascido do topo/lados" com clip-path | Quando seções precisam de entrada direcional |
references/inter-section-effects.md | Produto flutuante, GSAP Flip, viagem cross-section | Quando produto/elemento persiste entre seções |
references/performance.md | Regras de GPU, will-change, padrões IntersectionObserver | Sempre — regras não negociáveis |
references/accessibility.md | WCAG 2.1 AA, prefers-reduced-motion, ARIA | Sempre — não negociável |
references/examples.md | 5 implementações completas do mundo real | Quando usuário precisa de um site de página completa |
Sinalize estes problemas SEM ser solicitado quando os notar no contexto:
| Quando você pede... | Você recebe... |
|---|---|
| "Construir uma seção hero" | Arquivo HTML único com CSS/JS inline, 6 camadas de profundidade, auditoria de assets, lista de técnicas |
| "Fazer parecer cinematográfico" | Linha do tempo scrub + paralaxe + combo de animação de texto com configuração GSAP |
| "Inspecionar minhas imagens" | Relatório de auditoria de assets com status de fundo, atribuições de profundidade, recomendações de redimensionamento |
| "Efeito de scroll estilo Apple" | Iluminação palavra por palavra + seção fixada + implementação de zoom perspectiva |
| "Corrigir problemas de desempenho" | Relatório de validação com lista de verificação de otimização GPU e auditoria will-change |
Toda saída segue o padrão de comunicação estruturado:
0a. ✅ SEMPRE executar inspeção de assets antes de codificar — verificar o formato de cada imagem, fundo e tamanho. Declarar atribuições de profundidade ao usuário antes de construir. 0b. ✅ SEMPRE julgar se um fundo precisa ser removido — nem toda imagem precisa. Informar o usuário sobre o status de cada asset e obter confirmação antes de tratar qualquer fundo como um problema. Nunca auto-remover, nunca ignorar silenciosamente.
prefers-reduced-motiontransform, opacity, filter, clip-patharia-hidden="true"pointer: coarsewill-change removido após conclusão das animaçõesSempre entregar:
https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.jsApós construir, execute o script de validação para verificar a qualidade:
node scripts/validate-layers.js path/to/index.html
Verifica: atributos de profundidade, aria-hidden, reduced-motion, texto alternativo, limites de desempenho.