1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[]
= "gpuviewer-core"
= true
= true
= true
= true
= true
= "Telemetry core for gpuviewer: vendor backends, data model, event derivation"
[]
= ["nvidia", "wddm", "apple"]
= ["dep:nvml-wrapper"]
# Effective on windows targets only (the `windows` dependency below is target-gated);
# enabling it elsewhere just turns on the wddm module's pure, any-OS-tested half.
= ["dep:windows"]
# macOS Apple Silicon backend (design §4/§8). dlopen2 + core-foundation are pre-staged
# for the §4.6-gated Tier C (private libIOReport via dlopen2 Option<fn>); Tier A needs
# only the objc2 family. They may be deferred to the unfreeze without breaking anything.
= [
"dep:core-foundation",
"dep:dlopen2",
"dep:objc2",
"dep:objc2-metal",
"dep:objc2-foundation",
]
[]
= true
[]
# legacy-functions: nvidia.rs's Windows pre-R510 fallback calls the _v2 process-list
# methods, which nvml-wrapper gates behind this feature (harmless on Linux — it only
# binds extra lazily-loaded symbols).
= { = "0.12", = true, = ["legacy-functions"] }
[]
# OS system libraries (pdh/gdi32/dxgi), not vendor SDKs — direct linking is allowed.
# Pin the minor: the Wdk_* feature namespace has moved between windows-rs releases.
= { = "0.62.2", = true, = [
"Win32_Foundation",
"Win32_System_Performance", # Pdh*
"Win32_Graphics_Dxgi", # CreateDXGIFactory1 / DXGI_ADAPTER_DESC1
"Wdk_Graphics_Direct3D", # D3DKMTOpenAdapterFromLuid / QueryAdapterInfo
# §3.5 process-name resolution (OpenProcess / QueryFullProcessImageNameW); needed by
# the wddm backend's process rows — absent from the design §8 feature list by omission.
"Win32_System_Threading",
] }
# Win32_Graphics_DXCore deliberately NOT enabled for v1.5 (prerelease telemetry states).
[]
= { = "0.10", = true }
= { = "0.8", = true }
# DECISION (2026-06-07, reversing design §4.3/§8's `features = ["exception"]`): the
# `exception` feature pulls objc2-exception-helper, which compiles an Objective-C shim
# (try_catch.m) via cc-rs at build time. Rejected twice over: (1) the all-Rust dependency
# rule — the only sanctioned compiled-C exception is rusqlite's bundled SQLite; (2) its
# build script uses the HOST cc, so Linux gcc chokes on `-arch arm64`, breaking the
# `cargo check -p gpuviewer-core --target aarch64-apple-darwin` gate. The hazard §4.3
# named (paravirt runners raising NSInvalidArgumentException on MISSING selectors —
# Godot #101773) is guarded in pure Rust instead: apple.rs checks `respondsToSelector:`
# before every Metal call, so an unanswered selector is a None field, never a throw.
# See the addendum in docs/design/cross-platform.md.
= { = "0.6", = true }
= { = "0.3", = true }
= { = "0.3", = true }