From 92c602c0ad57aa437f4f6fcdf8eea825fee01ed0 Mon Sep 17 00:00:00 2001 From: Evandro Fonseca Junior Date: Mon, 5 Oct 2026 01:06:40 -0300 Subject: [PATCH] feat(hero): camadas reconheciveis (tela, integracoes, tabela de dados), etiquetas e legendas do mergulho A cena passa de discos abstratos para formas que um leigo reconhece. A camera enquadra cada camada enquanto a legenda em linguagem simples explica o que e, e so entao atravessa para a proxima. Co-Authored-By: Claude Opus 5.5 --- app/components/Hero.tsx | 16 + app/components/cinematic/HeroField.tsx | 23 ++ app/components/cinematic/HeroFieldScene.tsx | 332 +++++++++++++++----- app/globals.css | 98 +++++- 4 files changed, 383 insertions(+), 86 deletions(-) diff --git a/app/components/Hero.tsx b/app/components/Hero.tsx index af8125b..2d6de7f 100644 --- a/app/components/Hero.tsx +++ b/app/components/Hero.tsx @@ -37,6 +37,13 @@ function statItems(stats?: HeroStats) { const TITLE = "Sistemas sob medida para operações que não cabem em soluções prontas.".split(" "); const ACCENT = new Set([1, 2]); +/** O que cada camada da cena significa, em linguagem simples. */ +const CAPTIONS = [ + ["A tela", "O que sua equipe e seus clientes usam no dia a dia."], + ["As integrações", "Os programas que você já usa conversando entre si, sem retrabalho."], + ["Os dados", "Suas informações guardadas, organizadas e seguras."], +] as const; + export default function Hero({ stats }: { stats?: HeroStats }) { const items = statItems(stats); @@ -49,6 +56,15 @@ export default function Hero({ stats }: { stats?: HeroStats }) {