feat(map): Manggala Agni tactical markers, popups, and ground suppression badge #125
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/issue-65-66-daops-markers-suppression-badge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements Manggala Agni field crew tactical markers, operation inspection popups, and ground suppression correlation status badges for active fire clusters (Closes #65, Closes #66).
Executed playbook:
skill://poteto-mode/playbooks/feature.md.Workstreams delivered
src/components/map/layers/daops-layer.tsx):SEDANG_PEMADAMAM) feature glowing amber/red pulsing rings and flame/water icons.PADAM_TERKENDALI) render emerald markers, and ground checks (GROUNDCHECK) render sky blue indicators.src/components/map/popups/daops-popup.tsx):src/components/drawer/daops-suppression-badge.tsx):src/components/map/layers/hotspots-layer.tsx):hotspots-clusters-suppression-halolayer and green stroke ring styling on clusters with active suppression underway.layer-toggles.tsxand mounted layer inmap-view.tsx.Impact
Principles applied
principle-model-the-domain: Structured tactical markers and popup telemetry around the canonicalDaopsMissionandSuppressionStatusdomain contracts.principle-boundary-discipline: Kept haversine spatial correlation insidedaops-suppression-badge.tsxand pure layer specifications insidedaops-layer.tsx.principle-subtract-before-you-add: Reused existing haversine distance calculation and status types without duplicate math engines or extraneous state stores.principle-prove-it-works: Verified across unit tests, clean lint/formatting passes, and standalone Next.js production builds.principle-test-behavior-not-implementation: Validated literal DOM structures, status badge classes, and layer paint rules across 282 tests.Ponytail audit
feat(map): Manggala Agni tactical markers, popups, and ground suppression badge (#65, #66)to feat(map): Manggala Agni tactical markers, popups, and ground suppression badge6fc030a536667260ef1bCode Review & Ponytail Audit Summary: Manggala Agni Tactical Markers, Popups, and Ground Suppression Badge
1. Mechanical Verification Gate (
scripts/verify-pr.mjs)feat(map): Manggala Agni tactical markers, popups, and ground suppression badge), mandatory principles citations, impact framing, and anti-overengineering file path filters.2. Ponytail Audit (Zero Bespoke Bloat)
daops-layer.tsx&hotspots-layer.tsx): Clean MapLibre GeoJSON layer integration rendering dynamic operational status circles (flame/amber pulsing rings forSEDANG_PEMADAMAN, emerald forPADAM_TERKENDALI, sky-blue forGROUNDCHECK).daops-popup.tsx): Native MapLibre popup mounting on click with officer remarks, water source details, burned area, and team metadata.daops-suppression-badge.tsx): Spatial haversine distance calculation correlating active suppression teams within 1 km or nearby stations within 25 km, displaying verified badge with high contrast.Lean already. Ship.3. Subsystem Boundary & Discipline
src/components/map/layers/,src/components/map/popups/,src/components/drawer/,src/components/controls/). Zero backend pipeline or data mutations.4. Verification & Test Proofs
vp check: Passed 100% (303 files formatted, 0 warnings/lint errors in 138 files).pnpm test: All 285 tests passed across 40 test suites.next build: Next.js Turbopack production build succeeded cleanly.Verify Quality & Build) passed with success.5. Acceptance Criteria
Decision: APPROVED for squash merge into
main.