সমস্ত AI টুলস (Tool Reference)
Gamedev AI-এর ৩৪টি বিল্ট-ইন টুল রয়েছে যা AI কথোপকথনের সময় স্বায়ত্তশাসিতভাবে কল করতে পারে। এই টুলগুলো হলো "মেকানিক্যাল আর্ম" যা AI-কে সরাসরি Godot ইঞ্জিনের সাথে যোগাযোগ করতে দেয়, এবং প্রতিটি বিভাগ অনুসারে নিচে বর্ণনা করা হয়েছে।
🔧 স্ক্রিপ্ট (কোড তৈরি এবং এডিট করা)
create_script
নির্দিষ্ট পাথে (Path) নির্দিষ্ট কন্টেন্ট দিয়ে একটি নতুন GDScript ফাইল (.gd) তৈরি করে। AI এটি নতুন স্ক্রিপ্ট জেনারেট করতে ব্যবহার করে।
- প্যারামিটার:
path(res://...),content(সম্পূর্ণ GDScript কোড)
edit_script
বিদ্যমান কোনো স্ক্রিপ্টের সম্পূর্ণ বিষয়বস্তু নতুন ভার্সন দিয়ে পরিবর্তন করে। AI আগে ফাইলটি পড়ে নিশ্চিত হয় যে তার কাছে সাম্প্রতিক কোডটি আছে।
- প্যারামিটার:
path,content - ⚠️ ক্ষুদ্র পরিবর্তনের জন্য
patch_scriptএর পরিবর্তে বর্তমানে এটি কম ব্যবহৃত হয়।
patch_script
নিপুণ এডিট (Surgical Edit): স্ক্রিপ্টের ভেতরে একটি নির্দিষ্ট কোড ব্লক খুঁজে বের করে এবং কেবল সেই অংশটুকুই নতুন কন্টেন্ট দিয়ে পরিবর্তন করে, পুরো ফাইলটি পুনরায় লেখে না। ছোট ত্রুটি সংশোধনের জন্য এটি সেরা।
- প্যারামিটার:
path,search_content(খুঁজে পাওয়ার জন্য নির্দিষ্ট ব্লক),replace_content(নতুন ব্লক)
replace_selection
Godot স্ক্রিপ্ট এডিটরে বর্তমানে সিলেক্ট থাকা টেক্সটটি পরিবর্তন করে। এটি কুইক অ্যাকশন বাটনগুলোর (Refactor, Fix, Explain) সাথে কাজ করে।
- প্যারামিটার:
text(সিলেকশন পরিবর্তনের জন্য নতুন কোড)
view_file_outline
ফাইলের পুরো কোড না দেখিয়ে কেবল স্ক্রিপ্টের কাঠামো প্রদান করে: class_name, extends, ফাংশনসমূহ, সিগন্যালসমূহ, এক্সপোর্টসমূহ (Exports), এনামসমূহ (Enums), ইনার ক্লাস এবং কনস্ট্যান্ট এর সাথে লাইন নম্বর।
- প্যারামিটার:
path
🌳 নোডসমূহ (সিন ট্রি-র সাথে কাজ করা)
add_node
বর্তমানে এডিটরে খোলা সিনের ভেতরে একটি নতুন নোড যুক্ত করে। যেকোনো ধরণের Godot নোড (Node2D, CharacterBody3D, Label, Button ইত্যাদি) তৈরি করতে পারে।
- প্যারামিটার:
parent_path(রুটের জন্য.ব্যবহার করুন),type(নোড ক্লাস),name,script_path(অপশনাল)
remove_node
বর্তমান সিন ট্রি থেকে কোনো নোড রিমুভ করে। যেহেতু এটি একটি ধ্বংসাত্মক কাজ, তাই ইউজারের কনফার্মেশন প্রয়োজন হয়।
- প্যারামিটার:
node_path
set_property
সিন নোডের প্রপার্টি সেট করে (Position, Size, Text, Color ইত্যাদি)। এটি সংখ্যা (Numbers), ভেক্টর (Vectors), কালার এবং টেক্সট গ্রহণ করে।
- প্যারামিটার:
node_path,property,value
set_theme_override
একটি কন্ট্রোল (Control) নোডের থিম ওভাররাইড (Theme Override) সেট করে (যেমন ফন্ট সাইজ, ফন্ট কালার, স্টাইলবক্স)।
- প্যারামিটার:
node_path,override_type(color/constant/font/font_size/stylebox),name,value
connect_signal
বর্তমান সিনের একটি সোর্স নোডের সিগন্যালকে অন্য একটি টার্গেট নোডের মেথডের সাথে কানেক্ট করে।
- প্যারামিটার:
source_path,signal_name,target_path,method_name,binds(অপশনাল),flags(অপশনাল)
disconnect_signal
আগে থেকে কানেক্ট করা কোনো সিগন্যাল কানেকশন বিচ্ছিন্ন করে।
- প্যারামিটার:
source_path,signal_name,target_path,method_name
attach_script
সিনের কোনো নোডের সাথে একটি বিদ্যমান GDScript ফাইল যুক্ত করে।
- প্যারামিটার:
node_path,script_path
analyze_node_children
এডিট করা সিনের কোনো নির্দিষ্ট নোডের চাইল্ড ট্রির বিস্তারিত বিবরণ দেয়। জটিল স্ট্রাকচার বোঝার জন্য এটি দরকারি।
- প্যারামিটার:
node_path,max_depth(ডিফল্ট: ৫)
📂 ফাইল এবং প্রজেক্ট
read_file
প্রজেক্টের যেকোনো ফাইলের সম্পূর্ণ বিষয়বস্তু পড়ে।
- প্যারামিটার:
path
list_dir
প্রজেক্টের কোনো ডিরেক্টরির বিষয়বস্তু দেখায়।
- প্যারামিটার:
path
find_file
নাম দিয়ে প্রজেক্টের ফাইল খোঁজে (আংশিক ম্যাচ হতে পারে)।
- প্যারামিটার:
pattern
remove_file
প্রজেক্ট থেকে কোনো ফাইল বা ডিরেক্টরি মুছে ফেলে। কনফার্মেশন প্রয়োজন।
- প্যারামিটার:
path
move_files_batch
একটি ব্যাচ অপারেশনে মাল্টিপল ফাইল/ডিরেক্টরি মুভ বা রিনেম করে। এটি স্বয়ংক্রিয়ভাবে সমস্ত ইন্টারনাল Godot রেফারেন্স আপডেট করে (.tscn, .tres)।
- প্যারামিটার:
moves(পুরনো পাথ ও নতুন পাথের ডিকশনারি)
create_scene
একটি নতুন সিন ফাইল (.tscn) তৈরি করে এবং এডিটরে সেটি ওপেন করে।
- প্যারামিটার:
path,root_type,root_name
instance_scene
বিদ্যমান কোনো .tscn সিনকে বর্তমান সিনের অন্য কোনো নোডের চাইল্ড হিসেবে ইন্সট্যান্স করে।
- প্যারামিটার:
parent_path,scene_path,name
create_resource
একটি নতুন রিসোর্স ফাইল (.tres) তৈরি করে। আইটেম, স্ট্যাটস বা কাস্টম কনফিগারেশনের জন্য এটি কার্যকর।
- প্যারামিটার:
path,type,properties(অপশনাল)
🔍 সার্চ এবং অ্যানালাইসিস
grep_search
ফাইলের ভেতরে টেক্সট খোঁজে। পাথ এবং লাইন নম্বর সহ ফলাফল দেখায়।
- প্যারামিটার:
query,include(এক্সটেনশন ফিল্টার, অপশনাল),max_results(ডিফল্ট: ২০)
search_in_files
প্রজেক্টের সমস্ত .gd ফাইলে Regex এর মাধ্যমে ভেরিয়েবল, ফাংশন বা নির্দিষ্ট লজিক খুঁজে বের করে।
- প্যারামিটার:
pattern(Regular Expression)
get_class_info
যেকোনো Godot ক্লাস (ইঞ্জিন অথবা ইউজার মোড) সম্পর্কে বিস্তারিত তথ্য দেয়: বেস ক্লাস, প্রপার্টি, মেথড এবং সিগন্যাল।
- প্যারামিটার:
class_name
capture_editor_screenshot
সম্পূর্ণ Godot এডিটর উইন্ডোর একটি স্ক্রিনশট নেয় এবং ভিজ্যুয়াল অ্যানালাইসিসের জন্য তা পরবর্তী মেসেজের সাথে অটোমেটিক পাঠিয়ে দেয়।
🧠 মেমরি এবং নলেজ
save_memory
প্রজেক্টের মেমরিতে একটি স্থায়ী তথ্য সেভ করে যা ভবিষ্যতে সমস্ত চ্যাট সেশনে পাওয়া যাবে।
- প্যারামিটার:
category(architecture/convention/preference/bug_fix/project_info),content
list_memories
প্রজেক্টের জন্য সেভ করা সমস্ত স্থায়ী তথ্যের লিস্ট দেখায়।
delete_memory
নির্দিষ্ট কোনো মেমরি তার আইডি (ID) দিয়ে মুছে ফেলে।
- প্যারামিটার:
id
read_skill
কোডিং করার আগে সেরা প্র্যাকটিসগুলো জানার জন্য AI এর ইন্টারনাল লাইব্রেরি থেকে কোনো স্কিল ডকুমেন্ট পড়ে।
- প্যারামিটার:
skill_name
🗄️ ভেক্টর ডাটাবেস (RAG)
index_codebase
সিম্যান্টিক সার্চের জন্য সম্পূর্ণ প্রজেক্টকে (.gd) একটি লোকাল ভেক্টর ডাটাবেসে ইনডেক্স করে। semantic_search ব্যবহার করার আগে এটি করতে হবে।
semantic_search
ইনডেক্স করা কোডবেস থেকে সিম্যান্টিক ভেক্টর সার্চ করে, যেখানে শব্দ মিলে যাওয়ার চেয়েও বিষয়ের গভীর মিলের ভিত্তিতে কোড খুঁজে পাওয়া যায়।
- প্যারামিটার:
query
🛡️ অডিটিং (Auditing)
audit_scene
বর্তমানে খোলা সিনের ওপর একটি আর্কিটেকচারাল অডিট পরিচালনা করে, কোনো এতিম (orphan) নোড, অনুপস্থিত স্ক্রিপ্ট বা কর্মক্ষমতা সংক্রান্ত সতর্কবার্তা খোঁজে।
audit_script
খারাপ অভ্যাস, সম্ভাব্য বাগ বা সিনট্যাক্স সতর্কতা ধরার জন্য একটি নির্দিষ্ট GDScript ফাইলের ওপর স্ট্যাটিক অ্যানালাইসিস অডিট পরিচালনা করে।
- পরামিতি (Parameters):
path
🧪 টেস্ট (Tests)
run_tests
একটি টেস্ট স্ক্রিপ্ট বা কমান্ড কার্যকর করে। GUT, GdUnit4 বা কাস্টম টেস্ট স্ক্রিপ্টের মাধ্যমে পরিবর্তনগুলো পরীক্ষা করার জন্য দরকারী।
- পরামিতি (Parameters):
test_script_path(ঐচ্ছিক)
