Neap Mark set 01

Eighteen marks,
one hand.

A 24-point stroke set for a coastal tide and weather station. Organic water, mechanical kit, and the abstract chrome of a dashboard — drawn to sit in a single row without the weight shifting under you.

24 × 24 Live 20 × 20 Pad 2 Stroke 1.5 Round cap / join currentColor

Pl. 01 — The row

The hard test. All eighteen at 24px, one line, no labels. If they were sourced from different sets, it shows here.

Pl. 02 — The set

Pl. 03 — Scale

Sixteen pixels is the honest size — the set is drawn to hold there, not only on a specimen at 24. Ninety-six shows whether the joints were authored or traced.

16
20
24
32
48
96

Pl. 04 — Surfaces

Day — #f3efe6

Night — #0d1311

Pl. 05 — Ink & weight

Every mark is currentColor. Stroke width lives in CSS, not locked inside the symbol, so a station can thicken a toolbar without redrawing the sprite.

1.25
1.5 default
2.0

Pl. 06 — Construction

Canvas
24 × 24
Live area
20 × 20 (2–22)
Padding
2
Stroke
1.5, inherited
Cap / join
round / round
Corner
2 (join + rx)
Coordinates
≤ 2 decimal places
Commands
≤ 24 per mark
Color
currentColor
Fill
none, except pivots

Optical correction is applied where the grid lies. A compass ring is 16.4 across, not 16 — a mathematically equal circle sits small beside a square. Hubs and the alert stop are the only solid fills; they are pivots, not a second drawing language.

Pl. 07 — In station

Decorative marks are hidden from assistive technology. Controls that are only an icon are named on the control, not on the path.

Live

Needles Channel

50.66°N 1.59°W · 14:02 UTC
  • Swell
    1.8m
  • Wind
    14kt SW
  • Tide
    +3.4m
  • Stream
    0.8kn
  • Rain
    2.1mm
  • Moon
    0.72
Gale warning Gale warning. South-westerly 7–8, veering west. Spring high 18:42.

Pl. 08 — Usage

Sprite once. Instance with <use>. Paint from CSS. Do not set stroke on the symbol geometry — it must inherit so weight can move.

<svg class="icon" aria-hidden="true">
  <use href="#i-swell"/>
</svg>

If the icon is the only content of a control, name the control. If the icon carries its own meaning and has no parent name, give the svg a title.

<button aria-label="Gale warning">
  <svg class="icon" aria-hidden="true">
    <use href="#i-alert"/>
  </svg>
</button>