From 43b93e9e1bb91e40e39d187586855209de8d49ab Mon Sep 17 00:00:00 2001 From: Jacob Richman Date: Thu, 9 Apr 2026 19:42:21 -0700 Subject: [PATCH] debugging(ui): add optional debugRainbow setting (#25088) --- docs/reference/configuration.md | 6 ++++++ packages/cli/src/config/settingsSchema.ts | 10 ++++++++++ packages/cli/src/interactiveCli.tsx | 1 + schemas/settings.schema.json | 7 +++++++ 4 files changed, 24 insertions(+) diff --git a/docs/reference/configuration.md b/docs/reference/configuration.md index f3475f725a..f0acd3f5a4 100644 --- a/docs/reference/configuration.md +++ b/docs/reference/configuration.md @@ -202,6 +202,12 @@ their corresponding top-level category object in your `settings.json` file. #### `ui` +- **`ui.debugRainbow`** (boolean): + - **Description:** Enable debug rainbow rendering. Only useful for debugging + rendering bugs and performance issues. + - **Default:** `false` + - **Requires restart:** Yes + - **`ui.theme`** (string): - **Description:** The color theme for the UI. See the CLI themes guide for available options. diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index 076978b203..fcfd604e3a 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -439,6 +439,16 @@ const SETTINGS_SCHEMA = { description: 'User interface settings.', showInDialog: false, properties: { + debugRainbow: { + type: 'boolean', + label: 'Debug Rainbow', + category: 'UI', + requiresRestart: true, + default: false, + description: + 'Enable debug rainbow rendering. Only useful for debugging rendering bugs and performance issues.', + showInDialog: false, + }, theme: { type: 'string', label: 'Theme', diff --git a/packages/cli/src/interactiveCli.tsx b/packages/cli/src/interactiveCli.tsx index 4b307fb9d3..0d73f95016 100644 --- a/packages/cli/src/interactiveCli.tsx +++ b/packages/cli/src/interactiveCli.tsx @@ -163,6 +163,7 @@ export async function startInteractiveUI( settings.merged.ui.incrementalRendering !== false && useAlternateBuffer && !isShpool, + debugRainbow: settings.merged.ui.debugRainbow === true, }, ); diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index 1281d0f429..98bc786410 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -230,6 +230,13 @@ "default": {}, "type": "object", "properties": { + "debugRainbow": { + "title": "Debug Rainbow", + "description": "Enable debug rainbow rendering. Only useful for debugging rendering bugs and performance issues.", + "markdownDescription": "Enable debug rainbow rendering. Only useful for debugging rendering bugs and performance issues.\n\n- Category: `UI`\n- Requires restart: `yes`\n- Default: `false`", + "default": false, + "type": "boolean" + }, "theme": { "title": "Theme", "description": "The color theme for the UI. See the CLI themes guide for available options.",