Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/facett

.nornir/tools-menu-last-design.md

facett-menu — Tools (🧰) is always the LAST top menu

design (the chosen shape)

Every suite app (korp · dwarves · nornir · holger · modgunn · ordning) has a utilities / Tools top menu — the place the shared zone-populate ZonePane and other tools are dropped. The convention is that Tools sits at the far right of the menu bar, always last, so muscle memory carries across apps.

Rather than have each app order its own menu bar (per-app, drift-prone), the ordering lives in ONE place — facett_menu::menu_bar, which every app (and the facett-app AppShell menubar) already renders through:

why here, not per app (L5)

AppShell::with_menubar and every direct caller already funnel through facett_menu::menu_bar; putting the Tools-last rule inside it means one implementation, one test, and identical behaviour everywhere — no app re-sorts its own bar.

observable / RED-when-broken

tools_menu_is_always_the_last_top_menu declares the Tools group FIRST and asserts menubar_group_order(..).last() == TOOLS_MENU (and the other menus keep first-seen order ahead of it); multiple_tools_groups_all_sort_last covers >1 tools group. Both go RED if Tools ever stops sorting last.