public sealed class DebugDrawSystemAges the debug geometry once a frame, after everything that might draw it has.
No guide page documents this yet — the page shows what the code says about itself.
As a system
- Phase
- PostRender
Remarks
In PostRender and nowhere else: a line asked for during a frame has to survive until a renderer has had the chance to drain it, so ageing has to come after the draining and not before.
⚠ Which means this system is wrong for a host that records its frame outside the loop, and the shipped host is one. VixenApplication runs every phase of EngineLoop.Frame — PostRender included — and only then calls AppGraphics.Begin, which is where the compositor's debug node drains the accumulator. Adding this to that loop ages the frame's geometry away one call before anything reads it, and the failure is silent in the worst way: the overlays report the panels they drew, the accumulator reports the lines it took, and the screen is empty. AppGraphics.Overlays therefore calls DebugDraw.Advance itself after the frame is recorded and does not register this. It is right for a host whose renderer is a system in the same graph — a test, an editor play mode driving the loop around its own draw.
Fields and properties (1)
public SystemAccess AccessWhat this system reads and writes.
Methods (2)
public DebugDrawSystem(DebugDraw draw)Ages the debug geometry once a frame, after everything that might draw it has.
public override JobHandle Update(in SystemContext context, JobHandle dependency)Runs the system.
Used by (1)
- DebugDrawTestsVixen.Engine.Tests