gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1389Shell 137Markdown 80Rust 802602 Definitions

feat(perfiles): se puede ESCRIBIR coreano — el primer método de entrada entra a los 5 escritorios

Las fuentes Noto del 19-oct hicieron que la distro LEA chino, japonés, coreano, árabe e hindi. Esto
es lo que faltaba para ESCRIBIRLOS. `fcitx5` se construyó ese día y **no se declaró hasta hoy a
propósito**: un marco sin motor es una barra de candidatos que no convierte nada.

Entran los TRES juntos, y el tercero por una razón que casi se me escapa:

    fcitx5          el marco — daemon, protocolo y barra. Habla `zwp_text_input_v3` /
                    `zwp_input_method_v2`, que `mirada-compositor` registra (setup.rs:600-602)
    fcitx5-hangul   el MOTOR coreano
    libhangul       ⚠ no es sólo dep de build: su código va estático dentro del addon, pero el
                    diccionario hanja NO — la ruta `/usr/share/libhangul/hanja/hanja.txt` está
                    HORNEADA en la `.a` (medido con `strings`). Sin este paquete en la imagen, la
                    conversión hanja busca un fichero que no existe: el código está y el dato no

El coreano primero por coste MEDIDO, no por preferencia: deps nuevas por motor — coreano **1**,
japonés 2 (`anthy` + `fcitx5-qt`), chino 6 (`libime`, `libpinyin`, `opencc`, `fcitx5-lua`,
`fcitx5-qt` y **qt6-qtwebengine**), y el chino además necesita Qt fuera de `incoming-kde`.

⚠ **PESO, y conviene decirlo con el número: 294 MB** por imagen (fcitx5 284 + libhangul 6,6 + motor
3,3). Y medido con readelf, **el 87 % de los binarios de fcitx5 son secciones `.debug_*`** — 294 MB
de 334, o sea que desnudado serían ~40 MB. **No es una anomalía suya**: `foot` y `mpv` también van
sin desnudar, es la norma del corpus, y su sitio es la campaña del split de debug (SDD 23). Lo dejo
medido acá porque es el renglón más gordo que he declarado y el número es accionable.

Y el censo se corrige: pedía `anthy`, `libpinyin` y `hangul` —las bibliotecas MOTOR— cuando lo que
se declara son los paquetes `fcitx5-*`. Con `fcitx5-hangul` ya sellado seguía contando «hangul» como
hueco: un hueco falso por nombrar la pieza de abajo en vez de la que viaja. Corregido, la categoría
pasa de 5/6 a **3/6** y el total a 147.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

594d4819ea427fefe78187804a1fadfd580c8daf · by Sergio · (2 d ago) · parent a1ef64ee4 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

2 files · +149 −2

