[package] name = "llimphi-hybrid" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true publish.workspace = true description = "llimphi-hybrid — reproduce la `Escena` grabada de llimphi-cpu contra `vello_hybrid`, el rasterizador CPU+GPU SIN compute shaders. Es el único camino a píxeles en GPUs cuyo compilador de shaders no digiere el compute de vello (Mali-G57 del Redmi Note 13 Pro, medido en 02_ruway/llimphi/android/DIAGNOSTICO.md)." [dependencies] # La grabadora. `Escena`/`Orden`/`Forma`/`Glifo` no tocan wgpu ni GPU: son # peniko + kurbo y nada más. Eso fue lo que permitió escribir y verificar este # crate ANTES de migrar el workspace a wgpu 29 — vivía en 29 mientras el resto # seguía en 27, porque no hay ningún tipo de wgpu que cruce esa frontera. llimphi-cpu = { path = "../llimphi-cpu", version = "0.1.0" } # El rasterizador sin compute. Desde la migración del workspace a wgpu 29 # (2026-07-28) comparte versión —y por lo tanto `Device`— con `llimphi-hal` y # con `vello`: los tres cuelgan del mismo wgpu, así que un `Pintor` de acá puede # rendir sobre la surface de allá sin conversión. Antes de esa migración no # podía, y ése fue justamente el motivo de hacerla. vello_hybrid.workspace = true wgpu.workspace = true # `PaintType`, `ImageSource`, `Mask`, `Pixmap` — el sustrato COMPARTIDO. Que # vello_cpu 0.0.9 y vello_hybrid 0.0.9 resuelvan al MISMO `vello_common 0.0.9` # es lo que hace barato todo esto: una `Mask` rasterizada en CPU se le entrega a # hybrid tal cual, sin conversión. vello_common = "0.0.9" # El `Glyph` posicionado que consume el builder de texto de hybrid. Es un crate # de Linebender como kurbo o peniko (esperanto: «glifo»), y se declara directo # porque en hybrid es dep OPCIONAL detrás de su feature `text` — que está en su # default, pero apoyarse en eso sería frágil: si alguien arma este grafo con # `default-features = false`, el tipo desaparece y el error sale lejos de acá. glifo = "0.1.1" [dev-dependencies] pollster.workspace = true # Sólo para `Hal::new_headless(true)`: fuerza el adapter de software (llvmpipe), # que es lo que hace determinista el número de `tests/hybrid_vs_cpu.rs` en # cualquier máquina y en CI. Es el mismo arnés que usa `llimphi-test`. llimphi-hal = { path = "../llimphi-hal", version = "0.1.0" }