Context
Child of #687. SOLARO's discoverability for the browser room: a menu item that boots `aro room` for the current project and offers the share URL.
UX
- File menu → Share Room… (after Reveal in Finder, before Move to Trash).
- Sheet: project path (read-only), interface (`localhost` / `Bonjour` / `Custom IP`), token kind (read-only / read-write), Start button.
- After Start: the sheet shows the URL with a copy button + a "Stop" button. A persistent toolbar badge "Room: `http://…`" appears on the main window while the room is running.
- Closing the SOLARO window terminates the room subprocess (the parent process death takes the room with it).
Wiring
- `Sources/SOLARO/RoomShareSheet.swift` — new SwiftUI sheet.
- `Sources/SOLARO/RoomController.swift` — owns the `Process` running `aro room`. Stream stdout to a Console pane (the same way `ConsoleProcess` already does it).
- Menu entry: extend the `SolaroMenuAction` enum in `SOLAROApp.swift` with `.fileShareRoom` + wire it into the File menu group.
- Toolbar badge: small "Room" pill next to the project breadcrumb in `Workspace.swift` toolbar; click reopens the share sheet.
Acceptance
- Click File → Share Room… → click Start → SOLARO spawns `aro room ./`, captures stdout, parses the printed URL, displays it in the sheet with a copy button.
- The room URL opens successfully in Safari / Chrome.
- Closing SOLARO terminates the room process (verify with `ps aux | grep "aro room"`).
- Re-opening Share Room while one is running shows the live URL instead of spawning a second process.
Context
Child of #687. SOLARO's discoverability for the browser room: a menu item that boots `aro room` for the current project and offers the share URL.
UX
Wiring
Acceptance