Cadastra
AIvengers
Harness de verificação para times de front-end. Teste antes do código, evidência congelada, veredito auditável.
VTEX IO · Node · Playwright
Bancada de design
Cada seção mostra uma decisão do redesenho isolada, com o site de antes ao lado do que as frentes P31 a P37 aplicaram. Troque a variante na barra abaixo e a página inteira responde.
Atualizada em 13/09/2026. As propostas desta bancada saíram do papel entre 09 e 10/09, e as duas decisões que travavam foram tomadas. Entre 12 e 13/09 o site ganhou o que as seções 12 a 16 contam: a cortina de entrada, a poeira com duas constelações, o som, a memória e a leitura refeita. As seções 01 a 11 dizem o que ficou decidido e o que mudou depois - decisão revertida se registra, não se apaga.
- palavras · cerca de - min de leitura, a 265 palavras por minuto.
A paleta não muda em nenhuma frente. Ela foi medida em OKLCH, passa nos quatro portões e é a parte já resolvida. Está aqui para conferência.
--background
o papel da página
16,94:1 no claro, 16,34:1 no escuro
--foreground
o texto
—
--accent
acento de sistema
4,5:1 mínimo, medido nos dois temas
--tinta
o traço da figura
5,97:1 sobre o pergaminho
--pergaminho
a folha do diagrama
—
--border
a borda
3,26:1 sobre o fundo
Os quatro pilares, a 90° um do outro em OKLCH, com L e C constantes. Fixar luminosidade e croma e variar só a matiz é o que garante que nenhum dos quatro pese mais que os outros.
ciência
matiz 275°
tecnologia
matiz 185°
arte
matiz 5°
filosofia
matiz 95°
Use as barras "Tipografia" e "Escala" acima. A primeira troca a família de toda esta página; a segunda troca o tamanho e o piso.
Trocar só a família não resolveu, e a medição diz por quê.
O número que o olho lê não é o font-size: é a
altura-x em pixels, que junta família e tamanho num
valor só. E há um segundo número, que é o mais grave: a fração do texto
da página abaixo de 16 px.
/posts/ 17 px 8 px 50% Era eu repetindo o defeito. Construí esta bancada com a mesma escala de que você reclamou: 136 dos 237 blocos de texto estavam a 14 px - os rótulos, as medidas, as células de tabela. O parágrafo nunca foi o problema; o problema é tudo em volta dele. Por isso a barra "Escala" abre em Confortável, e não em Atual.
Medido em 09/09/2026: das sete referências, seis usam sans-serif no corpo, e as duas que você apontou como boas - linear.app/now e razaoinadequada.com - usam Inter e Rubik. O site é o único serifada no corpo e serifada de display no título.
A altura-x dividida pela caixa alta diz o tamanho aparente das minúsculas. A Newsreader tem 0,654, a menor do conjunto: em 17 px ela desenha minúsculas 14% menores que a Inter no mesmo tamanho nominal. É a medida por trás de "tudo pequeno demais".
A folga do circunflexo é o quanto o acento sobe acima
do e, dividido pela altura-x. Foi este critério que
reprovou EB Garamond, Cormorant Garamond e Bodoni Moda nesta casa - e a
Newsreader tem 0,517, o pior número da tabela. O
defeito que barrou três famílias está na que ficou.
A escala existe e é fluida. O que a P31 conserta é o degrau:
hoje o h3 dos cards mede 16 px contra corpo de 16 px, e
subtítulo do mesmo tamanho do texto não é subtítulo.
hoje
O harness da casa exige teste antes do código e evidência congelada. Um veredito que uma máquina confere.
título 16 px · corpo 16 px · degrau 0 px
proposto
O harness da casa exige teste antes do código e evidência congelada. Um veredito que uma máquina confere.
título --passo-3 · corpo --passo-1 · degrau ≥ 3 px
Decidido e aplicado — P31, 09/09/2026 (A-58). Nenhuma das candidatas entrou: a prosa continuou na Newsreader, e o que mudou foi a escala e a divisão das vozes. Corpo com piso de 19 px em 390 e 20,2 px em 1440, degrau de 4 px entre rótulo e corpo; Space Mono para a interface (data, tag, botão) e Instrument Serif só no display.
Depois, em 13/09/2026. A coluna de leitura dos posts tinha ficado calibrada para a Literata a 17 px (36 rem, 68 caracteres) e ninguém refez a conta quando a prosa virou Newsreader a 20 px: eram 552 px e 63 caracteres, com título e dek em tetos próprios de 469 e 462 px - o dono: "por que tá tudo tão espremido?". Hoje a coluna é 39 rem (624 px, 71 caracteres) e a composição inteira, índice incluído, é centrada na tela. Ver a seção 16. As oito candidatas de família continuam nesta bancada como registro; nenhuma entrou, e o site continua a única serifada no corpo entre as referências, por decisão.
O achado mais forte da varredura, e o que exigiu duas medições. Cerca é fundo próprio ou borda em três lados: o cartão. Régua é borda em um ou dois lados: o fio que separa, e não conta. A primeira medição juntava as duas, e por isso acusava páginas limpas.
Contando só cerca, por 100 elementos: o /about/ tem
29,4 e o /projects/ tem
9,1, contra 1,4 do linear.app/now, 2,3 do joshwcomeau
e zero do overreacted.io. A home mede 0,7 e está mais
limpa que as duas referências. A proposta troca o cartão pela linha na
régua - notação que o projeto já tem.
hoje: cartão
Cadastra
Harness de verificação para times de front-end. Teste antes do código, evidência congelada, veredito auditável.
Pessoal
Site próprio como sistema: quatro assuntos, um grafo completo, e uma suíte que não deixa o design apodrecer.
cercas nesta amostra: 8
proposto: linha na régua
Cadastra
Harness de verificação para times de front-end. Teste antes do código, evidência congelada, veredito auditável.
VTEX IO · Node · Playwright
Pessoal
Site próprio como sistema: quatro assuntos, um grafo completo, e uma suíte que não deixa o design apodrecer.
Astro · OKLCH · Canvas
cercas nesta amostra: 0 — o fio horizontal separa, e separar não é cercar
Decidido e aplicado — P32 e P37, 09/09/2026 (A-59, A-61).
O cartão virou linha na pauta. Cercas por 100 elementos:
/projects/ de 9,3 para 0,2,
/links/ de 9,1 para 0,0,
/about de 2,8 para 0,9. As sete rotas medidas ficaram
abaixo de 1,0, e o /about/ perdeu 124 pílulas e as quatro
barras de progresso.
Depois, em 13/09/2026. O cartão de destaque de
/projects/ ainda tinha um defeito escondido: pedia
sm:flex no markup e display: block no estilo
escopado, e o escopado ganhava - a miniatura empilhava acima do texto
em qualquer largura e a página media 6 378 px para
oito projetos. Virou linha de pauta com a prancha à direita:
5 406 px. E o filtro de pilar deixou de ser chip com
bolinha: são os quatro símbolos alquímicos com o anel de seleção do
hero, e o "todos" é o K₄ completo - ver a seção 16.
Passe o ponteiro sobre os quatro. Hoje o site tira presença do que não importa: 59 textos da home usam opacidade parcial, e desbotar derruba o contraste junto. Na Noite Estrelada a luminância representa energia cinética - o que tem energia brilha. A proposta inverte a operação: nada apaga, o ativo acende.
hoje: os outros apagam
opacidade cai para 0,45 nos três não apontados
proposto: o ativo acende
opacidade constante em 1; a luminância do apontado sobe
Decidido e aplicado — P33, 09/09/2026 (A-62). Textos
com opacidade parcial na home: de 59 para
0, e zero nas outras rotas. O deslocamento em resposta
a gesto segue uma razão só, --k4-cascata = 0,45, em quatro
degraus de 14 a 1,3 px; /posts/ foi de 27 para 66
transições, e nenhuma animação roda sozinha fora do hero.
Depois, em 13/09/2026. A regra "o ativo acende" ganhou o exemplo mais literal do site: a marca do cabeçalho, ao apontar, faz o encontro do hero em miniatura - os quatro nós acendem nas cores dos pilares, as arestas se traçam de novo em acento, e um brilho atravessa a palavra no sentido da leitura. Em repouso continua monocromática. E a regra "nada roda sozinho fora do hero" ganhou uma ressalva medida no próprio hero: ele dorme quando ninguém olha - ver a seção 09.
Cada item de /posts/ carrega oito blocos de
texto. O overreacted.io carrega três, o joshwcomeau quatro, o
danluu dois. As quatro tags já estão ditas no filtro, poucos pixels
acima - repetir o filtro dentro de cada linha é dizer duas vezes.
hoje: 8 folhas, 1310 px
Sete anos depois, a conclusão é que quase tudo que eu chamava de liderança era, na verdade, ansiedade bem vestida.
ordem · categoria · título · resumo · data · 4 tags = 8 folhas
proposto: 4 folhas, em coluna
Sete anos depois, a conclusão é que quase tudo que eu chamava de liderança era, na verdade, ansiedade bem vestida.
título · categoria · data · resumo = 4 folhas,
e o título continua em --passo-4
Decidido e aplicado — P36, 10/09/2026 (A-67). O item caiu de 7 a 8 folhas para 4: índice e categoria se fundiram numa marca acima do título, as tags e a miniatura saíram, e o item ganhou coluna de 47,5 rem. A amostra acima mostra a ordem proposta; a aplicada pôs a marca antes do título, porque em duas colunas o texto fundido vazava sobre ele.
Depois, em 13/09/2026. A marca ganhou um dado a mais, e não uma folha: o tempo de leitura ("filosofia · 12 abr, 2026 · 13 min de leitura"), pela mesma conta do artigo - só as palavras de prosa, a 265 por minuto (`utils/leitura.ts`). Continua em quatro folhas.
Nove das treze referências de ensaio têm figura viva dentro do texto, e quatro têm nota lateral. O artigo do site tem a barra de progresso, e mais nada. A nota lateral vive na margem que já é vazia - a coluna de leitura não estreita para acomodá-la.
O harness da casa tem três estados, e não dois: PASS, FAIL e UNKNOWN. O terceiro é o que separa um sistema de verificação de um teatro de verificação.
UNKNOWN bloqueia igual a FAIL. "Não consegui medir" nunca vira "passou", porque o dia em que virar, a suíte inteira deixa de significar qualquer coisa.
E PASS exige RED antes. Critério que nasce verde não é aceite: é guarda. Ele prova que alguma coisa não quebrou, e não que alguma coisa foi feita.
Decidido e aplicado — P34, 10/09/2026 (A-66). O
artigo ganhou índice gerado dos próprios títulos, sem JavaScript, e a
nota lateral virou sintaxe de markdown, > [!aside].
O cipreste é a régua fina contínua (seção 08). A figura viva dentro do
texto não foi entregue, e continua declarada como
pendente.
Depois, em 13/09/2026. O índice ganhou seção ativa
(aria-current="location" na última seção cujo título
passou pelo terço de cima da tela, com um traço à esquerda - o mesmo
dispositivo do cipreste), a abertura do artigo virou kicker, título,
dek e meta, o corpo saiu do branco cheio para o tom 1, e a capitular
parou de vazar para dentro das citações. Ver a seção 16.
Até esta seção, a referência ao quadro aparecia nesta bancada 21 vezes em texto e nenhuma em desenho. Era a mesma falha que você apontou no site: "não to sentindo muito a referência". Paleta não é referência ao quadro.
Não são espirais desenhadas. É um campo vetorial - a técnica que a pesquisa achou em todos os trabalhos de Van Gogh no front-end -, e a espiral é o que aparece quando o escoamento acontece. O potencial é uma soma de gaussianas e a velocidade é o rotacional dele, o que torna o escoamento incompressível por identidade: sem fonte nem sumidouro visíveis.
O campo é gerado no build, então isto é SVG estático:
zero JavaScript em runtime, e o portão sem-js continua de
pé. No hero, a P35 troca a órbita das 160 partículas que já existem
por este mesmo campo - sem WebGL e sem partícula a mais.
Esta e a POC do que voce pediu. O campo ocupa o fundo da secao inteira - 1440 × 989, a proporcao real -, e a composicao do hero fica por cima, intacta: a elipse com as gravuras, a figura do K₄, os quatro glifos, os rotulos e o texto.
Os quatro vortices grandes ficam exatamente sobre os quatro pilares, convertidos da caixa do K₄ para a caixa da secao. O ceu nao e textura atras da figura: ele e organizado por ela.
Quatro elementos, uma só obra
FILOSOFIA — dar o chão e a gramática: o repertório que torna qualquer pergunta navegável
Mesma técnica, amarrada à geometria real do hero -
viewBox -430 -226 860 452, os quatro nós nas coordenadas
medidas, as seis arestas. O que muda não é a figura: é o que está
atrás dela.
A pincelada tem o comprimento do quadro. A Noite Estrelada mede 92 cm de largura e as pinceladas do céu têm de 3 a 8 cm - entre 3,3% e 8,7% da tela. A primeira versão disto usava traços de 27,9%, de três a oito vezes longos demais: aquilo não era pincelada, era linha de corrente, e lia como agressivo. Agora a mediana é 7,4%, e a densidade se forma por sobreposição, como no impasto.
A proposta, e ela não é decorativa: os quatro vórtices grandes ficam exatamente nos quatro pilares. O céu não é textura atrás da figura - ele é organizado pela figura. Os quatro assuntos são o que agita o campo, e os dez vórtices menores são a cascata descendo a partir deles. Quatro grandes mais dez pequenos são os 14 do quadro.
Aqui o campo é SVG estático porque a bancada é uma bancada. No
hero de verdade a P35 não faz assim: lá o campo vira uma
função pura que as 160 partículas que já existem em
orbe.mjs consultam a cada quadro - elas deixam de percorrer
uma órbita elíptica e passam a escoar. Mesmo teto de partículas, sem
WebGL, e o custo é aritmética em vez de bytes.
O quadro tem três regimes empilhados, e o contraste entre eles é o que faz o céu parecer vivo. Isto resolve a contradição que a medição tinha deixado em aberto: nenhum bom site de leitura tem movimento contínuo, e o hero deste site tem 36 animações infinitas. Céu inteiro seria ruído; vila inteira seria morto.
Os azuis e amarelos do quadro não foram fundidos na paleta: foram
postos lado a lado, e o olho faz a mistura. As
pranchas do site usam mix-blend-mode, que faz o oposto - e
é de onde vem a mancha acinzentada que E-21 registrou.
hoje: misturado
o quadro: justaposto
O que aconteceu com esta seção — P35, ainda aberta (A-65). O campo entrou no hero como lei de movimento, e não como desenho: a poeira passou a escoar pelos catorze centros, com correlação de 0,995 entre brilho e velocidade. O fundo pintado das POCs acima nunca foi aprovado, e o hero seguiu outro caminho - a poeira ganhou massa, céu e forma, e as pranchas passaram a cobrir o hero. É o que a seção 09 conta.
Nenhuma das duas era técnica, e enquanto estavam em aberto as frentes
não saíam de aberto. Estavam aqui desenhadas para serem
escolhidas com o olho.
Tomadas em 09/09/2026, por delegação do dono ("pode seguir tomando as decisões, eu vou dormir", A-65): o cipreste é a régua fina contínua, entregue na P34; Projetos na home vira link, entregue na P36. As duas opções continuam desenhadas abaixo, com a escolhida marcada.
Na Noite Estrelada um elemento atravessa os três regimes e liga a terra ao céu. O site não tem: o hero termina, a página começa. A vertical carrega o progresso de leitura, então não é enfeite. Falta decidir a peça.
A — régua fina contínua · escolhida
B — o fio de relação descendo
As duas seções somam 3623 px dos 5047 da página, e o hero já apresenta o site inteiro. Projetos ocupa 2035 px e vem antes de Escrita, que ocupa 1588 px, num site cuja tese é o texto.
A — as duas seções, Escrita primeiro
B — só Escrita, e Projetos vira link · escolhida
Entre 11 e 12/09/2026 o hero mudou mais do que em todas as frentes acima juntas, e quase tudo é movimento em canvas - que uma bancada sem JavaScript não mostra. Por isso aqui entram só o que mudou, o número medido e onde está a evidência. O hero de verdade está na home.
Ainda em aberto: a P41 continua aberta - falta a tinta
das manchas formar os hemisférios, tecnologia ir para a área de
Wernicke e os pilares acesos girarem como elétrons (o tremor que
vinha junto saiu em 12/09/2026, a pedido do dono: era imperceptível e
custava quadro) -, e a P35 também. Evidência em docs/evidencia/hero-inteiro/,
newton/, ceu/, p40/,
p41/ e vazio/.
data-hero-dormindo no <html> quando nem a figura nem as pranchas encostam na janela, quando a aba vai para trás, ou enquanto a cortina de entrada está de pé; o CSS pausa toda animação do hero e o laço de quadros para página rolada: de 0,352 para 0,037 s de CPU por segundo, de 62 para 1,6 recálculos/s global.css, k4.mjs cerebro.mjs, orbe.mjs Sistema.astro, k4.mjs pilares.ts Uma página que cobra número dos outros declara o dela. Medida com o mesmo script, em 1440×1000: 32 cercas e 36 réguas em 476 elementos, ou 6,7 cercas por 100.
Remedida em 12/09/2026, depois desta atualização, com a
coleta de caixa.test.mjs - a mesma que fecha as rotas do
site: 30 cercas e 99 réguas em 3 177 elementos, ou
0,9 por 100. O número de elementos não bate com o de
09/09, e não foi reconciliado: esta coleta conta todo elemento do
documento, inclusive os traços dos campos, e a de 09/09 não está
guardada para saber o que contava. As cercas, que não dependem da
base, são quase as mesmas: 32 antes, 30 agora.
É alto para uma página de leitura e correto para esta: 10 das 32 são
amostras de cor, que são retângulos de cor; 6 são o diagrama
de proporção da home; e 6 são o cartão e as tags da coluna "hoje" -
isto é, o defeito sendo exibido. Duas cercas eram vício meu e saíram:
a pílula com borda em volta da etiqueta de frente, que é o mesmo
vocabulário que a P32 manda tirar do /about/, e o truque
de gap sobre fundo colorido, que desenha régua mas conta
como cerca.
O que ela custa, e o que não é medido. As seis
candidatas de tipografia somam 341 KB de fonte que o
site não carrega. E orcamento.test.mjs mede só a home:
esta rota não passa pelo portão de peso. É aceitável
numa bancada noindex de trabalho e seria inaceitável numa
rota pública - quando uma família for escolhida, ela entra pelo
astro.config.ts, com subconjunto declarado, e as outras
cinco saem daqui.
E os dois campos custam HTML: cerca de mil traços
curtos punham a página em 471 KB de marcação em
09/09, e em 12/09 o dist/laboratorio/index.html mede
669 KB - subiu de
300 KB quando a pincelada encolheu para a escala do quadro, porque
traço curto significa mais traços. Aqui é o preço certo, e gerar no
build é o que mantém o portão sem-js de pé. No hero, a
P35 não faz assim: lá o campo é uma função pura
avaliada em runtime sobre as 160 partículas que já existem, e o custo
é aritmética, não bytes.
Daqui para baixo nada é número gravado: é lido em tempo de execução do CSS, das fontes e dos módulos - e por isso muda com o tema, com a janela e com o navegador de quem está olhando. Sem JavaScript as tabelas ficam com o traço.
--foreground - - - --tom-1 - - - --tom-2 - - - --accent - - - --border - - - --hairline - - - --pilar-ciencia - - - --pilar-tecnologia - - - --pilar-arte - - - --pilar-filosofia - - -
O contraste é calculado do valor computado, convertido de OKLCH para
sRGB linear pela conta do próprio espaço (OKLab → LMS → RGB) - e não
por canvas.fillStyle, que devolve preto para
oklch() e deu duas rodadas de números falsos a dois
agentes hoje.
Os módulos de cliente da home, lidos do disco no build: 74 arquivos, 1341,5 KB na fonte (antes de juntar, minificar e comprimir - o bundle é menor, mas a ordem de grandeza e a proporção entre eles são estas).
orbe.mjs 179,8 KB 13% k4.mjs 105,4 KB 8% espaco.mjs 91,3 KB 7% meu-ceu.mjs 62,1 KB 5% atomo-nucleo.mjs 52,2 KB 4% ceu-pessoal.mjs 50,7 KB 4% trilha.mjs 48,7 KB 4% mini-nave.mjs 44,9 KB 3% voz.mjs 40,4 KB 3% constelacao.mjs 39,2 KB 3% constelacao-pessoal.mjs 35,6 KB 3% controle-poderes.mjs 29,1 KB 2% ovos.mjs 28,1 KB 2% metricas.mjs 27,9 KB 2% afinacao.mjs 24,3 KB 2% cerebro.mjs 19,7 KB 1% estoque.mjs 19,4 KB 1% ceu-sonoro.mjs 19,2 KB 1% grafo.mjs 19,1 KB 1% grifo.mjs 19,0 KB 1% lembretes.mjs 18,1 KB 1% atomo.mjs 17,1 KB 1% portas-de-poder.mjs 16,5 KB 1% arsenal.mjs 16,3 KB 1% palavras-do-inventario.mjs 16,1 KB 1% mapa-do-site.mjs 15,8 KB 1% desfecho.mjs 15,8 KB 1% celebracao-dos-poderes.mjs 15,5 KB 1% descoberta.mjs 12,9 KB 1% pagina.mjs 12,7 KB 1% epoca.mjs 10,8 KB 1% disco-da-voyager.mjs 10,8 KB 1% simbolos.mjs 10,1 KB 1% inventario-local.mjs 9,2 KB 1% orbita-viva.mjs 9,2 KB 1% paleta.mjs 9,1 KB 1% perto-do-post.mjs 8,2 KB 1% marvin-no-site.mjs 8,0 KB 1% posicao-pelo-pilar.mjs 7,9 KB 1% aberturas.mjs 7,8 KB 1% painel-de-descobertas.mjs 7,1 KB 1% orbita.mjs 7,1 KB 1% figuras-do-ceu.mjs 6,9 KB 1% faisca.mjs 6,7 KB 0% compartilhar.mjs 6,6 KB 0% mancha.mjs 6,6 KB 0% marcos.mjs 5,7 KB 0% album.mjs 5,6 KB 0% modelo.mjs 5,4 KB 0% previa.mjs 5,4 KB 0% parametro-tudo.mjs 5,3 KB 0% campo.mjs 5,3 KB 0% conjunto.mjs 4,6 KB 0% poderes.mjs 4,2 KB 0% tempo-de-leitura.mjs 4,2 KB 0% sem-webgl.mjs 4,1 KB 0% tutorial.mjs 3,9 KB 0% cabeca-do-marvin.mjs 3,8 KB 0% tinta.mjs 3,8 KB 0% atomo-worker.mjs 3,7 KB 0% caderno.mjs 3,6 KB 0% destravar-audio.mjs 3,4 KB 0% luz.mjs 3,4 KB 0% miniaturas.mjs 3,2 KB 0% forma.mjs 2,3 KB 0% aureo.mjs 2,2 KB 0% chaves.mjs 2,2 KB 0% favoritar.mjs 2,1 KB 0% ceu-compartilhado.mjs 2,0 KB 0% diario.mjs 1,8 KB 0% trecho.mjs 1,8 KB 0% ultimo-controle.mjs 1,4 KB 0% sinal-da-leitura.mjs 1,4 KB 0% mapa-da-pagina.mjs 0,8 KB 0%
No Amélie Poulain, ela monta uma fita com cenas soltas e deixa
na porta do vizinho que não sai de casa. Este aparelho faz o mesmo:
sorteia uma cena da lista a cada visita e só procura o vídeo quando
alguém liga - até lá, o que existe na tela é o quadro de capa. A lista
mora em src/data/tv.ts, e acrescentar cena é acrescentar
uma linha.
Depois, em 13/09/2026. A fita tem oito cenas, os dois
botões do painel giram a sintonia de verdade (eram decorativos e
aria-hidden), e a troca tem chuvisco de tubo com o corte
caindo no meio da estática. A playlist do dono ficou de fora porque é
privada, e list= privado derruba o embed inteiro - medido
com e sem o parâmetro na mesma sessão. A televisão também mora no
/sobre, no fim de tudo, sem legenda. Em aberto: o dono
quer experimentar GIFs passando sozinhos, um após o outro, no lugar
dos vídeos.
A home abre com uma cortina, e ela existe por três razões que não são
enfeite: o som só nasce dentro de um gesto (a política de autoplay
não reconhece pointermove; o clique que abre a cortina é
o gesto que destrava o AudioContext); a figura demora a
montar, e a cortina é o tempo dela; e movimento é preferência de
sistema, mas o site oferece a porta local.
color-mix(..., transparent), que é opacidade com outro nome O que a cortina não faz. Não é portão: um clique entra,
Escape entra, e há um abridor de emergência no script embutido para o
intervalo em que o módulo ainda não chegou - medido em 13/09/2026 com
a rede a 400 KB/s, o botão de entrar ficava 13 s desenhado e sem
ouvinte, e o relato foi "está tudo branco". Não existe sem
JavaScript. E não decide nada sozinha: som nasce desligado, movimento
nasce como o sistema pediu. O endereço ?cortina a reabre,
e sai da barra por replaceState ao entrar.
Entre os 320 grãos do céu, 26 escondem uma referência do dono. Ao clicar, abre uma folha; ao fechar, o grão voa até a constelação do seu lado e vira estrela. Virgem à esquerda, Câncer à direita - o signo solar e o ascendente, e ninguém precisa saber disso para jogar. A distribuição é semântica, gravada no catálogo: Virgem é a mente que analisa e ordena, Câncer é a casa, a memória e o que se sente.
Modo de teste: /?ovos pinta os ovos de vermelho e expõe a
posição de cada um no data-ovos-xy do canvas;
/?ovos=25 abre a visita com os 25 primeiros achados já
encontrados, sem gravar nada.
Silêncio é o padrão, e nada toca sem gesto. A regra
vale para o acorde dos pilares, para os toques dos achados e para a
trilha. Tudo o que soa está na mesma afinação: cada
altura é um parcial da série harmônica sobre os mesmos 55 Hz - som de
interface fora da afinação do resto lê como efeito colado por cima.
A sala é uma só (SALA em afinacao.mjs: 2,8 s
de cauda, corte em 2 400 Hz).
sessionStorage) e abaixa quando um vídeo toca por cima (midia:tocando / midia:parou, com saldo) volume 0,42; 90 s medidos no build de produção com rolagem e clique em pilar: zero pausas. Obra comercial sem licença de uso: decisão do dono, com o crédito em /creditos
Um só AudioContext por página, fechado em
pagehide - medido em 13/09/2026, o da cortina ficava
running até o fim, e voz.fechar() nasceu
por isso.
Tudo o que o site lembra fica no navegador da pessoa - o site é estático, não há servidor, nada sai daqui. São dez chaves - oito no `localStorage` e duas na sessão da aba. A tabela abaixo lê as suas agora, neste navegador; sem JavaScript ela mostra só o que cada chave é.
eltonleao.caderno.v1 as duplas de pilares já descobertas no hero - o caderno nenhum na interface: o caderno só se apaga pelo "esquecer tudo" abaixo - eltonleao.ovos.v1 os achados da poeira, pelo id de cada um o botão de espalhar, embaixo da constelação fechada - eltonleao.sistema.v1 o estoque de leitura por pilar, que enche a assinatura do rodapé "zerar a leitura", na assinatura do rodapé - eltonleao.som.v1 som ligado ou desligado o botão de som, na cortina ou ao pé da figura - eltonleao.volume.v1 o volume da música, de 0 a 1 o controle deslizante no cabeçalho, arraste para 0 - eltonleao.movimento.v1 movimento reduzido só neste site o botão de movimento, na cortina ou ao pé da figura - eltonleao.idioma.v1 o idioma escolhido na porta da cortina, antes de tudo nenhum na interface; ?zerar ou o "esquecer tudo" abaixo - eltonleao.completo.v1 se a figura já ficou inteira uma vez - a folha do fim do hero, que só aparece sozinha uma vez nenhum na interface; ?zerar ou o "esquecer tudo" abaixo - eltonleao.cortina.v1 se já entrou nesta aba - a cortina não volta na mesma sessão fechar a aba, ou ?cortina no endereço - eltonleao.trilha.v1 a posição da música, para o refresh continuar de onde parou fechar a aba -
Um texto conta quando fica visível por vinte segundos contínuos com a aba em primeiro plano - abrir, rolar e clicar não contam. O mesmo texto não conta duas vezes, e um texto de dois assuntos enche os dois. Quando os quatro nós enchem, a assinatura do rodapé passa a apontar para como este site é organizado.
Sem placar, e não é por gosto. As quinze combinações não vazias de quatro pilares são a estrutura de faces do K₄: quatro vértices, seis arestas, quatro triângulos e o todo. A figura já desenha esse objeto - ela é o caderno, e nenhuma medalha precisa existir. O estoque de leitura só conta o que esteve visível por segundos contínuos com a aba em primeiro plano: não conta abrir, rolar nem clicar, porque placar que sobe com clique mede clique.
As seções 03, 05 e 06 descrevem o que foi decidido entre 09 e 10/09. Em 13/09 as três superfícies foram refeitas de novo, e o que a medição achou desta vez não era a linha nem a entrelinha:
data-pilar) e não havia como limpar os quatro símbolos alquímicos com o anel de seleção do hero; "todos" é o K₄ completo; três jeitos de limpar