Skip to content

Fix live dot shine-through while series is dimmed - #276

Open
brandtnewlabs wants to merge 2 commits into
mainfrom
agent/fix-loading-dot-pulse-opacity
Open

Fix live dot shine-through while series is dimmed#276
brandtnewlabs wants to merge 2 commits into
mainfrom
agent/fix-loading-dot-pulse-opacity

Conversation

@brandtnewlabs

@brandtnewlabs brandtnewlabs commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • fade live dots and pulse rings out whenever seriesOpacity dims replacement data, then fade them back in once the series is fully opaque
  • apply the behavior consistently to LiveChart and LiveChartSeries while keeping strokes, fills, value lines, labels, axes, and badges on their existing opacity paths
  • add a permanent Dim while loading control to the Line & area example; it pauses the synthetic feed and chart window while dimmed, then reseeds replacement history on completion
  • add regression tests, API/guide documentation, and a changelog entry

Root cause

The live-dot groups used seriesOpacity directly. At partial opacity, Skia composited a translucent dot over its own line, so the stroke showed through the dot and the pulse remained visibly active. The indicator group now uses a discrete UI-thread target with a short fade: hidden for any dimmed series, visible again only at full opacity.

Before and after

Both clips use the Line & area example and hold the chart at 50% opacity long enough to show the pulse behavior. In the updated example, the dimmed range remains frozen for the whole loading interval and a fresh current range replaces it on completion.

Before After
Download before video (MP4) Download after video (MP4)

Verification

  • npm run verify — 103 suites passed, 1,576 tests passed, 5 skipped
  • npx react-doctor@latest --verbose --diff — no issues in changed React files
  • iOS Simulator manual validation of the fade-out, dimmed hold, and fade-in sequence

@brandtnewlabs
brandtnewlabs marked this pull request as ready for review August 15, 2026 18:28
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.

1 participant