Skip to content

feat(ui): add Nova focus motion system#61

Merged
papi-ux merged 1 commit into
masterfrom
nova/focus-motion-polish
May 20, 2026
Merged

feat(ui): add Nova focus motion system#61
papi-ux merged 1 commit into
masterfrom
nova/focus-motion-polish

Conversation

@papi-ux
Copy link
Copy Markdown
Owner

@papi-ux papi-ux commented May 20, 2026

Summary

  • Adds a shared Nova focus motion modifier for Compose cards, buttons, chips, and Polaris Library game cards.
  • Adds animated scale, focus halo, border/color transitions, and pressed-state feedback for controller-friendly surfaces.
  • Extends legacy app/server grid rows with animated focus scale and elevation so TV/handheld navigation feels more console-native.
  • Adds source-guard coverage for the focus motion treatment.

Test Plan

  • ./gradlew -PnovaAbis=x86_64 testNonRoot_gameDebugUnitTest
  • ./gradlew -PnovaAbis=x86_64 testNonRoot_gameDebugUnitTest --tests com.papi.nova.ui.NovaFocusDrawableTest --tests com.papi.nova.ui.NovaComposeSourceGuardTest

Notes

  • Not runtime/device-smoke tested yet.

@papi-ux
Copy link
Copy Markdown
Owner Author

papi-ux commented May 20, 2026

Retroid smoke test for focus/motion polish:

  • Device: Retroid Pocket 6, serial 24c12bdd
  • Built: ./gradlew -PnovaAbis=arm64-v8a assembleNonRoot_gameDebug
  • Installed: app/build/outputs/apk/nonRoot_game/debug/app-nonRoot_game-arm64-v8a-debug.apk
  • Launched: com.papi.nova.debug/com.papi.nova.PcView
  • Verified Library opened with 19 games from pc-papi.lan.
  • D-pad focus moved from sidebar/filter area into a game card; focused card showed visible purple focus ring/halo and remained readable with no obvious clipping/overlap.
  • Opened game detail sheet for Black Myth: Wukong; launch mode sheet rendered correctly and primary Launch Recommended button focus was visible/readable.
  • Backed out to dashboard/server screen and exercised D-pad focus across dashboard actions; focus outlines remained visible and layout looked intact.
  • Logcat check found no FATAL EXCEPTION / com.papi.nova.debug crash / ANR.

Not tested: actual stream launch/gameplay, reconnect/disconnect, long-run performance.

@papi-ux papi-ux merged commit 9e6e044 into master May 20, 2026
4 of 5 checks passed
@papi-ux papi-ux deleted the nova/focus-motion-polish branch May 20, 2026 21:21
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