← Folha github.com/pmf-labs/folha

Vitrine Fable · nota de bastidores

Como & por quê

Folha nasceu de uma frustração clínica simples: dizer "coma mais fibra" não muda ninguém. Falta ver o que a comida faz. Então a página segue um prato para dentro do corpo — e o scroll vira a escada dessa descida.

A ideia formal: o scroll é uma escada de decomposição

A maioria dos scrollytellings prende um elemento e troca legendas. Folha faz outra coisa: uma única tela <canvas> fixa atrás do texto interpola continuamente entre seis escalas do mesmo alimento. Rolar não avança slides — cai através das escalas. Cada estrato cresce, passa por você e cede lugar ao próximo, numa queda vertical sem cortes: do prato ao ingrediente, à molécula, à via, ao marcador.

As seis escalas, lado a lado — no site elas são um único movimento vertical contínuo.

Direção de arte: revista, não dashboard

A regra estética foi tratar dado nutricional com a mão de um editorial gastronômico. Isso significou:

A afordância de consulta

O critério que separa "bonito" de "quero usar amanhã" é o paciente estar na sala. Por isso a barra fixa embaixo ancora a peça a dois controles de consultório:

Teste de qualidade aplicado: se um profissional de saúde não parasse de rolar e não mandasse o link a um colega, a peça falhou. A régua foi transformar aconselhamento em uma descida guiada à beira do leito — "isto é o que acontece quando você come isto" — sem números que assustem.

Técnica, em miúdos

Profundidade a partir da rolagem

Um valor depth ∈ [0,1] é derivado de scrollY / scrollMax. Seis centros de cena são dispostos ao longo dessa profundidade; uma partição da unidade (com smootherstep) faz o cross-fade entre cenas adjacentes, de modo que a soma das opacidades é sempre ~1 — sem "buracos" nem sobreposição suja. Cada cena também recebe uma escala crescente e uma translação para cima conforme depth a atravessa: é isso que dá a sensação de passar por dentro de cada escala.

Moléculas por geometria

As fórmulas estruturais (ômega-3, sulforafano, oleocantal, butirato, beta-glucana…) são desenhadas com primitivas — chain(), ring(), bond() com ligações simples e duplas — não são imagens. É geometria química, reaproveitável para qualquer molécula.

Screenshots de um site dirigido por rolagem

Rolagem programática deixa o screenshot headless em branco. A solução: modos de freeze que renderizam o estado-alvo sem chamar window.scroll. ?stratum=N isola um estrato no topo e trava o canvas na profundidade certa; ?d=0.5 trava numa profundidade arbitrária. Assim cada escala pode ser fotografada isoladamente.

# servir localmente
python -m http.server 8832

# fotografar o estrato "moléculas" (04) em headless
msedge --headless=new --screenshot=out.png \
  --window-size=1440,900 "http://127.0.0.1:8832/?stratum=3"

Acessibilidade & movimento

O que outros podem reaproveitar

Aviso. Todos os números desta peça são fictícios e ilustrativos. As moléculas, vias e sentidos de efeito refletem a literatura de nutrição/longevidade de forma editorial e simplificada; os valores de biomarcadores (hs-CRP, HbA1c, ApoB, LDL, pressão) foram inventados para ilustrar a direção do efeito de um padrão alimentar ao longo do tempo — não de uma única refeição. Sem qualquer valor clínico, diagnóstico ou prognóstico.