fix(engine): poll decor-view size to catch fold resizes winit misses (#130) #152
Reference in New Issue
Block a user
Delete Branch "fix/130-fold-stale-relayout"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the candidate fix from #130: a continuous JNI decor-view size poller (every 30 frames, ~0.5s) in
safe_area.rs's Android module.On mismatch with Bevy's cached
Windowresolution it:window.resolution(renderer reconfigures;window.width()readers see truth),WindowResizedin logical px soon_window_resizedrelayouts the board,Deliberately continuous rather than
WillResume-gated: the winit Android backend's missing lifecycle forwarding is the root cause, so the fix cannot depend on those same events. A new evidence log inrearm_on_resumedwill settle on-device whetherWillResumefires at all (investigation step 2 of #130).Gates:
cargo test --workspacegreen,cargo clippy --workspace -- -D warningsclean, pluscargo ndk … clippy -p solitaire_engineclean for aarch64-linux-android.Needs on-device verification on the Fold 7: fold/unfold foreground and backgrounded, watch
adb logcat -s RustStdoutStderrforsafe_area: decor view is …andlayout: resize to …lines.Closes #130
🤖 Generated with Claude Code
5323c26a0dto38b81a4004