| … | … | @@ -15,7 +15,7 @@ var _cluster_labels: Dictionary = {} # cluster_index -> {label, topics} |
| 15 | 15 | var _hub_positions: Dictionary = {} # cluster_index -> Vector2 (mind-map hub nodes) |
| 16 | 16 | |
| 17 | 17 | ## Layout mode: "auto" (force/grid), "mindmap" (radial tree) |
| 18 | | var layout_mode: String = "auto" |
| 18 | var graph_layout: String = "auto" |
| 19 | 19 | |
| 20 | 20 | ## Interaction state |
| 21 | 21 | var _hovered_node: String = "" |
| … | … | @@ -90,7 +90,7 @@ func set_graph_data(nodes: Array, edges: Array, clusters: Array, cluster_labels: |
| 90 | 90 | _hub_positions.clear() |
| 91 | 91 | |
| 92 | 92 | # Choose layout strategy |
| 93 | | if layout_mode == "mindmap": |
| 93 | if graph_layout == "mindmap": |
| 94 | 94 | _mindmap_layout(clusters) |
| 95 | 95 | else: |
| 96 | 96 | # Auto: sparse → grid, dense → force-directed |
| … | … | @@ -450,7 +450,7 @@ func _draw() -> void: |
| 450 | 450 | return |
| 451 | 451 | |
| 452 | 452 | # Mind-map mode: draw spokes from center → hubs → nodes |
| 453 | | if layout_mode == "mindmap" and not _hub_positions.is_empty(): |
| 453 | if graph_layout == "mindmap" and not _hub_positions.is_empty(): |
| 454 | 454 | var screen_center: Vector2 = _world_to_screen(size / 2.0 if size.x > 0 else Vector2(300, 200)) |
| 455 | 455 | for ci: int in _hub_positions.keys(): |
| 456 | 456 | var hub_screen: Vector2 = _world_to_screen(_hub_positions[ci]) |