/ docs / README.hi.md
README.hi.md
  1  > **Language:** [English](../README.md) | [日本語](README.ja.md) | [Português (BR)](README.pt-br.md) | [Español](README.es.md) | [Русский](README.ru.md) | [简体中文](README.zh.md) | हिन्दी
  2  
  3  # Godot MCP Pro
  4  
  5  AI-powered Godot गेम डेवलपमेंट के लिए प्रीमियम MCP (Model Context Protocol) सर्वर। Claude जैसे AI assistants को सीधे आपके Godot editor से जोड़ता है, **163 powerful tools** के साथ।
  6  
  7  ## Architecture
  8  
  9  ```
 10  AI Assistant ←—stdio/MCP—→ Node.js Server ←—WebSocket:6505—→ Godot Editor Plugin
 11  ```
 12  
 13  - **Real-time**: WebSocket connection से instant feedback मिलता है, file polling की जरूरत नहीं
 14  - **Editor Integration**: Godot के editor API, UndoRedo system और scene tree तक पूरी access
 15  - **JSON-RPC 2.0**: Proper error codes और suggestions के साथ standard protocol
 16  
 17  ## Quick Start
 18  
 19  ### 1. Godot Plugin Install करें
 20  
 21  `addons/godot_mcp/` folder को अपने Godot project की `addons/` directory में copy करें।
 22  
 23  Plugin enable करें: **Project → Project Settings → Plugins → Godot MCP Pro → Enable**
 24  
 25  ### 2. MCP Server Install करें
 26  
 27  > **नोट**: `server/` डायरेक्टरी केवल **फुल पैकेज** (पेड) में शामिल है।
 28  > इस GitHub रिपॉजिटरी में केवल **addon (plugin)** है।
 29  > सर्वर प्राप्त करने के लिए [godot-mcp.abyo.net](https://godot-mcp.abyo.net/) पर फुल पैकेज खरीदें।
 30  
 31  ```bash
 32  cd server
 33  npm install
 34  npm run build
 35  ```
 36  
 37  ### 3. Claude Code Configure करें
 38  
 39  अपनी `.mcp.json` में add करें:
 40  
 41  ```json
 42  {
 43    "mcpServers": {
 44      "godot-mcp-pro": {
 45        "command": "node",
 46        "args": ["D:/dev/godot-mcp-pro/server/build/index.js"],
 47        "env": {
 48          "GODOT_MCP_PORT": "6505"
 49        }
 50      }
 51    }
 52  }
 53  ```
 54  
 55  ### 4. Tool Permissions Auto-Approve करें (Recommended)
 56  
 57  Claude Code हर tool call पर permission मांगता है। इन prompts को skip करने के लिए, included permission presets को अपनी Claude Code settings में copy करें:
 58  
 59  **Option A: Conservative** (default — destructive tools को block करता है)
 60  
 61  ```bash
 62  cp settings.local.json ~/.claude/settings.local.json
 63  ```
 64  
 65  163 में से 152 tools को automatically allow करता है। नीचे दिए गए 11 tools को हर बार manual approval की जरूरत होगी:
 66  
 67  | Blocked Tool | कारण |
 68  |---|---|
 69  | `delete_node` | Scene से node delete करता है |
 70  | `delete_scene` | Disk से scene file delete करता है |
 71  | `remove_animation` | Animation remove करता है |
 72  | `remove_autoload` | Autoload singleton remove करता है |
 73  | `remove_state_machine_state` | State machine state remove करता है |
 74  | `remove_state_machine_transition` | State machine transition remove करता है |
 75  | `execute_editor_script` | Editor में arbitrary code run करता है |
 76  | `execute_game_script` | Running game में arbitrary code run करता है |
 77  | `export_project` | Project export trigger करता है |
 78  | `tilemap_clear` | TileMapLayer की सभी cells clear करता है |
 79  
 80  **Option B: Permissive** (सब allow, dangerous commands deny)
 81  
 82  ```bash
 83  cp settings.local.permissive.json ~/.claude/settings.local.json
 84  ```
 85  
 86  सभी 163 tools और सभी Bash commands allow करता है। Destructive shell commands (`rm -rf`, `git push --force`, `git reset --hard`, etc.) और ऊपर listed destructive MCP tools को explicitly deny करता है।
 87  
 88  > **Note**: अगर आपके पास पहले से `settings.local.json` है, तो overwrite करने की बजाय `permissions` section को manually merge करें।
 89  
 90  ### 5. Lite Mode (Optional)
 91  
 92  अगर आपके MCP client में tool count limit है (जैसे Windsurf: 100, Cursor: ~40), तो Lite mode use करें जो 162 की बजाय 76 core tools register करता है:
 93  
 94  ```json
 95  {
 96    "mcpServers": {
 97      "godot-mcp-pro": {
 98        "command": "node",
 99        "args": ["D:/dev/godot-mcp-pro/server/build/index.js", "--lite"]
100      }
101    }
102  }
103  ```
104  
105  Lite mode में शामिल: project, scene, node, script, editor, input, runtime और input_map tools।
106  
107  ### 6. Use करना शुरू करें
108  
109  Plugin enabled state में अपना Godot project खोलें, फिर editor के साथ interact करने के लिए Claude Code use करें।
110  
111  ## सभी 162 Tools
112  
113  ### Project Tools (7)
114  | Tool | विवरण |
115  |------|-------------|
116  | `get_project_info` | Project metadata, version, viewport, autoloads |
117  | `get_filesystem_tree` | Filtering के साथ recursive file tree |
118  | `search_files` | Fuzzy/glob file search |
119  | `get_project_settings` | project.godot settings पढ़ें |
120  | `set_project_setting` | Editor API से project settings set करें |
121  | `uid_to_project_path` | UID → res:// conversion |
122  | `project_path_to_uid` | res:// → UID conversion |
123  
124  ### Scene Tools (9)
125  | Tool | विवरण |
126  |------|-------------|
127  | `get_scene_tree` | Hierarchy के साथ live scene tree |
128  | `get_scene_file_content` | .tscn file का raw content |
129  | `create_scene` | नई scene files बनाएं |
130  | `open_scene` | Editor में scene खोलें |
131  | `delete_scene` | Scene file delete करें |
132  | `add_scene_instance` | Scene को child node के रूप में instance करें |
133  | `play_scene` | Scene run करें (main/current/custom) |
134  | `stop_scene` | Running scene stop करें |
135  | `save_scene` | Current scene disk पर save करें |
136  
137  ### Node Tools (14)
138  | Tool | विवरण |
139  |------|-------------|
140  | `add_node` | Type और properties के साथ node add करें |
141  | `delete_node` | Node delete करें (undo support के साथ) |
142  | `duplicate_node` | Node और children duplicate करें |
143  | `move_node` | Node move/reparent करें |
144  | `update_property` | कोई भी property set करें (auto type parsing) |
145  | `get_node_properties` | Node की सभी properties पाएं |
146  | `add_resource` | Node में Shape/Material/etc add करें |
147  | `set_anchor_preset` | Control anchor preset set करें |
148  | `rename_node` | Scene में node rename करें |
149  | `connect_signal` | Nodes के बीच signal connect करें |
150  | `disconnect_signal` | Signal connection disconnect करें |
151  | `get_node_groups` | Node किन groups में है, जानें |
152  | `set_node_groups` | Node group membership set करें |
153  | `find_nodes_in_group` | Group में सभी nodes खोजें |
154  
155  ### Script Tools (8)
156  | Tool | विवरण |
157  |------|-------------|
158  | `list_scripts` | Class info के साथ सभी scripts list करें |
159  | `read_script` | Script content पढ़ें |
160  | `create_script` | Template के साथ नया script बनाएं |
161  | `edit_script` | Search/replace या full edit |
162  | `attach_script` | Node को script attach करें |
163  | `get_open_scripts` | Editor में open scripts list करें |
164  | `validate_script` | GDScript syntax validate करें |
165  | `search_in_files` | Project files में content search करें |
166  
167  ### Editor Tools (9)
168  | Tool | विवरण |
169  |------|-------------|
170  | `get_editor_errors` | Errors और stack traces पाएं |
171  | `get_editor_screenshot` | Editor viewport capture करें |
172  | `get_game_screenshot` | Running game capture करें |
173  | `execute_editor_script` | Editor में arbitrary GDScript run करें |
174  | `clear_output` | Output panel clear करें |
175  | `get_signals` | Node के सभी signals connections के साथ पाएं |
176  | `reload_plugin` | MCP plugin reload करें (auto-reconnect) |
177  | `reload_project` | Filesystem rescan करें और scripts reload करें |
178  | `get_output_log` | Output panel content पाएं |
179  
180  ### Input Tools (7)
181  | Tool | विवरण |
182  |------|-------------|
183  | `simulate_key` | Keyboard key press/release simulate करें |
184  | `simulate_mouse_click` | Position पर mouse click simulate करें |
185  | `simulate_mouse_move` | Mouse movement simulate करें |
186  | `simulate_action` | Godot Input Action simulate करें |
187  | `simulate_sequence` | Frame delays के साथ input event sequence |
188  | `get_input_actions` | सभी input actions list करें |
189  | `set_input_action` | Input action create/modify करें |
190  
191  ### Runtime Tools (19)
192  | Tool | विवरण |
193  |------|-------------|
194  | `get_game_scene_tree` | Running game का scene tree |
195  | `get_game_node_properties` | Running game में node properties |
196  | `set_game_node_property` | Running game में node property set करें |
197  | `execute_game_script` | Game context में GDScript run करें |
198  | `capture_frames` | Multi-frame screenshot capture |
199  | `monitor_properties` | समय के साथ property values record करें |
200  | `start_recording` | Input recording शुरू करें |
201  | `stop_recording` | Input recording बंद करें |
202  | `replay_recording` | Recorded input replay करें |
203  | `find_nodes_by_script` | Script से game nodes खोजें |
204  | `get_autoload` | Autoload node properties पाएं |
205  | `batch_get_properties` | Multiple nodes की properties batch में पाएं |
206  | `find_ui_elements` | Game में UI elements खोजें |
207  | `click_button_by_text` | Text से button click करें |
208  | `wait_for_node` | Node appear होने का wait करें |
209  | `find_nearby_nodes` | Position के पास nodes खोजें |
210  | `navigate_to` | Target position तक navigate करें |
211  | `move_to` | Character को target तक walk कराएं |
212  
213  ### Animation Tools (6)
214  | Tool | विवरण |
215  |------|-------------|
216  | `list_animations` | AnimationPlayer की सभी animations list करें |
217  | `create_animation` | नई animation बनाएं |
218  | `add_animation_track` | Track add करें (value/position/rotation/method/bezier) |
219  | `set_animation_keyframe` | Track में keyframe insert करें |
220  | `get_animation_info` | सभी tracks/keys के साथ detailed animation info |
221  | `remove_animation` | Animation remove करें |
222  
223  ### TileMap Tools (6)
224  | Tool | विवरण |
225  |------|-------------|
226  | `tilemap_set_cell` | Single tile cell set करें |
227  | `tilemap_fill_rect` | Rectangular region tiles से fill करें |
228  | `tilemap_get_cell` | Cell का tile data पाएं |
229  | `tilemap_clear` | सभी cells clear करें |
230  | `tilemap_get_info` | TileMapLayer info और tile set sources |
231  | `tilemap_get_used_cells` | Used cells की list |
232  
233  ### Theme & UI Tools (6)
234  | Tool | विवरण |
235  |------|-------------|
236  | `create_theme` | Theme resource file बनाएं |
237  | `set_theme_color` | Theme color override set करें |
238  | `set_theme_constant` | Theme constant override set करें |
239  | `set_theme_font_size` | Theme font size override set करें |
240  | `set_theme_stylebox` | StyleBoxFlat override set करें |
241  | `get_theme_info` | Theme overrides info पाएं |
242  
243  ### Profiling Tools (2)
244  | Tool | विवरण |
245  |------|-------------|
246  | `get_performance_monitors` | सभी performance monitors (FPS, memory, physics, etc.) |
247  | `get_editor_performance` | Quick performance summary |
248  
249  ### Batch & Refactoring Tools (8)
250  | Tool | विवरण |
251  |------|-------------|
252  | `find_nodes_by_type` | Type से सभी nodes खोजें |
253  | `find_signal_connections` | Scene में सभी signal connections खोजें |
254  | `batch_set_property` | एक type के सभी nodes पर property set करें |
255  | `find_node_references` | Project files में pattern search करें |
256  | `get_scene_dependencies` | Resource dependencies पाएं |
257  | `cross_scene_set_property` | सभी scenes में property set करें |
258  | `find_script_references` | Script/resource कहां use हो रहा है, खोजें |
259  | `detect_circular_dependencies` | Scene circular dependencies detect करें |
260  
261  ### Shader Tools (6)
262  | Tool | विवरण |
263  |------|-------------|
264  | `create_shader` | Template के साथ shader बनाएं |
265  | `read_shader` | Shader file पढ़ें |
266  | `edit_shader` | Shader edit करें (replace/search-replace) |
267  | `assign_shader_material` | Node को ShaderMaterial assign करें |
268  | `set_shader_param` | Shader parameter set करें |
269  | `get_shader_params` | सभी shader parameters पाएं |
270  
271  ### Export Tools (3)
272  | Tool | विवरण |
273  |------|-------------|
274  | `list_export_presets` | Export presets list करें |
275  | `export_project` | Preset के लिए export command पाएं |
276  | `get_export_info` | Export-related project info |
277  
278  ### Resource Tools (6)
279  | Tool | विवरण |
280  |------|-------------|
281  | `read_resource` | .tres resource properties पढ़ें |
282  | `edit_resource` | Resource properties edit करें |
283  | `create_resource` | नया .tres resource बनाएं |
284  | `get_resource_preview` | Resource thumbnail पाएं |
285  | `add_autoload` | Autoload singleton register करें |
286  | `remove_autoload` | Autoload singleton remove करें |
287  
288  ### Physics Tools (6)
289  | Tool | विवरण |
290  |------|-------------|
291  | `setup_physics_body` | Physics body properties configure करें |
292  | `setup_collision` | Nodes में collision shapes add करें |
293  | `set_physics_layers` | Collision layer/mask set करें |
294  | `get_physics_layers` | Collision layer/mask info पाएं |
295  | `get_collision_info` | Collision shape details पाएं |
296  | `add_raycast` | RayCast2D/3D node add करें |
297  
298  ### 3D Scene Tools (6)
299  | Tool | विवरण |
300  |------|-------------|
301  | `add_mesh_instance` | Primitive mesh के साथ MeshInstance3D add करें |
302  | `setup_camera_3d` | Camera3D properties configure करें |
303  | `setup_lighting` | Light nodes add/configure करें |
304  | `setup_environment` | WorldEnvironment configure करें |
305  | `add_gridmap` | GridMap node setup करें |
306  | `set_material_3d` | StandardMaterial3D properties set करें |
307  
308  ### Particle Tools (5)
309  | Tool | विवरण |
310  |------|-------------|
311  | `create_particles` | GPUParticles2D/3D बनाएं |
312  | `set_particle_material` | ParticleProcessMaterial configure करें |
313  | `set_particle_color_gradient` | Particles के लिए color gradient set करें |
314  | `apply_particle_preset` | Preset apply करें (fire, smoke, sparks, etc.) |
315  | `get_particle_info` | Particle system details पाएं |
316  
317  ### Navigation Tools (6)
318  | Tool | विवरण |
319  |------|-------------|
320  | `setup_navigation_region` | NavigationRegion configure करें |
321  | `setup_navigation_agent` | NavigationAgent configure करें |
322  | `bake_navigation_mesh` | Navigation mesh bake करें |
323  | `set_navigation_layers` | Navigation layers set करें |
324  | `get_navigation_info` | Navigation setup info पाएं |
325  
326  ### Audio Tools (6)
327  | Tool | विवरण |
328  |------|-------------|
329  | `add_audio_player` | AudioStreamPlayer node add करें |
330  | `add_audio_bus` | Audio bus add करें |
331  | `add_audio_bus_effect` | Audio bus में effect add करें |
332  | `set_audio_bus` | Audio bus properties configure करें |
333  | `get_audio_bus_layout` | Audio bus layout info पाएं |
334  | `get_audio_info` | Audio-related node info पाएं |
335  
336  ### AnimationTree Tools (4)
337  | Tool | विवरण |
338  |------|-------------|
339  | `create_animation_tree` | AnimationTree बनाएं |
340  | `get_animation_tree_structure` | Tree structure पाएं |
341  | `set_tree_parameter` | AnimationTree parameter set करें |
342  | `add_state_machine_state` | State machine में state add करें |
343  
344  ### State Machine Tools (3)
345  | Tool | विवरण |
346  |------|-------------|
347  | `remove_state_machine_state` | State machine से state remove करें |
348  | `add_state_machine_transition` | States के बीच transition add करें |
349  | `remove_state_machine_transition` | State transition remove करें |
350  
351  ### Blend Tree Tools (1)
352  | Tool | विवरण |
353  |------|-------------|
354  | `set_blend_tree_node` | Blend tree nodes configure करें |
355  
356  ### Analysis & Search Tools (4)
357  | Tool | विवरण |
358  |------|-------------|
359  | `analyze_scene_complexity` | Scene performance analyze करें |
360  | `analyze_signal_flow` | Signal connections map करें |
361  | `find_unused_resources` | Unreferenced resources खोजें |
362  | `get_project_statistics` | Project-wide statistics पाएं |
363  
364  ### Testing & QA Tools (6)
365  | Tool | विवरण |
366  |------|-------------|
367  | `run_test_scenario` | Automated test scenario run करें |
368  | `assert_node_state` | Node property values assert करें |
369  | `assert_screen_text` | Screen पर text check करें |
370  | `compare_screenshots` | दो screenshots compare करें |
371  | `run_stress_test` | Performance stress test run करें |
372  | `get_test_report` | Test results report पाएं |
373  
374  ## मुख्य Features
375  
376  - **UndoRedo Integration**: सभी node/property operations Ctrl+Z support करती हैं
377  - **Smart Type Parsing**: `"Vector2(100, 200)"`, `"#ff0000"`, `"Color(1,0,0)"` auto-converted
378  - **Auto-Reconnect**: Exponential backoff reconnection (1s → 2s → 4s ... → 60s max)
379  - **Heartbeat**: 10s ping/pong connection alive रखता है
380  - **Helpful Errors**: Error responses में अगले steps के लिए suggestions शामिल
381  
382  ## Competitive Comparison
383  
384  ### Tool Count
385  
386  | Category | Godot MCP Pro | GDAI MCP ($19) | tomyud1 (free) | Dokujaa (free) | Coding-Solo (free) | ee0pdt (free) | bradypp (free) |
387  |----------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
388  | Project | 7 | 5 | 4 | 0 | 2 | 2 | 2 |
389  | Scene | 9 | 8 | 11 | 9 | 3 | 4 | 5 |
390  | Node | **14** | 8 | 0 | 8 | 2 | 3 | 0 |
391  | Script | **8** | 5 | 6 | 4 | 0 | 5 | 0 |
392  | Editor | **9** | 5 | 1 | 5 | 1 | 3 | 2 |
393  | Input | **7** | 2 | 0 | 0 | 0 | 0 | 0 |
394  | Runtime | **19** | 0 | 0 | 0 | 0 | 0 | 0 |
395  | Animation | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
396  | TileMap | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
397  | Theme/UI | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
398  | Profiling | **2** | 0 | 0 | 0 | 0 | 0 | 0 |
399  | Batch/Refactor | **8** | 0 | 0 | 0 | 0 | 0 | 0 |
400  | Shader | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
401  | Export | **3** | 0 | 0 | 0 | 0 | 0 | 0 |
402  | Resource | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
403  | Physics | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
404  | 3D Scene | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
405  | Particle | **5** | 0 | 0 | 0 | 0 | 0 | 0 |
406  | Navigation | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
407  | Audio | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
408  | AnimationTree | **4** | 0 | 0 | 0 | 0 | 0 | 0 |
409  | State Machine | **3** | 0 | 0 | 0 | 0 | 0 | 0 |
410  | Blend Tree | **1** | 0 | 0 | 0 | 0 | 0 | 0 |
411  | Analysis | **4** | 0 | 0 | 0 | 0 | 0 | 0 |
412  | Testing/QA | **6** | 0 | 0 | 0 | 0 | 0 | 0 |
413  | Asset/AI | 0 | 0 | 1 | 6 | 0 | 0 | 0 |
414  | Material | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
415  | Other | 0 | 0 | 9 | 5 | 5 | 2 | 1 |
416  | **Total** | **162** | ~30 | **32** | **39** | **13** | **19** | **10** |
417  
418  ### Feature Matrix
419  
420  | Feature | Godot MCP Pro | GDAI MCP ($19) | tomyud1 (free) | Dokujaa (free) | Coding-Solo (free) |
421  |---------|:---:|:---:|:---:|:---:|:---:|
422  | **Connection** | WebSocket (real-time) | stdio (Python) | WebSocket | TCP Socket | Headless CLI |
423  | **Undo/Redo** | हां | हां | नहीं | नहीं | नहीं |
424  | **JSON-RPC 2.0** | हां | Custom | Custom | Custom | N/A |
425  | **Auto-reconnect** | हां (exponential backoff) | N/A | नहीं | नहीं | N/A |
426  | **Heartbeat** | हां (10s ping/pong) | नहीं | नहीं | नहीं | नहीं |
427  | **Error suggestions** | हां (contextual hints) | नहीं | नहीं | नहीं | नहीं |
428  | **Screenshot capture** | हां (editor + game) | हां | नहीं | नहीं | नहीं |
429  | **Game input simulation** | हां (key/mouse/action/sequence) | हां (basic) | नहीं | नहीं | नहीं |
430  | **Runtime inspection** | हां (scene tree + properties + monitor) | नहीं | नहीं | नहीं | नहीं |
431  | **Signal management** | हां (connect/disconnect/inspect) | नहीं | नहीं | नहीं | नहीं |
432  | **Browser visualizer** | नहीं | नहीं | हां | नहीं | नहीं |
433  | **AI 3D mesh generation** | नहीं | नहीं | नहीं | हां (Meshy API) | नहीं |
434  
435  ### Exclusive Categories (किसी Competitor के पास नहीं)
436  
437  | Category | Tools | क्यों Important है |
438  |----------|-------|----------------|
439  | **Animation** | 6 tools | Animations बनाएं, tracks add करें, keyframes set करें — सब programmatically |
440  | **TileMap** | 6 tools | Cells set करें, rects fill करें, tile data query करें — 2D level design के लिए essential |
441  | **Theme/UI** | 6 tools | StyleBox, colors, fonts — बिना manual editor work के UI themes बनाएं |
442  | **Profiling** | 2 tools | FPS, memory, draw calls, physics — performance monitoring |
443  | **Batch/Refactor** | 8 tools | Type से खोजें, batch property changes, cross-scene updates, dependency analysis |
444  | **Shader** | 6 tools | Shaders create/edit करें, materials assign करें, parameters set करें |
445  | **Export** | 3 tools | Presets list करें, export commands पाएं, templates check करें |
446  | **Physics** | 6 tools | Collision shapes, bodies, raycasts और layer management setup करें |
447  | **3D Scene** | 6 tools | Meshes, cameras, lights, environment, GridMap support add करें |
448  | **Particle** | 5 tools | Custom materials, presets और gradients के साथ particles बनाएं |
449  | **Navigation** | 6 tools | Navigation regions, agents, pathfinding, baking configure करें |
450  | **Audio** | 6 tools | Complete audio bus system, effects, players, live management |
451  | **AnimationTree** | 4 tools | Transitions और blend trees के साथ state machines बनाएं |
452  | **State Machine** | 3 tools | Complex animations के लिए advanced state machine management |
453  | **Testing/QA** | 6 tools | Automated testing, assertions, stress testing, screenshot comparison |
454  | **Runtime** | 19 tools | Runtime पर game inspect और control करें: inspect, record, replay, navigate |
455  
456  ### Architecture Advantages
457  
458  | पहलू | Godot MCP Pro | Typical Competitor |
459  |--------|--------------|-------------------|
460  | **Protocol** | JSON-RPC 2.0 (standard, extensible) | Custom JSON या CLI-based |
461  | **Connection** | Heartbeat के साथ persistent WebSocket | Per-command subprocess या raw TCP |
462  | **Reliability** | Exponential backoff के साथ auto-reconnect (1s→60s) | Manual reconnection required |
463  | **Type Safety** | Smart type parsing (Vector2, Color, Rect2, hex colors) | String-only या limited types |
464  | **Error Handling** | Codes + suggestions के साथ structured errors | Generic error messages |
465  | **Undo Support** | सभी mutations UndoRedo system से गुजरती हैं | Direct modifications (no undo) |
466  | **Port Management** | Ports 6505-6509 auto-scan | Fixed port, conflicts possible |
467  
468  ## License
469  
470  Proprietary — details के लिए [LICENSE](../LICENSE) देखें। Purchase में v1.x के lifetime updates शामिल हैं।