extends Node const GRAPH_FILE_PATH = "res://network_graph3.json" const BENCHMARK_PATH = GRAPH_FILE_PATH func _ready() -> void: benchmark_json_ld() func benchmark_json_ld() -> void: if not FileAccess.file_exists(BENCHMARK_PATH): push_error("❌ Benchmark file missing at %s" % BENCHMARK_PATH) return var start_time = Time.get_ticks_msec() # 1. Benchmark File Read var file = FileAccess.open(BENCHMARK_PATH, FileAccess.READ) var json_string = file.get_as_text() file.close() var read_time = float(Time.get_ticks_msec() - start_time) # 2. Benchmark JSON Parsing (Using modern Godot 4 API) start_time = Time.get_ticks_msec() var parsed_data = JSON.parse_string(json_string) var parse_time = float(Time.get_ticks_msec() - start_time) if parsed_data is Dictionary: print_rich("[color=cyan]📊 BENCHMARK START[/color]") print_rich("[color=yellow]File Read:[/color] %.1f ms | [color=yellow]JSON Parse:[/color] %.1f ms" % [read_time, parse_time]) var graph_array = parsed_data.get("@graph", []) if graph_array is Array: print_rich("[color=#7ee787]Total Top-Level Nodes:[/color] %d" % graph_array.size()) start_time = Time.get_ticks_msec() instantiate_graph_nodes(graph_array) var spawn_time = float(Time.get_ticks_msec() - start_time) print_rich("[color=#7ee787]Node Spawning/Linking:[/color] %.1f ms" % spawn_time) else: push_warning("⚠️ No @graph array found in JSON.") else: push_error("❌ JSON Parsing Failed") func instantiate_graph_nodes(graph: Array) -> void: for element in graph: var node_id = element.get("@id", "unknown") var node_type = element.get("@type", "UnknownType") # print_rich("[color=white]Spawning: %s [%s][/color]" % [node_id, node_type])