{"version":"1.0","type":"rich","title":"Ukraine Events","description":"This visualization maps Ukraine conflict events on a dark, stylized basemap using OpenLayers with a Stamen toner-lite layer, inverted for a moody aesthetic. React manages the map lifecycle and data loading, fetching GeoJSON coordinates via D3's `json`. Each event is rendered as a glowing, soft-edged sprite on a Canvas, generated by a radial gradient in `generateSprite.js` with a Cubehelix color scale, creating a firefly-like cartographic effect. The map automatically removes layers on component unmount.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/8945b3a31ffe461d967ee23e5436565e?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}