vercel-labs/vgpu
 Watch   
 Star   
 Fork   
11 days ago
vgpu

v0.5.0-rc.0

v0.5.0-rc.0

First release candidate for the 0.5.0 minor. This is an opt-in prerelease published to npm next; latest remains on the stable release.

npm install vgpu@next

All seven public packages are versioned together at 0.5.0-rc.0.

Highlights

  • Explicit, unified texture creation: kind, spatial size, array layers, and nonempty usage, with immutable creation metadata.
  • Texture readback supports explicit mip selection, mip-relative regions, and every selected layer or slice, with early allocation and usage validation.
  • Safer texture replacement and resource lifetime handling, including stale bundle detection and separate compute/draw cache ownership.
  • Linux Node rendering defaults to Vulkan, avoiding Dawn's restricted-mip-view/storage-write defect on OpenGL. macOS, Windows, and browser defaults are unchanged.
  • Atmosphere & Clouds example with temporally accumulated haze, filtered near cloud shadows, and smoothed scene controls.

Migration required

This pre-1.0 minor includes breaking API changes: Texture.resize() and Target/Surface read delegates are removed. Replace texture allocations explicitly, and read from a selected attachment with texture.read({ mipLevel: 0, region: "all" }) or readFloats(options).

See the texture API migration guide for before/after examples.

Linux installations need a usable Vulkan driver or an installed portable CPU renderer (npx vgpu install-software-renderer). Auto mode does not silently fall back to OpenGL or download drivers. Explicit OpenGL overrides remain available with the documented upstream limitation.

Please validate texture creation/replacement, cropped and layered readback, and Linux rendering in your applications before stable promotion.

12 days ago
vgpu

v0.4.1

What's Changed

Full Changelog: https://github.com/vercel-labs/vgpu/compare/v0.4.0...v0.4.1

17 days ago
vgpu

v0.4.0

What's Changed

New Contributors

Full Changelog: https://github.com/vercel-labs/vgpu/compare/v0.3.1...v0.4.0

17 days ago
vgpu

v0.4.0-rc.0

Release candidate 0 for the 0.4.0 minor line. Adds the vgpu/three adapter for using resolved WGSL function exports from Three.js TSL, exposes WGSL function-export metadata and validation helpers, and makes callback-based frames atomic by cancelling unsubmitted work when callbacks throw.

Publishes all fixed-group packages to the npm next dist-tag for testing before the stable release.

26 days ago
vgpu

v0.3.1

Stable 0.3.1 release. Adds the local STDIO and hosted HTTP MCP servers for VGPU docs and verified examples, improves online examples portability on macOS and Windows, and keeps failed WGSL imports watched for recovery. Promotes the tested 0.3.1-rc.0 line and publishes all fixed-group packages to the latest dist-tag.

26 days ago
vgpu

v0.3.1-rc.0

Release candidate 0 for the 0.3.1 patch line. Adds the local STDIO and hosted HTTP MCP servers for VGPU docs and verified examples, improves online examples portability on macOS and Windows, and keeps failed WGSL imports watched for recovery. Publishes all fixed-group packages to the next dist-tag.

2026-08-05 21:31:15
vgpu

v0.3.0

First lockstep release: all published packages now version together (0.3.0 across the board). Highlights: honest tri-state shader validation (validate: off/auto/require — note: bundler loaders never validate WGSL; the validation gate is npx vgpu check --require-validation), plain-data EntryPointInfo reflection with the new reflectSource reference page, non-ASCII identifier rejection with clear diagnostics, WGSL compiler fixes (module-scope shadowing, leading-dot float literals, comparison-operator scope activation, post-minify validation), @vgpu/wgsl/runtime reachable from CommonJS, adapter-node software-renderer notice, examples handshake error-code ordering, and vgpu docs find ranking. Cycle: rc.0 → 2 independent dogfoods → rc.1 (3 fixes) → verified promotion.

2026-08-05 13:11:55
vgpu

v0.3.0-rc.1

Release candidate 1. Adds on top of rc.0: silence webpack build-dependency warnings from the validation device loader (literal specifier, #314), @vgpu/wgsl/runtime reachable from CJS documented (#312), reflectSource/Reflection/EntryPointInfo reference page + explicit loader-validation semantics (#313). Publishes to dist-tag next.

2026-08-05 06:46:52
vgpu

v0.3.0-rc.0

Release candidate 0. Lockstep 0.3.0 across all published packages (fixed group, #310). 13 changesets: WGSL compiler fixes (mangler shadowing, leading-dot floats, scope activation, post-minify validation), honest tri-state validate, plain-data EntryPointInfo reflection, non-ASCII identifier rejection, CJS-reachable runtime, adapter-node software-fallback notice, handshake gate reorder, docs find ranking. Publishes to dist-tag next.

2026-07-31 07:58:24
vgpu

v0.2.0

vgpu 0.2.0

The tree-shakeable, gpu-first release. npm install vgpu

Highlights

  • Free functions over a minimal kernel: effect(gpu, shader), draw(gpu, …), geometry(gpu, …), frame(gpu, cb), clock(gpu) — apps pay only for what they import (an effect-only app ships ~25 KB gzip; init() alone is ~1 KB). The gpu.* facade is gone; see the migration table in the package CHANGELOG.
  • Typed WGSL imports everywhere: .wgsl files import as typed modules in webpack, Vite, Next.js (guide included) and plain Node; third-party and monorepo workspace WGSL packages resolve in every layout (npm, pnpm, Yarn PnP).
  • Perlin and simplex noise in @vgpu/wgsl-std (noise/perlin, noise/simplex + fbm variants) with guaranteed (-1,1) ranges, GPU-verified against a bit-exact reference — and @vgpu/wgsl-std now ships with vgpu.
  • Mesh→Geometry rename, scene tree phase 1, per-experience bundle budgets enforced in CI, clearColor per target, frame.cancel(), external-ticker support via clock(gpu).advance().
  • Agent-first docs: npx vgpu guides you (or your agent) to the offline docs workflow; vgpu docs find matches what agents actually type; runnable examples served from https://vgpu.sh.

Validated by three independent agent-driven integration builds (Next.js, Vite, headless Node) before promotion. Full details in each package's CHANGELOG.