# dpg-map `dpg-map` is a Dear PyGui map widget package under rebuild. The Step 6 overlay rendering layer is in place: ```python import dpg_map as dpgm provider = dpgm.TileProvider( name="custom", url_template="https://example.com/{z}/{x}/{y}.png", attribution="Tiles (c) Example", ) dpgm.register_provider(provider) with dpgm.map_widget(tag="map", center=(47.9029, 1.9093), zoom=15): dpgm.add_marker("vehicle", lat=47.9029, lon=1.9093) dpgm.update_marker("vehicle", lat=47.9030, lon=1.9094, map_tag="map") ``` Implemented so far: - public package exports - tile provider definitions and registry - Web Mercator projection helpers - thread-safe logical map state and map registry - command queue with coalescing for overlay and view updates - logical marker, polyline, trajectory, and layer models - persistent disk cache paths, metadata, scanning, pruning, and clearing - Dear PyGui `child_window` + measured-size `drawlist` widget shell - GUI-thread frame pump that drains commands, manages textures, and draws raster tiles - sizing helpers that preserve the last non-zero size across hidden layouts - asynchronous tile workers that read disk cache, fetch HTTP, and decode images - memory cache with visible-tile protection and GUI-thread texture deletion - measured-rectangle mouse interaction for left-drag panning and wheel zooming - programmatic view commands and screen/latitude-longitude conversion helpers - marker, polyline, and trajectory rendering on a draw layer separate from tiles - background-thread overlay updates that coalesce without resetting center or zoom Examples: ```bash uv run python examples/basic_map.py uv run python examples/sizing_window.py uv run python examples/sizing_child.py uv run python examples/sizing_table.py uv run python examples/hidden_tab.py uv run python examples/cache_stress.py uv run python examples/markers_live_thread.py uv run python examples/trajectory_live_thread.py ```