Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Feature: Add authentic NATO (APP‑6 / MIL‑STD) & OPFOR/BLUFOR markers — include licensing/legal checklist

Abierto
#22 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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
Stack tecnológico
android, kotlin

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

enhancement help wanted priority: low UI/UX

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

  1. 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.
  2. Extend MilitarySymbolPicker to preview and select real symbols, affiliation colors, and modifiers.
  3. Update TacticalUnitsMapOverlay to render vector symbols with affiliation coloring and fall back to circle markers when none assigned.
  4. 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.kt to 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/licenses with 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/licenses or NOTICE.
  • 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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de arn-c0de/InteractiveChecklists

Todos los issues de arn-c0de/InteractiveChecklists

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.