ADR 0092: Visual UI track (layout designer) — separate major program line in CIDE¶
Status: Accepted (direction)
Date: 2026-04-24
Related ADRs¶
| ADR | Role |
|---|---|
| 0022 | visual UI dev surface (AXAML / Blazor) — WinForms-oriented reference, placement on MFD |
Context¶
Visual designer / live preview for Avalonia (AXAML), Blazor, and (optionally) Razor is not “one sprint feature”: preview host, isolation, text sync, tree, property grid, eventually drag-and-drop. It needs its own planning horizon and explicit MVP slicing, or it competes with critical IDE path or gets lost without an owner.
Discussion (2026-04-24): record a track in ADR so backlog and talk are clear — this is CIDE Visual UI track (working name); UX and placement details stay in 0022.
Decision¶
- Accept direction of a separate major program line Visual UI in Cascade IDE: visual work with declarative user UI markup (primarily .NET stack in CIDE focus), with backlog and done criteria by phase aligned with 0022.
- Canonical product/UX ADR for this line — 0022 (attention model, MFD, no second
TopLevelfor preview, MVP / next / later phases, non-goals). 0092 answers “how to run it as a track”, not “how it looks in cockpit” — on conflict, 0022 wins for product rules.
- Stack order (priority plan, not dates):
- First wave (target): Avalonia / AXAML — closer to existing CIDE host, predictable preview contour.
- Second wave: Blazor — separate host (browser / WebView / isolate), harder design-time boundaries; same IDE-level user scenario per 0022 §4.
- Razor (MVC/Pages) and adjacent: not mandatory MVP of track; separate decision (spike / epic) — often HTML+templates, not visual control tree — otherwise blurs track boundary.
- Agent and contract link: track orthogonal to 0008 and 0052: as stable snapshots/commands for design surface appear (file open, preview mode, node selection) — MCP/CLI extensions added deliberately with same JSON parity requirement, without duplicating logic. Track not blocked on “all agent tools first.”
- Boundary with other tracks: do not put EICAS/HUD, “cloud inline”, and other contours listed in 0022 as non-goals for attention zone into this track; do not confuse Cockpit UI (CIDE instruments) with user application designer — 0066.
Consequences¶
| Pros | Cons / risks |
|---|---|
| Clear bucket: “in Visual UI track / outside track” | Need discipline not to inflate track with “all UI in the world” |
| 0022 stays single product-rules place; 0092 does not duplicate phase table | Two ADRs — but less “process vs product” drift |
| Avalonia → Blazor → (opt.) Razor order lowers simultaneous stack explosion risk | 0022 open questions (minimal v1 per tech, MFD tab, two-way sync) — still in 0022; track does not auto-close them |
Open questions¶
- Explicit backlog/label names (GitLab line / tags) — repo discretion; ADR fixes semantic name Visual UI / design surface with 0022.
- SDK / plugins (0024): if designer ever moves to extension — separate ADR, not 0092.
Rejected alternatives¶
- Treat designer as only part of Markdown preview or WebView ADR — rejected: different subject (author Markdown vs user AXAML/Blazor).
- Extend 0022 with “how to run backlog” table — possible, but moved to 0092 so 0022 stays short product ADR.