arn-c0de / arn-c0de/InteractiveChecklists
Feature: Add authentic NATO (APP‑6 / MIL‑STD) & OPFOR/BLUFOR markers — include licensing/legal checklist
- Dominant language
- Kotlin
- Stars
- 45
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
## 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.
Contributor guide
Assessment
This issue has not been assessed yet.