Commit graph

5 commits

Author SHA1 Message Date
bedbe0f3f3 fix: pin dimensions match Kartographer mapbox-lib.js exactly
Kartographer/mapbox-lib.js defines:
  sizes = { small:[20,50], medium:[30,70], large:[35,90] }
  iconSize: sizes[size]  <- CSS stretches image to this

Previous: pin-m=27x41 -> CSS stretched to 30x70 (+11% h, +71% v)
Result: slim tip distorted into fat oval shape

Fix: generate images at exact expected dimensions:
  pin-s: 20x50, pin-m: 30x70, pin-l: 35x90 (@1x)
  pin-m@2x: 60x140

Geometry: r=w*0.47 (circle fills width), cy=r+1, tipY=h-1
2026-07-01 13:48:39 +00:00
641312aba9 fix: proper 27x41 pin proportions, white border+dot fully opaque
- Non-square canvas (pin-m: 27x41 @1x = 54x82 @2x, Maptiler standard)
- r=37% of width -> circle fills 74% of canvas width
- r/d=0.37 -> 22deg opening angle (Google Maps standard)
- White border: borderW=max(2px,8%width), A=255 (fully opaque)
- White inner dot: r*0.38, A=255 (fully opaque, clearly visible)
- Fill: 85% opacity (A=217)
2026-07-01 12:33:05 +00:00
9367ba5b6b fix: slim pin geometry, r/d=0.35 opening angle 20deg
Some checks failed
Build & Push marker-api / build (push) Failing after 4s
Was: r=35.5% of size -> r/d=0.59 -> 36 deg opening -> fat oval
Now: r=24% of size -> r/d=0.35 -> 20 deg opening -> proper Google Maps pin shape
2026-07-01 12:23:31 +00:00
3960c9c5c1 fix: marker pin 32x32 canvas, correct geometry, 80% opacity
- Square canvas (pin-m=32x32 @1x, 64x64 @2x) - fits MediaWiki slot
- r=35.5% of width, tipY=97.5%: teardrop no longer clipped
- 80% transparency: fill.A=204, white border A=220, inner dot A=204
2026-07-01 12:13:48 +00:00
9df190aca8 feat: add Go marker-api service for MediaWiki Kartographer pin support
- services/marker-api/: Go HTTP service (0 external deps, ~8 MB RAM)
  - Mathematically correct teardrop pin shape (Google Maps style)
  - Tangent-based outline: circle + straight sides meeting at tip
  - White border + white inner dot, in-memory cache (max 500 entries)
- .forgejo/workflows/build-marker-api.yml: CI builds & pushes to
  Forgejo registry on push to main (image: rd13_tile_server-marker-api)
- docker-compose.yml: add marker-api service on port 9984
- Caddyfile (rd13_system_proxy): route /styles/v4/marker/* -> :9984
- docs/ADMIN.md + MAINTAINER.md: marker-api dokumentiert

Fixes: /styles/v4/marker/pin-m+{color}(@{scale}x).png was 404, now 200
2026-07-01 11:59:00 +00:00