diff --git a/docs/state/targets.toml b/docs/state/targets.toml
index fd5911f6..a958fd7c 100644
--- a/docs/state/targets.toml
+++ b/docs/state/targets.toml
@@ -513,6 +513,34 @@ paquetes = [
   #   noto-fonts-cjk    86 MB  2 .ttc; cada uno trae zh-Hans, zh-Hant, ja y ko a la vez
   #   noto-fonts-emoji  10 MB  NotoColorEmoji — fontconfig ya la prefiere de fábrica, sin `.conf`
   "noto-fonts", "noto-fonts-cjk", "noto-fonts-emoji",
+  # ── ESCRIBIR, NO SÓLO LEER (2026-10-20) ──────────────────────────────────────────────────────
+  # Las fuentes Noto del 19-oct hicieron que la distro LEA chino, japonés, coreano, árabe e hindi.
+  # Esto es lo que falta para ESCRIBIRLOS: un teclado tiene cien teclas y esos sistemas no se
+  # teclean uno-a-uno. `censo-distro.py` marcaba la categoría «escribir en esos idiomas» 5 de 6.
+  #
+  # Entran los TRES JUNTOS y el orden del razonamiento importa:
+  #   `fcitx5`         el marco: daemon, protocolo y barra de candidatos. Habla
+  #                    `zwp_text_input_v3` / `zwp_input_method_v2`, que `mirada-compositor` registra
+  #                    (`setup.rs:600-602`) — sin eso ningún IME serviría en esta distro.
+  #   `fcitx5-hangul`  el MOTOR coreano. Sin un motor, el marco es una barra que no convierte nada:
+  #                    la figura de `crun` sin podman, y la razón por la que fcitx5 se construyó el
+  #                    19-oct y NO se declaró hasta hoy.
+  #   `libhangul`      ⚠ y no es sólo dep de build. Su código va ESTÁTICO dentro del addon, pero el
+  #                    diccionario hanja NO: la ruta `/usr/share/libhangul/hanja/hanja.txt` está
+  #                    HORNEADA en la `.a` (medido con `strings`), así que sin este paquete en la
+  #                    imagen la conversión hanja busca un fichero que no existe. Es la figura de
+  #                    «un directorio vacío como sonda» por el otro lado: el código está, el dato no.
+  #
+  # ⚠ EL COREANO PRIMERO POR COSTE MEDIDO, no por preferencia: deps nuevas por motor —coreano 1
+  # (`libhangul`), japonés 2 (`anthy` + `fcitx5-qt`), chino 6 (`libime`, `libpinyin`, `opencc`,
+  # `fcitx5-lua`, `fcitx5-qt` y **qt6-qtwebengine**). El chino además necesita que Qt salga de
+  # `incoming-kde` al corpus. Los otros dos son campañas con su propio presupuesto.
+  #
+  # ⚠ PESO: 294 MB (fcitx5 284 + libhangul 6,6 + el motor 3,3). Y **el 87 % de los binarios de
+  # fcitx5 son secciones `.debug_*`** —294 MB de 334, medido con readelf—, así que desnudado serían
+  # ~40 MB. No es una anomalía suya: `foot` y `mpv` también van sin desnudar, es la norma del corpus
+  # y su sitio es la campaña del split de debug (SDD 23), no esta línea.
+  "fcitx5", "fcitx5-hangul", "libhangul",
   "fontconfig-shared",     # /etc/fonts/fonts.conf y el soname que enlaza el riel
   "freetype-shared",       # libfontconfig.so.1 pide libfreetype.so.6: sin ella el riel muere al cargar
   "libpng-shared",         # y freetype pide libpng16.so.16 — la cadena entera entro por querer letras
@@ -617,6 +645,34 @@ paquetes = [
   #   noto-fonts-cjk    86 MB  2 .ttc; cada uno trae zh-Hans, zh-Hant, ja y ko a la vez
   #   noto-fonts-emoji  10 MB  NotoColorEmoji — fontconfig ya la prefiere de fábrica, sin `.conf`
   "noto-fonts", "noto-fonts-cjk", "noto-fonts-emoji",
+  # ── ESCRIBIR, NO SÓLO LEER (2026-10-20) ──────────────────────────────────────────────────────
+  # Las fuentes Noto del 19-oct hicieron que la distro LEA chino, japonés, coreano, árabe e hindi.
+  # Esto es lo que falta para ESCRIBIRLOS: un teclado tiene cien teclas y esos sistemas no se
+  # teclean uno-a-uno. `censo-distro.py` marcaba la categoría «escribir en esos idiomas» 5 de 6.
+  #
+  # Entran los TRES JUNTOS y el orden del razonamiento importa:
+  #   `fcitx5`         el marco: daemon, protocolo y barra de candidatos. Habla
+  #                    `zwp_text_input_v3` / `zwp_input_method_v2`, que `mirada-compositor` registra
+  #                    (`setup.rs:600-602`) — sin eso ningún IME serviría en esta distro.
+  #   `fcitx5-hangul`  el MOTOR coreano. Sin un motor, el marco es una barra que no convierte nada:
+  #                    la figura de `crun` sin podman, y la razón por la que fcitx5 se construyó el
+  #                    19-oct y NO se declaró hasta hoy.
+  #   `libhangul`      ⚠ y no es sólo dep de build. Su código va ESTÁTICO dentro del addon, pero el
+  #                    diccionario hanja NO: la ruta `/usr/share/libhangul/hanja/hanja.txt` está
+  #                    HORNEADA en la `.a` (medido con `strings`), así que sin este paquete en la
+  #                    imagen la conversión hanja busca un fichero que no existe. Es la figura de
+  #                    «un directorio vacío como sonda» por el otro lado: el código está, el dato no.
+  #
+  # ⚠ EL COREANO PRIMERO POR COSTE MEDIDO, no por preferencia: deps nuevas por motor —coreano 1
+  # (`libhangul`), japonés 2 (`anthy` + `fcitx5-qt`), chino 6 (`libime`, `libpinyin`, `opencc`,
+  # `fcitx5-lua`, `fcitx5-qt` y **qt6-qtwebengine**). El chino además necesita que Qt salga de
+  # `incoming-kde` al corpus. Los otros dos son campañas con su propio presupuesto.
+  #
+  # ⚠ PESO: 294 MB (fcitx5 284 + libhangul 6,6 + el motor 3,3). Y **el 87 % de los binarios de
+  # fcitx5 son secciones `.debug_*`** —294 MB de 334, medido con readelf—, así que desnudado serían
+  # ~40 MB. No es una anomalía suya: `foot` y `mpv` también van sin desnudar, es la norma del corpus
+  # y su sitio es la campaña del split de debug (SDD 23), no esta línea.
+  "fcitx5", "fcitx5-hangul", "libhangul",
   # `dejavu-fonts-nerd` es la MISMA DejaVu Sans Mono parcheada con Nerd Fonts (~10.000 glifos de
   # iconos: Powerline, Font Awesome, Devicons…) que usan starship, lsd, eza, neovim y las
   # statuslines; sin ellos dibujan cuadraditos. Se AÑADE, no reemplaza: la licencia de Bitstream
@@ -1231,6 +1287,34 @@ paquetes = [
   #   noto-fonts-cjk    86 MB  2 .ttc; cada uno trae zh-Hans, zh-Hant, ja y ko a la vez
   #   noto-fonts-emoji  10 MB  NotoColorEmoji — fontconfig ya la prefiere de fábrica, sin `.conf`
   "noto-fonts", "noto-fonts-cjk", "noto-fonts-emoji",
+  # ── ESCRIBIR, NO SÓLO LEER (2026-10-20) ──────────────────────────────────────────────────────
+  # Las fuentes Noto del 19-oct hicieron que la distro LEA chino, japonés, coreano, árabe e hindi.
+  # Esto es lo que falta para ESCRIBIRLOS: un teclado tiene cien teclas y esos sistemas no se
+  # teclean uno-a-uno. `censo-distro.py` marcaba la categoría «escribir en esos idiomas» 5 de 6.
+  #
+  # Entran los TRES JUNTOS y el orden del razonamiento importa:
+  #   `fcitx5`         el marco: daemon, protocolo y barra de candidatos. Habla
+  #                    `zwp_text_input_v3` / `zwp_input_method_v2`, que `mirada-compositor` registra
+  #                    (`setup.rs:600-602`) — sin eso ningún IME serviría en esta distro.
+  #   `fcitx5-hangul`  el MOTOR coreano. Sin un motor, el marco es una barra que no convierte nada:
+  #                    la figura de `crun` sin podman, y la razón por la que fcitx5 se construyó el
+  #                    19-oct y NO se declaró hasta hoy.
+  #   `libhangul`      ⚠ y no es sólo dep de build. Su código va ESTÁTICO dentro del addon, pero el
+  #                    diccionario hanja NO: la ruta `/usr/share/libhangul/hanja/hanja.txt` está
+  #                    HORNEADA en la `.a` (medido con `strings`), así que sin este paquete en la
+  #                    imagen la conversión hanja busca un fichero que no existe. Es la figura de
+  #                    «un directorio vacío como sonda» por el otro lado: el código está, el dato no.
+  #
+  # ⚠ EL COREANO PRIMERO POR COSTE MEDIDO, no por preferencia: deps nuevas por motor —coreano 1
+  # (`libhangul`), japonés 2 (`anthy` + `fcitx5-qt`), chino 6 (`libime`, `libpinyin`, `opencc`,
+  # `fcitx5-lua`, `fcitx5-qt` y **qt6-qtwebengine**). El chino además necesita que Qt salga de
+  # `incoming-kde` al corpus. Los otros dos son campañas con su propio presupuesto.
+  #
+  # ⚠ PESO: 294 MB (fcitx5 284 + libhangul 6,6 + el motor 3,3). Y **el 87 % de los binarios de
+  # fcitx5 son secciones `.debug_*`** —294 MB de 334, medido con readelf—, así que desnudado serían
+  # ~40 MB. No es una anomalía suya: `foot` y `mpv` también van sin desnudar, es la norma del corpus
+  # y su sitio es la campaña del split de debug (SDD 23), no esta línea.
+  "fcitx5", "fcitx5-hangul", "libhangul",
   # `dejavu-fonts-nerd` es la MISMA DejaVu Sans Mono parcheada con Nerd Fonts (~10.000 glifos de
   # iconos: Powerline, Font Awesome, Devicons…) que usan starship, lsd, eza, neovim y las
   # statuslines; sin ellos dibujan cuadraditos. Se AÑADE, no reemplaza: la licencia de Bitstream
@@ -1485,6 +1569,34 @@ paquetes = [
   #   noto-fonts-cjk    86 MB  2 .ttc; cada uno trae zh-Hans, zh-Hant, ja y ko a la vez
   #   noto-fonts-emoji  10 MB  NotoColorEmoji — fontconfig ya la prefiere de fábrica, sin `.conf`
   "noto-fonts", "noto-fonts-cjk", "noto-fonts-emoji",
+  # ── ESCRIBIR, NO SÓLO LEER (2026-10-20) ──────────────────────────────────────────────────────
+  # Las fuentes Noto del 19-oct hicieron que la distro LEA chino, japonés, coreano, árabe e hindi.
+  # Esto es lo que falta para ESCRIBIRLOS: un teclado tiene cien teclas y esos sistemas no se
+  # teclean uno-a-uno. `censo-distro.py` marcaba la categoría «escribir en esos idiomas» 5 de 6.
+  #
+  # Entran los TRES JUNTOS y el orden del razonamiento importa:
+  #   `fcitx5`         el marco: daemon, protocolo y barra de candidatos. Habla
+  #                    `zwp_text_input_v3` / `zwp_input_method_v2`, que `mirada-compositor` registra
+  #                    (`setup.rs:600-602`) — sin eso ningún IME serviría en esta distro.
+  #   `fcitx5-hangul`  el MOTOR coreano. Sin un motor, el marco es una barra que no convierte nada:
+  #                    la figura de `crun` sin podman, y la razón por la que fcitx5 se construyó el
+  #                    19-oct y NO se declaró hasta hoy.
+  #   `libhangul`      ⚠ y no es sólo dep de build. Su código va ESTÁTICO dentro del addon, pero el
+  #                    diccionario hanja NO: la ruta `/usr/share/libhangul/hanja/hanja.txt` está
+  #                    HORNEADA en la `.a` (medido con `strings`), así que sin este paquete en la
+  #                    imagen la conversión hanja busca un fichero que no existe. Es la figura de
+  #                    «un directorio vacío como sonda» por el otro lado: el código está, el dato no.
+  #
+  # ⚠ EL COREANO PRIMERO POR COSTE MEDIDO, no por preferencia: deps nuevas por motor —coreano 1
+  # (`libhangul`), japonés 2 (`anthy` + `fcitx5-qt`), chino 6 (`libime`, `libpinyin`, `opencc`,
+  # `fcitx5-lua`, `fcitx5-qt` y **qt6-qtwebengine**). El chino además necesita que Qt salga de
+  # `incoming-kde` al corpus. Los otros dos son campañas con su propio presupuesto.
+  #
+  # ⚠ PESO: 294 MB (fcitx5 284 + libhangul 6,6 + el motor 3,3). Y **el 87 % de los binarios de
+  # fcitx5 son secciones `.debug_*`** —294 MB de 334, medido con readelf—, así que desnudado serían
+  # ~40 MB. No es una anomalía suya: `foot` y `mpv` también van sin desnudar, es la norma del corpus
+  # y su sitio es la campaña del split de debug (SDD 23), no esta línea.
+  "fcitx5", "fcitx5-hangul", "libhangul",
   # ⚠ «sin puntero» lo decía este comentario desde que se escribió y NO era cierto: `cosmic-icons`
   # instala iconos de aplicación, no cursores, así que este perfil llegó a 43/43 con el puntero
   # INVISIBLE. Lo cazó `vigia-imagen.py` el 2026-09-04. Los cursores son su propia raíz.
@@ -1758,6 +1870,34 @@ paquetes = [
   #   noto-fonts-cjk    86 MB  2 .ttc; cada uno trae zh-Hans, zh-Hant, ja y ko a la vez
   #   noto-fonts-emoji  10 MB  NotoColorEmoji — fontconfig ya la prefiere de fábrica, sin `.conf`
   "noto-fonts", "noto-fonts-cjk", "noto-fonts-emoji",
+  # ── ESCRIBIR, NO SÓLO LEER (2026-10-20) ──────────────────────────────────────────────────────
+  # Las fuentes Noto del 19-oct hicieron que la distro LEA chino, japonés, coreano, árabe e hindi.
+  # Esto es lo que falta para ESCRIBIRLOS: un teclado tiene cien teclas y esos sistemas no se
+  # teclean uno-a-uno. `censo-distro.py` marcaba la categoría «escribir en esos idiomas» 5 de 6.
+  #
+  # Entran los TRES JUNTOS y el orden del razonamiento importa:
+  #   `fcitx5`         el marco: daemon, protocolo y barra de candidatos. Habla
+  #                    `zwp_text_input_v3` / `zwp_input_method_v2`, que `mirada-compositor` registra
+  #                    (`setup.rs:600-602`) — sin eso ningún IME serviría en esta distro.
+  #   `fcitx5-hangul`  el MOTOR coreano. Sin un motor, el marco es una barra que no convierte nada:
+  #                    la figura de `crun` sin podman, y la razón por la que fcitx5 se construyó el
+  #                    19-oct y NO se declaró hasta hoy.
+  #   `libhangul`      ⚠ y no es sólo dep de build. Su código va ESTÁTICO dentro del addon, pero el
+  #                    diccionario hanja NO: la ruta `/usr/share/libhangul/hanja/hanja.txt` está
+  #                    HORNEADA en la `.a` (medido con `strings`), así que sin este paquete en la
+  #                    imagen la conversión hanja busca un fichero que no existe. Es la figura de
+  #                    «un directorio vacío como sonda» por el otro lado: el código está, el dato no.
+  #
+  # ⚠ EL COREANO PRIMERO POR COSTE MEDIDO, no por preferencia: deps nuevas por motor —coreano 1
+  # (`libhangul`), japonés 2 (`anthy` + `fcitx5-qt`), chino 6 (`libime`, `libpinyin`, `opencc`,
+  # `fcitx5-lua`, `fcitx5-qt` y **qt6-qtwebengine**). El chino además necesita que Qt salga de
+  # `incoming-kde` al corpus. Los otros dos son campañas con su propio presupuesto.
+  #
+  # ⚠ PESO: 294 MB (fcitx5 284 + libhangul 6,6 + el motor 3,3). Y **el 87 % de los binarios de
+  # fcitx5 son secciones `.debug_*`** —294 MB de 334, medido con readelf—, así que desnudado serían
+  # ~40 MB. No es una anomalía suya: `foot` y `mpv` también van sin desnudar, es la norma del corpus
+  # y su sitio es la campaña del split de debug (SDD 23), no esta línea.
+  "fcitx5", "fcitx5-hangul", "libhangul",
   # `dejavu-fonts-nerd` es la MISMA DejaVu Sans Mono parcheada con Nerd Fonts (~10.000 glifos de
   # iconos: Powerline, Font Awesome, Devicons…) que usan starship, lsd, eza, neovim y las
   # statuslines; sin ellos dibujan cuadraditos. Se AÑADE, no reemplaza: la licencia de Bitstream
diff --git a/scripts/censo-distro.py b/scripts/censo-distro.py
index 3ce96909..0e595c8e 100755
--- a/scripts/censo-distro.py
+++ b/scripts/censo-distro.py
@@ -53,8 +53,15 @@ CHECKLIST = {
         'cuadraditos en chino, japonés, coreano, árabe, hindi, tailandés y emoji',
         ['noto-fonts-cjk', 'noto-fonts-emoji', 'noto-fonts', 'noto-fonts-extra']),
     'escribir en esos idiomas': (
-        'una fuente deja LEER; para ESCRIBIR hace falta un método de entrada',
-        ['fcitx5', 'ibus', 'anthy', 'libpinyin', 'hangul', 'rime']),
+        'una fuente deja LEER; para ESCRIBIR hace falta un método de entrada. ✅ El marco `fcitx5` '
+        'y el motor COREANO entraron el 2026-10-20 (con `libhangul`, que viaja por su diccionario '
+        'hanja: la ruta está horneada en la .a). Faltan los otros idiomas. '
+        '⚠ Los renglones se nombran como los PAQUETES de fcitx5, no como las bibliotecas motor: mi '
+        'primera versión pedía `anthy`, `libpinyin` y `hangul`, y con `fcitx5-hangul` ya sellado el '
+        'censo seguía contando «hangul» como hueco — un hueco falso por nombrar la pieza de abajo '
+        'en vez de la que se declara',
+        ['fcitx5', 'ibus', 'fcitx5-hangul', 'fcitx5-anthy', 'fcitx5-chinese-addons',
+         'fcitx5-rime']),
     'accesibilidad': (
         'sin lector de pantalla ni voz la distro es inusable para quien no ve',
         ['orca', 'speech-dispatcher', 'espeak-ng', 'brltty']),