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: حزمة الواجهة الجامعة وقصة الاستيراد الموصى بها للتطبيقات
  • univis_ui_style: موارد الثيم والخطوط والأيقونات المشتركة
  • univis_ui_engine: نموذج الجذور، solver التخطيط، وجدولة settlement، ومزامنة الرندر
  • univis_ui_interaction: الالتقاط وحالة التفاعل والتحقق المبني على المؤشر
  • univis_ui_widgets: الوحدات الجاهزة عالية المستوى المبنية فوق المحرك والتفاعل

خريطة وحدات المحرك

  • layout::layout_system: حل الجذور، وكبسولات ترتيب الجذور، وتحويلات الشاشة، وحالة settlement لكل root
  • layout::univis_node: المكوّنات التي يكتبها المستخدم للعقدة والتخطيط والتموضع المحلي
  • layout::geometry: وحدات الواجهة المنطقية والهوامش والقيود ومساعدات المحاور
  • layout::core: تتبع البنية والذاكرة المؤقتة والقياس والحل ومساعدات solver
  • layout::render: مزامنة الـ mesh والمواد بعد استقرار التخطيط
  • layout::profiling: أدوات التشخيص والطبقة البصرية الاختيارية
  • layout::registration وlayout::settlement_loop: ربط pipeline وتنفيذ PostUpdate المحدود

خريطة وحدات الوحدات الجاهزة

  • الوحدات البسيطة تبقى في ملف واحد عندما تكون runtime صغيرة
  • الوحدات ذات الحالة تقسم حسب المسؤولية:
    • model
    • runtime
    • interaction
    • visuals
    • events
  • text_label هو الاستثناء الأكبر لأنه يملك شجرتي measure/ وrender/

ملكية المناطق الحساسة

  • المناطق الحساسة في المحرك والتخطيط: crates/univis_ui_engine/src/layout/**
  • المناطق الحساسة في التفاعل: crates/univis_ui_interaction/src/interaction/**
  • المناطق الحساسة في الوحدات الجاهزة: crates/univis_ui_widgets/src/widget/**
  • قصة الواجهة الجامعة والتوثيق: الجذر src/ وREADME* وdocs/src/**

مناطق المراجعة ذات الأولوية

  • تغييرات حل الجذور وترتيب الجذور قد تؤثر في التخطيط والرندر والالتقاط معًا
  • تغييرات الكاش و settlement loop قد تصنع regressions واسعة حتى إذا مرت الاختبارات المحلية
  • تغييرات قياس النص أو رندره تحتاج تحققًا من التخطيط والرندر معًا
  • إعادة هيكلة runtime للوحدات الجاهزة يجب أن تحافظ على قصة الجدولة Build -> Logic -> Visual -> Events