Skip to content

feat: Add Mercator and Mollweide projection viewers to Pattern Editor#44

Merged
mbreiser merged 1 commit intomainfrom
claude/add-mercator-mol-visualization-ELxsx
Feb 18, 2026
Merged

feat: Add Mercator and Mollweide projection viewers to Pattern Editor#44
mbreiser merged 1 commit intomainfrom
claude/add-mercator-mol-visualization-ELxsx

Conversation

@mbreiser
Copy link
Contributor

Implement two new map projection viewer tabs that show arena LED patterns as they would appear projected from the fly's perspective at the arena center.

New files:

  • projection-viewer.js: Shared base class with Canvas rendering, coordinate computation, gridlines, panel boundary overlay, zoom controls, screenshot
  • mercator-viewer.js: Equirectangular projection (lon × lat), matching the companion MATLAB PatternPreviewerApp implementation
  • mollweide-viewer.js: Equal-area Mollweide projection with Newton-Raphson solver for the auxiliary angle, elliptical boundary

Integration into pattern_editor.html:

  • Enable previously disabled Mercator/Mollweide tab buttons
  • Replace coming-soon placeholders with canvas containers
  • Lazy initialization (viewers created on first tab click)
  • Arena config change detection and automatic reinit
  • Panel boundaries and panel numbers options synced to projection viewers
  • Zoom in/out/reset controls with FOV label (matching MATLAB ±FOV display)
  • Screenshot download support
  • Coordinated frame scrubbing and playback

Pattern Editor v0.9.30

https://claude.ai/code/session_01WYQgLAxA9VS9XrRhTvccqi

Implement two new map projection viewer tabs that show arena LED patterns
as they would appear projected from the fly's perspective at the arena center.

New files:
- projection-viewer.js: Shared base class with Canvas rendering, coordinate
  computation, gridlines, panel boundary overlay, zoom controls, screenshot
- mercator-viewer.js: Equirectangular projection (lon × lat), matching the
  companion MATLAB PatternPreviewerApp implementation
- mollweide-viewer.js: Equal-area Mollweide projection with Newton-Raphson
  solver for the auxiliary angle, elliptical boundary

Integration into pattern_editor.html:
- Enable previously disabled Mercator/Mollweide tab buttons
- Replace coming-soon placeholders with canvas containers
- Lazy initialization (viewers created on first tab click)
- Arena config change detection and automatic reinit
- Panel boundaries and panel numbers options synced to projection viewers
- Zoom in/out/reset controls with FOV label (matching MATLAB ±FOV display)
- Screenshot download support
- Coordinated frame scrubbing and playback

Pattern Editor v0.9.30

https://claude.ai/code/session_01WYQgLAxA9VS9XrRhTvccqi
@mbreiser mbreiser merged commit a4b0cae into main Feb 18, 2026
2 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.

2 participants