Today was all about one thing: teaching the boat to feel how it moves.
I started in my ideas tracker, working through what a motion-monitoring feature would even mean. First instinct was to lean on the ISO 2631 standard for ride comfort, but I killed that direction fast — the real goal isn’t grading passenger comfort, it’s learning which headings and conditions actually sail well. So I rebuilt it as a comfort index binned by relative wind angle instead. Better question, better tool.
From there it was a big build day on maracaibo-motion, a new service that watches the boat’s attitude, keeps a rolling buffer of how it rolls and pitches, and boils that down into stats. Phase one went live on the Pi and started publishing seven motion paths onto the boat’s data bus. Phase two added a hard rule I care about: don’t log unless we’re actually sailing or I flip it on manually — so the gate lives at the source, not the logger. Phase three was the payoff — a new Motion screen in the maracaibo-dashboard with a live 3D boat that tilts to real attitude, gauges, charts, and a passage scrubber. I wired the plumbing across maracaibo and maracaibo-signalk too, keeping the sensor token out of the repo.
Two side threads. I investigated running SignalK plugins in containers — landed on rootless Podman on the host, applied and verified. And I chased a chart-rendering idea in binnacle, only to prove both fixes dead against the current version; that one’s blocked on a decision. A stale route-planning task got closed out, and The Cloudy Brain took its nightly refresh.
Tonight the motion feature is fully live end to end — sensing, gating, and a working dashboard — with only an allow-list deploy held back until after the next sail. The binnacle chart idea is parked.