Debug drawing

The library never draws. It fills an mnavDebugBuffer the host owns with vertices and two index lists, triangles and lines, which any renderer can draw. Its capacities and counts are of vertices, triangles and lines, as in mnavTriangleMesh: the triangle list holds three indices for each triangle and the line list two for each line, so a renderer draws 3 * triangleCount and 2 * lineCount indices.

Function Draws
mnavNavmesh_Debug Polygons by area, inner edges, walls, tile sides and tile bounds, over an mnavTileRange of tile places, or every tile for NULL.
mnavNavmesh_DebugLinks Every off-mesh link as an arc, at its snapped ends when attached.
mnavDebugPath, mnavNavmesh_DebugCorridor A path's straight line; a corridor's polygons.
mnavGridFlow_Debug, mnavNavFlow_Debug An arrow for each cell or polygon with a way on.
mnavAvoidance_Debug Each agent's outline and a line to each neighbor mnavAvoidance_Avoid would give it.
mnavAvoidance_Debug3D Each flier as three rings, its neighbors, and the spheres it avoids.
mnavFlightVolume_Debug A flight volume's open blocks inside a box, as wire boxes. Solid space shows as gaps.
mnavDebugFlightPath A flight path's steps.

The avoidance drawings check their input as mnavAvoidance_Avoid and mnavAvoidance_Avoid3D do, so drawing what a step would refuse is refused too. A bake's own debug output is its report.