What to build #
Everybody in a room sees who is recording, in Groove's window too. The patch editor now marks
whoever in a room is recording a performance beside their face in the people list (the record dot
and "Rec", never the colour alone, and "recording" in the face's accessible name), and says it in
the live region as it starts and stops. It reads this from presence: every peer in {t:"presence", you, peers} now carries recording (true or false), as atmosynth-patch-spec's ASYM §7 says
(spec commit 1d41a60).
Groove's window shows it once its editor pin reaches atmosynth-patch-editor f69319e (engine
unchanged at 51c8814). Nothing else should be needed, and that is what to check:
src-tauri/src/room_link.rspasses presence on to the window whole, changing only each face:fn presence_shown(&self, presence: &Value) -> Action { let mut shown = presence.clone(); … peer.get_mut("avatarUrl") …, so a peer'srecordingreaches the window as the room said it.- The editor at Groove's current pin (
04fe1f2) reads only the fields it knows inpresenceOf, so until the pin moves the field is passed over and nothing changes. - The window's own presence passes to the room as it is (
said:(message["t"] == "presence").then(|| text.to_string())). A hosted editor never saysrecording: true, because it keeps no performance, so the room hears Groove's person as not recording.