facett-menu 0.1.3

facett — uniform overlay menu system (theme-aware right-click context menus, a fuzzy command palette overlay, and dropdown menu bars over one headless-addressable Command set)
Documentation

facett-menu — a uniform, theme-aware overlay menu system that sits above any facet: right-click [context_menu]s, a floating [CommandPalette] overlay (Ctrl-K / Ctrl-Shift-P), and classic dropdown [menu_bar]s. See .nornir/design/facett-menu.md.

One command set, three surfaces

A single [Command] type drives all three: the same action is reachable by right-click, by typing in the palette, and by id from a headless test ([CommandPalette::invoke]) — the house rule that nothing is pointer-only. Commands carry a stable id, a label, a group (section / top-level menu), an optional shortcut hint, an optional icon glyph, and an enabled flag.

Theming

Every surface reads the facett Theme from the egui context ([facett_core::theme]) — panel_bg / panel_stroke / accent / glow / text / text_dim — so menus match every component and the sci-fi look. The selected palette row is painted with the theme accent plus a layered glow bloom; nothing is hardcoded.

# use facett_menu::{Command, CommandPalette, menu_bar, context_menu};
let cmds = vec![
    Command::new("copy", "Copy", "Edit"),
    Command::new("case.new", "New case", "Case"),
];
let mut palette = CommandPalette::default();
// each frame, after drawing the deck:
# let ctx = egui::Context::default();
if let Some(id) = palette.ui(&ctx, &cmds) {
    // dispatch `id` ...
}