You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Title: [Feature]: Add a redraw heatmap overlay for repaint debugging
Labels: feature, major
Status Quo
Architect has metrics and logging, but there is no spatial debugging tool that shows what part of the UI or terminal content was rerendered on a given frame. When typing feels slow or rendering seems wasteful, the only current options are code inspection and log-based tracing. The overlay system in src/ui/ is already the right place for a developer-facing visualization layer, but no redraw-debug component exists today.
Objectives
Give developers a visual tool to understand redraw behavior in real time. When enabled, Architect should highlight recently rerendered regions with a fading color overlay so it is obvious whether the app is repainting only what changed or repainting much more than necessary.
User Flow
Trigger: The developer enables redraw-debug mode.
The developer turns on redraw visualization through a debug setting or shortcut.
As terminal content or UI changes are rendered, Architect records the affected region and shows a fading overlay.
The developer types, scrolls, opens overlays, or switches modes and watches which regions flash.
Result: Redraw behavior is easy to inspect visually without reading logs.
Scope
In scope:
Add a developer-facing redraw-visualization mode with fading colored highlights.
Visualize at least terminal-content rerenders, with room to distinguish content rerenders from whole-frame redraws later.
Out of scope:
Exact GPU-driver-level damage reporting.
Shipping the overlay as always-on user-facing UI.
Implementation Plan
Affected Modules
src/render/renderer.zig: emit redraw region information when terminal content is rerendered.
src/ui/components/: add a new overlay component that renders fading highlight rectangles.
src/ui/root.zig: register and render the new debug component.
src/app/runtime.zig: wire toggle behavior and pass per-frame redraw data through the existing UI and render flow.
src/config.zig: optional config flag if the mode should be user-configurable.
docs/configuration.md: document the debug toggle if it is exposed in config.
Tasks
Define a redraw-debug data model for recording rerendered regions per frame. src/render/renderer.zig or a small shared module
Emit redraw events for terminal content rerenders in grid and full-screen paths. src/render/renderer.zig
Add a UI overlay component that renders fading highlight rectangles on top of the scene. src/ui/components/, src/ui/root.zig
Add a debug toggle path through runtime and optional config or shortcut plumbing. src/app/runtime.zig, src/config.zig
Write tests for region lifecycle, fade timing, toggle behavior, and near-zero overhead when disabled.
Update docs/configuration.md if a config toggle is added.
Update docs/ARCHITECTURE.md to document the redraw-debug overlay and data flow.
New Dependencies
None
Acceptance Criteria
Developers can enable and disable redraw visualization without changing production behavior.
Recently rerendered regions are highlighted with a visible fade-out effect.
The overlay distinguishes meaningful redraw activity well enough to debug repaint behavior.
Tests cover the happy path and documented edge cases.
docs/configuration.md is updated if config is added.
Title: [Feature]: Add a redraw heatmap overlay for repaint debugging
Labels: feature, major
Status Quo
Architect has metrics and logging, but there is no spatial debugging tool that shows what part of the UI or terminal content was rerendered on a given frame. When typing feels slow or rendering seems wasteful, the only current options are code inspection and log-based tracing. The overlay system in
src/ui/is already the right place for a developer-facing visualization layer, but no redraw-debug component exists today.Objectives
Give developers a visual tool to understand redraw behavior in real time. When enabled, Architect should highlight recently rerendered regions with a fading color overlay so it is obvious whether the app is repainting only what changed or repainting much more than necessary.
User Flow
Trigger: The developer enables redraw-debug mode.
Result: Redraw behavior is easy to inspect visually without reading logs.
Scope
In scope:
Out of scope:
Implementation Plan
Affected Modules
src/render/renderer.zig: emit redraw region information when terminal content is rerendered.src/ui/components/: add a new overlay component that renders fading highlight rectangles.src/ui/root.zig: register and render the new debug component.src/app/runtime.zig: wire toggle behavior and pass per-frame redraw data through the existing UI and render flow.src/config.zig: optional config flag if the mode should be user-configurable.docs/configuration.md: document the debug toggle if it is exposed in config.Tasks
src/render/renderer.zigor a small shared modulesrc/render/renderer.zigsrc/ui/components/,src/ui/root.zigsrc/app/runtime.zig,src/config.zigdocs/configuration.mdif a config toggle is added.docs/ARCHITECTURE.mdto document the redraw-debug overlay and data flow.New Dependencies
None
Acceptance Criteria
docs/configuration.mdis updated if config is added.docs/ARCHITECTURE.mdis updated.