Files
tactical-shooter/client/assets/scenes/modular/wall_window_01.tscn
T
shawn e385eae0f5 feat: performance budget profiling setup
- 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)
2026-07-01 19:01:03 -04:00

18 lines
605 B
Plaintext

[gd_scene load_steps=2 format=3]
[ext_resource type="Material" path="res://assets/materials/wall_concrete_01.tres" id="1"]
[node name="WallWindow01" type="CSGCombiner3D"]
use_collision = false
visibility_range_end = 40.0
visibility_range_end_margin = 5.0
[node name="MainWall" type="CSGBox3D" parent="WallWindow01"]
operation = 0
size = Vector3(2.56, 2.56, 0.16)
material = ExtResource("1")
use_collision = true
[node name="WindowCutout" type="CSGBox3D" parent="WallWindow01"]
operation = 1
size = Vector3(1.2, 0.8, 0.2)
use_collision = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0)