Vixen
c7401864
csharp
public sealed class StandardFrameView

Doc 39's editor surface: the knobs, the look, the two resolved stacks, and Explode.

Read the guide page for this →

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 TagName

    The element name this type answers to when a caller does not choose one.

  • protected override bool AcceptsFocus

    Whether the focus can rest on this kind of control at all.

  • public IEditorRegistry? Extensions

    Where custom inspectors are found, so the markup forms are used rather than the rows.

  • public IActiveScene? Scene

    The scene whose volumes the stack panel folds, or null for an editor without one.

  • public IActiveView? Eye

    The view the editor is looking through, whose position decides which volumes reach.

  • public InspectorView Knobs

    The knobs.

  • public InspectorView Look

    The look profile the document carries inline.

  • public Button Explode

    The button that replaces the node with the graph it stands for.

  • public UiElement Facts

    What the expansion produced, and what it complained about.

  • public UiElement Quality

    The resolved quality stack.

  • public UiElement Stack

    The resolved volume stack.

  • public UiElement Summary

    What the fold said about itself — the camera, the counts, and what did not reach.

  • public UiElement Banner

    What the panel is saying about the document as a whole.

  • public int QualityRows

    How many quality rows are showing, which is what a test counts.

  • public int StackRows

    And 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