প্রকল্প সম্পর্কে

# ImGui-তে নোড এডিটর এই প্রকল্পটি ImGui-সদৃশ API-সহ একটি নোড এডিটর বাস্তবায়ন প্রদান করে, যা blueprint এডিটরের মতো জটিল সমাধানের ভিত্তি হিসেবে ডিজাইন করা হয়েছে। মূল দর্শন হলো "আপনার কনটেন্ট আঁকুন, বাকিটা আমরা করব": এডিটর ইন্টারঅ্যাকশন পরিচালনা করে (নোড স্থাপন, ড্র্যাগিং, জুম/স্ক্রল, সিলেকশন, এবং তৈরি/মুছে ফেলা/সিলেকশন পরিবর্তনের মতো বিভিন্ন কোয়েরি-যোগ্য ইভেন্ট), আর ব্যবহারকারী কনটেন্ট রেন্ডারিং সামলান। ## প্রধান বৈশিষ্ট্য - **অভ্যন্তরীণ নোড ব্যবস্থাপনা**: নোডের চলাচল ও সিলেকশন অভ্যন্তরীণভাবে পরিচালিত হয়। - **সম্পূর্ণ কাস্টমাইজযোগ্য কনটেন্ট**: নোড ও পিনের কনটেন্ট সম্পূর্ণভাবে ব্যবহারকারী-নির্ধারিত। - **স্টাইলিং**: UE4 blueprint-এর আদলে তৈরি ডিফল্ট থিমসহ সম্পূর্ণ স্টাইল করা; বৈচিত্র্যময় নোড চেহারা তৈরি করার মতো নমনীয়। - **কাস্টমাইজযোগ্য লিংক**: Bézier কার্ভ-ভিত্তিক লিংক। - **স্বয়ংক্রিয় হাইলাইট**: নোড, পিন ও লিংকের জন্য হাইলাইট। - **মসৃণ নেভিগেশন**: মসৃণ নেভিগেশন ও সিলেকশন। - **স্টেট সংরক্ষণ**: নোডের অবস্থা ব্যবহারকারী কনটেক্সটে সংরক্ষণ করা যায়, লেআউট অক্ষুণ্ন থাকে। - **সিলেকশন ও গ্রুপিং**: সিলেকশন আয়তক্ষেত্র ও গ্রুপ ড্র্যাগিং। - **কনটেক্সট মেনু ও শর্টকাট**: কনটেক্সট মেনু সমর্থন এবং মৌলিক শর্টকাট (কাট/কপি/পেস্ট/ডিলিট)। - **ImGui স্টাইল API**: ImGui-এর রীতির সঙ্গে সামঞ্জস্যপূর্ণ। ## নির্ভরতা - Vanilla ImGui 1.72+ - C++14 উদাহরণ ও অতিরিক্ত শর্টকাটের জন্য ঐচ্ছিক এক্সটেনশনগুলো README-তে তালিকাভুক্ত করা হয়েছে। ## বিল্ড / ইনস্টল সোর্সগুলো রুট ডিরেক্টরিতে রয়েছে; ImGui-এর মতোই সেগুলো আপনার প্রকল্পে কপি-পেস্ট করুন। Windows, macOS ও Linux-এ CMake দিয়ে উদাহরণগুলো বিল্ড করা যায়। ## দ্রুত শুরু একটি ন্যূনতম উদাহরণ একটি এডিটর কনটেক্সট তৈরি করে, ইনপুট/আউটপুট পিনসহ একটি নোড শুরু করে এবং তা রেন্ডার করে। প্রধান হেডার হলো `imgui_node_editor.h`। আরও উদাহরণ `examples` ফোল্ডারে রয়েছে, যার মধ্যে একটি blueprints নমুনাও আছে। ## ব্যবহারের প্রেক্ষাপট Spark CE ইঞ্জিনে একটি blueprint এডিটর বাস্তবায়নে এই এডিটর ব্যবহৃত হয়েছে, যা এর সক্ষমতা প্রমাণ করে। প্রকল্পটি প্রোটোটাইপ থেকে স্থিতিশীল অবস্থায় রূপান্তরের পথে রয়েছে।