Skip to content

fix: azimuthal tile globe misaligned on Retina/HiDPI displays#814

Merged
accius merged 1 commit intomainfrom
Staging
Mar 23, 2026
Merged

fix: azimuthal tile globe misaligned on Retina/HiDPI displays#814
accius merged 1 commit intomainfrom
Staging

Conversation

@accius
Copy link
Copy Markdown
Owner

@accius accius commented Mar 23, 2026

putImageData() ignores canvas transforms, so on displays with devicePixelRatio > 1 (Mac Retina, etc.) the tile globe rendered at 1/DPR size in the top-left corner while distance rings and spots drew correctly.

Fix: paint tile ImageData onto a temporary canvas, then use drawImage() which respects the active DPR transform.

What does this PR do?

Type of change

  • Bug fix
  • New feature
  • Performance improvement
  • Refactor / code cleanup
  • Documentation
  • Translation
  • Map layer plugin

How to test

Checklist

  • App loads without console errors
  • Tested in Dark, Light, and Retro themes
  • Responsive at different screen sizes (desktop + mobile)
  • If touching server.js: caches have TTLs and size caps (we serve 2,000+ concurrent users)
  • If adding an API route: includes caching and error handling
  • If adding a panel: wired into Modern, Classic, and Dockable layouts
  • No hardcoded colors — uses CSS variables (var(--accent-cyan), etc.)
  • No .bak, .old, console.log debug lines, or test scripts included

Screenshots (if visual change)

putImageData() ignores canvas transforms, so on displays with
devicePixelRatio > 1 (Mac Retina, etc.) the tile globe rendered at
1/DPR size in the top-left corner while distance rings and spots
drew correctly.

Fix: paint tile ImageData onto a temporary canvas, then use
drawImage() which respects the active DPR transform.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@accius accius merged commit d1d54de into main Mar 23, 2026
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant