public static class WaterDebugWhich of water's debug draws are switched on.
Remarks
[35 § Part 2 § Debugging](../../docs/plan/35-water.md#debugging), and it is copied on purpose. Unreal's stat water, stat watermesh and its colour-coded tile bounds are better than most first-party debug tooling in any engine, and there is no credit in inventing worse ones. Doc 35 puts them in the phase list as a deliverable rather than as something added after the first bug.
What reads them is WaterDebugDraw, and it turned out no new seam was needed. These shipped as flags with the drawing owed, on the belief that a viewport line pass was missing — DebugDraw is exactly that pass, and it is an accumulator rather than a renderer, so this assembly draws into it without knowing what a line is.
⚠ Five of the six are drawn by WaterDebugDraw and the sixth is elsewhere. ShowBuoyancy's pontoons and forces belong to Vixen.Water.Physics, which this assembly must not reference — § D1 puts the physics join in its own assembly precisely so that nothing linking Jolt is linked by a renderer. The flag is here because the console verb is; BuoyancyDebugDraw is where the data is, and a host copies this across.
Fields and properties (7)
public static bool ShowTilesPatch bounds, coloured by body kind, with the LOD level as a label.
public static bool ShowLodThe morph bands as rings, which is where a pop is diagnosed.
public static bool ShowInfoThe info field's four channels as an overlay, individually.
public static bool ShowFlowFlow vectors on the surface, and the spline velocity arrows.
public static bool ShowBuoyancyPontoons, their submerged fraction, and the forces as arrows.
public static bool ShowRipplesThe ripple window's bounds and the injection count against the budget.
public static bool AnyWhether anything is being drawn at all — the single branch a renderer takes.
Methods (8)
public static void Reset()Switches every one of them off.
public static void Tiles(ConsoleContext context)`water.showTiles [0|1]`.
public static void Lod(ConsoleContext context)`water.showLod [0|1]`.
public static void Info(ConsoleContext context)`water.showInfo [0|1]`.
public static void Flow(ConsoleContext context)`water.showFlow [0|1]`.
public static void Buoyancy(ConsoleContext context)`water.showBuoyancy [0|1]`.
public static void Ripples(ConsoleContext context)`water.showRipples [0|1]`.
public static int Register(ConsoleCommands into)Puts all six verbs into a registry, naming every one of them.
Used by (4)
- WaterDebugDrawVixen.Rendering.Water
- WaterDebugDrawTestsVixen.Rendering.Water.Tests
- WaterModuleVixen.Editor.Water
- WaterPresenterVixen.Editor.App