Publish map and clan image assets
This commit is contained in:
94
ai/tasks/done/TASK-263-fix-juno-beach-map-image-extension.md
Normal file
94
ai/tasks/done/TASK-263-fix-juno-beach-map-image-extension.md
Normal file
@@ -0,0 +1,94 @@
|
||||
---
|
||||
id: TASK-263
|
||||
title: Fix Juno Beach map image extension
|
||||
status: done
|
||||
type: frontend
|
||||
team: Frontend Senior
|
||||
supporting_teams: []
|
||||
roadmap_item: foundation
|
||||
priority: medium
|
||||
---
|
||||
|
||||
# TASK-263 - Fix Juno Beach map image extension
|
||||
|
||||
## Goal
|
||||
|
||||
Ensure the Juno Beach day map image resolves to an existing `.webp` asset so `/assets/img/maps/junobeach-day.webp` stops returning 404 after deployment.
|
||||
|
||||
## Context
|
||||
|
||||
The current match page can resolve Juno Beach day to:
|
||||
|
||||
- `./assets/img/maps/junobeach-day.webp`
|
||||
|
||||
The reported filesystem mismatch was:
|
||||
|
||||
- existing incorrect file: `frontend/assets/img/maps/junobeach-day.web`
|
||||
- expected file: `frontend/assets/img/maps/junobeach-day.webp`
|
||||
|
||||
The map image resolver already emits `.webp` paths, so the scoped correction is the asset extension only.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Read repository context and frontend role guidance.
|
||||
2. Inspect the map resolver and current match page references.
|
||||
3. Confirm the Juno Beach asset extension in `frontend/assets/img/maps`.
|
||||
4. Search for other `.web` files in the maps directory.
|
||||
5. Validate the task scope and document the result.
|
||||
|
||||
## Files to Read First
|
||||
|
||||
- `AGENTS.md`
|
||||
- `ai/architecture-index.md`
|
||||
- `ai/repo-context.md`
|
||||
- `ai/orchestrator/frontend-senior.md`
|
||||
- `frontend/assets/js/map-image-resolver.js`
|
||||
- `frontend/partida-actual.html`
|
||||
|
||||
## Expected Files to Modify
|
||||
|
||||
- `frontend/assets/img/maps/junobeach-day.web` -> `frontend/assets/img/maps/junobeach-day.webp`
|
||||
- `ai/tasks/done/TASK-263-fix-juno-beach-map-image-extension.md`
|
||||
|
||||
## Constraints
|
||||
|
||||
- Do not change the map resolver unless necessary.
|
||||
- Do not change JavaScript.
|
||||
- Do not touch other maps unless more `.web` files are detected in `frontend/assets/img/maps`.
|
||||
- Do not touch weapons, clans, brands or other assets.
|
||||
- Do not touch backend, scheduler, RCON, TeamKills, server configuration, port `27001`, Elo/MMR, Comunidad Hispana #03 or `ai/system-metrics.md`.
|
||||
- Do not include `tmp/` or unrelated prior changes.
|
||||
- Do not commit or push.
|
||||
|
||||
## Validation
|
||||
|
||||
- `git status --short --untracked-files=all -- frontend/assets/img/maps`
|
||||
- `Test-Path frontend/assets/img/maps/junobeach-day.webp`
|
||||
- `Test-Path frontend/assets/img/maps/junobeach-day.web`
|
||||
- `Get-ChildItem frontend/assets/img/maps -Filter *.web`
|
||||
- `git diff --name-only`
|
||||
|
||||
## Outcome
|
||||
|
||||
At execution time, `frontend/assets/img/maps/junobeach-day.web` was already absent and `frontend/assets/img/maps/junobeach-day.webp` was present. No JavaScript or resolver changes were needed.
|
||||
|
||||
No other `.web` files were found under `frontend/assets/img/maps`.
|
||||
|
||||
Validation results:
|
||||
|
||||
- `git status --short --untracked-files=all -- frontend/assets/img/maps` showed untracked map `.webp` assets already present in the worktree, including `frontend/assets/img/maps/junobeach-day.webp`.
|
||||
- `Test-Path frontend/assets/img/maps/junobeach-day.webp` returned `True`.
|
||||
- `Test-Path frontend/assets/img/maps/junobeach-day.web` returned `False`.
|
||||
- `Get-ChildItem frontend/assets/img/maps -Filter *.web` returned no files.
|
||||
- `git diff --name-only` showed only pre-existing tracked changes outside this task: `ai/system-metrics.md`, `frontend/assets/img/clans/250hispania-shield.png`, and `frontend/assets/img/clans/250hispania.png`.
|
||||
|
||||
Deployment/browser validation remains to be performed after the asset changes are deployed:
|
||||
|
||||
- `GET https://comunidadhll.devzamode.es/assets/img/maps/junobeach-day.webp` should return `200`.
|
||||
- `/partida-actual.html?server=comunidad-hispana-01` should not log a 404 for `junobeach-day.webp`.
|
||||
|
||||
## Change Budget
|
||||
|
||||
- Modified files: 1 documentation file.
|
||||
- Asset state confirmed in `frontend/assets/img/maps`.
|
||||
- No backend, scheduler, RCON, server configuration or unrelated assets changed.
|
||||
163
ai/tasks/done/TASK-265-publish-map-and-clan-image-assets.md
Normal file
163
ai/tasks/done/TASK-265-publish-map-and-clan-image-assets.md
Normal file
@@ -0,0 +1,163 @@
|
||||
---
|
||||
id: TASK-265
|
||||
title: Publish map and clan image assets
|
||||
status: done
|
||||
type: frontend
|
||||
team: Frontend Senior
|
||||
supporting_teams: []
|
||||
roadmap_item: foundation
|
||||
priority: high
|
||||
---
|
||||
|
||||
# TASK-265 - Publish map and clan image assets
|
||||
|
||||
## Goal
|
||||
|
||||
Publish the map and clan image assets that the public frontend is already trying to load, so production stops returning 404 for known image URLs such as `/assets/img/maps/junobeach-day.webp`.
|
||||
|
||||
## Context
|
||||
|
||||
The frontend map resolver builds `.webp` paths under `./assets/img/maps/`. Several resolver variants were present in the working tree but not yet tracked. The current landing clan list also references `./assets/img/clans/250hispania-shield.png`.
|
||||
|
||||
This task is a publishing task only. It does not change frontend JavaScript, backend code, scheduler behavior, RCON configuration, server configuration, Elo/MMR, TeamKills or `Comunidad Hispana #03`.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Audit pending map and clan image changes.
|
||||
2. Check frontend references for maps and clans.
|
||||
3. Confirm whether `250hispania.png` is still referenced.
|
||||
4. Publish only scoped map/clan assets and related task docs.
|
||||
5. Validate the staged commit scope before committing.
|
||||
|
||||
## Files to Read First
|
||||
|
||||
- `AGENTS.md`
|
||||
- `ai/architecture-index.md`
|
||||
- `ai/repo-context.md`
|
||||
- `ai/orchestrator/frontend-senior.md`
|
||||
- `frontend/assets/js/map-image-resolver.js`
|
||||
- `frontend/assets/js/main.js`
|
||||
|
||||
## Expected Files to Modify
|
||||
|
||||
- `frontend/assets/img/maps/*.webp`
|
||||
- `frontend/assets/img/clans/250hispania-shield.png`
|
||||
- `frontend/assets/img/clans/250hispania.png`
|
||||
- `ai/tasks/done/TASK-263-fix-juno-beach-map-image-extension.md`
|
||||
- `ai/tasks/done/TASK-265-publish-map-and-clan-image-assets.md`
|
||||
|
||||
## Constraints
|
||||
|
||||
- Do not execute `ai-platform run`.
|
||||
- Do not touch backend, scheduler, RCON, port `27001`, server configuration, TeamKills, Elo/MMR or Comunidad Hispana #03.
|
||||
- Do not touch `ai/system-metrics.md`.
|
||||
- Do not include `tmp/`.
|
||||
- Do not include `TASK-204` or `TASK-242`.
|
||||
- Do not include `frontend/assets/img/weapons/` or `frontend/assets/img/brands/`.
|
||||
- Do not use `git add .`.
|
||||
- Do not include unrelated prior changes.
|
||||
|
||||
## Audit
|
||||
|
||||
Frontend map references:
|
||||
|
||||
- `frontend/historico-partida.html` loads `./assets/js/map-image-resolver.js`.
|
||||
- `frontend/partida-actual.html` loads `./assets/js/map-image-resolver.js`.
|
||||
- `frontend/assets/js/map-image-resolver.js` resolves map images to `./assets/img/maps/${mapId}-${environment}.webp` and `./assets/img/maps/unknown-${environment}.webp`.
|
||||
|
||||
Frontend clan references:
|
||||
|
||||
- `frontend/assets/js/main.js` references `./assets/img/clans/250hispania-shield.png`.
|
||||
- No frontend reference to `./assets/img/clans/250hispania.png` was found.
|
||||
|
||||
Decision for `250hispania.png`:
|
||||
|
||||
- Delete `frontend/assets/img/clans/250hispania.png` from the published set because the frontend now references `250hispania-shield.png` and no remaining frontend references to the old filename were found.
|
||||
- Publish the modified `frontend/assets/img/clans/250hispania-shield.png`.
|
||||
|
||||
## Maps Added
|
||||
|
||||
42 new map assets were pending and should be published:
|
||||
|
||||
- `frontend/assets/img/maps/carentan-dusk.webp`
|
||||
- `frontend/assets/img/maps/carentan-night.webp`
|
||||
- `frontend/assets/img/maps/carentan-rain.webp`
|
||||
- `frontend/assets/img/maps/driel-dawn.webp`
|
||||
- `frontend/assets/img/maps/driel-night.webp`
|
||||
- `frontend/assets/img/maps/elalamein-dusk.webp`
|
||||
- `frontend/assets/img/maps/elsenbornridge-dawn.webp`
|
||||
- `frontend/assets/img/maps/elsenbornridge-dusk.webp`
|
||||
- `frontend/assets/img/maps/elsenbornridge-night.webp`
|
||||
- `frontend/assets/img/maps/foy-night.webp`
|
||||
- `frontend/assets/img/maps/hill400-dusk.webp`
|
||||
- `frontend/assets/img/maps/hill400-night.webp`
|
||||
- `frontend/assets/img/maps/hurtgenforest-night.webp`
|
||||
- `frontend/assets/img/maps/junobeach-dawn.webp`
|
||||
- `frontend/assets/img/maps/junobeach-day.webp`
|
||||
- `frontend/assets/img/maps/junobeach-night.webp`
|
||||
- `frontend/assets/img/maps/kharkov-night.webp`
|
||||
- `frontend/assets/img/maps/kursk-night.webp`
|
||||
- `frontend/assets/img/maps/main-menu.webp`
|
||||
- `frontend/assets/img/maps/mortain-dusk.webp`
|
||||
- `frontend/assets/img/maps/mortain-night.webp`
|
||||
- `frontend/assets/img/maps/mortain-overcast.webp`
|
||||
- `frontend/assets/img/maps/omahabeach-dusk.webp`
|
||||
- `frontend/assets/img/maps/purpleheartlane-dawn.webp`
|
||||
- `frontend/assets/img/maps/purpleheartlane-day.webp`
|
||||
- `frontend/assets/img/maps/purpleheartlane-night.webp`
|
||||
- `frontend/assets/img/maps/remagen-day.webp`
|
||||
- `frontend/assets/img/maps/remagen-night.webp`
|
||||
- `frontend/assets/img/maps/smolensk-dusk.webp`
|
||||
- `frontend/assets/img/maps/smolensk-night.webp`
|
||||
- `frontend/assets/img/maps/stalingrad-day.webp`
|
||||
- `frontend/assets/img/maps/stalingrad-dusk.webp`
|
||||
- `frontend/assets/img/maps/stalingrad-night.webp`
|
||||
- `frontend/assets/img/maps/stalingrad-overcast.webp`
|
||||
- `frontend/assets/img/maps/stmariedumont-night.webp`
|
||||
- `frontend/assets/img/maps/stmariedumont-rain.webp`
|
||||
- `frontend/assets/img/maps/stmereeglise-dawn.webp`
|
||||
- `frontend/assets/img/maps/stmereeglise-night.webp`
|
||||
- `frontend/assets/img/maps/tobruk-dusk.webp`
|
||||
- `frontend/assets/img/maps/unknown-day.webp`
|
||||
- `frontend/assets/img/maps/unknown.webp`
|
||||
- `frontend/assets/img/maps/utahbeach-night.webp`
|
||||
|
||||
## Clan Assets
|
||||
|
||||
Clan asset changes to publish:
|
||||
|
||||
- Modified: `frontend/assets/img/clans/250hispania-shield.png`
|
||||
- Deleted: `frontend/assets/img/clans/250hispania.png`
|
||||
|
||||
No other clan files were pending in the initial scoped status.
|
||||
|
||||
## Validation
|
||||
|
||||
Pre-commit checks:
|
||||
|
||||
- `git status --short --untracked-files=all -- frontend/assets/img/maps frontend/assets/img/clans`
|
||||
- `Get-ChildItem frontend/assets/img/maps -Recurse -Filter *.webp`
|
||||
- `Get-ChildItem frontend/assets/img/clans -Recurse -Force`
|
||||
- `rg -n "assets/img/maps|junobeach-day\.webp|map-image-resolver|frontend/assets/js/map-image-resolver\.js" frontend -S`
|
||||
- `rg -n "assets/img/clans|250hispania\.png|250hispania-shield\.png|clan|shield" frontend -S`
|
||||
- `Test-Path frontend/assets/img/maps/junobeach-day.webp`
|
||||
- `Get-ChildItem frontend/assets/img/maps -Filter *.web`
|
||||
- sample path checks for `junobeach-day.webp`, `junobeach-dawn.webp`, `junobeach-night.webp`, `stmariedumont-night.webp`, `purpleheartlane-day.webp`, `remagen-day.webp`, and `unknown.webp`
|
||||
- `git diff --name-status -- frontend/assets/img/maps frontend/assets/img/clans`
|
||||
- `git diff --cached --name-only`
|
||||
|
||||
Post-deploy public validation:
|
||||
|
||||
- `GET https://comunidadhll.devzamode.es/assets/img/maps/junobeach-day.webp` should return `200`.
|
||||
- Open `/partida-actual.html?server=comunidad-hispana-01` and confirm map images no longer 404.
|
||||
- Open the landing page and confirm the 250 Hispania clan shield loads from `assets/img/clans/250hispania-shield.png`.
|
||||
|
||||
## Outcome
|
||||
|
||||
The scoped publish set includes only map assets, clan assets and related task documentation. Weapons, brands, backend, scheduler, RCON, server configuration, `ai/system-metrics.md`, `tmp/`, `TASK-204` and `TASK-242` are excluded.
|
||||
|
||||
`TASK-263` is included because it directly documents the `junobeach-day.webp` extension fix included in this publish set.
|
||||
|
||||
## Change Budget
|
||||
|
||||
This task intentionally exceeds the usual small file count because it publishes a batch of static binary assets required by existing frontend URLs. No code behavior changes are included.
|
||||
Reference in New Issue
Block a user