Reference · Rust Crates & Prelude API
Rust SDK 核心 API 参考
GPUX 由 7 个分层职责清晰的 Rust Crates 组成,所有日常开发所需的类型均汇总导出在 gpux::prelude::* 中。
Workspace Crates 架构矩阵
| Crate 名称 | 核心类型与 Trait | 职责描述 |
|---|---|---|
gpux | App, Store<T>, Router<R>, ThemeTokens, StyleSheet, ResponsiveContext | 顶层统一 SDK 门面与 gpui-kit 60+ 原生组件重导出 |
gpux-core | PlatformKind, GpuBackendKind, PlatformBackend, SafeAreaInsets, WindowConfig, AppManifest | 零平台耦合的跨端硬件抽象、Target Triple 映射与清单协议 |
gpux-desktop | DesktopBackend | macOS (Metal)、Linux (Vulkan/Wayland/X11)、Windows (DirectX 12) 桌面窗口宿主 |
gpux-mobile | MobileBackend | iOS (Metal)、Android (Vulkan NDK)、HarmonyOS NEXT (ArkUI XComponent) 移动宿主 |
gpux-web | WebBackend, WasmHostKind, WebFontFallback | 浏览器 WebGPU/WebGL2 WASM 渲染表面与 CJK 字体回退 |
gpux-bridge | ServiceRegistry | 强类型进程内零拷贝调用与跨语言 JSON-RPC 2.0 双模服务桥接器 |
gpux-plugins | Plugin, StandardSystemPlugin, NotificationPayload, HapticFeedbackKind | 官方系统级原生插件接口与剪贴板、存储、通知、触觉反馈实现 |
gpux::App 构建器 API
rust
use gpux::prelude::*;
fn main() -> anyhow::Result<()> {
App::new()
.title("GPUX Studio")
.size(1280.0, 800.0)
.plugin(StandardSystemPlugin::new())
.bind("math.double", |n: i64| Ok(n * 2))
.run()
}
Store<T> & Router<R>
Store::new(initial: T)— 创建基于Arc<RwLock<T>>的线程安全响应式状态容器。store.get() -> T/store.update(|state: &mut T| ...)— 读取快照或原子修改状态并触发订阅者回调。Router::new(root: R)— 创建类型安全的导航栈,支持push(route)、pop()、replace(route)与current()。