docs(handoff): cut v0.21.8 — replay arc fully closed; 1276 tests
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+49
-1
@@ -6,9 +6,57 @@ project follows [Semantic Versioning](https://semver.org/).
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
No threads in flight. v0.21.7 cut on 2026-05-08; CHANGELOG accumulates
|
No threads in flight. v0.21.8 cut on 2026-05-08; CHANGELOG accumulates
|
||||||
the next cycle here.
|
the next cycle here.
|
||||||
|
|
||||||
|
## [0.21.8] — 2026-05-08
|
||||||
|
|
||||||
|
Patch release for replay-overlay polish. Through-line:
|
||||||
|
**notch-label centering + WIN MOVE HC legibility + HC system extension**.
|
||||||
|
All three items were "optional polish" flagged in the v0.21.7 handoff;
|
||||||
|
all three ship in two commits.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- **`STATE_SUCCESS_HC` constant** (`c50eaf8`). Brighter lime
|
||||||
|
(`#c8e862`, L≈0.73) in `ui_theme` for use wherever the
|
||||||
|
standard `STATE_SUCCESS` (`#acc267`, L≈0.51) needs extra
|
||||||
|
luminance under HC mode. Sits above the bumped notch ticks
|
||||||
|
(`BORDER_SUBTLE_HC` gray, L≈0.60) so a WIN MOVE marker at
|
||||||
|
this colour is unambiguous.
|
||||||
|
- **`HighContrastBackground::with_hc(default, hc)` constructor**
|
||||||
|
(`c50eaf8`). Extends `HighContrastBackground` with an
|
||||||
|
`hc_color: Color` field (default = `BORDER_SUBTLE_HC` via
|
||||||
|
`with_default()`). `update_high_contrast_backgrounds` now
|
||||||
|
reads `marker.hc_color` instead of the hardcoded constant —
|
||||||
|
backwards-compatible; all existing `with_default()` usages
|
||||||
|
continue to bump to gray.
|
||||||
|
- **WIN MOVE scrub-bar marker HC bump** (`c50eaf8`). Marker
|
||||||
|
now carries `HighContrastBackground::with_hc(STATE_SUCCESS,
|
||||||
|
STATE_SUCCESS_HC)` so the lime stays lime under HC (brighter
|
||||||
|
lime rather than gray). Pin test locks both the default and
|
||||||
|
HC colour fields on the spawned entity.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- **Scrub-bar notch-label centering** (`b44d277`). Middle
|
||||||
|
three labels ("25%", "50%", "75%") previously had their
|
||||||
|
left edge at the notch; now their text centre coincides
|
||||||
|
with the notch tick. Implemented using the CSS
|
||||||
|
`translateX(-50%)` pattern for Bevy 0.18 UI: a fixed
|
||||||
|
`SCRUB_LABEL_CENTER_WIDTH = 36 px` container with
|
||||||
|
`margin.left = -18 px` is placed at `left: Percent(pct)`,
|
||||||
|
and `Justify::Center` centres the text within it. Endpoint
|
||||||
|
labels ("0%", "100%") keep their flush-left / flush-right
|
||||||
|
anchoring. `with_default()` remains one-argument.
|
||||||
|
|
||||||
|
### Stats
|
||||||
|
|
||||||
|
- Tests: 1276 passing / 0 failing (engine: 831)
|
||||||
|
- Clippy: clean
|
||||||
|
- Crates touched: `solitaire_engine` (replay_overlay.rs,
|
||||||
|
ui_theme.rs, settings_plugin.rs)
|
||||||
|
|
||||||
## [0.21.7] — 2026-05-08
|
## [0.21.7] — 2026-05-08
|
||||||
|
|
||||||
Patch release closing the last major B-2 sub-piece. Through-line:
|
Patch release closing the last major B-2 sub-piece. Through-line:
|
||||||
|
|||||||
+50
-63
@@ -1,66 +1,57 @@
|
|||||||
# Solitaire Quest — Session Handoff
|
# Solitaire Quest — Session Handoff
|
||||||
|
|
||||||
**Last updated:** 2026-05-08 — **v0.21.7 cut and tagged at
|
**Last updated:** 2026-05-08 — **v0.21.8 cut and tagged at
|
||||||
`da3e542`**, working tree clean (tag pending push).
|
`c50eaf8`**, working tree clean (tag + push pending).
|
||||||
|
|
||||||
v0.21.7 is a single-commit patch closing the last major B-2
|
v0.21.8 closes the last optional polish items in the B-2
|
||||||
sub-piece: **mini-tableau preview dim layer**. A full-screen
|
replay screen-takeover arc: **notch-label centering** (middle
|
||||||
`ReplayTableauDimLayer` UI node (100 % × 100 %, 50 % opacity
|
three scrub-bar labels now centred on their notch ticks via the
|
||||||
black) at `Z_REPLAY_DIM = 54` (one rung below the replay
|
CSS `translateX(-50%)` pattern for Bevy 0.18 UI) and **WIN
|
||||||
chrome at z=55) darkens the card world during replay so the
|
MOVE HC legibility** (lime stays lime under HC mode via the
|
||||||
banner and move-log panel read clearly against the scene —
|
extended `HighContrastBackground::with_hc` constructor and a
|
||||||
matching the mockup's "Game Peek Band at 50 % opacity" spec
|
new `STATE_SUCCESS_HC` brighter-lime constant). The replay
|
||||||
without touching `card_plugin`. 13 commits have now shipped
|
overlay arc is now fully closed with no known open items.
|
||||||
across v0.21.4–v0.21.7 on the B-2 replay screen-takeover
|
|
||||||
arc; every major sub-piece is closed.
|
|
||||||
|
|
||||||
Full v0.21.7 detail lives in `CHANGELOG.md` § [0.21.7]. This
|
Full v0.21.8 detail lives in `CHANGELOG.md` § [0.21.8]. This
|
||||||
file from here on focuses on what's *open* post-cut and how to
|
file from here on focuses on what's *open* post-cut and how to
|
||||||
resume.
|
resume.
|
||||||
|
|
||||||
## Status at pause
|
## Status at pause
|
||||||
|
|
||||||
- **HEAD locally:** `da3e542` (v0.21.7 commit). Tag pending —
|
- **HEAD locally:** `c50eaf8` (v0.21.8 commit). Docs ride on
|
||||||
push with `git tag v0.21.7 da3e542 && git push origin v0.21.7`.
|
top; tag + push pending:
|
||||||
- **HEAD on origin:** `f63db76` (v0.21.6). v0.21.7 commit
|
`git tag v0.21.8 c50eaf8 && git push origin master && git push origin v0.21.8`.
|
||||||
not pushed yet; a docs-only edit will ride on top before push.
|
- **HEAD on origin:** `52407e7` (v0.21.7 docs). v0.21.8 not
|
||||||
|
yet pushed.
|
||||||
- **Working tree:** clean. No WIP outstanding.
|
- **Working tree:** clean. No WIP outstanding.
|
||||||
- **`artwork/` directory:** still untracked. Intentional.
|
- **`artwork/` directory:** still untracked. Intentional.
|
||||||
- **Build:** `cargo clippy --workspace --all-targets -- -D warnings`
|
- **Build:** `cargo clippy --workspace --all-targets -- -D warnings`
|
||||||
clean.
|
clean.
|
||||||
- **Tests:** **1275 passing / 0 failing** across the workspace.
|
- **Tests:** **1276 passing / 0 failing** across the workspace.
|
||||||
Detail in `CHANGELOG.md` § [0.21.7] § Stats.
|
Detail in `CHANGELOG.md` § [0.21.8] § Stats.
|
||||||
- **Tags on origin:** `v0.9.0` through `v0.21.6`. v0.21.7
|
- **Tags on origin:** `v0.9.0` through `v0.21.7`. v0.21.8
|
||||||
tag exists locally at `da3e542`; push to origin when ready.
|
tag exists locally at `c50eaf8`; push to origin.
|
||||||
|
|
||||||
## Since the v0.21.7 cut
|
## Since the v0.21.8 cut
|
||||||
|
|
||||||
One commit in flight (not yet pushed to origin): `da3e542`
|
Two commits since the v0.21.7 tag (not yet pushed):
|
||||||
adds the full-screen tableau dim layer. CHANGELOG and
|
- `b44d277` — notch-label centering fix
|
||||||
SESSION_HANDOFF updates ride on top. Push with:
|
- `c50eaf8` — WIN MOVE HC bump + HC system extension
|
||||||
```
|
|
||||||
git push origin master
|
|
||||||
git push origin v0.21.7
|
|
||||||
```
|
|
||||||
|
|
||||||
Open next-step menu (all major B-2 sub-pieces now closed):
|
CHANGELOG + SESSION_HANDOFF docs ride on top.
|
||||||
1. **Polish: notch label centering.** Bevy 0.18 lacks a
|
|
||||||
clean `translate-x: -50%` primitive so the middle three
|
|
||||||
scrub-bar labels sit slightly right-of-notch. Could use a
|
|
||||||
child Text wrapper with computed left-margin compensation.
|
|
||||||
Tiny commit, requires visual review.
|
|
||||||
2. **Polish: WIN MOVE marker HC bump.** Currently uses
|
|
||||||
`STATE_SUCCESS` lime which stays visible under HC, but a
|
|
||||||
contrast bump under HC would make it even more legible
|
|
||||||
alongside the bumped notches. Optional.
|
|
||||||
3. **Move Log auto-scroll** — only relevant if the panel's
|
|
||||||
row count grows beyond the current 5-row fixed window.
|
|
||||||
Currently the prev-2 / active / next-2 layout fits all
|
|
||||||
visible content, so auto-scroll is unneeded.
|
|
||||||
|
|
||||||
Recommended order: options 1 and 2 are tiny polish commits
|
Open next-step menu (B-2 arc fully closed, no replay polish
|
||||||
that benefit from visual review. Option 3 is a non-starter
|
items remain):
|
||||||
unless the panel's row capacity grows.
|
1. **APK launch verification on AVD / device** — see Phase
|
||||||
|
Android punch list in this file.
|
||||||
|
2. **Phase 8 (sync)** — the biggest open arc. Local storage
|
||||||
|
scaffolding, self-hosted Axum server, GPGS stub.
|
||||||
|
3. **Move Log auto-scroll** — only relevant if the panel
|
||||||
|
row count grows beyond the current 5-row fixed window;
|
||||||
|
non-starter until then.
|
||||||
|
|
||||||
|
Recommended order: resume with A or C from the DECISION menu
|
||||||
|
in the resume prompt below.
|
||||||
|
|
||||||
## Open punch list
|
## Open punch list
|
||||||
|
|
||||||
@@ -246,18 +237,18 @@ into a v0.21.1 / v0.22.0 cut.
|
|||||||
```
|
```
|
||||||
You are a senior Rust + Bevy developer working on Solitaire Quest.
|
You are a senior Rust + Bevy developer working on Solitaire Quest.
|
||||||
Working directory: <Rusty_Solitaire clone path on this machine>.
|
Working directory: <Rusty_Solitaire clone path on this machine>.
|
||||||
Branch: master. v0.21.7 is tagged at da3e542 (cut 2026-05-08,
|
Branch: master. v0.21.8 is tagged at c50eaf8 (cut 2026-05-08,
|
||||||
closes the last major B-2 sub-piece: full-screen tableau dim
|
replay-overlay polish: scrub-bar notch-label centering + WIN
|
||||||
layer — 50 % opacity black UI scrim at z=54 that darkens the
|
MOVE HC legibility bump via extended HighContrastBackground::
|
||||||
card world during replay so the chrome reads clearly above it).
|
with_hc + new STATE_SUCCESS_HC constant). v0.21.7 stays at
|
||||||
v0.21.6 stays at f63db76, v0.21.5 at a2432df, v0.21.4 at
|
da3e542, v0.21.6 at f63db76, v0.21.5 at a2432df, v0.21.4 at
|
||||||
23ff62c, v0.21.3 at 3d92a91, v0.21.2 at f23df3b, v0.21.1 at
|
23ff62c, v0.21.3 at 3d92a91, v0.21.2 at f23df3b, v0.21.1 at
|
||||||
daa655a, v0.21.0 at 04f9bf9. Working tree clean (CHANGELOG +
|
daa655a, v0.21.0 at 04f9bf9. Working tree clean (CHANGELOG +
|
||||||
SESSION_HANDOFF docs ride on top of da3e542; push pending).
|
SESSION_HANDOFF docs ride on top; push pending).
|
||||||
See CHANGELOG.md § [0.21.7] for full detail.
|
See CHANGELOG.md § [0.21.8] for full detail.
|
||||||
|
|
||||||
State: HEAD locally — see `git rev-parse HEAD`. Workspace
|
State: HEAD locally — see `git rev-parse HEAD`. Workspace
|
||||||
tests: 1275 passing / 0 failing. Clippy clean.
|
tests: 1276 passing / 0 failing. Clippy clean.
|
||||||
|
|
||||||
READ FIRST (in order, before doing anything):
|
READ FIRST (in order, before doing anything):
|
||||||
1. SESSION_HANDOFF.md — this file
|
1. SESSION_HANDOFF.md — this file
|
||||||
@@ -281,15 +272,11 @@ DECISION TO ASK THE PLAYER FIRST:
|
|||||||
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; needs an Android device or emulator running.
|
scope; needs an Android device or emulator running.
|
||||||
B. Replay-overlay polish (B-2 arc fully closed in v0.21.7).
|
B. Replay-overlay arc — **fully closed** as of v0.21.8 (15
|
||||||
All 13 planned sub-pieces shipped. Remaining items are
|
commits across v0.21.4–v0.21.8). Notch-label centering,
|
||||||
minor polish: (a) scrub-bar notch-label centering — middle
|
WIN MOVE HC legibility, and the HighContrastBackground
|
||||||
three labels sit slightly right-of-notch due to Bevy 0.18
|
extension all shipped. No known replay-overlay items
|
||||||
lacking `translate-x: -50%`; tiny commit, needs visual
|
remain open.
|
||||||
review. (b) WIN MOVE marker HC contrast bump — optional
|
|
||||||
luminance boost under HC mode. Both are single commits
|
|
||||||
requiring visual review; recommend treating as a v0.21.8
|
|
||||||
polish pass after manual testing.
|
|
||||||
C. Phase 8 (sync) — local storage scaffolding, self-hosted
|
C. Phase 8 (sync) — local storage scaffolding, self-hosted
|
||||||
Axum server, `SolitaireServerClient` impl, GPGS stub
|
Axum server, `SolitaireServerClient` impl, GPGS stub
|
||||||
wired into Settings. The biggest open arc by scope; rolls
|
wired into Settings. The biggest open arc by scope; rolls
|
||||||
|
|||||||
Reference in New Issue
Block a user