Bump version to 3.1.6, update docs

Update version across pyproject.toml, FastAPI app, HTML footers,
and V3.17 doc. Mark kicked-ball bug as resolved in docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
adlee-was-taken 2026-02-24 01:59:54 -05:00
parent 3c63af91f2
commit 3ca52eb7d1
5 changed files with 8 additions and 12 deletions

View File

@ -54,7 +54,7 @@
<p id="lobby-error" class="error"></p>
<footer class="app-footer">v3.1.5 &copy; Aaron D. Lee</footer>
<footer class="app-footer">v3.1.6 &copy; Aaron D. Lee</footer>
</div>
<!-- Matchmaking Screen -->
@ -287,7 +287,7 @@
<p id="waiting-message" class="info">Waiting for host to start the game...</p>
</div>
<footer class="app-footer">v3.1.5 &copy; Aaron D. Lee</footer>
<footer class="app-footer">v3.1.6 &copy; Aaron D. Lee</footer>
</div>
<!-- Game Screen -->

View File

@ -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: `<span class="golfer-swing">🏌️</span><span class="kicked-ball">⚪</span>`
## 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.

View File

@ -1,6 +1,6 @@
# V3.17: Mobile Portrait Layout
**Version:** 3.1.1
**Version:** 3.1.6
**Commits:** `4fcdf13`, `fb3bd53`
## Overview

View File

@ -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"

View File

@ -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,
)