For [BRAND-NAME], pull location performance via BooleanMaths MCP (get_location_performance) for [LAST X DAYS] at state and city level. Build two interactive India maps using D3 + TopoJSON, packaged as a single standalone HTML file (not an inline Visualizer widget) — create the file, save it to the outputs folder, and share it as a downloadable artifact.
Map 1 — State choropleth
Clean state boundaries only, no district seams. (If using a district-level source like udit-001/india-maps-data, dissolve districts into states with topojson.merge(), grouped by st_nm.)
Filters: ROAS, Revenue, AOV, RTO rate, RTOs (count), Repeat rate. Highlight the active filter button.
Color scale: a diverging scale centered on the median of that metric across states with orders > 0 (e.g. d3.scaleDiverging) — not a straight min-to-max sequential ramp. Values below the median and above the median should read as visually distinct directions (e.g. light/cool near the median, intensifying toward each extreme), so both "well below typical" and "well above typical" stand out rather than everything just getting lighter-to-darker.
Always render a legend below the map showing the scale with labeled ticks for low, median (center), and high.
Click → card with Orders, Revenue, AOV, Spend, ROAS, CPA, Repeat rate, RTO rate, RTOs, plus for the active metric: Rank ("#X of N") and Share of total (only for count metrics — Revenue/Orders/RTOs, not rates). Card updates live if filter changes.
Map 2 — National district map
One map, all states with usable city data (not a per-state dropdown). Note any states with no district polygons available (e.g. Delhi) in a caption.
Same filters minus spend-dependent ones (city data usually has no spend): Revenue, Orders, AOV, RTO rate, RTOs, Repeat rate. Same active-filter highlighting, same median-centered diverging color scale with always-visible legend, same rank/share logic (key by state+district to avoid name clashes).
Fuzzy-match city names to district names (normalize, strip spaces, substring fallback) and merge obvious dupes/typos before aggregating.
Gray fill for zero-order areas. Flag data-quality caveats (missing spend, name-matching approximations, excluded states) in your reply. Both maps and their legends/cards should live in the one HTML file (self-contained, CDN links for D3/TopoJSON are fine) so it can be opened standalone in a browser.