Об этом проекте

Pebble представляет собой низкоуровневый прикладной и графический фреймворк для Rust, разработанный для предоставления основных примитивов без навязывания конкретной модели рендеринга или симуляции. Он построен на базе hecs (ECS), wgpu (GPU API) и winit (окна). Ключевые особенности включают: - Архитектура ECS: использует системный подход с определенными этапами (Startup, Ready, Update, Render и т. д.) и управлением ресурсами для синглтонов. - Система плагинов: приложение формируется путем объединения плагинов, что позволяет модульно добавлять функционал окон, GPU-бэкендов и игровую логику. - Гибкий конвейер ассетов: унифицированная модель ассетов CPU/GPU, которая обрабатывает асинхронную загрузку и управление зависимостями. Поддерживаются универсальные меши (через bytemuck::Pod), текстуры и необработанные шейдеры WGSL для материалов и вычислительных проходов. - Конструкторы GPU-ресурсов: предоставляет билдеры для Textures, Meshes, Materials и Compute-конвейеров, позволяя пользователям определять собственные макеты вершин и формы bind-group. - Асинхронная интеграция: использует паттерн Promise/Fulfiller для неблокирующих операций GPU, таких как обратное чтение буфера и получение бэкенда. - Кроссплатформенность: поддерживает как нативное выполнение, так и wasm32-unknown-unknown для развертывания в вебе. В отличие от высокоуровневых движков, Pebble намеренно исключает встроенную скелетную анимацию, загрузчики моделей или системы коллизий, оставляя реализацию этих специфических игровых систем на усмотрение разработчика.