Skip to content

gz_waves: Gerstner backend - Part 2/4#883

Open
caguero wants to merge 3 commits into
caguero/waves-01-corefrom
caguero/waves-02-gerstner
Open

gz_waves: Gerstner backend - Part 2/4#883
caguero wants to merge 3 commits into
caguero/waves-01-corefrom
caguero/waves-02-gerstner

Conversation

@caguero

@caguero caguero commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

This patch adds the first wave engine, the analytic Gerstner (sum-of-sines) backend. It depends only on the core; no FFT, no rendering, no EncinoWaves.

No on-screen waves yet

This PR adds the engine + source + GUI registrar, but the surface is drawn by WaterVisual, which lands in PR3 (gz_waves_rendering). The first visible Gerstner waves appear once core + this engine + rendering are all in — i.e. at PR3. PR2 is exercised headless (its tests) and by the Wavefield component it publishes.

@caguero caguero changed the title gz_waves_provider_gerstner: Gerstner backend - Part 2/4 gz_waves: Gerstner backend - Part 2/4 Jun 19, 2026
@caguero caguero force-pushed the caguero/waves-02-gerstner branch 4 times, most recently from a2a41b5 to 3b09c80 Compare June 22, 2026 16:20
caguero and others added 3 commits June 22, 2026 19:12
…GUI registrar

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Carlos Aguero <caguero@honurobotics.com>
…leanup

Drop Eigen in favor of gz::math vectors (matching the core interface),
wire gz-math into the engine target, switch members to gz-style
(this->member, no trailing underscore), and factor the per-component
phase into a shared Phase() helper.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Carlos Agüero <caguero@honurobotics.com>
…uard

Switch the engine's diagnostics from std::cerr to gzerr (wiring gz-common
into the engine target), and reject a non-positive <period> in
SetParameters — which would otherwise make omega=2*pi/period infinite and
the PMS spectrum blow up — leaving the field flat instead. Adds a test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Carlos Agüero <caguero@honurobotics.com>
@caguero caguero force-pushed the caguero/waves-02-gerstner branch from 3b09c80 to bb957dc Compare June 22, 2026 17:16
@caguero caguero force-pushed the caguero/waves-01-core branch from 9698e33 to 33bb4e8 Compare June 25, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant