Skip to content

Releases: karanb192/pvr-inox-radar

v0.1.5

Choose a tag to compare

@karanb192 karanb192 released this 28 Aug 10:05

The map got beautiful: Liberty vector basemap.

Maps now render OpenFreeMap's Liberty vector style through MapLibre GL (keyless, no API keys, no accounts), giving crisp labels and soft Google-class cartography instead of raster tiles. Pins, popups, and the no-JS table are unchanged. Devices without WebGL fall back to plain OpenStreetMap raster tiles automatically. Every CDN asset stays SRI-pinned and the offline suite (now 180 tests) pins the style, the fallback, and the pins.

v0.1.4

Choose a tag to compare

@karanb192 karanb192 released this 28 Aug 07:04

Basemap switched from CARTO to OpenStreetMap standard tiles.

CARTO's keyless basemap endpoints began serving API KEY REQUIRED watermark tiles on every anonymous request on 28 Aug 2026 (verified across user agents, referers, and both resolutions), which defaced every rendered map. OSM standard tiles are keyless and clean, so they are now the only basemap; the fallback layer logic is gone and the offline suite's allowed-hosts list shrank to match. No behavior change beyond the tiles.

v0.1.3

Choose a tag to compare

@karanb192 karanb192 released this 26 Aug 17:26

First tagged release.

One plain-English movie ask in, one self-contained HTML map out: every nearby PVR INOX venue as a pin, verified seats-together counts from the live seat map, prices, agent-fetched ratings, drive times, and a deep link into PVR's own seat page per show.

Since the initial publish this line of releases added:

  • Seat-tier queries (recliners), a max-price filter, and cheapest-first sort
  • A sortable results table, a named default order, and a notice banner that explains every show the filters dropped
  • Honest wording for the good-rows-full case, a legend that demos every chip state, and format dedupe
  • Deterministic skill routing: the Claude Code plugin ships a UserPromptSubmit hook so movie asks reach the skill on every model. It reads nothing but the prompt and sends nothing anywhere (hooks/route.py, 30 lines, read it)
  • 179 offline tests, zero live calls in the default suite

Politeness rules are non-negotiable and documented in the README. Read-only by design: it never books anything.