API Reference · Renderers

MissingComponent

Namespace: Ava3D

public sealed record class MissingComponent

Something a renderer needs that this machine does not have, and how to get it.

The reason this is a type rather than a string is that "what is missing" and "what to do about it" are several answers, and a UI wants them apart: a name for the headline, a package for a button, a command for somebody who would rather type one, and somewhere to read more. Joined into prose they can only be shown as prose.

BackendOption.Reason still says why. Nothing here repeats it.

Properties

MemberDescription
string Command { get; set; }

A command that installs it, when there is a short one — brew install molten-vk.

One command, not the only one: there is usually more than one way and this is the shortest. It is shown to a person and never run by this library.

required string Name { get; set; }

What it is called, as its own authors call it — "MoltenVK". The only field always set.

string Package { get; set; }

A NuGet package that supplies it, when one does. Null when the answer is only to install it.

Naming ours is not a sales pitch, and the alternative has to be offered beside it: a shipped application may well prefer a system-wide install to carrying a five-megabyte binary it did not write. That is what MissingComponent.Command is for.

string Url { get; set; }

Where to read about it. A string rather than a Uri, because every use is a link's text or its target and neither wants parsing done first.

See also