Diagram Design: explicaciones visuales con evidencia
Leer el código de Diagram Design: qué detecta y qué omite el verificador de rectángulos
Reproduce 16 casos con el verificador fijado y entiende orden de pintado, umbrales y límites frente al diseño real del navegador.
Qué aprenderás
- Sigue los rectángulos por el verificador
- Observa fallos esperados y casos legales
- Comprende el límite del parser
Antes de empezar
- Conceptos básicos de HTML y SVG
- Distinguir una relación del sistema de su disposición visual
Elige una representación útil, explica simplificaciones e interpreta hallazgos dentro de su alcance real.
Conclusiones clave
- El orden del código forma parte de la condición reportada.
- Umbrales y sintaxis de atributos limitan la cobertura.
- Cero hallazgos no certifica visibilidad en el navegador.
Sigue los rectángulos por el verificador
El programa Python lee HTML y extrae rectángulos mediante una expresión regular. Reconoce nodos de al menos 60 por 40 unidades y máscaras de 20–200 de ancho y 8–14 de alto. Cada rectángulo conserva coordenadas y posición en el código, permitiendo razonar sobre el orden documental sin abrir un navegador.
Para cada máscara considera únicamente nodos posteriores. Calcula solapamiento en ambos ejes, ignora intersecciones de una unidad o menos y exime una máscara totalmente contenida como insignia. Una intersección parcial con un nodo posterior produce un hallazgo. La implementación deja de buscar después del primer nodo reportado para esa máscara.
Observa fallos esperados y casos legales
La ejecución aislada usó el script de línea de órdenes original sobre dieciséis archivos HTML sintéticos. Una máscara parcialmente cubierta por un nodo posterior produjo un hallazgo; invertir el orden produjo cero. Una insignia contenida y una zona anterior fueron aceptadas. Una unidad de solapamiento se toleró; dos se reportaron.
El límite de anchura importa: una máscara de 200 fue reconocida, pero 201 quedó fuera de la heurística. Un rectángulo de 15 de alto tampoco se clasificó como máscara. Esos resultados describen el verificador, no demuestran que las formas excluidas se vean bien. Los umbrales representan las formas esperadas de las plantillas del proyecto.
Comprende el límite del parser
La expresión inspeccionada espera x, y, width y height en ese orden y entre comillas dobles. Atributos equivalentes reordenados o con comillas simples no se analizaron en los casos. Tampoco se aplicaron transformaciones ni se modeló opacidad: una máscara trasladada lejos y un nodo sin relleno siguieron generando hallazgos según sus coordenadas originales.
Estas observaciones justifican una verificación por capas, no eludir el control ni afirmar una vulnerabilidad. Conserva la convención de marcado, añade casos para formas particulares e inspecciona el renderizado para transformaciones, anchura del texto y pintura real. El experimento ejecutó Python, no el HTML en un navegador ni toda la batería del proyecto.
Pasos de implementación
- 1
Lee el parser y sus umbrales.
- 2
Construye un fallo esperado y su contraparte legal.
- 3
Prueba límites y escrituras equivalentes del marcado.
- 4
Compara los hallazgos con una revisión renderizada separada.
Ejemplo para copiar
{
"casosOriginalesEjecutados": 16,
"hallazgosNodoPosterior": 1,
"hallazgosNodoAnterior": 0,
"hallazgosAncho200": 1,
"hallazgosAncho201": 0,
"hallazgosAtributosReordenados": 0,
"transformacionesAplicadas": false,
"visibilidadEnNavegadorVerificada": false
}Preguntas frecuentes
¿Cero hallazgos garantiza que ninguna etiqueta se recorte?
No. El control cubre una heurística rectangular y una convención de atributos. Texto, transformaciones y otras formas de pintado requieren inspección adicional.
¿Los resultados proceden de un modelo didáctico reescrito?
No. Se ejecutó sin modificar el CLI geométrico de la revisión fijada sobre archivos sintéticos. Los casos y expectativas se escribieron para esta revisión.
Fuentes
- scripts/verify-geometry.pyFuente verificada 2026-09-08
- scripts/test-verify-geometry.pyFuente verificada 2026-09-08
- docs/adr/0005-label-geometry-is-verified.mdFuente verificada 2026-09-08