Grid System v2
El Grid System v2 gobierna toda la UI de TED OS. Deroga el modelo anterior de razón áurea (basado
en φ): el espaciado, la tipografía y las proporciones son ahora base-8, sin φ. Las directivas
completas (G1–G20) viven en el repo (knowledge/grid-system.md) y la presentación de Paper del
proyecto; esta página es la orientación.
El eje X — columnas variables, anti-estiramiento
- Columnas variables por ancho objetivo, no por breakpoints. El número de columnas se calcula del ancho disponible (acotado entre 4 y 20). Referencia: móvil 4 · tablet 6 · laptop 10 · escritorio 12 · ultra-ancho / TV 20.
- Anti-estiramiento. Más pantalla = más columnas y más widgets, nunca widgets inflados. El canvas nunca se centra ni se limita.
overflow-xestá prohibido (overflow-x: clipen el chrome de la página).
El eje Y — crecimiento
- El canvas crece hacia abajo; el scroll-y está permitido, el origen superior nunca se mueve.
- Bandas por volatilidad — constante (origen) → en vivo → fresco (borde inferior). La altura de una banda es la de su grupo más alto.
Grupos — siempre contexto
- Ningún widget flota suelto. Cada widget vive en un grupo (un subgrid 2D cohesivo alineado al grid principal) y se renderiza por grupos a cualquier tamaño.
- Cada grupo declara un contrato: su span de columnas/filas (y máximo), prioridad y matiz, más un
widget
flexque absorbe ancho extra y un widgetvbottomque absorbe altura extra.
Empaquetado 2D + expansión acotada
- Empaquetado greedy por prioridad + balanceo — nunca una última banda con un grupo cuando la banda anterior tiene tres o más.
- Expansión acotada — distribuye el ancho restante hasta el máximo de cada grupo (absorbido por
flex); estira la altura a la banda (absorbida porflex+vbottom); el remanente extremo queda como aire editorial. Sin estiramiento uniformerepeat(auto-fit, minmax(...)).
La unidad, el radio y la tipografía
- Unidad cuadrada — una celda es un cuadrado verdadero en 1×1, vertical en 1×2, horizontal en 2×1.
- Radios por jerarquía (R1–R5), concéntricos: un radio interno = el externo menos su padding.
- Tipografía base-8 — una escala de pasos fija con
clamp()por densidad; Geist para display, Geist Mono (tabular) para UI/datos.
Reglas heredadas
- Todo en
rem, una sola perilla de escala; iconos enem. - El arrastre se ajusta al grid (también el teclado); el contrato del grupo sobrevive al drop.
- Anima solo
transformyopacity— nunca width/height/top/left;transition: allprohibida. - La accesibilidad es una compuerta, no un pulido — contraste AA, foco visible, estado por tono + etiqueta + forma, movimiento reducido respetado.
Relación con las otras reglas
El grid complementa las convenciones de la base y las reglas de ingeniería; en un conflicto de espaciado / layout, el grid gana. Ver Fundamentos y Alcance de color.