← Biblioteca projetos/gabriel-rocha-studio.md CatálogoContratoManualLeia-me
projeto de origem

Gabriel Rocha Studio

Site autoral do estúdio. Arquivo único e autocontido (gabriel-rocha-studio-2.html, 1256 linhas: CSS nas linhas 10–451, JS nas 908–1254), fora do repositório da biblioteca.

Origem GR DESIGN/2026/Claude/sitegr/gabriel-rocha-studio-2.html
Varrido em 2026-08-31
Extraídos 3 de 17 candidatos
Dependência no original GSAP 3.12.5 + ScrollTrigger, por CDN

Nada aqui exigia GSAP. Só dois efeitos usavam scrub de verdade (parallax do mural do hero e rotação do shape) e três eram timeline encadeada; o resto era reveal e contador, que o core/motion.js já resolve. Os três componentes extraídos saíram inteiros em vanilla.

Extraídos

Componente Onde no original O quê
prova/stats-contador-regua CSS 154–163, markup 559–575, JS 1043–1061 Régua de números que contam ao entrar na tela. gsap.to virou IntersectionObserver + rAF com easeOutCubic. As casas decimais passaram a sair do próprio data-count — o original arredondava e quebrava em 98.5.
midia/galeria-scroll-horizontal CSS 218–263, markup 649–689 Faixa de cases com scroll-snap horizontal. Ganhou o que faltava: navegação por teclado, botões rotulados e legenda dentro da foto (§6).
overlay/card-expansivel-fullscreen CSS 355–426, markup 691–815, JS 1137–1206 Card que se expande a tela cheia por FLIP. Primeiro componente da categoria overlay. O original animava top/left/width/height; aqui é transform, que compõe na GPU.

Os três entraram como experimental: o site rodou, mas uma vez só.

Fila

Catorze candidatos mapeados e não extraídos. Em ordem de prioridade:

Candidato Categoria Nota
mural-marquee-parallax hero três faixas bidirecionais com parallax e blur por scroll; a assinatura visual da página
faixa-invertida-scroll efeitos a seção inverte para papel e apaga os trilhos da página inteira. Tensiona o §3 (regra do tom vizinho) de propósito — a ficha terá de declarar a exceção
cursor-ponto-anel efeitos ponto colado no ponteiro + anel com lerp; já é vanilla no original
botao-magnetico efeitos o custo real é a easing elastic.out, ~15 linhas à mão
tilt-3d-card efeitos comportamento anexável a qualquer card
acordeao-servicos-midia listas mesmo mecanismo do acordeao-faq; deve reusar o JS de lá, não escrever outro
trilhos-de-grade efeitos duas réguas de 1px marcando a coluna
barra-progresso-leitura navegacao a categoria cita "progresso de leitura" e nenhum componente entrega
spotlight-cursor efeitos halo radial seguindo o mouse
shape-3d-scroll efeitos gira 360° em Y — mostra o espelho da imagem em metade do percurso
pill-status-pulsante efeitos precisa de um token de estado (--ok), que é decisão de arquitetura
rodape-linha-minima rodape alternativa enxuta ao quatro-colunas
cabecalho-secao-com-video conteudo fraco; o que vale é o gotcha, não o componente
botao-equalizador navegacao o comportamento não existe no original: não há <audio> nem listener. Catalogar exigiria escrever a metade que falta

O que ficou de fora, e por quê

Divergências conhecidas do original

Um irmão útil

gabriel-rocha-studio.html (v1, mesma pasta) é 100% vanilla, sem nenhum <script src>, e implementa em IntersectionObserver/rAF várias coisas que o v2 refez em GSAP. Para faixa-invertida-scroll em especial, ele é porte direto, não reescrita — vale abrir antes de começar.