عن المشروع

# محرر العُقد في ImGui يوفر هذا المشروع تنفيذًا لمحرر عُقد بواجهة برمجية شبيهة بـ ImGui، مصممًا ليكون أساسًا لحلول معقدة مثل محررات المخططات (blueprint editors). الفلسفة الأساسية هي "ارسم محتواك، ونحن نتولى الباقي": يتولى المحرر التفاعلات (وضع العُقد، السحب، التكبير/التمرير، الاختيار، وأحداث متنوعة قابلة للاستعلام مثل الإنشاء/الحذف/تغييرات الاختيار)، بينما يتولى المستخدم عرض المحتوى. ## الميزات الرئيسية - **إدارة داخلية للعُقد**: تتم إدارة حركة العُقد واختيارها داخليًا. - **محتوى قابل للتخصيص بالكامل**: محتوى العُقد والمنافذ معرّف بالكامل من قبل المستخدم. - **التنسيق**: منسّق بالكامل بسمة افتراضية مستوحاة من مخططات UE4؛ مرن بما يكفي لإنشاء مظاهر متنوعة للعُقد. - **روابط قابلة للتخصيص**: روابط مبنية على منحنيات بيزيه. - **إبرازات تلقائية**: إبرازات للعُقد والمنافذ والروابط. - **تنقل سلس**: تنقل واختيار سلسان. - **استمرارية الحالة**: يمكن حفظ حالة العُقد في سياق المستخدم، مع الحفاظ على التخطيط. - **الاختيار والتجميع**: مستطيلات اختيار وسحب جماعي. - **قائمة السياق والاختصارات**: دعم قائمة السياق واختصارات أساسية (قص/نسخ/لصق/حذف). - **واجهة برمجية بنمط ImGui**: متسقة مع اصطلاحات ImGui. ## التبعيات - Vanilla ImGui 1.72+ - C++14 الملحقات الاختيارية للأمثلة والاختصارات الإضافية مدرجة في README. ## البناء / التثبيت المصادر موجودة في الدليل الجذر؛ انسخها والصقها في مشروعك مثل ImGui. يمكن بناء الأمثلة باستخدام CMake على Windows وmacOS وLinux. ## البدء السريع ينشئ مثال بسيط سياق محرر، ويبدأ عقدة بمنافذ إدخال/إخراج، ويعرضها. الملف الرئيسي هو `imgui_node_editor.h`. توجد أمثلة إضافية في مجلد `examples`، بما في ذلك نموذج مخططات (blueprints). ## سياق الاستخدام استُخدم المحرر لتنفيذ محرر مخططات في محرك Spark CE، مما يثبت قدراته. ينتقل المشروع من النموذج الأولي إلى حالة مستقرة.