{"version":"2.1.227","anchor":"renderer-repaint-debugging-behind-an-environment-variable","canonical_anchor":"renderer-repaint-debugging-behind-an-environment-variable","heading":"Renderer repaint debugging behind an environment variable","tier":"use","area":"Terminal Rendering","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227\/e\/renderer-repaint-debugging-behind-an-environment-variable","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227","markdown":"### Renderer repaint debugging behind an environment variable\n\nSet CLAUDE_CODE_DEBUG_REPAINTS to capture which components trigger terminal redraws.\n\n**What**\n\nThe terminal renderer reads `CLAUDE_CODE_DEBUG_REPAINTS` and only captures per-component debug ownership information when it is set, so normal sessions skip that work. Layout caches also moved onto the nodes themselves.\n\n**Details**\n\n- Root render nodes are now created with an explicit layout engine config.\n- New per-node fields `cachedLayout`, `pendingClears` and `scrollCommitStartedAt` replace a separate side map.\n\n**Evidence**\n\n`CLAUDE_CODE_DEBUG_REPAINTS`\n\n- Area: Terminal Rendering\n- Names: `CLAUDE_CODE_DEBUG_REPAINTS`\n- Tier: Use it now\n- Useful: 2\/5\n- Signal: 3\/5"}