Quad Tree · lenguaje de dibujo

qt-draw

Un dibujo escrito como se escribe una dirección. Sin puntos de control, sin lienzo: cada figura dice dónde vive dentro de la retícula que la contiene, y el papel la resuelve.

Cada ejemplo de esta hoja se dibuja con la librería real en el momento de cargarla.

El trazo

Una dirección es un lugar. Las MAYÚSCULAS hexadecimales nombran celdas del quadtree; las minúsculas, nodos del retículo 5×5 que las rodea.

aeimCuatro nodos = una polilínea. El cuadro canónico.
aeimaRepetir el primer nodo cierra el contorno.
aeim aimEl espacio separa trazos independientes.
OCírculo inscrito en la caja de contexto.
aeima .OqCírculo por centro y radio: nodo · O · nodo.

La pintura

Una almohadilla es el trazo; dos, el relleno. Y un relleno necesita una REGIÓN que lo reciba — por eso el asterisco.

#0085ff aeima#color — el contorno.
##fca*aeima##color + *región — el relleno.
!1 O!k — grosor de pluma (menor k, más gruesa).
~5 aeima~HEX — patrón de guiones (1 tinta, 0 aire).
%8{##f00*aeima}%H — opacidad del grupo.

Los bloques

Región primero, contenido después: se lee como se piensa — «en la celda F, esto». Y se anidan.

F{##0f0*O}ADDR{…} — todo el bloque vive en esa celda.
0{##fca*aeima} 3{##cfa*aeima} C{##acf*aeima} F{##fac*aeima}Las 16 celdas de nivel 2: 0 arriba-izquierda … F abajo-derecha.
F{7{##0f0*O}}Celda dentro de celda, sin límite.
[qv]{##fca*aeima}[n1n2] — caja entre dos nodos; q y v son el cuadro interior.
5{aeima} A{O}Dos bloques hermanos, cada uno en su cuadrante.

Códigos y ligas

Un código de barras es geometría —módulos, no tipografía— y por eso pertenece al lenguaje. Una liga no dibuja: es un atributo de la forma que la contiene.

|https://docuget.com||dato| — el tipo por default es qr y llena la caja.
5{|https://docuget.com|}Dentro de un bloque toma el espacio de ESA celda.
|7501234567893:ean13||dato:tipo| — qr · ean13 · code128 · aztec · datamatrix… (750 = México)
F{ ##0085ff*O @{https://docuget.com} }@{url} envuelve todo el bloque — y sí, viaja al PDF.

El tiempo

Un punto y coma parte un grupo en CUADROS; un `>` convierte un trazo en RECORRIDO. La duración no vive en la gramática — la pone quien reproduce. (Estos ejemplos se están moviendo.)

##f00*5 ; ##0f0*6 ; ##00f*A ; ##fa0*9a ; b ; c — un dibujo por cuadro, sin llaves siquiera.
aeima >aeima{ ##f00*O }>path{…} — el contenido recorre el trazo, orientándose solo.
#94a3b8 aeima aim >aeim{ ##0085ff*O } >mia{ ##fa0*aeima }Varios viajeros a la vez, cada uno con su camino.
F{ ##f00*O ; ##0f0*O ; ##00f*O }Los cuadros viven dentro de un bloque: el resto queda quieto.

Todo junto

Un QR inscrito en un círculo verde, con el conjunto entero clicable. Cincuenta y cinco caracteres.

{ ##0f0*O [qv]{|https://docuget.com:qr|} @{https://docuget.com} }
##0f0*O
círculo relleno de verde
[qv]{…}
el cuadro interior como marco
|…:qr|
un QR que lo llena
@{url}
todo el conjunto, clicable

Los sigilos

A-Fcelda del quadtree (dos niveles por dígito)
a-z .nodo del retículo 5×5
:cambia a base-4 (un nivel por dígito)
# ##trazo · relleno
*marca la región que recibe el relleno
! ~ %grosor · guiones · opacidad
{ }grupo — precedido de dirección, se encuadra en ella
[ ]caja entre dos nodos
( )anclas de curva
O Mcírculo · tesela de mapa
$definir y reusar ($nombre= … luego $nombre)
| @{}código de barras · hipervínculo
;separa CUADROS: el grupo es una línea de tiempo
>el trazo que sigue es un RECORRIDO: >path{viajero}
//comentario hasta fin de línea

El calendario ```calendar

2026-08el período: mes, o 2026-W31 para semana ISO
2026-08 +1desplazamiento — con {{ page_number - 1 }} pagina solo
lang: esnombres de mes y día en los 5 idiomas
2026-08-03: #fdd Kickoffcolor Y nota en un renglón
2026-08-09: @foto.jpgimagen de fondo del día
2026-08-07: qt: aeim 5Oun dibujo qt-draw dentro del día
2026-08-15: decadesin sigilo, es texto — siempre