e385eae0f5
- docs/performance-budget.md: 60fps/2GB VRAM budget with CPU, GPU, memory, and draw-call targets (P95<16.6ms, P99<50ms) - scripts/profiling/: SceneTree + Node profilers, test scenes - scripts/generate_occluders.gd: auto-generate OccluderInstance3D from CSG wall pieces (128^3 voxel occlusion culling) - scripts/convert_csg_to_mesh.gd: CSG->StaticMesh baker with LOD slots (LOD1@15m, LOD2@30m) - project.godot: occlusion culling + LOD settings enabled - modular scene UV2 data from lightmapping pass - rcon_command_handler.gd conflict resolved (kept upstream plugin cmd) - Fixed profiler_node.gd warmup frame bug (60 frames, not 3) - Fixed convert_csg_to_mesh.gd LOD API (add_lod + distance)
15 lines
225 B
GDScript
15 lines
225 B
GDScript
extends Node
|
|
|
|
var count := 0
|
|
|
|
func _ready():
|
|
print("_ready called")
|
|
set_process(true)
|
|
|
|
func _process(delta):
|
|
count += 1
|
|
print("_process #", count, " delta=", delta)
|
|
if count >= 5:
|
|
print("Quitting")
|
|
get_tree().quit()
|