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_engine.

السطح الذي يكتبه المستخدم

  • layout::layout_system: نموذج الجذور العام وحالة الجذر المحلولة
  • layout::univis_node: مكوّنات العقدة والتخطيط والتموضع المحلي العامة
  • layout::geometry: بدائيات الأحجام والمسافات العامة
  • layout::image وlayout::pbr: مساعدين عامين مرتبطين بمدخلات الرندر

pipeline الداخلية للتخطيط

  • layout::core::hierarchy: تتبع العمق وتحديث الأنساب المخزنة
  • layout::core::layout_cache: تتبع dirty ومرحلات stage وfrontier queues
  • layout::core::pass_up: القياس الداخلي ونشر أحجام المحتوى
  • layout::core::pass_down: مخرجات الحل النهائي وتموضع الأبناء
  • layout::core::solver: حل الأحجام وربط placement
  • layout::algorithms: منطق placement الخاص بكل algorithm

حد الرندر

  • التخطيط يحل الحجم والموضع المنطقيين
  • مزامنة الرندر تستهلك النتائج المحلولة وتحدث الـ mesh والمواد
  • رندر النص هو الحالة الرئيسية العابرة للحدود، لذلك تملك text_label منطق القياس والرندر معًا من جهة الوحدات الجاهزة

حد الجدولة

  • layout::registration يربط settlement schedule وترتيب المراحل
  • layout::settlement_loop يملك التنفيذ المحدود وتتبع الأجيال والتحقق من الوصول إلى fixed point
  • الوحدات الأخرى يجب أن تصف العمل، لا أن تعيد تعريف سياسة settlement العامة

اتجاه الاعتماديات

  • حل الجذور قد يغذي hierarchy وsolve وrender sync وpicking
  • hierarchy والكاش قد يبطلان المراحل اللاحقة
  • render sync يجب ألا يعيد إدخال measure أو solve إلا إذا تغير مُدخل تخطيط حقيقي كتبه المستخدم
  • التشخيص والتحقق يمكنهما مراقبة pipeline لكن لا ينبغي أن يعيدا تعريف معناها بصمت