把 WebGPU 程序塞进 PNG 图片里运行

Declarative WebGPU with S-Expressions

把 WebGPU 程序塞进 PNG 图片里运行

我花了两年半时间开发了 pngine,这是一个基于 S-expressions 的声明式 WebGPU 格式和运行时。它让你能用一种跨平台的方式声明并分发 WebGPU 的底层配置,包括 Shaders 和初始化代码,且不受浏览器限制,同样支持 Rust wgpu 以及 Android 和 iOS 平台。pngine 利用 WGSL 反射和规范检查,在无需实时 WebGPU 上下文的情况下验证配置,甚至提供 LSP 支持以便在编写时即时反馈。最酷的是,它能将一切打包成单个 .html、.zip 或 .png 文件。是的,你收到的 PNG 图片本身就是可运行的程序,其像素是预览图,而额外的二进制块则包含了字节码和运行时。这不仅是分享 Shader 的新方式,更是为 WebGPU 图形开发构建的一个可验证、可复现的底层基座。

当程序表示本身是普通的结构化数据时,它自动允许我们提前进行验证、重放、检查、压缩、序列化和机器生成,且所有能力都操作于同一表示之上。

同日更多故事

2026-08-23