Skip to content

Make missing-state keyframe error readable in both themes and move it to the top (#3385)#3394

Merged
vchelaru merged 1 commit into
mainfrom
3385-keyframe-error-label
Jun 27, 2026
Merged

Make missing-state keyframe error readable in both themes and move it to the top (#3385)#3394
vchelaru merged 1 commit into
mainfrom
3385-keyframe-error-label

Conversation

@vchelaru

Copy link
Copy Markdown
Owner

Summary

Fixes the missing-state keyframe error label in the animation keyframe editor (StateView.xaml):

  1. Readable in both themes. The label used Frb.Brushes.Error as a Background (a light pink in dark mode) with the default near-white foreground — unreadable in dark mode. Frb.Colors.Error flips lightness between themes (light: dark red #C62828, dark: light pink #EF9A9A), so no single foreground reads on it as a background. Now it renders the way every other error in the app does: bold Error-colored foreground text, no background block — theme-safe by construction.
  2. Moved to the top. Relocated from Grid.Row="4" (under the In/Out field) to Grid.Row="0", above the state ComboBox, since it is critical context. Other rows shifted down by one.

Note on approach

The issue offered two options: pick a foreground that reads on the pink background, or use a dedicated error style. I took the second — a hand-picked foreground can't contrast both a dark-red and a light-pink background, so the foreground-text treatment is the robust, convention-matching fix.

Manual test: needed — visual only (XAML). Open a project with an animation keyframe referencing a missing state; confirm the red "Could not find state or animation" text appears at the top of the keyframe editor and is readable in both light and dark themes.

Closes #3385

🤖 Generated with Claude Code

… to the top (#3385)

The 'Could not find state or animation' label in StateView used Frb.Brushes.Error as a Background. That color flips lightness between themes (light: dark red, dark: light pink), so the default near-white foreground was unreadable in dark mode, and no single foreground reads on it in both themes.

Render it the way every other error in the app does: as bold Error-colored foreground text with no background block. Also moved it from Grid.Row 4 (under the In/Out field) to Grid.Row 0, above the state ComboBox, since it is critical context, shifting the other rows down.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vchelaru vchelaru enabled auto-merge (squash) June 27, 2026 23:49
@vchelaru vchelaru merged commit c61fa34 into main Jun 27, 2026
3 checks passed
@vchelaru vchelaru deleted the 3385-keyframe-error-label branch June 27, 2026 23:53
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.

Missing-state keyframe error label is unreadable in dark mode and positioned too low

1 participant