fix(navegacao): foco em âncora de outra página, vitrine acessível e 3D mais leve

Foco cai no destino ao chegar de outra página; âncoras ignoram ?tipo=; movimento reduzido salta em todos os cliques; cronômetro da janela ampliada; degradê no topo de Projetos e legendas do mergulho com intervalos testados; vitrine acima da barra de cookies e com 2 paradas por projeto; reel-list.css no global; 3D montado em tarefas curtas, limitado a ~30 qps e estático com WebGL por software; pôsteres da vitrine de 330 para 158 KB; SC Plus regravado; scripts sem funções acima de complexidade 10.
This commit is contained in:
Evandro Fonseca Junior committed 2026-10-14 19:14:48 -03:00
1 parent 9e2d65a926
commit 204ebd5fa5
49 files changed
+2197 -606

No files matched your search

+3 -11
View File
@@ -77,12 +77,12 @@ export const SHOWCASE: readonly ShowcaseConfig[] = [
{
id: "sc-plus",
accent: "#22c55e",
durations: { desktop: 10.4, mobile: 16.4 },
durations: { desktop: 14.7, mobile: 22.4 },
weight: 0.8,
chapters: [
{ label: "Abertura", desktop: 0, mobile: 0 },
{ label: "Áreas e projetos", desktop: 3.4, mobile: 5.6 },
{ label: "Contato", desktop: 8.4, mobile: 12.4 },
{ label: "Áreas e projetos", desktop: 5.8, mobile: 7.6 },
{ label: "Contato", desktop: 12.6, mobile: 19.4 },
],
},
{
@@ -137,14 +137,6 @@ export function getOgImagePath(id: string) {
return `/videos/${id}/og.jpg`;
}
/** Arquivos de um projeto da vitrine para o aparelho (desktop por padrão): é o que as capas dos cards usam. */
export function getProjectVideo(
id: string,
device: Device = "desktop",
): ShowcaseAssets | undefined {
return byId.has(id) ? getShowcaseAssets(id, device) : undefined;
}
// ---------------------------------------------------------------------------------------------------------
// Capítulos e sincronia entre as duas telas
// ---------------------------------------------------------------------------------------------------------