Cartazes, embalagens, cartões de visita — o QR está em todo o lado, e pousar um quadrado a preto e branco sobre um design trabalhado durante semanas sempre custou. Mas o QR tem este aspeto por uma razão: é o que se constrói quando uma câmara e um processador de 1994 têm de conseguir lê-lo.
Essas restrições caíram em grande parte. As câmaras dos telemóveis e o poder de cálculo têm folga. Por isso, em vez de perseguir apenas o reconhecimento, essa folga foi gasta em valer a pena olhar. Não é um substituto do QR: é um lugar ao lado. O resultado é um código de barras 3D — impresso em plano, mas percebido em relevo.
Escolha consoante o sítio onde vai ficar. Os tipos planos partilham o mesmo contrato de dados e diferem apenas na silhueta; True 3D H é a extensão de cubo real do grupo Y, com um formato próprio. Todos os códigos abaixo contêm https://tl.estre.so.
Três faces n×n. Uma marca de uma só peça, boa para sinalética e merchandising.
Um formato próprio para um cubo real, com dados diferentes em 1…6 faces. O gerador também exporta um vídeo de rotação (MP4), moldes de papel e ficheiros de impressão 3D.
A forma base. As células em losango estendem-se à volta de um padrão localizador central.
O entalhe das 3 horas fixa a orientação e o tipo na própria silhueta. A gama C0–C3 destina-se a leitura de perto; a partir de C1, aproxime o código ou amplie a imagem.
Um núcleo hexagonal mais remendos de canto, formando um triângulo equilátero.
Um triângulo unido à sua imagem de 180°. Maior carga útil com o mesmo k.
A carga útil líquida é para ECC-M. Todos os tipos, incluindo H, podem levar ao lado um QR de reserva, de modo que reste um caminho onde um código TL não possa ser lido. Em H fica, por predefinição, no canto superior esquerdo.
O QR foi a resposta certa para o seu tempo. Dois valores, módulos quadrados, padrões localizadores grandes — cada uma dessas escolhas existia para que mesmo uma câmara fraca conseguisse ler. Com essas restrições, abdicar da estética era racional.
Essa premissa mudou. As câmaras dos telemóveis de hoje não se comparam, e o processamento de vídeo em tempo real corre dentro de um navegador. Essa folga podia ir para a densidade — ou podia ir para o aspeto. É por isso que este formato existe.
Em troca, abdicou-se da densidade. As células em losango aproveitam pior a área do que os módulos quadrados. Este formato não compete em densidade. Se for preciso levar muito, a ferramenta certa é o QR.
Uma pavimentação rhombille divide cada célula hexagonal nas faces T, L e R.
Ordenar as três luminâncias dá 3! = 6 resultados — um dígito em base 6.
Reed–Solomon sobre o corpo primo GF(211) corrige os erros.
Invariante a transformações monótonas. As variações de iluminação global, o gama e o mapeamento tonal de uma impressora são monótonos: não conseguem trocar uma ordem. Se a ordem sobrevive, o valor sobrevive.
O renderizador fica livre. O contrato de dados é apenas «a ordem entre as faces, mais uma separação mínima». Dentro disso, a cor, a textura, os gradientes por face e a animação estão todos abertos. É essa liberdade que dá sentido ao formato.
Mas nada fica bonito sozinho. O que se abre é o contrato, não o resultado. O que desenhar lá dentro continua a ser trabalho seu.
O descodificador funciona. Os quatro tipos leem-se a partir de fotos de dispositivos reais; falta subir a precisão e a velocidade. Cada tempo abaixo é uma descodificação de uma foto fixa tirada com um telemóvel real, não o tempo até à primeira fixação nem uma taxa de êxito ao vivo.
| Tipo | Fotos reais descodificadas | Uma descodificação em foto fixa | Validação ao vivo |
|---|---|---|---|
| Type Y — cubo único | 9 / 16 | ≈ 1.8 s | faltam mais medições |
| Type O — campo hexagonal | 29 / 48 | ≈ 1.9 s | faltam mais medições |
| Type A — silhueta triangular | 18 / 19 | ≈ 2.4 s | faltam mais medições |
| Type K — hexagrama | 18 / 27 | ≈ 3.1 s | faltam mais medições |
| Variante QR central (os quatro tipos) · 2026-08-13 | 8 / 9 | — | faltam mais medições |
Uma descodificação de uma única foto fixa. O Type O é agora o mais rápido; A, K e Y ficam próximos atrás. ⚠ Uma versão anterior desta página dizia que o Type Y era o mais rápido: era uma amostra de 9 fotos e, com uma amostra mais ampla, a ordem inverteu-se. Não leia isto como tempo de primeiro engate em direto.
O tempo de uma descodificação em foto fixa não prevê a sensação da leitura ao vivo. Nas primeiras medições em dispositivo real, um fotograma rápido podia ainda assim dar uma primeira fixação lenta quando eram precisos muitos fotogramas antes de um bem-sucedido, e a ordem dos tipos diferia desta tabela de foto fixa. Esse registo abrange um só dispositivo e uma amostra pequena, pelo que ainda não atribuímos uma classificação de uso ao vivo.
As condições de captura também pesam. Na medição, 9 píxeis por célula foi o limite inferior de descodificação e, à mesma distância, uma objetiva ultra grande-angular enquadra o código mais pequeno e desce abaixo dessa linha (ultra grande-angular 7.6 px falhou / grande-angular 9.1 px conseguiu). É por isso que o scanner oferece a escolha da objetiva.
Na variante de QR central, um bloco QR substitui o padrão localizador central. Os seus padrões dão o ponto de entrada de posição e orientação com que se descodifica o corpo TL em redor. Por predefinição, o QR continua a ser uma reserva com uma ligação para o leitor; a carga útil fica no corpo TL. Desde 2026-08-28, o gerador usa por predefinição, nos tipos O, C, A e K, o localizador TL central com um QR de reserva exterior no canto superior esquerdo; o QR central continua a ser uma das opções de localizador. A linha do QR central da tabela acima mede essa variante (ronda de 2026-08-13).
O Type C e o True 3D H não constam da tabela acima; para o H não são garantidas taxas de reconhecimento nem FPS com câmaras reais. O scanner tem dois motores: o R1 lê os tipos TL planos um fotograma de cada vez e o R2, o predefinido, reúne os tipos Y e H ao longo de vários fotogramas. No H só apresenta o resultado depois de as faces necessárias passarem na validação RS/CRC. Nos navegadores com BarcodeDetector, o R2 também lê códigos QR comuns; uma ligação lida de um código QR nunca é aberta automaticamente — confirme o endereço e depois toque nela.
Medido a 2026-08-27 · amostra de 110 fotos (cada uma tentada a 960 · 1440 px de lado curto). ⚠ A maior parte da amostra está fotografada a partir de um ecrã: não são números de impressão nem de colocação real. Além disso, 123 dos 233 fotogramas do corpus são capturas-limite guardadas precisamente por ainda não descodificarem — ficam aqui excluídas. Só a linha do QR central vem da ronda anterior de 2026-08-13.
A especificação do formato e a implementação de referência estão publicadas sob a Licença Apache 2.0. JavaScript simples, scripts de compilação Node.js no repositório, zero dependências em execução — funciona como um único ficheiro HTML.
Implementar apenas o descodificador já conta como implementação conforme. A adoção começa pelo lado que lê.
| Site | Papel | Estado |
|---|---|---|
| tlcube.estre.so | Gerador | ativo |
| tlscan.estre.so | Scanner | ativo — estado › |
| tl.estre.so | Site de apresentação | está aqui |