‹ All projects

Project · Build log · 2025

Dolphin Explorer

A field-ready hydrographic console that ingests raw XTF captures, renders a responsive waterfall view, and is gaining a desktop GUI so survey teams can review data on board in minutes.

  • Hydrography
  • XTF
  • Desktop
  • Visualization
Visit dolphinexplorer.dev ↗
XTF parser
ShippingKlein 3900 archives validated
Waterfall view
Beta60 GB stress test passed
GUI workspace
In buildPySide6 + C++/GPU modules

TL;DR — A deterministic XTF parser and GPU waterfall now ship. The GUI is moving into PySide6, with C++ modules keeping frames on the GPU. Next up: a headless CLI so crews can batch-parse data minutes after capture.

Mission

Dolphin Explorer gives small hydrographic teams the kind of tooling usually reserved for enterprise survey suites. Owning the entire parsing stack means deterministic playback, faster QA loops, and a path to on-board anomaly detection.

Parser core

Deterministic decoding of XTF packets, including gain curves, layback and motion data. Streams 140 MB/s sustained.

Waterfall visualizer

GPU-friendly renderer with amplitude and gradient modes, cursor readouts and ping scrubbing for rapid QA.

GUI workspace

Dockable panes, timeline playback and annotation tools, built on a PySide6/Qt shell.

Native bridge

A C++ layer shares memory with the parser core so the UI never blocks on large buffers.

Waterfall view

High-density waterfalls render with configurable palettes — amplitude, gradient and adaptive gain. Parsed packets stay in GPU memory, so scrubbing through 60 GB archives feels instant. Cursor sampling exposes depth, slant range and ping IDs without leaving the viewer.

  • Packet-to-pixel pipeline built in Rust and wgpu.
  • Telemetry overlay renders layback, GPS and INS drift per ping.
  • Export path saves annotated frames as GeoTIFF previews.
Figure 1. Waterfall module streaming parsed XTF packets with amplitude overlays.

Performance pass

The desktop client uses PySide6 so UI iterations stay fast, but the hot paths now live in native C++ modules exposed through Qt-friendly hooks. Those modules stream buffers straight from the parser into GPU textures, removing the copy overhead that used to block the event loop.

  • Done48% faster repaint cycle after moving interpolation to C++.
  • DoneGPU shaders bring palette swaps under 10 ms, even on mid-tier cards.
  • In progressUnified profiler overlay comparing CPU and GPU workloads in real time.

GUI workspace

The next milestone is a PySide6 shell backed by the same core: a map window, waterfall panel and telemetry console side by side, so operators can cross-reference anomalies instantly.

Figure 2. GUI workspace in development, with dockable panes and annotation tools.

Build status

  • DoneXTF parser normalizes dual channels, navigation and gain metadata.
  • DoneWaterfall renderer streams archives with amplitude and gradient palettes.
  • DonePySide shell calls C++/GPU modules for raster and palette work.
  • In progressOpenGL viewport for panning and zooming.
  • In progressCursor measurements, annotation overlays and snapshot export for reports.

Roadmap

  1. Release a command-line build so teams can batch-parse XTF before the GUI ships.
  2. Ship the desktop workspace with synchronized map and waterfall panes.
  3. Add anomaly-detection hooks so partners can plug in their own models.

Want early access?

I’m onboarding a small group of survey partners to validate Dolphin Explorer on real projects.

Join early access