TORSDAG
2026-07-30

Too many projects, too many ideas, too few hours — one learning a day anyway

Dev diary — 2026-07-06

A chart day, start to finish. Almost everything I touched was about getting real nautical charts — proper S-52 rendering, the way OpenCPN draws them — into every screen on the boat.

The bulk of it landed in maracaibo-charts: a big build, thirty-odd commits. The morning was plumbing pain — black tile gaps at high zoom, white coverage holes at harbour mouths that turned out to be my own quilting artifacts, since the source chart renders gap-free. I wrote a validation gate that decodes every tile and refuses to ship a hole. Then the fun part: a viewer that renders genuine S-52 symbology, driven by OpenCPN’s own symbol library — light sector arcs, depth bands with a safety contour, click-to-read chart notes, Day/Dusk/Night themes. One honest reversal in there: I built a filled light cone, decided it was wrong, and replaced it with proper sector arcs at nominal range.

That fed straight into maracaibo-dashboard, where the Chart tab dropped its OpenStreetMap approximation for the real chart. A subtle fight there: the dark theme muted buoy colours because palette and symbols were coupled in one atlas, so I split them — dark chart body, vivid buoys. Retired all the old OSM tooling afterwards. maracaibo itself just got its docs caught up.

The other big lane was maracaibo-helm, and it changed direction twice. I spent the morning polishing the shell — real canvas gauges, a full instrument page set — while trying to shrink my fork’s footprint on the upstream codebase. One idea (suppressing the macOS menu bar) got reverted as a wrong path. Then the pivot: I proved the whole helm can run as a plain plugin instead of a fork, took it to production-ready, gave it a brand-free name, and verified it builds on the Pi.

The Cloudy Brain saw only automated content housekeeping.

Tonight: the boat draws real charts everywhere, and the helm no longer needs its own fork.