عن المشروع

Pebble هو إطار عمل للتطبيقات والرسوميات منخفض المستوى لغة Rust، مصمم لتوفير الأساسيات الضرورية دون فرض نموذج محدد للصيرورة أو المحاكاة. تم بناؤه استناداً إلى hecs (ECS)، و wgpu (GPU API)، و winit (windowing). تشمل الميزات الرئيسية ما يلي: - بنية ECS: تستخدم نهجاً قائماً على الأنظمة مع مراحل محددة (Startup، Ready، Update، Render، إلخ) وإدارة الموارد للقيم الفردية (singleton). - نظام الإضافات (Plugin System): يتكون التطبيق من سلسلة من الإضافات، مما يسمح بإضافة النوافذ، وخلفيات GPU، ومنطق اللعبة بشكل معياري. - خط أنابيب أصول مرن: نموذج أصول موحد لـ CPU/GPU يتعامل مع عمليات الرفع غير المتزامنة وإدارة التبعيات. يدعم الشبكات العامة (عبر bytemuck::Pod)، والأنسجة، ومظللات WGSL الخام للمواد ومسارات الحوسبة. - أدوات بناء موارد GPU: يوفر أدوات بناء للأنسجة (Textures)، والشبكات (Meshes)، والمواد (Materials)، وخطوط أنابيب الحوسبة، مما يسمح للمستخدمين بتحديد تخطيطات الرؤوس (vertex layouts) وأشكال مجموعات الربط (bind-group shapes) الخاصة بهم. - التكامل غير المتزامن: يستخدم نمط Promise/Fulfiller لعمليات GPU غير الحاصرة، مثل استعادة البيانات من المخزن المؤقت (buffer readbacks) والحصول على الخلفية. - عابر للمنصات: يدعم التنفيذ الأصلي (native) و wasm32-unknown-unknown للنشر على الويب. على عكس المحركات عالية المستوى، يستبعد Pebble عمداً الرسوم المتحركة الهيكلية المدمجة، أو أدوات تحميل النماذج، أو أنظمة التصادم، تاركاً تنفيذ هذه الأنظمة الخاصة بالألعاب للمطور.