Replace pnpm-lock.yaml with package-lock.json. There was no pnpm-workspace.yaml
and no packageManager field, so the lockfile was the only pnpm-specific config.
Add package.json#allowScripts for sharp and unrs-resolver. pnpm 11 refuses to
install this branch at all without that approval (ERR_PNPM_IGNORED_BUILDS), so
recording it under npm keeps the branch installable; sharp backs next/image and
unrs-resolver backs eslint module resolution.
Update CLAUDE.md to describe npm commands and drop the stale pnpm permission
from the tracked local settings. next-env.d.ts and tsconfig.tsbuildinfo are
regenerated by the build.
Type-check, lint, test, and build fail on this branch exactly as they did on the
pnpm lockfile: six TS errors, an unresolvable @typescript-eslint/recommended
config, and a jest.config.ts that imports next/jest instead of next/jest.js.
Verified against the pre-change tree; none of it is caused by this commit.
Migrates the interactive map from Leaflet to MapLibre GL JS for native coordinate synchronization with MapillaryJS, improving precision and performance. Updates dependencies, removes Leaflet imports, refactors GameMap to use MapLibre GL JS, and enhances PanoViewer to extract and propagate precise MapillaryJS coordinates. Updates documentation to reflect the new architecture and rationale for the change.