`cells_changed` + `cursor_at` sync live, but adding/renaming/deleting a sheet doesn't broadcast. Collaborators have to refresh to see the new tab. **Acceptance criteria:** - [ ] New broadcast event `sheet_changed` emitted on create / rename / delete / activate. - [ ] Client handler updates `workbook.sheets` + tab bar. - [ ] Active-sheet changes from a collaborator don't force-switch the peer's active sheet (just tell them a sheet changed).
cells_changed+cursor_atsync live, but adding/renaming/deleting a sheet doesn't broadcast. Collaborators have to refresh to see the new tab.Acceptance criteria:
sheet_changedemitted on create / rename / delete / activate.workbook.sheets+ tab bar.