Skip to content

feat: damage tracking + debug overlay interfaces (ADR-065, ADR-066) - #25

Merged
kolkov merged 2 commits into
mainfrom
feat/damage-overlay-adr065-066
Aug 9, 2026
Merged

feat: damage tracking + debug overlay interfaces (ADR-065, ADR-066)#25
kolkov merged 2 commits into
mainfrom
feat/damage-overlay-adr065-066

Conversation

@kolkov

@kolkov kolkov commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Damage tracking interfaces (ADR-065) — multi-renderer damage aggregation for shared GPU surfaces
  • Pluggable debug overlay system (ADR-066) — GTK4 Inspector-inspired overlay architecture

New types

  • DamageReporter interface (2 methods, frozen for v1.0+)
  • DamageCategory enum (6 categories)
  • DamageReason struct
  • DamageSourceSnapshot struct
  • DamageOverlayRenderer interface
  • DamageOverlayInfo struct
  • DebugOverlay interface (2 methods, frozen for v1.0+)
  • DebugOverlayContext struct

Design references

  • Chromium cc/DamageTracker — damage aggregation pattern
  • GTK4 GtkInspectorOverlay — pluggable overlay system
  • Flutter debugRepaintRainbow — debug overlay activation

Test plan

  • go test ./... — passes
  • golangci-lint run — 0 issues
  • Cross-platform build (linux, darwin, windows)
  • Feature audit: all interfaces fully implemented, no stubs

kolkov added 2 commits August 9, 2026 16:33
DamageReporter, DamageReason, DamageCategory, DamageOverlayRenderer,
DamageOverlayInfo, DamageSourceSnapshot, DebugOverlay, DebugOverlayContext.

Pre-v1.0 interfaces designed for v1.0+ longevity.
Fixes: gogpu#437
@kolkov
kolkov merged commit 18d32a2 into main Aug 9, 2026
9 checks passed
@codecov

codecov Bot commented Aug 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 16 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
damage.go 0.00% 16 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant