EditorTopBar
The persistent editor top menu bar. Owns a single Z.app with one top-docked screen: a row of domain dropdown menus on the left and pinned ▶/⏸ transport buttons centered. The menu bar is built entirely from the editor registry's menuModel() — every menu, and every entry under it (a panel that opens or a plain action item), is what has been registered. The bar rebuilds on every registry change. The screen is tagged "editor" so the entrypoint's F1 toggle hides and shows it alongside the rest of the editor UI.
Menu behaviour is coordinated in Luau: state.openMenu holds a single menu id (or nil) for mutual exclusivity, hovering a different menu's button while one is open switches the open menu, and clicking outside or pressing Esc dismisses. Panel entries route through the live dock controller (EditorRegistry.dock()); action entries call their registry item's onClick. The transport buttons drive engine.mode (▶) and engine.paused (⏸), mirroring live engine state each tick so labels track flips that originate elsewhere.
Runs with executionOrder = 100. It ticks in both edit and play (via editorUpdate for the paused case) and runs a system-owned gap-filler tick so the bar stays live even while play is paused.
Scoped to this part · feeds back into the world's score.