aa - #131
Conversation
Missed this in the earlier PR. As on [discord.](https://discord.com/channels/188630481301012481/1097318920991559880/1488164048976609420)
In discussions, we've come to the conclusion to attempt to use a chat-bubble system to minimise the effective area of the chat. In particular, the results screen doesn't give us enough space to display the full chat box without overlapping the main screen content. This PR both adds the chat to the results screen, and reworks it to use such a bubble system (not sure what to call it, IM style?). https://github.com/user-attachments/assets/a8a88c51-8a9d-4a03-92b6-621112a15a41 - New messages are previewed for 3 seconds. - When focusing and unfocusing the textbox, the history moves into expanded state (show the most recent 10 messages) or collapsed state (fade messages out ASAP). This is a bit of an initial implementation to get a feel of how it behaves, and there's more that can be done such as adding colours, improving the transforms, perhaps adding it to the intro screen (post-animation) but the structure's a bit weird atm. --------- Co-authored-by: Dean Herbert <pe@ppy.sh>
- Closes #37055 In the editor, keybinds and the tooltip for the hitsounding section are hardcoded. Since the keybind contains "Alt", this is inconsistent on MacOS where "Opt" is used instead. Before: <img width="191" height="244" alt="image" src="https://github.com/user-attachments/assets/749f9dd1-f037-4061-848e-44161913190d" /> After (MacOS only): <img width="193" height="244" alt="image" src="https://github.com/user-attachments/assets/c807a23d-225e-41ab-993a-df9230be58bc" /> --------- Co-authored-by: Dean Herbert <pe@ppy.sh>
The fix is just disabling the animation. It works I guess. --- - Closes #37042 Currently in Mania, you can change the scroll speed for a brief period during the beginning of a song. However this scroll speed change occurs over a short period of time, which causes a bunch of extra hit object updates, causing major fps and latency drops. This fix simply replaces the dampening with an immediate scroll speed update. Since the scroll speed can only be updated for a short time at the beginning of the song, providing immediate visual feedback on the scroll speed makes sense to me. However another potential solution would be to filter the TimeRange Value updates to keep the gradual scroll speed visual change, while greatly reducing the number of updates to the hit objects currently on screen. If there is any feedback I would greatly appreciate it as this is my first issue here. I had ran both inspectCode.ps1 and the code formatter before creating the merge request. Thank you. Before fix: https://github.com/user-attachments/assets/55e30894-7341-414a-af2e-2ec051c3a252 After fix: https://github.com/user-attachments/assets/c085d33f-c0ae-45dd-8131-e79a5682b9ca --------- Co-authored-by: Dean Herbert <pe@ppy.sh>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (16)
📝 WalkthroughWalkthroughThis pull request introduces new ranked play chat functionality, refactors scroll time range management in Mania ruleset editors, adds storyboard visibility controls, updates background handling in editor screens, implements an April Fools' settings section with interactive toggle UI, and adds corresponding visual test scenes. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant RankedPlayScreen
participant RankedPlayChatDisplay
participant BubbleChatHistory
participant ChatTextBox
participant MultiplayerChannel
User->>ChatTextBox: Focus / Click
ChatTextBox->>RankedPlayChatDisplay: OnFocus()
RankedPlayChatDisplay->>BubbleChatHistory: Expand()
BubbleChatHistory-->>RankedPlayChatDisplay: History visible
User->>ChatTextBox: Type & Enter message
ChatTextBox->>RankedPlayChatDisplay: OnCommit()
RankedPlayChatDisplay->>MultiplayerChannel: Send message
MultiplayerChannel-->>RankedPlayChatDisplay: NewMessagesArrived
RankedPlayChatDisplay->>BubbleChatHistory: PostMessage(user, content)
BubbleChatHistory->>BubbleChatHistory: Animate message bubble
BubbleChatHistory-->>User: Display bubble with avatar
User->>ChatTextBox: Unfocus / Press Back
ChatTextBox->>RankedPlayChatDisplay: OnUnfocus()
RankedPlayChatDisplay->>BubbleChatHistory: Collapse()
BubbleChatHistory-->>RankedPlayChatDisplay: History collapsed/hidden
Estimated code review effort🎯 4 (Complex) | ⏱️ ~65 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by Gitar
This will update automatically on new commits.
Summary by CodeRabbit
New Features
Improvements
Bug Fixes