The XHR interceptor baked _MOCK_TRAIN at page load time, so seeking or
advancing a playback frame only changed React state but had no effect
on the already-loaded WebView page.
- webviewXhrInterceptor.ts:
- Expose window.__jrsMockUpdateTrain(newData) from inside the IIFE so
the _MOCK_TRAIN variable can be updated after page load
- Add generateMockUpdateScript(trainPositions) helper: calls
__jrsMockUpdateTrain with fresh data + GetDateTime, then calls
window.setReload() to trigger the page's own redraw cycle
- WebView.tsx:
- Import generateMockUpdateScript
- Add useEffect watching mockTrainPositions (skips first mount since
beforeContentLoaded already has correct data)
- When mockApiFeatureEnabled && mockTrainPositions changes, inject the
update script via webview.current.injectJavaScript()
Result: seeking, prev/next frame, and auto-advance during playback now
immediately update the train position display in the WebView.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>