- Fixes the ScreenCore mission browser selection contract: side operations keep their real selected mission id while list highlighting uses the route anchor.
- Keeps mission-browser provider reads on one short-lived cached UI snapshot per state/tick bucket.
- Adds empty states across terminal ScreenCore lists to prevent blank/glitchy panels when data is late or absent.
- Removes the unused legacy renderer action from the normal ScreenCore action catalog.
- Expands GameTest coverage for mission-browser caching, side-operation highlighting, EUI empty states, and Track/Complete/Claim click dispatch.
Validation:
- .\gradlew.bat :echoterminal:compileJava :echoterminal:compileTestJava --rerun-tasks --console=plain
- .\gradlew.bat :echoterminal:test --console=plain
- .\gradlew.bat :echoterminal:runGameTestServer -PechoGameTestSelector=echoterminal:terminal_screencore_* --console=plain