public sealed class FrameDebuggerViewA frame's command stream, steppable, with the state at each call beside it.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Doc 20's E4 exit criterion: "a draw call can be stepped and its render target inspected". The first half is here in full — the tree, the two step buttons, and a state pane replayed to whichever call is selected. The second half is honest about what it has: a capture taken from a recording backend holds the state and not the pixels, and the target pane says which attachments the draw wrote rather than showing an image that would be a fabrication.
⚠ Stepping moves between draws, not between commands. A frame is a few thousand calls and forty of them per draw are binds; a step that advanced one command would take forty presses to reach the next thing that put a pixel anywhere. Work is the index that makes it one press.
⚠ The tree is rebuilt on capture rather than every frame. A capture does not change while it is on screen — that is the whole point of capturing one — so the only work per frame here is none.
Fields and properties (13)
protected override string TagNameThe element name this type answers to when a caller does not choose one.
protected override bool AcceptsFocusWhether the focus can rest on this kind of control at all.
public UiElement ToolbarThe strip along the top.
public Button CaptureButtonWhat takes a capture, when the host has given it something to take one with.
public Button PreviousSteps back one draw.
public Button NextSteps forward one draw.
public UiElement StatusWhat the capture holds, and where in it the selection is.
public TreeView TreeThe stream, as passes and groups.
public UiElement StatePaneWhat is bound at the selected call.
public Func<FrameCapture>? SourceWhat the capture is taken with, or when nothing can.
public string? UnavailableWhy a capture cannot be taken, shown when Source is null.
public FrameCapture CaptureWhat it is showing.
public int SequenceWhich call the state pane is replayed to.
Methods (4)
public void Take()Takes a fresh capture, if there is anything to take one with.
public void Show(FrameCapture frame)Shows a capture somebody else took.
public void StepTo(int sequence)Moves the selection to a call.
protected override void OnCreated()Builds whatever this element is made of, once, as it joins a document.
Used by (2)
- DiagnosticsModuleVixen.Editor.Diagnostics
- DiagnosticsPanelTestsVixen.Editor.App.Tests