इस प्रोजेक्ट के बारे में

Pebble Rust के लिए एक low-level एप्लिकेशन और ग्राफिक्स फ्रेमवर्क है, जिसे किसी विशिष्ट रेंडरिंग या सिमुलेशन मॉडल को थोपे बिना आवश्यक primitives प्रदान करने के लिए डिज़ाइन किया गया है। इसे hecs (ECS), wgpu (GPU API), और winit (windowing) पर बनाया गया है। मुख्य विशेषताओं में शामिल हैं: - **ECS Architecture**: यह परिभाषित चरणों (Startup, Ready, Update, Render, आदि) के साथ एक सिस्टम-आधारित दृष्टिकोण और singleton मानों के लिए संसाधन प्रबंधन का उपयोग करता है। - **Plugin System**: एप्लिकेशन प्लगइन्स को चेन करके बनाया जाता है, जिससे windowing, GPU backends और गेम लॉजिक को मॉड्यूलर तरीके से जोड़ा जा सकता है। - **Flexible Asset Pipeline**: एक एकीकृत CPU/GPU एसेट मॉडल जो asynchronous अपलोड और डिपेंडेंसी मैनेजमेंट को संभालता है। यह generic meshes (bytemuck::Pod के माध्यम से), textures, और materials एवं compute passes के लिए raw WGSL shaders का समर्थन करता है। - **GPU Resource Builders**: यह Textures, Meshes, Materials और Compute pipelines के लिए builders प्रदान करता है, जिससे उपयोगकर्ता अपने स्वयं के vertex layouts और bind-group shapes को परिभाषित कर सकते हैं। - **Async Integration**: यह non-blocking GPU ऑपरेशन्स, जैसे buffer readbacks और backend acquisition के लिए Promise/Fulfiller पैटर्न का उपयोग करता है। - **Cross-Platform**: यह native execution और वेब परिनियोजन के लिए wasm32-unknown-unknown दोनों का समर्थन करता है। हाई-लेवल इंजनों के विपरीत, Pebble जानबूझकर built-in skeletal animation, model loaders, या collision systems को बाहर रखता है, जिससे इन गेम-विशिष्ट सिस्टम का कार्यान्वयन डेवलपर पर छोड़ दिया जाता है।