Sobre el proyecto

Pebble es un framework de aplicaciones y gráficos de bajo nivel para Rust, diseñado para proporcionar primitivas esenciales sin imponer un modelo específico de renderizado o simulación. Está construido sobre hecs (ECS), wgpu (GPU API) y winit (windowing). Las características clave incluyen: - **Arquitectura ECS**: Utiliza un enfoque basado en sistemas con etapas definidas (Startup, Ready, Update, Render, etc.) y gestión de recursos para valores singleton. - **Sistema de Plugins**: La aplicación se compone encadenando plugins, lo que permite la adición modular de windowing, backends de GPU y lógica de juego. - **Pipeline de Assets Flexible**: Un modelo de assets unificado de CPU/GPU que gestiona cargas asíncronas y gestión de dependencias. Soporta mallas genéricas (vía bytemuck::Pod), texturas y shaders WGSL puros para materiales y pases de cómputo. - **Builders de Recursos de GPU**: Proporciona builders para Textures, Meshes, Materials y pipelines de Compute, permitiendo a los usuarios definir sus propios layouts de vértices y formas de bind-group. - **Integración Async**: Utiliza un patrón Promise/Fulfiller para operaciones de GPU no bloqueantes, como readbacks de buffers y adquisición de backend. - **Multiplataforma**: Soporta tanto la ejecución nativa como wasm32-unknown-unknown para despliegue web. A diferencia de los motores de alto nivel, Pebble excluye deliberadamente la animación esquelética integrada, cargadores de modelos o sistemas de colisión, dejando la implementación de estos sistemas específicos del juego al desarrollador.