docs(android): close P0 safe-area + card-back items in playability TODO

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-05-10 20:41:28 -07:00
parent fcc7337c97
commit 304cb050a7
+17 -10
View File
@@ -29,19 +29,26 @@ rewrites required.
## P0 — Blocking playability ## P0 — Blocking playability
- [ ] **Safe-area insets (top + bottom).** Query `WindowInsets` via JNI - [x] **Safe-area insets (top + bottom).** *Closed 2026-05-10 by
(or `winit::window::Window::safe_area()` if exposed in our pinned `b9aa262`.* `SafeAreaInsets` resource + `SafeAreaInsetsPlugin`
winit) and push HUD down by status-bar height + bottom UI up by query `WindowInsets.getInsets(systemBars())` via JNI on Android;
nav-bar height. Likely lives in `solitaire_engine` layout system, HUD anchors carry `SafeAreaAnchoredTop { base_top }` and the
gated `#[cfg(target_os = "android")]`. change-detection fix-up system re-applies `base_top + insets.top`
whenever the resource updates. Bottom inset is captured but not
yet consumed (waits for bottom-anchored UI).
- [ ] **Mobile HUD layout.** Wrap to two rows, drop redundant text, or - [ ] **Mobile HUD layout.** Wrap to two rows, drop redundant text, or
move secondary actions (Help, Modes) into a hamburger / drawer. move secondary actions (Help, Modes) into a hamburger / drawer.
Current single-row layout requires desktop width. Current single-row layout requires desktop width.
- [ ] **Card-back asset not rendering.** Face-down cards show as red - [x] **Card-back asset not rendering.** *Closed 2026-05-10 by
rectangles. Investigate: is `CardImageSet::back` resolving on `fcc7337`.* `AssetPlugin::file_path = "../assets"` was set
Android? Is the texture being uploaded? Is the sampler wrong? Check unconditionally to fix the desktop `cargo run -p solitaire_app`
AssetServer load path under Android — does it find the embedded / CWD relativity, but on Android cargo-apk packages the same
packaged texture? directory into the APK at `assets/` and Bevy's
AndroidAssetReader is already rooted there — prepending `../`
walked the reader out of the APK assets root and every load
failed silently. The face-down branch then fell through to the
`card_back_colour(0)` solid-red brick fallback. Gated the
override behind `#[cfg(not(target_os = "android"))]`.
- [ ] **Viewport overflow.** Leftmost foundation and rightmost tableau - [ ] **Viewport overflow.** Leftmost foundation and rightmost tableau
pile clipped. `LayoutResource` must recompute on Android using pile clipped. `LayoutResource` must recompute on Android using
actual surface size (post-inset) instead of any desktop default actual surface size (post-inset) instead of any desktop default