1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Todo lo que una aplicación de Aura necesita para tener una ventana, eficiente por defecto:
//!
//! - **Reposo a cero**: el bucle duerme (`Wait`) y solo se despierta por entrada, por un hilo de trabajo
//! (inbox), por un temporizador (`WaitUntil` hasta el más próximo) o mientras haya una animación.
//! - **Sin pintar lo que no se ve**: tapada, minimizada o con tamaño cero, la ventana no dibuja y suelta las
//! cachés de glifos y de GPU; al volver se redimensiona y repinta.
//! - **GPU de bajo consumo**: adaptador `LowPower`, sincronía vertical y un solo frame en cola (`aura_gpu`).
//! - **Sin GPU también**: si no hay una utilizable (equipos viejos, sin controladores, emulada por software) pinta la
//! CPU con la misma escena; `AURA_RENDERER=cpu` lo fuerza.
//! - **Memoria devuelta**: tras un rato ocioso, las páginas libres del asignador vuelven al sistema (macOS).
//! - **Accesibilidad sin coste**: el árbol de AccessKit solo se construye mientras haya un lector de pantalla.
//! - **Pruebas visuales**: `AURA_SNAPSHOT=salida.png` guarda un frame, con teclas y clics simulados.
//!
//! Lo mínimo es [`run`] con una vista raíz; un programa con varias ventanas o reglas propias (el editor) usa
//! [`Surface`] y las piezas sueltas.
pub use AndroidApp;
pub use ;
pub use ;
pub use ;