openpencil/tests
Danila Poyarkov 2a86ea5ce5 Add renderer profiler with HUD overlay, GPU timing, and phase instrumentation
Profiler modules in packages/core/src/profiler/:
- FrameStats: rolling 120-frame buffer tracking FPS, CPU/GPU times, node counts
- GpuTimer: EXT_disjoint_timer_query_webgl2 wrapper for GPU-side timing
- DrawCallCounter: WebGL context proxy counting draw calls per frame
- PhaseTimer: Chrome DevTools Performance panel custom tracks via User Timing API
- HudRenderer: in-canvas overlay with stats text and frame time bar graph
- CaptureStack: per-node profiling with speedscope JSON export
- RenderProfiler: orchestrates all layers with zero cost when disabled

Integration:
- SkiaRenderer.render() instrumented with phase markers for scene, picture
  recording/replay, section titles, component labels, selection, rulers, flush
- Node counting and viewport culling tracking in renderNode()
- WebGL2 context passed through for GPU timer and draw call counter
- Shift+P keyboard shortcut to toggle HUD overlay
- toggleProfiler() added to editor store
2026-03-04 14:13:17 +03:00
..
e2e Shadow rendering performance: per-node SkPicture cache (#25) 2026-03-03 11:37:01 +03:00
engine Add renderer profiler with HUD overlay, GPU timing, and phase instrumentation 2026-03-04 14:13:17 +03:00
figma Playwright visual regression testing with Figma CDP reference 2026-02-28 07:32:15 +03:00
fixtures Add .fig test fixtures (LFS) and fix O(n²) import bottleneck 2026-03-01 09:55:07 +03:00
helpers Fix silent rendering crash, no-chrome test mode, error detection 2026-02-28 08:39:19 +03:00