ry_backend/lib.rs
1//! ry-backend - Dual backend (raylib + SDL2) para ry-dit
2//!
3//! ## Filosofía
4//! - **SDL2 para texto TTF**: Más profesional, anti-alias, fuentes reales
5//! - **Raylib para drawing 2D/3D**: Más rápido, API simple
6//! - **SDL2 para input completo**: Mouse, touch, keyboard, gamepad
7//!
8//! ## Features
9//! - `dual-backend` (default): Raylib drawing + SDL2 input/TTF/audio
10//! - `raylib-only`: Solo raylib (todo en uno)
11//! - `sdl2-only`: Solo SDL2 (input/TTF/audio/assets)
12//! - `mobile-hybrid`: Raylib + SDL2 para Termux-X11
13
14// Módulos públicos
15#[cfg(any(feature = "dual-backend", feature = "raylib-only", feature = "mobile-hybrid"))]
16pub mod raylib_draw;
17
18#[cfg(any(feature = "dual-backend", feature = "sdl2-only", feature = "mobile-hybrid"))]
19pub mod sdl2_core;
20
21// Re-exports principales
22#[cfg(any(feature = "dual-backend", feature = "raylib-only", feature = "mobile-hybrid"))]
23pub use raylib_draw::*;
24
25#[cfg(any(feature = "dual-backend", feature = "sdl2-only", feature = "mobile-hybrid"))]
26pub use sdl2_core::*;
27
28// Re-exportar sdl2 para que los crates que dependen de ry-backend
29// puedan acceder a tipos sdl2 sin depender de sdl2 directamente
30#[cfg(any(feature = "dual-backend", feature = "sdl2-only", feature = "mobile-hybrid"))]
31pub use sdl2;
32
33// Versión del crate
34pub const VERSION: &str = "0.1.0";