Skip to content

fix: Add mountain passes to Multi Mountain mode and fix related crashes - #112

Open
schi70 wants to merge 1 commit into
ThomasParistech:mainfrom
schi70:fix/multi-mountain-passes
Open

schi70 wants to merge 1 commit into
ThomasParistech:mainfrom
schi70:fix/multi-mountain-passes

Conversation

@schi70

@schi70 schi70 commented Sep 9, 2026

Copy link
Copy Markdown

Summary

  • Add missing mountain-pass Overpass query and styling params to the Multi Mountain renderer (previously only mountain huts were fetched, so pass names never appeared for multi-day tracks)
  • Fix a distance-computation order asymmetry in GpxTrack.load(): the cumulative distance used prev_point.distance_3d(point) while gpxpy's own length_3d() uses point.distance_3d(prev_point) — since gpxpy's flat-earth formula depends on the self point's latitude only, the mismatch grows with segment length and broke the coherence check on simplified/curvy tracks
  • Drop unplaceable text labels instead of crashing the whole poster when too many labels are packed into a small area (e.g. a dense cluster of named alpine passes) — the label is skipped, its marker is still drawn
  • Fix Profiling's bypass queue leaking across worker-process calls after an exception, which caused an unrelated Bypass queue named 'Parallel' is already set error on the next upload attempt in the same reused worker process

Test plan

  • Verified GpxTrack.load() coherence check passes on 5 real-world multi-day GPX tracks (previously failing by up to ~2.5 m) after the distance-order fix
  • Verified Multi Mountain poster renders end-to-end (real browser upload) with 5 GPX files spanning a pass-dense alpine region (41 candidate labels, 18 dropped due to overcrowding, poster still completes)
  • Verified a @profile_parallel-decorated call that raises no longer blocks a subsequent call in the same process

🤖 Generated with Claude Code

https://claude.ai/code/session_0188FvAtgW3nmYx88h9EBKcp

- Add missing mountain-pass Overpass query and styling params to the
  Multi Mountain renderer (previously only mountain huts were fetched)
- Fix a distance-computation asymmetry in GpxTrack.load() where the
  cumulative distance used a different point order than gpxpy's own
  length_3d(), breaking coherence on simplified/curvy tracks
- Drop unplaceable text labels instead of crashing the whole poster
  when too many labels are packed into a small area
- Fix Profiling bypass-queue leaking across worker-process calls after
  an exception, which caused an unrelated error on the next upload

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0188FvAtgW3nmYx88h9EBKcp
@github-actions github-actions Bot added the bug Something isn't working label Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant