public static class UiDevelopmentWhere a development-only assembly hooks itself into every application in the process.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
So that hot reload is a project reference and not a paragraph of bootstrap in every application's Main. The wiring a `.vxml` reload needs is real — a HotReloadHost has to be tracking the component at the moment it is mounted, it has to be registered with the runtime's metadata-update handler, and a stylesheet watcher has to be pointed at the source directory — but none of it varies between applications, and an application that gets one line of it wrong gets a reload that silently does nothing.
⚠ Two static properties rather than a reference, because the direction has to be this way round. Vixen.Ui.HotReload is a development tool: not trimmable, not AOT-compatible, and a shipped application must not link one. So this assembly cannot name it. What it can do is leave a hole, and let an assembly that references *both* fill the hole from a [ModuleInitializer] — which is Platform/Vixen.Ui.Desktop.HotReload, whose entire content is that one method.
⚠ Referencing that assembly is therefore the whole of the opt-in. An application adds it under a Debug condition and writes no code at all; a Release build does not resolve it, nothing runs the initializer, and these two properties stay null. That is the same shape as a browser's developer tools: present in the development build, absent in the shipped one, and never a branch in the application's own source.
⚠ Process-wide, and deliberately not per application. A module initializer runs once and has no application to attach to — the first UiApplication has not been constructed yet. An application that wants different behaviour sets UiApplicationOptions.Mount, which wins.
Fields and properties (2)
public static Func<UiDocument, UiElement, Func<Component>, Component>? MountMounts an application's content, in place of the ordinary build.
public static Action<UiApplication>? StartedRun once against each application, after its interface is built.
Used by (3)
- DesktopHotReloadVixen.Ui.Desktop.HotReload
- HotReloadSeamTestsVixen.Ui.Desktop.Tests
- UiApplicationVixen.Ui.Desktop