Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#22 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
android, kotlin

Direzione di ricerca

Inizia leggendo MilitarySymbolPicker.kt, TacticalUnitsMapOverlay.kt, LocationEntity e TacticalUnitEntity per mappare i campi dei simboli esistenti e il comportamento di fallback. Esamina la pipeline degli asset e la configurazione dei test del progetto prima di scegliere una fonte di simboli interna o con licenza permissiva. Il lavoro è completo quando il picker e il rendering della mappa supportano simboli, affiliazioni, modificatori, persistenza e marker di fallback, e sono presenti test o controlli QA e la licenza degli asset è documentata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.
Lingua principale
Kotlin
Stelle
41
Fork
4
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di arn-c0de/InteractiveChecklists

Tutte le issue di arn-c0de/InteractiveChecklists

Issue simili

Altre issue su Kotlin

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.