@split harness Something I am wrestling with is how to do the conditional spawning of the menu contents. There are a couple of different approaches:
- Externalize the "open" flag, so that the menu template has an "if open" conditional. Inside that block is a menu popup container and the individual menu items. This means that the caller is responsible for ensuring that the menu has the proper wrapper entities.
- Have the menu button widget take a callback / closure which generates the menu content, so that the "open" state is internalized. There are two variations:
- The callback only generates the menu items (returns a SceneList), and the menu button is responsible for creating the popover frame. This requires the callback to return an
impl SceneList, which is tricky / not dyn-safe. - The callback generates both the frame and the items within it. This is simpler, implementation-wise, but more work for the caller and less opinionated.
- The callback only generates the menu items (returns a SceneList), and the menu button is responsible for creating the popover frame. This requires the callback to return an

