public sealed class StandardFrameViewDoc 39's editor surface: the knobs, the look, the two resolved stacks, and Explode.
Remarks
Four things that are each a view over something that already exists. The knobs and the look are inspectors over mirrors of the node's own members; the quality table is ResolvedQualityTable walking the waterfall's own schema; the volume panel is ResolvedVolumes reading the engine's fold. Nothing here computes a rendering fact of its own, which is the property that keeps the panel from becoming a second opinion about what the frame is.
⚠ Both stacks say where a number came from, and that is the whole reason they are panels rather than readouts. The quality waterfall folds per parameter across three files and the volume fold across four layers, so every number on this screen has a provenance that is not visible in the number. A table of decided values would answer "what is it" while the question somebody opens this panel with is always "why is it that", and sending them to the wrong file to change it is worse than showing nothing.
⚠ Every write re-expands and the facts move with it. The document rebuilds the expansion on each edit — see Changed — so turning shadows off takes a stage and two targets out of the count under the form, and a guardrail refusal arrives on the edit that caused it rather than at the next launch.
⚠ A view is rebuilt on every reopen, so nothing durable lives here. The same rule CompositorView states, and the same consequence: the subscription to the document is dropped in OnRemoved, because a view still listening to a document it has left writes into elements that are no longer in the tree.
Fields and properties (15)
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 IEditorRegistry? ExtensionsWhere custom inspectors are found, so the markup forms are used rather than the rows.
public IActiveScene? SceneThe scene whose volumes the stack panel folds, or null for an editor without one.
public IActiveView? EyeThe view the editor is looking through, whose position decides which volumes reach.
public InspectorView KnobsThe knobs.
public InspectorView LookThe look profile the document carries inline.
public Button ExplodeThe button that replaces the node with the graph it stands for.
public UiElement FactsWhat the expansion produced, and what it complained about.
public UiElement QualityThe resolved quality stack.
public UiElement StackThe resolved volume stack.
public UiElement SummaryWhat the fold said about itself — the camera, the counts, and what did not reach.
public UiElement BannerWhat the panel is saying about the document as a whole.
public int QualityRowsHow many quality rows are showing, which is what a test counts.
public int StackRowsAnd how many volume-parameter rows.
Methods (4)
protected override void OnCreated()Builds whatever this element is made of, once, as it joins a document.
public void Show(StandardFrameDocument frame)Shows a frame document.
protected override void OnRemoved()Called once, as the element leaves the document.
public void Restate(StandardFrameDocument frame)Rebuilds everything the document decides.
Used by (1)
- StandardFrameEditorFactoryVixen.Editor.AssetEditors