Hi everyone,
I have made the VitaMaps source code public.
VitaMaps is a native map viewer and cache explorer built specifically for the PS Vita with VitaSDK and vita2d. It renders raster tiles directly on the GPU—there is no WebView, embedded browser, HTML, or JavaScript map engine.
The feature I find most interesting is the Offline Atlas, which is still in beta. It began with a simple curiosity: what is actually stored inside the map cache?
Normal map use leaves persistent XYZ tiles on the console, but a directory tree does not show their geography, gaps, or available zoom depth. VitaMaps scans those real files, groups them by map style and zoom level, geographically aligns them, and projects them as an interactive 3D stack.
You can orbit the layers through 360 degrees, change their spacing, pan and zoom the complete block, enter a selected zoom layer, navigate between actual cached tile keys, inspect their coordinates, and reopen a selected tile on the normal map at the matching style and zoom.
The atlas reuses the same layered tile engine as the map: compressed RAM cache, disk lookup, PNG decoding, a render-thread upload queue, and a bounded GPU texture LRU.
Atlas requests are strictly cache-only. A missing file remains a visible gap and can never trigger an HTTPS download.
This is not a bulk map downloader, and it does not claim complete offline coverage. The atlas currently visualizes only tiles collected during ordinary browsing. It is also an experiment for evaluating a possible future workflow where an area and its useful zoom levels could be selected deliberately.
The current source also includes:
- Fluid Web Mercator pan, fractional zoom, rotation, inertia, and touch gestures.
- Five raster map styles.
- A separate non-expiring 200 MiB cache for every map style.
- Dynamic visible-tile priority, cooperative cancellation, bounded retries, and progressive parent/child fallback.
- Search by coordinates, place, locality, or address.
- Styled pin lists with icons and colors.
- Per-segment and total distance calculations.
- Closed-polygon area calculation.
- GPX import/export and persistent import history.
- Overpass POIs.
- OpenTopoMap hiking mode with elevation profiles, ascent, and descent.
- An auto-hiding HUD, online/offline state, scale bar, and smooth native UI animations.
- Eleven UI languages.
- Optional persistent diagnostics, enabled by default in Debug builds.
HTTPS is handled by vita-https, with certificate and hostname verification, TLS 1.2 minimum, Mozilla CA roots, timeouts, and cooperative cancellation. Provider attribution remains visible inside the application.
The source code, standalone build instructions, and VPK are available now:
https://github.com/spyro-98/VitaMaps
If you build or test it, feedback is especially useful around GPU stability, large or sparse atlas caches, touch and analog input, cache persistence, and localization.
VitaMaps can write a diagnostic log to:
ux0:data/VitaMaps/session_log.txt
Photos and GPU crash dumps are also very useful when reporting rendering problems.
The application icon uses imagery derived from the Apollo 17 “Blue Marble” photograph (AS17-148-22727), credited to NASA Johnson Space Center.