public record class StandardFrameAssetThe engine-owned frame, as one node: docs/plan/39's !StandardFrame.
Remarks
Expands at build time into the same node graph a hand-authored document would contain — sample 13's Frame.vxcompositor at full knobs, the bare sky/opaque/tonemap chain at none. The knobs are few and semantic on purpose: they say what the game wants, never how the frame is wired, and everything the expansion emits (resource extents, load actions, seat/publisher pairs, pass order) is the invariant the 2026-08-04 audit paid for, encoded once here instead of transcribed per project.
The type lives in the effect set rather than beside the compositor schema, and not by accident: the expansion emits SkyAsset, TonemapAsset and their siblings, which Vixen.Rendering must not reference — the builder reaches node kinds it does not know through ISceneRendererFactory, and this node reaches the builder the same way, through PostEffectFactory implementing ICompositorAssetTransformer. Registering the factory a host already registers is therefore the whole installation.
⚠ Two facts stay the host's, exactly as they are for a hand-authored frame. The caster stages are extraction's: a host whose objects should cast adds "Shadow" (and "Motion" for TAA) to GraphicsOptions.CasterStages, because a frame document cannot decide what an object is extracted as. And the ambient split is the material's: gi above Off emits the split targets and the combine, which pay off when the shading pass runs with ForwardPlus.SplitOutputs on. Driving both from the expansion is owed to a later increment; until then they are stated here rather than discovered.
Artistic values are deliberately neutral — the shipped node defaults, untouched — because look belongs to the .vxlook profile (Look), not to pipeline structure: it lands on the emitted nodes through the volume fold at run time, so editing it relights the same expanded document with nothing rebuilt. What is not neutral is structure: depth read-only on the velocity and particle passes, back-face culling and zero raster bias on the caster stage, the per-target load lists, the TAA-before-fog ordering. Those are correctness, and they are this type's whole point.
Fields and properties (13)
public string NameThe node's name, for debug groups and for a human reading the file.
public bool EnabledWhether the node runs.
public QualityTier? QualityThe scalability tier the numeric sub-knobs are taken from, or null for the host's pick.
public RenderQualityAsset? PresetPer-document quality overrides — the top layer of doc 39's waterfall.
public LookAsset? LookThe project's look profile — the artistic base under the volume stack.
public ShadowMode ShadowsSun and lamp shadows.
public GiMode GiThe global-illumination stack.
public ReflectionsMode ReflectionsReflections.
public AntialiasingMode AntialiasingAntialiasing — and, through it, whether the frame has motion vectors.
public ExposureMode ExposureWhether the frame meters itself or trusts the camera.
public bool ParticlesWhether the additive particle pass and its stage are emitted.
public string OutputThe resource the finished frame is written to.
public StandardFrameExtensions ExtensionsThe project's own nodes, spliced at the three named seams.
Used by (17)
- RenderQualityTestsVixen.Rendering.PostFx.Tests
- StandardFrameVixen.Rendering.PostFx
- StandardFrameExposureDeviceTestsVixen.Graphics.Golden.Tests
- StandardFrameTestsVixen.Rendering.PostFx.Tests
- StandardFrameTierImageTestsVixen.Graphics.Golden.Tests
- TerrainCasterTestsVixen.Rendering.Terrain.Tests
- TerrainNodeTestsVixen.Rendering.Terrain.Tests
- TerrainVelocityTestsVixen.Rendering.Terrain.Tests
- TierSceneVixen.Graphics.Golden.Tests
- TypeRegistrationVixen.Rendering.PostFx
- Vixen_Rendering_PostFx_StandardFrameAssetSerializerVixen.Rendering.PostFx
- CompositorWriterTestsVixen.Editor.Assets.Tests
- FrameDocumentTestsVixen.Editor.AssetEditors.Tests
- HostedRendererTestsVixen.App.Tests
- StandardFrameDocumentVixen.Editor.AssetEditors
- StandardFrameSettingsVixen.Editor.AssetEditors
- StandardFrameViewVixen.Editor.AssetEditors