Class BowireHomeRailContribution
- Namespace
- Kuestenlogik.Bowire.Rails
- Assembly
- Kuestenlogik.Bowire.dll
Home rail contribution — cross-workflow landing surface (#306 Phase G; folded into Core in v2.1, #325).
public sealed class BowireHomeRailContribution : IBowireRailContribution
- Inheritance
-
BowireHomeRailContribution
- Implements
- Inherited Members
Remarks
The Home rail is descriptor-only — no per-rail JS fragment, no wwwroot
resources. Folded into Kuestenlogik.Bowire (Core) in v2.1 so
every workbench host gets the rail without an extra package reference;
the previous standalone Kuestenlogik.Bowire.Rail.Home package
has been retired. The Id string remains
"home" verbatim so operator-saved railMode +
bowire_enabled_rails values continue to dispatch correctly.
Constructors
BowireHomeRailContribution()
public BowireHomeRailContribution()
Properties
AlwaysOn
Whether the rail is part of the locked always-on set. Differs
from DefaultEnabled: an always-on rail also can't
be disabled at all. Defaults to false; only the four core
rails (Home, Discover, Compose, Workspaces) ship as always-on.
public bool AlwaysOn { get; }
Property Value
DisplayName
Human-readable label shown in the rail tooltip + Settings.
public string DisplayName { get; }
Property Value
Group
Visual group the rail belongs to. Adjacent rails with different
group values get a divider between them. Built-in groups:
"work", "scenarios", "quality",
"hardening". New groups land at the bottom of the rail
by default.
public string Group { get; }
Property Value
Remarks
Own 'home' group so the rail-divider logic in render-sidebar.js draws a separator BELOW Home (the group-change boundary), visually anchoring it at the top the way Settings is anchored at the bottom. Operator feedback: 'home sollte ebenso abgesetzt sein wie einstellungen mit trennstrich'.
IconKey
Icon key from the workbench's SVG-icon catalogue (e.g.
"house", "discover", "shield"). Resolved
JS-side via svgIcon(key). Unknown keys fall back to a
generic square placeholder.
public string IconKey { get; }
Property Value
Id
Stable identifier (e.g. "discover", "recordings",
"security"). Must match the rail-mode id the JS bundle
uses for routing — operators' localStorage.bowire_rail_mode
values + deep links key off this. Case-sensitive (snake-lower).
public string Id { get; }
Property Value
SidebarKind
Sidebar template the rail renders. Recognised values: "none",
"services", "collections", "environments",
"recordings", "mocks", "workspaces",
"sources", "benchmarks", "flows",
"proxy", "security", "library". Adding a
new value requires a matching arm in render-sidebar.js's
dispatcher — see the sidebar.kind comment block in that
file.
public string SidebarKind { get; }
Property Value
SortIndex
Sort priority. Lower values appear higher in the rail strip. The built-in catalogue uses 100-step intervals so third-party rails can wedge between two built-ins without re-numbering everything.
public int SortIndex { get; }