Symptom
AIS "other traffic" vessel markers render too small and should be enlarged for at-a-glance visibility. They read smaller than the seamarks around them.
Where the size is set
On-screen AIS vessel size ≈ 32 px canvas ÷ pixelRatio 2 × layer icon-size (0.5–0.9) → roughly 8–14 px across z8–z12.
- Marker canvas —
app/src/components/AisLayer.tsx:30-48 — const size = 32; arrow drawn on a 32×32 canvas, registered with { pixelRatio: 2 } (moving-arrow variant at ~L48; stationary-dot variant at ~L52-64, same 32 px canvas, radius 6, pixelRatio: 2).
- Layer
icon-size — app/src/components/AisLayer.tsx:116 — ['interpolate', ['linear'], ['zoom'], 8, 0.5, 12, 0.9].
Fix direction
Increase the on-screen size — raise the icon-size stops (simplest) and/or adjust the canvas/pixelRatio combination. Keep the moving-arrow and stationary-dot variants visually consistent, and ideally sized comparably to the resized seamarks (see companion buoy-size issue).
Acceptance
- AIS targets are easily spotted against the basemap at planning zooms.
- Moving-arrow and stationary-dot markers stay consistent in size/weight.
Related
Symptom
AIS "other traffic" vessel markers render too small and should be enlarged for at-a-glance visibility. They read smaller than the seamarks around them.
Where the size is set
On-screen AIS vessel size ≈ 32 px canvas ÷
pixelRatio 2× layericon-size(0.5–0.9) → roughly 8–14 px across z8–z12.app/src/components/AisLayer.tsx:30-48—const size = 32;arrow drawn on a 32×32 canvas, registered with{ pixelRatio: 2 }(moving-arrow variant at ~L48; stationary-dot variant at ~L52-64, same 32 px canvas, radius 6,pixelRatio: 2).icon-size—app/src/components/AisLayer.tsx:116—['interpolate', ['linear'], ['zoom'], 8, 0.5, 12, 0.9].Fix direction
Increase the on-screen size — raise the
icon-sizestops (simplest) and/or adjust the canvas/pixelRatio combination. Keep the moving-arrow and stationary-dot variants visually consistent, and ideally sized comparably to the resized seamarks (see companion buoy-size issue).Acceptance
Related