public interface IWaterSurfaceEvery zone's water, as a simulation asks about it.
Remarks
The seam that lets the physics join exist at all — [35 § D1](../../docs/plan/35-water.md#d1-three-assemblies-and-the-kernel-touches-no-device). Vixen.Water.Physics is a separate small assembly precisely so that nothing linking Jolt has to link a graphics device, and the thing that folds a world's zones — WaterZoneSystem — lives in the renderer. Without a seam here, a buoyancy solver would have to reference the renderer to find out where the water is, and a dedicated server could not run it.
⚠ The clock is on this interface and it is read-only, which is the whole "one water clock" rule made structural. A solver that reached for its own frame time would be a force that changes when the frame rate does, and a solver a frame behind the vertex stage is a boat that hovers — invisible until the frame rate changes. Whoever implements this owns the number; everybody else reads it.
Fields and properties (1)
float WaterTimeThe simulation's water time, in seconds.
Methods (1)
WaterQuery? QueryAt(Vector2 position)The query covering a place, or where no zone reaches.
Used by (5)
- BuoyancySystemVixen.Water.Physics
- LakeVixen.Water.Physics.Tests
- StillVixen.Water.Physics.Tests
- SwellVixen.Water.Physics.Tests
- WaterZoneSystemVixen.Rendering.Water