Silemetry v0.2.0
Added🌟
GPU workload bridge 🔥
- Added
GPUWorkloadManager - Added native Metal compute workload
- Added two GPU levels: Moderate and Maximum
- Added continuous command-buffer submission during GPU load phases
- Added correct GPU start/stop behavior across completion and interruption
Stress Type 🤔
Added three workload modes:
- CPU Only
- GPU Only
- CPU + GPU
The selected mode now controls workload startup, visible configuration fields, phase labels, and result semantics.
Core Target 🤖
Added CPU workload targeting for:
- all cores
- performance cores
- efficiency cores
The native workload API now accepts a core type and maps it to macOS QoS classes.
Custom Test
Added a complete custom-test configuration view with:
- Stress Type
- Core Target
- GPU Level
- baseline duration
- load duration
- cooldown duration
- sample interval
- ambient temperature
The internal transition phase remains fixed at 5 seconds and is no longer exposed as a user-facing setting.
Dynamic device profile 💻
Added DeviceProfile and connected it to:
- Home
- Diagnostics
- History
- Results
- Compare
- interrupted-run persistence
Detected fields include model identifier, chip name, CPU core count, P/E topology, memory, macOS version, and Metal device.
Saved runs now keep the device information captured during the test.
Improved
Battery status
Added reusable BatteryStatusIcon.
It now distinguishes:
- charging
- running on battery
- unavailable state
- Low Power Mode
The icon and battery percentage use the same power-source snapshot.
Phase status
Added reusable StatusPill.
It uses adaptive labels and prevents phase names such as Monitoring from wrapping inside the capsule.
Home
- Replaced hardcoded Apple M4 device text with dynamic device information
- Updated battery and thermal status presentation
History
- Added device summary to each run
- Preserved compatibility with legacy records
Compare
- Added compatibility checks for the new device fields
- Added legacy fallback behavior
- Improved different-device identification