Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

المعمارية

بنية univis_ui مقسمة إلى أربع وحدات رئيسية:

  • layout/: محرك التخطيط والحساب المكاني.
  • interaction/: الالتقاط بالمؤشر وحالات التفاعل.
  • widget/: الوحدات الجاهزة المضمنة، مثل الأزرار والإدخال والقوائم.
  • style/: خطوط وأيقونات وثيم أساسي.

الفكرة الأساسية

كل شيء في Univis مبني من كيانات ومكوّنات ضمن ECS:

  • لا توجد شجرة واجهة محتفظ بها خارجيًا.
  • كل عنصر واجهة هو كيان يحمل UNode ومعه مكونات إضافية.
  • التخطيط والحساب يتمان عبر أنظمة ضمن جداول Bevy.

المسار القياسي للإطار

  1. PreUpdate:
  • تشغيل خلفية الالتقاط لاكتشاف الكيانات المصابة.
  1. Update:
  • أنظمة الوحدات الجاهزة والتفاعل وتحديث المرئيات المنطقية.
  1. PostUpdate:
  • خط معالجة التخطيط:
    • update_layout_hierarchy
    • upward_measure_pass_cached
    • downward_solve_pass_safe
  • أنظمة الرندر/المواد (حسب التغييرات).

أهداف التصميم

  • دقة بصرية عالية عبر SDF.
  • مرونة عالية في التخطيط، مثل التدفق المرن والشبكة والبناء الحجري والتكديس والشعاعي.
  • قابلية التوسيع عبر مكونات ECS والإضافات.
  • قابلية تتبع الأداء عبر طبقة المراقبة والذاكرة المؤقتة.