public sealed class CompiledSceneViewWhat a build makes of this scene: the blocks, the columns and the complaints.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
K1's last unopened door, and the question it answers is one nothing else could. An authored .vxscene nests its entities and spells its numbers out; a compiled SceneAsset is flat, positional and archetype-major, and the two are shaped by opposite forces. Everything an author can see today is the first of them. So "why does my entity arrive in the player without its Health" has had no answer short of building the project, shipping it, and noticing — which is the shape of defect this pane exists to make visible at the moment somebody can still act on it.
⚠ It compiles the open document rather than reading the artefact the last import wrote, and that is a choice with a cost. What it shows is what this scene would compile to, not what the build store currently holds — so it cannot show you a stale artefact, and it cannot be wrong about an edit you have not saved. The alternative answers a different and also useful question ("what is actually in the build") and needs the artefact store, an import to have run, and a staleness story of its own. This is the same trade the shader graph's *show generated code* makes, and for the same reason: during authoring the actionable question is what the thing in front of you produces.
⚠ The diagnostics are the point, more than the tables are. SceneCompiler.Compile reports every problem and then fails once, so a hand-merged scene with four duplicate ids says all four rather than making the author find them one build at a time. A pane that showed only the happy result would throw that away.
Compiled on demand and not on every keystroke. A scene compile walks every entity and serialises every component, which is the wrong thing to do behind a gizmo drag. The button is the trigger, and the pane says when what it is showing was produced.
Fields and properties (10)
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 Button CompileRuns the compiler over the document as it stands.
public CheckBox KeepNamesWhether the entity names are kept, as a shipping build's would not be.
public Alert StatusShown before anything has been compiled, and when a compile failed.
public UiElement FactsEntity count, block count and bytes.
public UiElement BlocksOne row per block: its archetype, how many entities, and how many bytes.
public UiElement DiagnosticsWhat the compiler said, in the order it said it.
public SceneContent? ContentThe last compile's result, or if it failed or has not run.
public IReadOnlyList<(ImportSeverity Severity, string Message)> ReportedWhat the last compile reported.
Methods (3)
protected override void OnCreated()Builds whatever this element is made of, once, as it joins a document.
public void Show(SceneDocument scene)Points the pane at a document. Does not compile it.
public bool Refresh()Compiles the document and redraws.
Used by (3)
- CompiledSceneTestsVixen.Editor.AssetEditors.Tests
- PrefabViewVixen.Editor.AssetEditors
- SceneEditorFactoryVixen.Editor.AssetEditors