.kilo/plans/1779987392284-clever-river.md
Stop runtime SVG recoloring in the JetBrains plugin and rely on IntelliJ's standard light/dark icon asset resolution. Ensure every SVG asset used by the plugin has a light/dark pair.
frontend/src/main/kotlin/ai/kilocode/client/ui/SvgIconColorizer.kt.frontend/src/main/kotlin/ai/kilocode/client/session/scroll/ScrollButtonIcon.kt.ScrollButtonIcon colorizes two icons at runtime:
/icons/scroll-bottom.svg/icons/scroll-question.svgscroll-bottom_dark.svgscroll-question_dark.svgsend.svg / send_dark.svgstop.svg / stop_dark.svgshield.svg / shield_dark.svgshield-filled.svg / shield-filled_dark.svgcompress.svg / compress_dark.svgchevron-down.svg / chevron-down_dark.svgarrow-up.svg / arrow-up_dark.svgarrow-down-to-line.svg / arrow-down-to-line_dark.svgkilo.svg / kilo_dark.svgkilo-content.svg / kilo-content_dark.svgplus.svg / plus_dark.svg exists, though no current direct source reference was found.[email protected] / kilo@20x20_dark.svg exists, though no current direct source reference was found.src/main/resources/META-INF/pluginIcon.svg is present and has no pluginIcon_dark.svg. It is not referenced in source/XML, but JetBrains treats this filename conventionally as plugin metadata/marketplace icon, so it should be paired for completeness.currentColor, <style>, CSS classes, or CSS variables were found in frontend/src/main/resources/icons/*.svg.ScrollButtonIcon runtime colorization with standard IconLoader.getIcon(...) loading.
colorizedSvgIcon, SessionUiStyle, UiStyle, JBUI, and Color from ScrollButtonIcon.kt.IconLoader import.bottom with IconLoader.getIcon("/icons/scroll-bottom.svg", ScrollButtonIcon::class.java).prompt with IconLoader.getIcon("/icons/scroll-question.svg", ScrollButtonIcon::class.java).create(question: Boolean = false) unchanged so callers continue to receive the appropriate icon._dark.svg variants when the look and feel is dark.frontend/src/main/kotlin/ai/kilocode/client/ui/SvgIconColorizer.kt after confirming no callers remain.SessionUiStyle.ScrollIcon.
ScrollIcon object if no references remain.src/main/resources/META-INF/pluginIcon_dark.svg as the dark-mode pair for pluginIcon.svg.
pluginIcon.svg unless there is a desired brand-specific dark variant; the current icon already has a black background and yellow mark, so an identical dark pair is acceptable and satisfies IntelliJ's expected pair convention.colorizedSvgIcon or SvgIconColorizer references._dark.svg where IntelliJ expects one.currentColor, <style>, CSS classes, or CSS variables.packages/kilo-jetbrains/:
bun run typecheck or ./gradlew typecheck.packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/scroll/ScrollButtonIcon.ktpackages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/style/SessionUiStyle.ktpackages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/ui/SvgIconColorizer.ktpackages/kilo-jetbrains/src/main/resources/META-INF/pluginIcon_dark.svg