wip hud - init of hud skill and server#343
Draft
SawPsyder wants to merge 17 commits intoShipBit:developfrom
Draft
wip hud - init of hud skill and server#343SawPsyder wants to merge 17 commits intoShipBit:developfrom
SawPsyder wants to merge 17 commits intoShipBit:developfrom
Conversation
b0f535c to
fabf1c4
Compare
Contributor
|
Aww, bummer this only works on Windows. We have other places in the code already where we check the OS and disable/skip certain features when not on Windows. Please do this for HUD, too. Check the OS very early in the chain and skip everything if not running on Windows. I'd expect no traces, server instances or initialized variables at all when running on MacOS. I'll make sure to hide everything HUD related in the MacOS UI, too. Please be very defensive with this, especially where HUD plugs into Core. Always expect it not to be available and initialized at all. |
Contributor
Author
|
Rendering the HUD is OS-level stuff. |
- Remove excessive debug logging from `hud_server`, `hud_manager`, and `skills/hud` to reduce console noise. - Replace `sys.stderr.write` with `_report_exception` in `overlay.py` for consistent error handling. - Reduce log noise for 404 errors in `hud_server` exception handler. - Clean up exception handling in `http_client` to suppress unnecessary retry logs.
…tion - Create `hud_server/constants.py` to centralize configuration, timeouts, limits, and API paths. - Update `HudServer` and `HudHttpClient` to utilize centralized constants for consistent behavior. - Enhance `HudHttpClientSync` with improved thread safety, locking, and event loop management during startup. - Add Pydantic field validation, constraints, and default values in `hud_server/models.py`. - Consolidate documentation into `hud_server/README.md` and `hud_server/API.md`, removing scattered README files. - Improve logging and error handling during server and overlay lifecycle events.
…ated documentation
…channel support (#10) * Initial plan * Implement render caching for HUD performance optimization Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Address code review feedback for HUD caching Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Mark deprecated legacy methods in overlay.py, document unified window system Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Add deprecation warnings to legacy methods in overlay.py Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Improve deprecated methods documentation clarity Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Optimize HUD rendering by removing redundant z-order updates for windows * Remove legacy HUD code and fix cache issues causing ghosting Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Add docstring to _init_fonts and complete code review Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Fix layout manager releasing slot before fade-out completes Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Refactor chat window handling and improve HUD rendering performance * Remove unused legacy chat window code and fix chat window integration Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Enhance Snake game with gradient snake body, combo system, and golden apples * Enable alpha channel support in HUD background colors Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Address code review feedback for alpha channel support Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Add emoji support and scroll fade effect to chat overlay rendering --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> Co-authored-by: Jan Winkler <jan@jmwinkler.de>
* Initial plan * Append consecutive same-sender chat messages instead of creating new entries When a message is added to a chat window from the same sender as the last message, the text is appended to the last message (separated by a space) instead of creating a new message entry with a repeated sender name. Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Update chat tests for same-sender message merging behavior - test_chat_markdown: alternate senders so each markdown feature renders separately - test_chat_auto_hide: use different sender for second message to prevent merging - test_chat_overflow: unique sender per message to prevent merging during overflow test - Add test_chat_message_merging: dedicated test for consecutive same-sender merging Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com>
* Initial plan * Add chat message update feature with message IDs - Add `id` field (UUID) to ChatMessage dataclass - Change send_chat_message to return message ID (or merged message's ID) - Add update_chat_message method to HudManager - Add ChatMessageResponse and ChatMessageUpdateRequest models - Add PUT /chat/message endpoint for updating messages by ID - Update POST /chat/message to return message_id in response - Update HTTP client (async + sync) with update_chat_message method - Update TestSession with update_chat_message helper - Update overlay handler to track message IDs and handle updates - Update state serialization/deserialization to include message IDs - Add test_chat_message_update test case - Update README documentation with message update API Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Address code review: keep sender/text required in ChatMessage, fix comment Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com>
* Initial plan * Use reactive WinEvent hook for HUD foreground management instead of polling Replace the removed polling loop with an event-driven approach using SetWinEventHook(EVENT_SYSTEM_FOREGROUND). The callback sets a thread-safe threading.Event flag, and the main render loop checks/clears it each frame, re-applying HWND_TOPMOST only when a foreground change is actually detected. This is both more performant (zero cost when no changes occur) and more responsive (reacts instantly to foreground changes) than the old 50ms poll. Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> * Add log line when HUD foreground change is detected and repositioned Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: SawPsyder <44277746+SawPsyder@users.noreply.github.com>
…t family and font size rendering
…s for xvasynth and pocket TTS
… classes for improved clarity and maintainability
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This completely adds the HUD http server, the HUD renderer and HUD skill to Wingman AI as full core integrations.
This is marked as draft as it still needs several polish runs.
But the functionality is at 95% now - only missing HUD hide/show tools & HUD server start/stop as system setting change reaction.
TODO list: