#ui
12 items (12 fixes)
One ScreenPanel host, static UIState for modals, self-closing panels, toast stack — BuildHash every flag the markup reads.
Razor HUD emoji and dashes die under Get-Content/Set-Content — edit with byte-safe UTF-8 APIs or a real editor.
A flex-grow slider track holding a normal-flow fill child sized by width:N% balloons wider as the value increases — take the fill out of flow with position:absolute.
BuildHash() is the only re-render trigger — hash everything the markup reads, including collection contents and flags.
A newly created .razor.scss file is not picked up by a running editor session — the panel component works but is unstyled until the next restart.
OnAfterTreeRender(bool) is a Panel hook — on a PanelComponent it fails with CS0115; use parameterless OnTreeBuilt() or OnTreeFirstBuilt().
s&box ships Roboto Mono (all weights) — JetBrains Mono and Consolas only resolve on dev machines with those system fonts.
SCSS background-image only resolves asset paths — runtime Texture objects must be assigned via Panel.Style.BackgroundImage in OnTreeBuilt.
An untyped or expression-bodied lambda on TextEntry.OnTextEdited fails with CS8917 or CS0029 — use an explicit param type plus a block body.
Razor classes get a RootNamespace/folder-derived namespace — declare @namespace and global using or C# can't find your panels.
Many selectors declaring font-size in one SCSS file can make text render as solid filled rectangles — carry hierarchy via font-weight/color instead.
Literal spaces adjacent to a tag or @-expression boundary vanish in Razor markup — use a single interpolated string or CSS margin instead.