diff --git a/crates/chattyness-user-ui/src/components/scene_viewer.rs b/crates/chattyness-user-ui/src/components/scene_viewer.rs index 8892d71..aaf4e3e 100644 --- a/crates/chattyness-user-ui/src/components/scene_viewer.rs +++ b/crates/chattyness-user-ui/src/components/scene_viewer.rs @@ -590,29 +590,6 @@ pub fn RealmSceneViewer(
- // Debug dots at avatar bounds center - {move || { - members_by_key.get().into_iter().map(|(_, (_, m))| { - let user_id = m.member.user_id; - let dot_style = Memo::new(move |_| { - let bounds = avatar_bounds_store.get(); - if let Some(ab) = bounds.get(&user_id) { - format!( - "position: absolute; left: {}px; top: {}px; \ - width: 5px; height: 5px; background: red; \ - border-radius: 50%; transform: translate(-50%, -50%); \ - z-index: 99997;", - ab.content_center_x, ab.content_center_y - ) - } else { - "display: none;".to_string() - } - }); - view! { -
- } - }).collect_view() - }} // Active members {move || { members_by_key.get().into_iter().map(|(_, (_, m))| { diff --git a/crates/chattyness-user-ui/src/components/speech_bubble.rs b/crates/chattyness-user-ui/src/components/speech_bubble.rs index 839fde4..ebe239a 100644 --- a/crates/chattyness-user-ui/src/components/speech_bubble.rs +++ b/crates/chattyness-user-ui/src/components/speech_bubble.rs @@ -32,10 +32,9 @@ pub fn SpeechBubble( #[prop(default = 1.0.into())] text_em_size: Signal, ) -> impl IntoView { - let message = bubble.message.clone(); - let content = message.content.clone(); - let emotion = message.emotion.clone(); - let is_whisper = message.is_whisper; + let content = bubble.message.content.clone(); + let emotion = bubble.message.emotion.clone(); + let is_whisper = bubble.message.is_whisper; let expires_at = bubble.expires_at; let (bg_color, border_color, text_color) = emotion_bubble_colors(&emotion); @@ -149,7 +148,6 @@ pub fn SpeechBubble( let m_left = measured_left.get(); let m_width = measured_width.get(); let m_top = measured_top.get(); - let position = measured_position.get(); // Before measurement: position at left=0 so bubble can expand to full width // After measurement: use calculated positions directly (no transforms) @@ -170,11 +168,6 @@ pub fn SpeechBubble( 50.0 }; - let transform_origin = match position { - BubblePosition::Above => format!("{}% 100%", tail_offset), - BubblePosition::Below => format!("{}% 0%", tail_offset), - }; - // Start invisible until measured (prevents flash) let opacity = if measured { 1.0 } else { 0.0 }; @@ -182,8 +175,6 @@ pub fn SpeechBubble( "position: absolute; \ left: {}px; \ top: {}px; \ - transform: none; \ - transform-origin: {}; \ width: fit-content; \ max-width: {}px; \ opacity: {}; \ @@ -198,7 +189,6 @@ pub fn SpeechBubble( z-index: 99999;", final_left, final_top, - transform_origin, max_width, opacity, bg_color,