docs(handoff): record Options A + F closures, refresh Resume prompt menu

Two post-v0.21.0 options closed today; "Since the v0.21.0 cut"
section now narrates both:

- A — App icon (`3eb3a26` + `716a025`). Runtime Window::icon
  wired via WinitWindows on desktop, 9-size PNG hierarchy at
  assets/icon/. The follow-up `716a025` wraps NonSend in
  Option<...> to satisfy Bevy 0.18's stricter system-param
  validation.
- F — Accessibility modes (`c5787c6` + `07e0357`). High-
  contrast and reduce-motion settings flags + Settings UI
  toggles + engine wiring. CBM and HC compose; reduce-motion
  forces card slide_secs to 0.

Open punch list refreshed:

- Visual-identity follow-ups: HC and reduce-motion entries
  marked closed with future-scope notes (HC chrome borders,
  reduce-motion splash gating).
- Carried forward from v0.19.0: App icon entry marked closed
  with future-scope note for .ico/.icns bundle formats (need
  new deps + matter only at packaging time).

Resume prompt menu trimmed: A and F decision options now
marked closed inline (preserved for audit-trail readability).
B, C, D, E remain live.

No runtime / test changes — pure docs hygiene to keep the
handoff orientation accurate as work flows.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-05-08 11:28:27 -07:00
parent 07e035771c
commit 31139ae455
+68 -27
View File
@@ -36,9 +36,40 @@ resume.
## Since the v0.21.0 cut ## Since the v0.21.0 cut
No threads in flight. Working tree clean as of 2026-05-08. New Two Resume-prompt options closed post-tag (2026-05-08):
work since the cut would land here as commit narratives; for the
v0.21.0 contents themselves, see `CHANGELOG.md` § [0.21.0]. - **Option A — App icon round** (`3eb3a26` + `716a025`). 9-size
PNG hierarchy in `assets/icon/` (16/24/32/48/64/128/256/512/
1024 px), generated by a new `icon_generator` example from a
shared `icon_svg` builder (Terminal `▌RS` mark on dark
`#151515` with brick-red accent). Runtime `Window::icon`
wired via `WinitWindows` on desktop only (Android draws its
launcher icon from the APK manifest). The follow-up fix
`716a025` wraps `NonSend<WinitWindows>` in `Option<...>`
to satisfy Bevy 0.18's stricter system-param validation —
the resource doesn't exist on the first few frames before
winit's `Resumed` event fires. New deps (target-gated
non-Android): direct `winit = "0.30"` for `Icon`
construction, direct `tiny-skia` for PNG → RGBA decode.
Pin test `icon_svg_pin` guards future rasteriser drift.
- **Option F — Accessibility modes** (`c5787c6` + `07e0357`).
High-contrast and reduce-motion settings flags wired through
the engine and surfaced as Settings panel toggles. HC boosts
`RED_SUIT_COLOUR` to `#ff8aa0` and `BLACK_SUIT_COLOUR` to
`#f5f5f5` for card text rendering; reduce-motion forces
`effective_slide_secs` to 0 regardless of `AnimSpeed`. CBM
and HC compose: lime CBM wins on red when both are on; HC
still applies to black suits when both are on. Six new
tests pin the truth tables. UI toggles sit alongside the
Color-blind row in Settings → Cosmetic; tab-walk visits
all three accessibility flags in one vertical run.
Three Resume-prompt options remain live: B (APK launch
verification), C (replay-overlay extensions), D (Toast
Warning/Error wiring), E (Phase 8 sync). The visible-payoff
pieces of the post-v0.21.0 menu have shipped; what's left is
Android runtime work, replay-overlay polish, sync infrastructure,
and toast-event sourcing.
## Open punch list ## Open punch list
@@ -86,24 +117,30 @@ palette refresh all shipped in v0.20.0 + v0.21.0. What stays open:
for `Warning` (gold) and `Error` (pink) but no in-engine for `Warning` (gold) and `Error` (pink) but no in-engine
event uses them yet. Wire when a warning- or error-flavoured event uses them yet. Wire when a warning- or error-flavoured
toast event materialises. toast event materialises.
- **High-contrast accessibility mode.** `design-system.md` line - *High-contrast accessibility mode — closed 2026-05-08 by
274 mentions it (boost foreground from `#d0d0d0` to `#f5f5f5`, `c5787c6` + `07e0357`.* Card text rendering picks up
suit-red from `#fb9fb1` to `#ff8aa0`). Not implemented; no `TEXT_PRIMARY_HC` (`#f5f5f5`) and `RED_SUIT_COLOUR_HC`
Settings toggle. (`#ff8aa0`); Settings panel has a toggle. Future scope:
- **Reduced-motion mode** for card lift / drop transitions. extend HC through chrome borders (`BORDER_SUBTLE_HC` already
`design-system.md` accessibility item, separate from defined, not yet consumed), buttons, popover edges.
artwork. Not implemented. - *Reduced-motion mode — closed 2026-05-08 by the same pair.*
`effective_slide_secs` forces 0 when on, regardless of the
`AnimSpeed` setting. Future scope: gate splash scanline
overlay + cursor pulse animation on the same flag, gate
warning-chip pulse, gate any future card-lift z-bump
animation.
### Carried forward from v0.19.0 ### Carried forward from v0.19.0
- **App icon round.** `Window::icon` not yet wired; no - *App icon round — closed 2026-05-08 by `3eb3a26` + `716a025`.*
`.icns` / `.ico` / Linux hicolor PNG hierarchy. The 11-size Runtime `Window::icon` wired (Linux/macOS/Windows); 9-size
icon export the v0.19 handoff referenced is *not* currently PNG hierarchy at `assets/icon/icon_<size>.png` covers Linux
in `artwork/` (current `artwork/` holds the reverted Rusty hicolor + downstream `.icns`/`.ico` packaging needs. The
Pixel card PNGs and is intentionally untracked); icon-export `.ico` and `.icns` bundle-format files themselves are *not*
needs to be re-run before this item can be picked up. generated — both would need new crate deps (`ico` and
Half-day task once the PNGs are back in place. No cert `icns` respectively) and only matter at app-bundle time
dependency. (cargo-bundle / packaging), not at `cargo run`. Open if the
project later ships as a packaged macOS / Windows app.
### Other small candidates ### Other small candidates
@@ -223,16 +260,16 @@ READ FIRST (in order, before doing anything):
fresh machine) fresh machine)
DECISION TO ASK THE PLAYER FIRST: DECISION TO ASK THE PLAYER FIRST:
A. App icon round — re-run artwork/Icon Export.html (the A. *Closed 2026-05-08 by `3eb3a26` + `716a025`.* App icon
export PNGs are not currently in `artwork/`), then wire round — runtime `Window::icon` wired plus a 9-size PNG
Window::icon + generate .icns / .ico / Linux hicolor PNG hierarchy at `assets/icon/`. `.ico` / `.icns` bundle
hierarchy. Half-day task. No cert dependency. Pure formats stay open if the project later ships as a
desktop work. packaged macOS / Windows app.
B. APK launch verification on AVD / device — `adb install` + B. APK launch verification on AVD / device — `adb install` +
`adb logcat` to shake out runtime bugs the build / unit `adb logcat` to shake out runtime bugs the build / unit
tests can't catch. Likely surfaces JNI ClipboardManager tests can't catch. Likely surfaces JNI ClipboardManager
and Android Keystore stubs that need real bridges. Larger and Android Keystore stubs that need real bridges. Larger
scope than A; needs an Android device or emulator running. scope; needs an Android device or emulator running.
C. Replay-overlay extensions — either the floating `MOVE N/M` C. Replay-overlay extensions — either the floating `MOVE N/M`
chip above the focused card (smaller, cross-plugin; needs chip above the focused card (smaller, cross-plugin; needs
cursor → card-position plumbing in `card_plugin`) or the cursor → card-position plumbing in `card_plugin`) or the
@@ -248,9 +285,13 @@ DECISION TO ASK THE PLAYER FIRST:
wired into Settings. The biggest open arc by scope; rolls wired into Settings. The biggest open arc by scope; rolls
up several Phase Android dependencies (Keystore, up several Phase Android dependencies (Keystore,
ClipboardManager). ClipboardManager).
F. High-contrast and reduced-motion accessibility modes. F. *Closed 2026-05-08 by `c5787c6` + `07e0357`.* High-contrast
Both flagged in design-system.md but unimplemented; needs and reduced-motion accessibility modes — Settings flags
Settings toggles + token alternates. + UI toggles + engine wiring. Card text rendering uses
HC variants when on; card slide_secs forces to 0 when
reduce-motion is on. Future scope: extend HC through
chrome borders, buttons; gate splash + warning-chip
animations on reduce-motion.
WORKFLOW NOTES: WORKFLOW NOTES:
- Use the system git config (already correct). - Use the system git config (already correct).