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

Bevy Lunex रस्ट में बेवी ECS (एंटिटी कंपोनेंट सिस्टम) फ्रेमवर्क के लिए बनाया गया एक रिटेन्ड लेआउट इंजन है। यह डेवलपर्स को इमीडिएट-मोड GUI पैटर्न के बजाय मानक ECS कंपोनेंट्स और सिस्टम्स का उपयोग करके कस्टम UI बनाने की अनुमति देता है। मुख्य क्षमताओं में शामिल हैं: - रिटेन्ड लेआउट मॉडल: लेआउट की गणना एक बार की जाती है और संग्रहीत की जाती है, जिससे इमीडिएट-मोड GUI सिस्टम की तुलना में पुनर्गणना ओवरहेड कम हो जाता है। यह स्थिर या कम बार अपडेट होने वाले UI के लिए प्रदर्शन लाभ प्रदान करता है। - फ्लेक्सबॉक्स-जैसा फ्लो लेआउट: अंतर्निहित UiLayout::flow() मॉडल कंटेंट हगिंग, स्पेस फिलिंग, सापेक्ष आकार, और टेक्स्ट रैपिंग का समर्थन करता है, जो क्ले लेआउट सिस्टम से प्रेरित है। - आस्पेक्ट रेशियो समर्थन: इंजन को बिना विरूपण के सभी विंडो आकारों और आस्पेक्ट रेशियो को संभालने के लिए डिज़ाइन किया गया है, जिसमें लेआउट प्रकार आकार परिवर्तनों पर सहज रूप से प्रतिक्रिया करते हैं। - 2D और 3D (वर्ल्डस्पेस) UI: बेवी के Transform कंपोनेंट का लाभ उठाते हुए, Lunex फ्लैट 2D और स्थानिक 3D UI तत्वों दोनों का समर्थन करता है, जिससे गेम्स में डाइजेटिक UI एकीकरण संभव होता है। - मल्टी-स्टेट स्टाइलिंग: UiColor और UiLayout जैसे कंपोनेंट्स बेस और होवर जैसे विभिन्न अवस्थाओं के लिए लेआउट और रंग परिभाषित करने का समर्थन करते हैं, जिसमें कॉन्फ़िगर करने योग्य ट्रांज़िशन गति होती है। - ECS-नेटिव इंटरैक्टिविटी: होवर, क्लिक, और पॉइंटर इवेंट्स को ऑब्ज़र्वर्स और सिस्टम्स के माध्यम से संभाला जाता है, जिससे UI व्यवहार बेवी ऐप के बाकी हिस्सों के साथ पूरी तरह से कंपोज़ेबल हो जाता है। लाइब्रेरी कंपोनेंट-प्रति-कार्यक्षमता डिज़ाइन पर जोर देती है, जहां UI तत्व को स्पॉन करने में मानक बेवी ECS शैली में UiLayout, UiHover, UiColor, और पिकेबल/रेंडरिंग कंपोनेंट्स जैसे कंपोनेंट्स को संयोजित करना शामिल है। दस्तावेज़ीकरण Lunex Book और Docs.rs के माध्यम से उपलब्ध है, साथ ही Bevypunk नामक एक प्रोडक्शन-रेडी उदाहरण प्रोजेक्ट भी प्रदान किया गया है।