diff --git a/docs/20-catalogo-publicable-y-completa.md b/docs/20-catalogo-publicable-y-completa.md index 0fa270bf..095f61cf 100644 --- a/docs/20-catalogo-publicable-y-completa.md +++ b/docs/20-catalogo-publicable-y-completa.md @@ -185,17 +185,56 @@ Presente ya: `networkmanager`, `pipewire`, `wireplumber`, `polkit`, `seatd`, `up Acá está el trabajo grande, y conviene decir los tamaños en voz alta. -## II.1 WMs Wayland ligeros — barato, alto retorno -**Medido: no hay ninguno.** De toda la familia sólo existen `foot` (terminal) y `mako` -(notificaciones). Falta la base entera: +## II.1 WMs Wayland ligeros — ✅ HECHO EN UNA NOCHE (2026-08-07/08) +> **Actualizado.** Esta sección decía «medido: no hay ninguno — de toda la familia sólo existen +> `foot` y `mako`». Ya no. La hipótesis que traía —«son baratos comparados con los escritorios +> completos: no hay una torre de C debajo»— **se cumplió y ahora está medida**: KDE y GNOME fueron +> campañas de semanas; esto salió en una noche. -- **`wlroots`** primero: es la biblioteca de la que cuelgan casi todos. -- **Compositores**: `sway`, `labwc`, `river`, `niri`. -- **La barra y los accesorios, sin los cuales un WM no se usa**: `waybar`, `fuzzel`/`wofi`, - `swaybg`, `swayidle`, `swaylock`, `grim`, `slurp`, `wl-clipboard`. +**10 recetas selladas** en la cola `recipes/incoming-wlr/`, 12 binarios: -Son **baratos comparados con los escritorios completos**: no hay una torre de C debajo. Es la mejor -relación esfuerzo/resultado que queda en el proyecto. +| pieza | qué aporta | +|---|---| +| `wlroots` 0.18.2 | la biblioteca de la que cuelga todo lo demás | +| `sway` 1.10 | el compositor (+ swaybar, swaymsg, swaynag) | +| `yambar` | la barra de estado | +| `fuzzel` | el lanzador de aplicaciones | +| `swaybg` · `swaylock` · `swayidle` | fondo, bloqueo (con PAM) e inactividad | +| `grim` · `slurp` | captura de pantalla y selección de región | +| `wl-clipboard` | `wl-copy` / `wl-paste` | + +Con `foot` (ya en el corpus) como terminal, el perfil **`escritorio-sway` cierra 121/121** y +**arranca en QEMU**: ver `docs/evidencia/sway-qemu-2026-08-08.png`. + +**`waybar` queda fuera POR MEDICIÓN**, no por gusto: pide `gtkmm-3.0` —GTK**3** *y* sus bindings de +C++— más gtk-layer-shell, jsoncpp, fmt, spdlog, sigc++, date y libnl. Es el muro de GTK3 aparcado +por diseño, con ocho recetas nuevas encima. `yambar` es C puro, del mismo autor que foot/fcft/fuzzel, +y sus dependencias ya estaban selladas. Si algún día entra GTK3, waybar vuelve a la mesa. + +Faltan otros compositores (`labwc`, `river`, `niri`), que ahora son baratos porque wlroots ya está. + +### ⚠️ LA LECCIÓN QUE VALE PARA TODO ESTE DOCUMENTO: **sellado ≠ arranca** +El grafo decía **121/121, falta 0** — y entre eso y una pantalla con algo dibujado hubo **seis muros +y ocho ciclos de imagen**. Ninguno era visible en un grafo de dependencias, porque ninguno es una +dependencia de build: + +1. **`PATH` vacío** — el `console-getty` no lo exporta; ni `mkdir` se encontraba. +2. **`libz.so.1` ausente del rootfs** — el `zlib` del corpus es sólo estático y la compartida vive + en otra cola. Se cazó comparando los `NEEDED` del ELF contra el rootfs. +3. **`LIBSEAT_BACKEND=builtin` no existe en NUESTRO libseat** — la receta lo construye con un solo + backend. *La receta manda sobre lo que uno cree recordar del proyecto.* +4. **`/run` de sólo lectura** — la raíz es inmutable por diseño; el error («check permissions») + sonaba a permisos y era un filesystem read-only. +5. **`xkeyboard-config` ausente** — sin los datos XKB, xkbcommon aborta. +6. **Sin tipografías no hay terminal** — `fcft: failed to load primary fonts`. + +Y el método: **el veredicto es contar colores del PPM, no leer el log.** Hubo un arranque con TODO +verde —salida activada, modo correcto, «Commit of 1 outputs succeeded», workspace creado— y la +captura **100% negra**. Un compositor puede estar vivo y no pintar nada. + +⇒ **Corolario para §4.1 y para cualquier estimación de este documento**: que un perfil cierre en el +grafo prueba que la imagen SE ARMA, no que ARRANQUE. Los otros perfiles no validados en metal +cargan esa misma distancia, y conviene no prometer fechas contra el número del grafo. ## II.2 Aplicaciones gráficas de terceros — **medido: cero** No hay ni una. Por coste creciente: @@ -243,6 +282,24 @@ originó el respaldo del 2026-08-07. **Se puede publicar SIN**: navegador propio, ofimática, y el reconstructor independiente. Son objetivos, no requisitos. -**Para COMPLETA falta, además**: wlroots + los WMs ligeros y sus accesorios, el juego de aplicaciones -gráficas, LibreOffice, el navegador, y cerrar la deuda de fondo (gcc, determinismo `.debug_`, -ADR 0012). +**Para COMPLETA falta, además**: el juego de aplicaciones gráficas, LibreOffice, el navegador, y +cerrar la deuda de fondo (gcc, determinismo `.debug_`, ADR 0012). +*(Los WMs ligeros ya NO están en esta lista: wlroots + sway + accesorios se cerraron el 2026-08-07/08 +y el perfil arranca en QEMU — ver §II.1. También faltan otros compositores, pero ahora son baratos.)* + +--- + +## 7. Lo que este documento NO puede decirte + +Todos los números de acá salen del grafo, y el grafo tiene un límite que conviene tener presente +antes de leerlo como un plan: **prueba que una imagen SE ARMA, no que ARRANQUE.** + +Está medido, no supuesto. El perfil `escritorio-sway` cerró **121/121, falta 0** — y entre eso y una +pantalla con algo dibujado hubo **seis muros y ocho ciclos de imagen**: PATH vacío, un `.so` +ausente del rootfs, un backend de libseat que nuestra receta no construye, `/run` de sólo lectura, +los datos XKB, y la falta de tipografías. Ninguno era una dependencia de build, así que ninguno podía +aparecer en el grafo. + +⇒ Cuando este documento diga que algo «cierra», leelo como *se puede intentar*, no como *funciona*. +La distancia se paga una vez por perfil y se paga entera. Los tres escritorios que aún no se +validaron con pantalla la deben.