Manifesti, confezioni, biglietti da visita — il QR è ovunque, e mettere un quadrato in bianco e nero sopra un progetto curato per settimane è sempre stato un dispiacere. Ma il QR ha quell'aspetto per un motivo: è ciò che si costruisce quando una fotocamera e un processore del 1994 devono riuscire a leggerlo.
Quei vincoli sono in gran parte caduti. Le fotocamere dei telefoni e la potenza di calcolo hanno margine. Così, invece di rincorrere solo il riconoscimento, quel margine è stato speso perché il codice valga la pena di essere guardato. Non è un sostituto del QR: è un posto accanto. Il risultato è un codice a barre 3D — stampato in piano, ma percepito in rilievo.
Scegli in base a dove verrà messo. I tipi piani condividono lo stesso contratto dati e differiscono solo per la silhouette; True 3D H è l’estensione a cubo reale del gruppo Y, con un formato proprio. Ogni codice qui sotto contiene https://tl.estre.so.
Tre facce n×n. Un segno compatto, adatto a insegne e gadget.
Un formato a sé per un cubo reale, con dati diversi su 1…6 facce. Il generatore esporta anche un video di rotazione (MP4), cartamodelli e file per la stampa 3D.
La forma base. Le celle romboidali si dispongono attorno a un pattern di ricerca centrale.
La tacca a ore 3 fissa orientamento e tipo nella silhouette stessa. La gamma C0–C3 è per scansioni ravvicinate; da C1 in su, avvicina il codice o usa lo zoom.
Un nucleo esagonale più le toppe d'angolo, che formano un triangolo equilatero.
Un triangolo unito alla sua immagine a 180°. Massima capacità a parità di k.
Il payload netto è riferito a ECC-M. Tutti i tipi, H compreso, possono portare accanto un QR di riserva, così resta una via anche dove il codice TL non è leggibile. In H, per impostazione predefinita, sta nell’angolo in alto a sinistra.
Il QR era la risposta giusta per il suo tempo. Due valori, moduli quadrati, grandi pattern di ricerca — ognuna di quelle scelte serviva a far leggere il codice anche a una fotocamera debole. Con quei vincoli, rinunciare all'estetica era razionale.
Quella premessa è cambiata. Le fotocamere dei telefoni di oggi non hanno nulla a che vedere con quelle, e l'elaborazione video in tempo reale gira dentro un browser. Quel margine poteva andare alla densità — oppure a come appare. È per questo che il formato esiste.
In cambio si è rinunciato alla densità. Le celle romboidali sono meno efficienti in superficie dei moduli quadrati. Questo formato non compete sulla densità. Se serve trasportare molto, lo strumento giusto resta il QR.
Una tassellatura rhombille divide ogni cella esagonale nelle facce T, L e R.
Ordinare le tre luminanze dà 3! = 6 esiti — una cifra in base 6.
Un Reed–Solomon sul campo primo GF(211) corregge gli errori.
Invariante rispetto alle trasformazioni monotone. Variazioni di luce globale, gamma e mappatura tonale della stampante sono monotone: non possono cambiare un ordinamento. Se l'ordine sopravvive, il valore sopravvive.
Il renderer resta libero. Il contratto dati è solo «l'ordine fra le facce, più una separazione minima». Dentro quel vincolo, colore, texture, gradienti per faccia e animazione sono tutti aperti. Quella libertà è il senso del formato.
Non rende però nulla bello da solo. Ciò che si apre è il contratto, non il risultato. Che cosa disegnare lì dentro resta lavoro di chi progetta.
Il decoder funziona. Tutti e quattro i tipi si leggono da foto scattate con dispositivi reali; resta da alzare precisione e velocità. Ogni tempo qui sotto è una decodifica di una singola foto statica scattata con un telefono reale, non il tempo del primo aggancio né un tasso di successo dal vivo.
| Tipo | Foto reali decodificate | Una decodifica su foto statica | Verifica dal vivo |
|---|---|---|---|
| Type Y — cubo singolo | 9 / 16 | ≈ 1.8 s | altre misure in corso |
| Type O — campo esagonale | 29 / 48 | ≈ 1.9 s | altre misure in corso |
| Type A — silhouette triangolare | 18 / 19 | ≈ 2.4 s | altre misure in corso |
| Type K — esagramma | 18 / 27 | ≈ 3.1 s | altre misure in corso |
| Variante QR centrale (tutti e quattro i tipi) · 2026-08-13 | 8 / 9 | — | altre misure in corso |
Una decodifica di una singola foto ferma. Il Type O è ora il più rapido; A, K e Y stanno vicini subito dietro. ⚠ Una versione precedente di questa pagina indicava il Type Y come il più rapido: era un campione di 9 foto e, su un campione più ampio, l’ordine si è ribaltato. Non leggeteli come tempi di primo aggancio dal vivo.
Il tempo di una decodifica su foto statica non predice la sensazione della scansione dal vivo. Nelle prime misure su dispositivo reale, un fotogramma veloce poteva comunque portare a un primo aggancio lento quando servivano molti fotogrammi prima di uno riuscito, e la classifica dei tipi risultava diversa da questa tabella su foto statica. Quei rilievi riguardano un solo dispositivo e un campione piccolo, quindi non assegniamo ancora un giudizio d'uso dal vivo.
Contano molto anche le condizioni di ripresa. Alla misura, 9 pixel per cella era il limite inferiore di decodifica e, a parità di distanza, un obiettivo ultragrandangolare inquadra il codice più piccolo e scende sotto quella soglia (ultragrandangolare 7.6 px fallito / grandangolare 9.1 px riuscito). Per questo lo scanner offre la scelta dell'obiettivo.
Nella variante con QR centrale un blocco QR sostituisce il pattern di ricerca centrale. I suoi pattern forniscono il punto d'ingresso di posizione e orientamento con cui si decodifica il corpo TL circostante. Per impostazione predefinita il QR resta una riserva che porta un link al lettore; il payload vero rimane nel corpo TL. Dal 2026-08-28 il generatore usa come impostazione predefinita, per i tipi O, C, A e K, il pattern TL centrale con un QR di riserva esterno nell'angolo in alto a sinistra; il QR centrale resta una delle scelte di pattern. La riga QR centrale della tabella qui sopra misura questa variante (ciclo del 2026-08-13).
Il Type C e il True 3D H non compaiono nella tabella qui sopra; per H non sono garantiti tassi di riconoscimento né FPS con una fotocamera reale. Lo scanner ha due motori: R1 legge i tipi TL piani un fotogramma alla volta e R2, quello predefinito, raccoglie i tipi Y e H su più fotogrammi. Per H mostra il risultato solo dopo che le facce richieste hanno superato i controlli RS/CRC. Nei browser con BarcodeDetector, R2 legge anche i normali codici QR; un link letto da un codice QR non si apre mai automaticamente — controlla l’indirizzo, poi toccalo.
Misurato il 2026-08-27 · campione di 110 foto (ognuna provata a 960 · 1440 px di lato corto). ⚠ Gran parte del campione è fotografata da uno schermo: non sono numeri di stampa né di posa reale. Inoltre 123 dei 233 fotogrammi del corpus sono scatti al limite tenuti proprio perché non si decodificano ancora — qui sono esclusi. Solo la riga QR centrale viene dal ciclo precedente del 2026-08-13.
La specifica del formato e l'implementazione di riferimento sono pubblicate con licenza Apache 2.0. JavaScript puro, script di build Node.js nel repository, zero dipendenze a runtime — funziona come un singolo file HTML.
Implementare solo il decoder basta a essere un'implementazione conforme. La diffusione parte da chi legge.
| Sito | Ruolo | Stato |
|---|---|---|
| tlcube.estre.so | Generatore | attivo |
| tlscan.estre.so | Scanner | attivo — stato › |
| tl.estre.so | Sito di presentazione | sei qui |