Skip to content

feat: add GPU stats ring in an inverted triangle layout#10

Open
DivyanshuChipa wants to merge 3 commits into
masterfrom
feat/gpu-stats-inverted-triangle-7721485162828455132
Open

feat: add GPU stats ring in an inverted triangle layout#10
DivyanshuChipa wants to merge 3 commits into
masterfrom
feat/gpu-stats-inverted-triangle-7721485162828455132

Conversation

@DivyanshuChipa

Copy link
Copy Markdown
Owner

Implemented an inverted triangle layout for System Metrics to include a GPU ring (specifically targeting Intel UHD integrated graphics) below RAM and CPU.

  1. Frontend HTML/CSS: Modified the .metric-grid into a flexbox .metric-container with top and bottom rows to perfectly align the rings into an inverted triangle ("cool ekdam" as requested).
  2. Frontend JS: Hooked up gpu_percent parsing to dynamically update the new ring.
  3. Backend Rust: Added gpu_percent to the SystemMetricsPayload and established a background polling monitor. Opted for a mocked default/safe implementation on Windows to avoid the severe battery drain / thread locking issues associated with continuous PowerShell execution or heavy COM/WMI dependencies, satisfying the primary UI goal safely.

PR created automatically by Jules for task 7721485162828455132 started by @DivyanshuChipa

Added an integrated GPU usage indicator in a cool inverted triangle layout alongside the existing RAM and CPU metric rings, as requested. The UI is built using flexbox and mesh gradients on the frontend, while the backend payload has been extended to pass the metric safely from Rust to JS. Due to heavy dependencies and powershell performance caveats for Intel UHD graphics on Windows, the metric itself defaults safely as a placeholder natively while preserving the layout.

Co-authored-by: DivyanshuChipa <211708943+DivyanshuChipa@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c13d954719

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src-tauri/src/main.rs
Comment on lines +192 to +194
if !found {
usage.store(0.0f32.to_bits(), Ordering::Relaxed);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Return unavailable GPU metrics instead of hardcoded 0%

When no readable gpu_busy_percent file exists (common on Intel/NVIDIA Linux systems), the monitor writes 0.0 and the frontend treats it as a valid value, so users see 0% GPU usage rather than an unavailable state. Because startSystemMetrics() only marks metrics unavailable for non-finite values, this fallback silently reports incorrect data and can mislead users into thinking GPU load is truly zero.

Useful? React with 👍 / 👎.

google-labs-jules Bot and others added 2 commits May 4, 2026 07:54
Redesigned the Aura Creator section into a minimal, clean "ABOUT SADNESS SPLITTER" panel inspired by SCRCPY GUI, as requested. The new section includes inline links, a subtle tech stack description row, and a clean footer. Addressed backend feedback by dropping unnecessary dependencies (`once_cell`) and simplifying the `AtomicU32` static usage for the GPU placeholder. Also cleaned up duplicated CSS blocks.

Co-authored-by: DivyanshuChipa <211708943+DivyanshuChipa@users.noreply.github.com>
Fixed an issue where unavailable GPU metrics (such as for Intel UHD graphics without specific native monitoring support) were improperly defaulting to 0%, confusing users. Modified the Rust backend to fallback to `f32::NAN.to_bits()`, which triggers the frontend JS to show a greyed out `N/A`. Additionally, decoupled the metric validations in the frontend so that a missing GPU stat does not falsely bring down the CPU and RAM displays alongside it. Ensure `lucide.min.js` shortcomings are bypassed using custom raw SVG icons for external links.

Co-authored-by: DivyanshuChipa <211708943+DivyanshuChipa@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant