diff --git a/client/index.html b/client/index.html index f067b0f..f1dd7ed 100644 --- a/client/index.html +++ b/client/index.html @@ -54,7 +54,7 @@
- + @@ -287,7 +287,7 @@Waiting for host to start the game...
- + diff --git a/docs/BUG-kicked-ball-position.md b/docs/BUG-kicked-ball-position.md index 912a68d..2c8b2dc 100644 --- a/docs/BUG-kicked-ball-position.md +++ b/docs/BUG-kicked-ball-position.md @@ -70,12 +70,8 @@ The golfer emoji is roughly 30-40px wide at this viewport. Since `scaleX(-1)` fl - `client/style.css` — `.kicked-ball`, `@keyframes ball-kicked`, `.golfer-swing` - `client/index.html` — line 19: `🏌️⚪` -## Current state (reverted to clean) +## Resolution (v3.1.6) -All debug styles removed. Base keyframes restored to original `translate(-30px, 8px)` start. No mobile override keyframes. The bug still exists but the code is clean. +**Fixed** by wrapping `.golfer-swing` + `.kicked-ball` in a `.golfer-container` span with `position: relative`, and changing `.kicked-ball` from `position: relative` to `position: absolute; right: -8px; bottom: 30%`. This anchors the ball to the golfer's front foot regardless of viewport width or inline flow layout. -## Extracted frames for reference - -- `/tmp/golf-frames-good/` — good landscape behavior (from `good.mp4`) -- `/tmp/golf-frames-bad/` — bad behavior (from old video) -- `/tmp/golf-frames-new/` — debug session with red outline (from `Screencast_20260224_013326.mp4`) +Also fixed a **CSS source order bug** where the base `.golfer-container` rule was defined after the `@media (max-width: 500px)` override, clobbering the mobile margin-left value. diff --git a/docs/v3/V3_17_MOBILE_PORTRAIT_LAYOUT.md b/docs/v3/V3_17_MOBILE_PORTRAIT_LAYOUT.md index ec0320d..2b512fe 100644 --- a/docs/v3/V3_17_MOBILE_PORTRAIT_LAYOUT.md +++ b/docs/v3/V3_17_MOBILE_PORTRAIT_LAYOUT.md @@ -1,6 +1,6 @@ # V3.17: Mobile Portrait Layout -**Version:** 3.1.1 +**Version:** 3.1.6 **Commits:** `4fcdf13`, `fb3bd53` ## Overview diff --git a/pyproject.toml b/pyproject.toml index 53d2378..7f32557 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "golfgame" -version = "3.1.1" +version = "3.1.6" description = "6-Card Golf card game with AI opponents" readme = "README.md" requires-python = ">=3.11" diff --git a/server/main.py b/server/main.py index 2e8e821..b947927 100644 --- a/server/main.py +++ b/server/main.py @@ -325,7 +325,7 @@ async def _close_all_websockets(): app = FastAPI( title="Golf Card Game", debug=config.DEBUG, - version="3.1.1", + version="3.1.6", lifespan=lifespan, )