# ============================================================================= # llimphi-entrada — el modelo de entrada, sin vecinos # ----------------------------------------------------------------------------- # Estos tipos ya se mudaron una vez: vivían en `llimphi-ui` y W4.7 los bajó al # compositor, porque «el input no es del shell, es del MODELO» y procesar una # tecla no puede arrastrar el windowing de escritorio. # # Esta es la segunda mitad de esa misma mudanza, y la pidió el caso que aquel # comentario ya nombraba: **la jaula**. Un `KeyEvent` que viaja por un socket # entre dos procesos necesita serde, y el crate que lo alojaba —el compositor— # no compila sin elegir un backend de pintura. El anfitrión pinta con `vello` y # el huésped con `wire`, así que el cable que los une no puede depender de # ninguno de los dos: un dato de entrada no tiene por qué saber quién dibuja. # # El compositor lo re-exporta con los mismos nombres, así que ningún consumidor # se entera. # ============================================================================= [package] name = "llimphi-entrada" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true publish.workspace = true description = "llimphi — el modelo de entrada (KeyEvent, NamedKey, Modifiers, ImeEvent, WheelDelta) como dato puro: sin windowing, sin backend de pintura, opcionalmente serializable." [dependencies] serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } [features] default = [] # Los tipos viajan por un cable (`llimphi-cable`). Opcional porque el compositor, # que es quien los consume siempre, no los serializa nunca. serde = ["dep:serde"]