ui-design
Designing premium user interfaces with egui
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Designing premium user interfaces with egui
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
TDD workflow for implementing features
Test and validation workflow before commit
Keep project documentation up to date
Manage and enforce project specifications for consistency
Critical analysis of trading techniques and financial innovation
Trading performance evaluation via backtesting and metrics
| name | UI Design |
| description | Designing premium user interfaces with egui |
"Premium Dark Mode" is the core aesthetic. The UI should look professional, financial, and sleek.
#000000).#42A5F5) for action, Green/Red for financial data.| Role | Color | Hex | usage |
|---|---|---|---|
| Window Bg | Dark Blue/Black | #0A0C10 | Main application background |
| Panel Bg | Dark Blue/Black | #0A0C10 | Sidebars, panels |
| Card Bg | Slightly lighter | #12161D | Surface for content containers |
| Button Bg | Lighter input | #1C212A | Standard interactive elements |
| Hover | Highlight | #282E3A | Hover state |
| Primary | Vibrant Blue | #42A5F5 | Active states, primary actions |
| Text | High Contrast | #F0F0F0 | Primary text |
| Subtext | Muted | #B4B4B4 | Labels, secondary info |
| Border | Subtle | #282C34 | Separators, outlines |
All UI components should exist in src/interfaces/ submodules.
pub fn render_my_component(ui: &mut egui::Ui, data: &MyData) {
ui.group(|ui| {
ui.heading("Title");
// ... content
});
}
Use egui layout helpers effectively:
ui.horizontal(|ui| { ... }) for toolbarsui.vertical(|ui| { ... }) for listsegui::Grid for aligned forms or dataui.allocate_ui for custom sizingTo create distinct sections, use a coherent card style:
// Helper for consistent card styling (implement if not exists or use frame)
egui::Frame::none()
.fill(egui::Color32::from_rgb(18, 22, 29))
.rounding(4.0)
.stroke(egui::Stroke::new(1.0, egui::Color32::from_rgb(40, 44, 52)))
.inner_margin(12.0)
.show(ui, |ui| {
ui.heading("Card Title");
ui.label("Card content...");
});
ctx.style().visuals or defined constants where possible (though custom colors are allowed for the specific theming).update(). Use channels to generic agents.ui.horizontal/vertical calls can kill performance and readability.ui.add_enabled(bool, widget) for conditional interactivity.ui.push_id loops to avoid ID clashes.When updating the theme, modify UserAgent::update in src/interfaces/ui.rs.