Feature: Add authentic NATO (APP‑6 / MIL‑STD) & OPFOR/BLUFOR markers — include licensing/legal checklist
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Área
- documentation, mobile-dev
Línea de trabajo
Empieza leyendo MilitarySymbolPicker.kt, TacticalUnitsMapOverlay.kt, LocationEntity y TacticalUnitEntity para identificar los campos de símbolo existentes y el comportamiento de fallback. Revisa el flujo de assets y la configuración de pruebas del proyecto antes de elegir una fuente de símbolos interna o con una licencia permisiva. Se considera terminado cuando el picker y la representación en el mapa admitan símbolos, afiliaciones, modificadores, persistencia y marcadores de fallback, y existan pruebas o comprobaciones de QA y una licencia de assets documentada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Add authentic NATO-style military symbols (APP‑6 / MIL‑STD family) and OPFOR/BLUFOR marker variants to the map symbol set and symbol picker. Ensure all assets are permissively licensed (or created in-house) and documented with a licensing checklist.
Why
- Current markers are simplified (colored circle + letter + arrow). The UI already discovers drawables with prefix
ic_mapicon_(MilitarySymbolPicker.kt) and supports symbol fields in the DB (LocationEntity/TacticalUnitEntity). - Authentic symbols improve clarity and realism for tactical workflows and training.
- We must ensure assets are free-to-use or have proper attribution to avoid legal issues.
Proposed work
- Add a canonical set of vector-based NATO / MIL‑STD symbols (SVG → Android VectorDrawable or runtime vector render). Prefer CC0/MIT/Apache or create in-house icons.
- Extend
MilitarySymbolPickerto preview and select real symbols, affiliation colors, and modifiers. - Update
TacticalUnitsMapOverlayto render vector symbols with affiliation coloring and fall back to circle markers when none assigned. - Add DB migration or mapping scripts if needed, tests, QA checks, and sample data.
Acceptance criteria
- Picker saves a NATO symbol + affiliation into
symbolSet,symbolEntity,symbolAffiliation,symbolColor. - Map displays vector-drawn NATO symbols (units + static locations) with correct color and modifiers; heading arrows still render for applicable units.
- Legacy circle-letter markers remain as fallback.
- All new symbol assets include license metadata or are created in-house and documented.
- README/docs updated with asset origin and licensing guidance.
- Tests and QA checklist completed (zoom/rotation/high-density scenarios).
Tasks
- Research permissive MIL‑STD/APP‑6-compatible symbol sources (record licenses & links).
- Convert chosen SVGs to Android VectorDrawable or add runtime SVG renderer.
- Update
MilitarySymbolPicker.ktto show symbol previews and affiliation colorings. - Implement symbol rendering in
TacticalUnitsMapOverlay.kt(vector draw + color + modifiers). - Add migrations or mapping code for existing icons -> new symbol fields.
- Add integration/UI tests and manual QA checklist.
- Add
/assets/licenseswith attribution & license files. - Legal review / sign-off for third-party assets (if used).
Licensing & legal checklist
- Prefer CC0 / MIT / Apache 2.0 assets or create icons in-house.
- For third-party assets: include source link, license file, and required attribution in
/assets/licensesorNOTICE. - Avoid trademarked logos (e.g., NATO crest) unless permission is granted.
- If uncertain, create a stylized in-house APP‑6 compatible set to avoid legal risk.
- Lenguaje dominante
- Kotlin
- Estrellas
- 43
- Forks
- 4
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de arn-c0de/InteractiveChecklists
-
documentation help wanted priority: low translation
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
design frontend help wanted priority: medium UI/UX
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
design frontend good first issue help wanted priority: medium UI/UX
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Design: 🎨 UI/UX Designer Wanted: App Interface ImprovementsQuizá libre de nuevo @pedrocsampaio la tomó hace 275 días y no hay ningún pull request abierto. Abiertodesign enhancement frontend help wanted priority: low UI/UX
arn-c0de/InteractiveChecklists#27 · 2 comentarios · 1 asignado ·
-
Feature: Make app UI & menus responsive across phones, tablets and orientations — ensure full functionalityQuizá libre de nuevo @arn-c0de la tomó hace 279 días y no hay ningún pull request abierto. Abiertoenhancement help wanted priority: medium UI/UX
arn-c0de/InteractiveChecklists#23 · 1 asignado ·
Todos los issues de arn-c0de/InteractiveChecklists
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
commons-app/apps-android-commons#7072 ·
Los mantenedores suelen responder en 1 día
-
bug ci good first issue help wanted severity: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
dhananjay-nautiyal/music#17 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Watch Next: last engagement time is in seconds for played items and in milliseconds for the othersAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 79/100
damontecres/Wholphin#2112 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
beppe2880/opencode-mobile#60 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100