diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 26a9538..9f47866 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -57,7 +57,9 @@ function App() {
setSelectedBody(body);
};
- if (loading) {
+ // Only show full screen loading when we have no data
+ // This prevents flashing when timeline is playing and fetching new data
+ if (loading && bodies.length === 0) {
return ;
}
diff --git a/frontend/src/components/TimelineController.tsx b/frontend/src/components/TimelineController.tsx
index 1f06239..0a27450 100644
--- a/frontend/src/components/TimelineController.tsx
+++ b/frontend/src/components/TimelineController.tsx
@@ -143,6 +143,7 @@ export function TimelineController({ onTimeChange, minDate, maxDate }: TimelineC