المعمارية
بنية univis_ui مقسمة إلى أربع وحدات رئيسية:
layout/: محرك التخطيط والحساب المكاني.interaction/: الالتقاط بالمؤشر وحالات التفاعل.widget/: الوحدات الجاهزة المضمنة، مثل الأزرار والإدخال والقوائم.style/: خطوط وأيقونات وثيم أساسي.
الفكرة الأساسية
كل شيء في Univis مبني من كيانات ومكوّنات ضمن ECS:
- لا توجد شجرة واجهة محتفظ بها خارجيًا.
- كل عنصر واجهة هو كيان يحمل
UNodeومعه مكونات إضافية. - التخطيط والحساب يتمان عبر أنظمة ضمن جداول Bevy.
المسار القياسي للإطار
PreUpdate:
- تشغيل خلفية الالتقاط لاكتشاف الكيانات المصابة.
Update:
- أنظمة الوحدات الجاهزة والتفاعل وتحديث المرئيات المنطقية.
PostUpdate:
- خط معالجة التخطيط:
update_layout_hierarchyupward_measure_pass_cacheddownward_solve_pass_safe
- أنظمة الرندر/المواد (حسب التغييرات).
أهداف التصميم
- دقة بصرية عالية عبر SDF.
- مرونة عالية في التخطيط، مثل التدفق المرن والشبكة والبناء الحجري والتكديس والشعاعي.
- قابلية التوسيع عبر مكونات ECS والإضافات.
- قابلية تتبع الأداء عبر طبقة المراقبة والذاكرة المؤقتة.