McRogueFace/tests
John McCardle e9e9cd2f81 feat: Add comprehensive profiling system with F3 overlay
Add real-time performance profiling infrastructure to monitor frame times,
render performance, and identify bottlenecks.

Features:
- Profiler.h: ScopedTimer RAII helper for automatic timing measurements
- ProfilerOverlay: F3-togglable overlay displaying real-time metrics
- Detailed timing breakdowns: grid rendering, entity rendering, FOV,
  Python callbacks, and animation updates
- Per-frame counters: cells rendered, entities rendered, draw calls
- Performance color coding: green (<16ms), yellow (<33ms), red (>33ms)
- Benchmark suite: static grid and moving entities performance tests

Integration:
- GameEngine: Integrated profiler overlay with F3 toggle
- UIGrid: Added timing instrumentation for grid and entity rendering
- Metrics tracked in ProfilingMetrics struct with 60-frame averaging

Usage:
- Press F3 in-game to toggle profiler overlay
- Run benchmarks with tests/benchmark_*.py scripts
- ScopedTimer automatically measures code block execution time

This addresses issue #104 (Basic profiling/metrics).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 00:45:44 -04:00
..
archive Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
automation Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
bugs Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
demos Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
integration Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
unit Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
benchmark_moving_entities.py feat: Add comprehensive profiling system with F3 overlay 2025-10-25 00:45:44 -04:00
benchmark_static_grid.py feat: Add comprehensive profiling system with F3 overlay 2025-10-25 00:45:44 -04:00
constructor_audit.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
count_format_string.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
demo_animation_callback_usage.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
run_all_tests.sh feat: Add development tooling scripts 2025-10-23 13:19:25 -04:00
unified_click_example.cpp Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00