Add weapon icon mapping analysis
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
---
|
||||
id: TASK-208
|
||||
title: Analyze weapon icons black folder mapping
|
||||
status: done
|
||||
type: research
|
||||
team: Analista
|
||||
supporting_teams: [Frontend Senior]
|
||||
roadmap_item: foundation
|
||||
priority: medium
|
||||
---
|
||||
|
||||
# TASK-208 - Analyze weapon icons black folder mapping
|
||||
|
||||
## Goal
|
||||
|
||||
Build a reviewable mapping between the pasted RCON weapon universe and the SVG silhouettes currently present in `frontend/assets/img/weapons/black/`, without modifying SVG files or frontend behavior yet.
|
||||
|
||||
## Context
|
||||
|
||||
The repository already contains a large local set of black weapon silhouettes and an older partial frontend mapping in `frontend/assets/js/partida-actual.js`. Before implementing a new operational resolver, the project needs a full documentary matrix that:
|
||||
|
||||
- uses the pasted RCON source as truth for weapon names
|
||||
- lists every current `black` SVG
|
||||
- assigns every unique RCON weapon to an icon
|
||||
- makes every `black` icon appear in the inverse table
|
||||
- flags fallbacks and doubtful assignments explicitly
|
||||
|
||||
This task is analysis/documentation only. No backend, endpoint, JS runtime, image or SVG changes are allowed.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Inspect the repository context, current weapon icon folder and current frontend alias mapping.
|
||||
2. Consolidate the pasted RCON weapon lists into one unique weapon universe.
|
||||
3. Cross-map that universe against the local `black` icon set and document exact/shared/fallback assignments.
|
||||
4. Validate that no RCON weapon is left without an icon and no `black` icon is left out of the inverse table.
|
||||
|
||||
## Files to Read First
|
||||
|
||||
- `AGENTS.md`
|
||||
- `ai/repo-context.md`
|
||||
- `ai/architecture-index.md`
|
||||
- `ai/orchestrator/analyst.md`
|
||||
- `frontend/assets/js/partida-actual.js`
|
||||
- `frontend/assets/img/weapons/black/`
|
||||
|
||||
## Expected Files to Modify
|
||||
|
||||
- `docs/weapon-icon-black-mapping-analysis.md`
|
||||
- `ai/tasks/done/TASK-208-analyze-weapon-icons-black-folder-mapping.md`
|
||||
|
||||
## Constraints
|
||||
|
||||
- Do not modify SVGs.
|
||||
- Do not rename, delete or replace image files.
|
||||
- Do not touch backend code, endpoints or scripts.
|
||||
- Do not touch `ai/system-metrics.md`.
|
||||
- Do not push.
|
||||
- Keep the result documentary and reviewable.
|
||||
|
||||
## Validation
|
||||
|
||||
Before completing the task ensure:
|
||||
|
||||
- all unique RCON weapons have an assigned icon in the document
|
||||
- all `frontend/assets/img/weapons/black/` SVGs appear in the inverse table
|
||||
- `git diff --name-only` matches the expected scope
|
||||
- `git status --short --untracked-files=all` confirms no SVGs were edited by this task
|
||||
|
||||
## Outcome
|
||||
|
||||
Files read:
|
||||
|
||||
- `AGENTS.md`
|
||||
- `ai/repo-context.md`
|
||||
- `ai/architecture-index.md`
|
||||
- `ai/orchestrator/analyst.md`
|
||||
- `frontend/assets/js/partida-actual.js`
|
||||
- `frontend/assets/img/weapons/black/`
|
||||
- `ai/tasks/done/TASK-159-current-match-feed-rollback-and-weapon-icons.md`
|
||||
- `ai/tasks/done/TASK-135-fix-rcon-match-detail-faction-assets.md`
|
||||
- pasted RCON source provided by the user
|
||||
|
||||
Result:
|
||||
|
||||
- Created `docs/weapon-icon-black-mapping-analysis.md`.
|
||||
- Consolidated `220` unique RCON weapon names including `UNKNOWN`.
|
||||
- Listed and mapped `123` current SVGs from `frontend/assets/img/weapons/black/`.
|
||||
- Produced a full direct/shared/fallback matrix with no unmapped weapon and no omitted icon in the inverse table.
|
||||
|
||||
Key findings:
|
||||
|
||||
- `frontend/assets/js/partida-actual.js` only covers a subset of infantry weapons and uses several legacy filename forms such as `browing_m1919`, `flammenwefer41`, `m1_carabine`, `mosing_nagant_*`, `panzerchreck` and `sten_mk_v`.
|
||||
- Several RCON entries need fallback handling because there is no exact silhouette in the current folder, especially `Daimler`, `GAZ-67`, `MOLOTOV`, `No.77`, towed howitzers and `UNKNOWN`.
|
||||
- `lee_enfield_jungle_carbine_black.svg` and `rifle_no5_mk_i_black.svg` are identical by file hash and were documented separately because both names still matter at the RCON layer.
|
||||
|
||||
Validation performed:
|
||||
|
||||
- `git status --short --untracked-files=all` before work and at the end
|
||||
- `git diff --name-only`
|
||||
- programmatic validation inside the document generator that:
|
||||
- total unique weapons = `220`
|
||||
- total icons = `123`
|
||||
- mapped weapons = `220`
|
||||
- used icons = `123`
|
||||
- unused icons = `0`
|
||||
- missing weapons = `0`
|
||||
- final generated counts:
|
||||
- direct assignments = `73`
|
||||
- shared assignments = `92`
|
||||
- fallback assignments = `55`
|
||||
- doubtful assignments (`confidence=low`) = `38`
|
||||
- shared icons = `46`
|
||||
|
||||
Scope confirmation:
|
||||
|
||||
- No SVG was modified.
|
||||
- No backend file was touched.
|
||||
- No push was made.
|
||||
|
||||
## Change Budget
|
||||
|
||||
- Modified files: 2
|
||||
- This task stayed in documentation scope and did not expand into frontend implementation.
|
||||
Reference in New Issue
Block a user