recetas craft: dos premisas desmentidas al construir — el panic de atspi no se dispara y los features de eframe del manifiesto no son los del build
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
12 archivos · +177 −5
- recipes/cadcraft.toml +14 −0
- recipes/deckcraft.toml +14 −0
- recipes/designcraft.toml +14 −0
- recipes/effectcraft.toml +14 −0
- recipes/filmcraft.toml +14 −0
- recipes/gridcraft.toml +14 −0
- recipes/lightcraft.toml +14 −0
- recipes/pdfcraft.toml +14 −0
- recipes/photocraft.toml +14 −0
- recipes/soundcraft.toml +14 −0
- recipes/vectorcraft.toml +23 −5
- recipes/wordcraft.toml +14 −0
diff --git a/recipes/cadcraft.toml b/recipes/cadcraft.toml
index 89e5fd8c..f65bb58b 100644
--- a/recipes/cadcraft.toml
+++ b/recipes/cadcraft.toml
@@ -38,6 +38,20 @@
# los iconos hicolor y el `with_app_id()` de la app coinciden en `ai.storyteller.cadcraft`, así que
# el emparejamiento ventana↔lanzador funciona en Wayland sin parchear nada.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "cadcraft"
version = "0.6.2"
license = "MIT OR Apache-2.0"
diff --git a/recipes/deckcraft.toml b/recipes/deckcraft.toml
index b421989f..dc688d63 100644
--- a/recipes/deckcraft.toml
+++ b/recipes/deckcraft.toml
@@ -38,6 +38,20 @@
# los iconos hicolor y el `with_app_id()` de la app coinciden en `ai.storyteller.deckcraft`, así que
# el emparejamiento ventana↔lanzador funciona en Wayland sin parchear nada.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "deckcraft"
version = "0.6.1"
license = "MIT OR Apache-2.0"
diff --git a/recipes/designcraft.toml b/recipes/designcraft.toml
index 515a33c7..b485bbde 100644
--- a/recipes/designcraft.toml
+++ b/recipes/designcraft.toml
@@ -38,6 +38,20 @@
# los iconos hicolor y el `with_app_id()` de la app coinciden en `ai.storyteller.designcraft`, así que
# el emparejamiento ventana↔lanzador funciona en Wayland sin parchear nada.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "designcraft"
version = "0.7.1"
license = "MIT OR Apache-2.0"
diff --git a/recipes/effectcraft.toml b/recipes/effectcraft.toml
index 2b3fb5bb..82960fe6 100644
--- a/recipes/effectcraft.toml
+++ b/recipes/effectcraft.toml
@@ -38,6 +38,20 @@
# los iconos hicolor y el `with_app_id()` de la app coinciden en `ai.storyteller.effectcraft`, así que
# el emparejamiento ventana↔lanzador funciona en Wayland sin parchear nada.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "effectcraft"
version = "0.9.2"
license = "MIT OR Apache-2.0"
diff --git a/recipes/filmcraft.toml b/recipes/filmcraft.toml
index 7162178a..e348cb01 100644
--- a/recipes/filmcraft.toml
+++ b/recipes/filmcraft.toml
@@ -42,6 +42,20 @@
# `muda`, que es el menú nativo de macOS. Mismo caso que `photocraft`; se deja escrito porque un
# triaje por lock lo lee como «GTK3» y marcaría la app como bloqueada sin estarlo.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "filmcraft"
version = "0.7.2"
license = "MIT OR Apache-2.0"
diff --git a/recipes/gridcraft.toml b/recipes/gridcraft.toml
index 019cccb7..b14347a2 100644
--- a/recipes/gridcraft.toml
+++ b/recipes/gridcraft.toml
@@ -56,6 +56,20 @@
# deps son cuatro crates internos + `serde`. Ni `plotters`, ni `egui_plot`, ni KChart: por eso el
# graficador no agrega un solo muro.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "gridcraft"
version = "0.6.1"
license = "MIT OR Apache-2.0"
diff --git a/recipes/lightcraft.toml b/recipes/lightcraft.toml
index e79449ab..7c7c6571 100644
--- a/recipes/lightcraft.toml
+++ b/recipes/lightcraft.toml
@@ -41,6 +41,20 @@
# `rav1e` (AV1) está en el lock y es **Rust puro**: no es la libaom de C. `libfuzzer-sys` es
# dev-dependency y no se compila acá.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "lightcraft"
version = "0.7.1"
license = "MIT OR Apache-2.0"
diff --git a/recipes/pdfcraft.toml b/recipes/pdfcraft.toml
index 4f7bf56f..d7e9b694 100644
--- a/recipes/pdfcraft.toml
+++ b/recipes/pdfcraft.toml
@@ -44,6 +44,20 @@
# se construye** — si esta receta falla ahí, la salida es un `--no-default-features` con el
# feature de `ring`, no abandonar la app.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "pdfcraft"
version = "0.7.1"
license = "MIT OR Apache-2.0"
diff --git a/recipes/photocraft.toml b/recipes/photocraft.toml
index 5fb030de..ff9b467d 100644
--- a/recipes/photocraft.toml
+++ b/recipes/photocraft.toml
@@ -49,6 +49,20 @@
# › Linux display server = X11`— para la pluma de tableta (#639). Es opt-in Y comprueba que las
# librerías X estén; en esta distro no están, así que se queda en Wayland por construcción.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "photocraft"
version = "0.8.2"
license = "MIT OR Apache-2.0"
diff --git a/recipes/soundcraft.toml b/recipes/soundcraft.toml
index 071aae93..7b338107 100644
--- a/recipes/soundcraft.toml
+++ b/recipes/soundcraft.toml
@@ -43,6 +43,20 @@
# que las tres recetas de pipewire ya llevan encendida). Lo que NO hay es cliente nativo: si
# hiciera falta latencia baja de verdad, eso es su propia unidad de trabajo.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "soundcraft"
version = "0.6.1"
license = "MIT OR Apache-2.0"
diff --git a/recipes/vectorcraft.toml b/recipes/vectorcraft.toml
index 6e2ce00a..a25a0d75 100644
--- a/recipes/vectorcraft.toml
+++ b/recipes/vectorcraft.toml
@@ -38,12 +38,30 @@
# los iconos hicolor y el `with_app_id()` de la app coinciden en `ai.storyteller.vectorcraft`, así que
# el emparejamiento ventana↔lanzador funciona en Wayland sin parchear nada.
#
-# ⚠ Es la ÚNICA de las doce que declara `eframe` **sin el feature `wgpu` y sin `accesskit`**: va
-# por `glow` (GL por glutin/EGL) y no arrastra la torre de `atspi`, así que esta receta no
-# necesita el `LOCKSTEP_XML_PATH` que llevan sus hermanas. Si un bump le enciende `accesskit`, el
-# build va a morir con un panic en `xml/schemas/` que no nombra nada de esto: copiar el bloque de
-# `gridcraft.toml`.
+# ⚠ Es la única de las doce cuyo `apps/vectorcraft/Cargo.toml` declara `eframe` **sin `wgpu` y sin
+# `accesskit`** — y eso resultó NO significar nada: medido con el binario sellado corriendo, pinta
+# con `egui_wgpu` sobre el mismo backend GL que sus hermanas, y el build compiló `accesskit`+`atspi`
+# igual. Los features son aditivos y se los enciende `vectorcraft-ui-egui`. Se deja escrito porque
+# la lectura ingenua del manifiesto decía «ésta va por glow» y habría mandado a diagnosticar al
+# lugar equivocado el día que falle.
+# Lo que SÍ es propio de ésta: su `gpu.rs` mira los GPU del display por PCI y lo dice en el log
+# (`no adapter matches a display GPU, so power preference None`), que es la frase a buscar si un día
+# elige el adaptador equivocado en una máquina con dos.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "vectorcraft"
version = "0.10.0"
license = "MIT OR Apache-2.0"
diff --git a/recipes/wordcraft.toml b/recipes/wordcraft.toml
index 1bf89ed8..81bf52ff 100644
--- a/recipes/wordcraft.toml
+++ b/recipes/wordcraft.toml
@@ -45,6 +45,20 @@
# Trae además `crates/mcp`: habla el protocolo de herramientas, así que enchufa al `llama-cpp`
# que ya viaja en los cuatro escritorios sin pasar por ningún servicio de nadie.
#
+#
+# ── ⚠ DOS COSAS QUE ESTA FAMILIA DESMINTIÓ AL CONSTRUIRSE (2026-10-13) ────────────────────────
+# 1. **El panic de `zbus-lockstep-macros` NO se dispara en estas versiones.** `vectorcraft` compiló
+# `atspi-common` 0.13.0 + `zbus-lockstep-macros` 0.5.2 **sin** el `LOCKSTEP_XML_PATH` del compile
+# y salió `rc=0`, con el subdirectorio `xml/schemas/` presente en el crate (comprobado en el
+# registro: `…/atspi-common-0.13.0/xml/schemas/`). O sea que lo de `boveda`/`mirada-greeter` era
+# de otra combinación, no de la mera presencia del subdir. El bloque se deja en las demás como
+# seguro barato —cuesta un `cp`— pero **no hay que leerlo como «sin esto no compila»**.
+# 2. **Los features de `eframe` del manifiesto de la app NO son los del build.** El `apps/<app>/
+# Cargo.toml` de `vectorcraft` pide `eframe` sin `wgpu` y sin `accesskit`, y aun así el binario
+# corre sobre `egui_wgpu` y compila la torre de `accesskit`+`atspi`: los features son ADITIVOS y
+# se los enciende otro miembro del workspace (`<app>-ui-egui`). Leer sólo el manifiesto de la app
+# para decidir qué camino gráfico toma una de éstas da la respuesta equivocada; lo que manda es
+# lo que aparece en el log del build y en el del binario corriendo.
name = "wordcraft"
version = "0.6.1"
license = "MIT OR Apache-2.0"