منصوبے کے بارے میں

Pebble ایک لو لیول ایپلی کیشن اور گرافکس فریم ورک ہے جو Rust کے لیے ڈیزائن کیا گیا ہے تاکہ ضروری primitives فراہم کیے جا سکیں، بغیر کسی مخصوص رینڈرنگ یا سیمولیشن ماڈل کو مسلط کیے‎۔ یہ hecs (ECS)، wgpu (GPU API)، اور winit (windowing) پر بنایا گیا ہے۔ اہم خصوصیات میں شامل ہیں: - **ECS Architecture**: ایک سسٹم پر مبنی طریقہ کار کا استعمال کرتا ہے جس میں متعین مراحل (Startup, Ready, Update, Render وغیرہ) اور سنگلٹن ویلیوز کے لیے ریسورس مینجمنٹ شامل ہے۔ - **Plugin System**: ایپلی کیشن پلگ انز کی زنجیر کے ذریعے ترتیب دی جاتی ہے، جس سے ونڈوئنگ، GPU بیک اینڈز، اور گیم لاجک کا ماڈیولر اضافہ ممکن ہوتا ہے۔ - **Flexible Asset Pipeline**: ایک متحد CPU/GPU ایسٹ ماڈل جو غیر ہم آہنگ (asynchronous) اپ لوڈز اور ڈیپینڈینسی مینجمنٹ کو سنبھالتا ہے۔ یہ generic meshes (bytemuck::Pod کے ذریعے)، textures، اور میٹریلز اور کمپیوٹ پاسز کے لیے خام WGSL shaders کو سپورٹ کرتا ہے۔ - **GPU Resource Builders**: Textures، Meshes، Materials، اور Compute پائپ لائنز کے لیے بلڈرز فراہم کرتا ہے، جس سے صارفین اپنے ورٹیکس لے آؤٹ اور بائنڈ گروپ شیپس کی تعریف کر سکتے ہیں۔ - **Async Integration**: نان بلاکنگ GPU آپریشنز، جیسے کہ بفر ریڈ بیکس اور بیک اینڈ ایکوزیشن کے لیے Promise/Fulfiller پیٹرن کا استعمال کرتا ہے۔ - **Cross-Platform**: یہ نیٹیو ایگزیکیوشن اور ویب تعیناتی کے لیے wasm32-unknown-unknown دونوں کو سپورٹ کرتا ہے۔ ہائی لیول انجنوں کے برعکس، Pebble جان بوجھ کر بلٹ ان skeletal animation، ماڈل لوڈرز، یا کولیژن سسٹمز کو خارج کرتا ہے، اور ان گیم مخصوص سسٹمز کی عمل درآمد ڈویلپر پر چھوڑ دیتا ہے۔