Skip to content

Releases: software-mansion/TypeGPU

v0.4.4

25 Feb 15:30
e1741a2
Compare
Choose a tag to compare

🐞 Bug fixes/stabilization

  • feat: Check for invalid length in arrayOf and disarrayOf by @mhawryluk in #941
  • fix: Better type hints for inferred struct (& unstruct) schemas by @iwoplaza in #938

📖 Docs/DX

  • docs: Function visualizer example by @aleksanderkatan in #894
  • docs: Add multisampling to function visualizer by @reczkok in #903
  • docs: Display errors thrown by Controls event handlers by @aleksanderkatan in #901
  • chore: Remove CodeSandbox continuous releases workflow by @mhawryluk in #940
  • build(deps): bump astro from 5.3.0 to 5.3.1 by @dependabot in #946
  • build(deps): bump @astrojs/starlight from 0.32.0 to 0.32.1 by @dependabot in #945
  • build(deps): bump starlight-blog from 0.17.2 to 0.17.3 by @dependabot in #944
  • dx: Fetch dependency versions automatically from codebase in openInStackBlitz function by @mhawryluk in #939

🧪 Unstable APIs

  • fix: Type inference for VertexLayouts with decorated data by @reczkok in #933
  • feat: root.unwrap for samplers by @mhawryluk in #872

Full Changelog: v0.4.3...v0.4.4

v0.4.3

21 Feb 13:13
f7b2b66
Compare
Choose a tag to compare

🗿 Stability

  • fix(typegpu): Deprecate and rename Uniform, Vertex and Storage to UniformFlag, VertexFlag and StorageFlag to avoid ambiguity with global Storage type by @aleksanderkatan in #906
  • bump: typegpu 0.4.3 by @iwoplaza in #932

📖 Docs/DX

  • docs: Twoslash integration for better code-blocks by @iwoplaza in #895
  • chore: Update to pnpm 10.x by @iwoplaza in #905
  • chore: Linking from source directory in local dev by @iwoplaza in #923
  • chore: Fix dependabot configuration by @iwoplaza in #907
  • chore: Use the catalog: protocol for grouping version ranges by @iwoplaza in #930
  • build(deps): bump lucide-react from 0.474.0 to 0.475.0 by @dependabot in #922
  • build(deps-dev): bump astro-vtbot from 1.10.7 to 2.0.6 by @dependabot in #920
  • build(deps-dev): bump @types/node from 20.17.19 to 22.13.4 by @dependabot in #915
  • build(deps): bump motion from 12.4.4 to 12.4.5 by @dependabot in #928
  • build(deps): bump monaco-editor from 0.50.0 to 0.52.2 by @dependabot in #926

🧪 Unstable

Full Changelog: v0.4.2...v0.4.3

v0.4.2

18 Feb 11:48
d8cbfbb
Compare
Choose a tag to compare

This version brings substantial improvement to vector performance, alongside minor fixes and changes to unstable APIs 🚀

🗿 Bug-fixes/stabilization

  • perf(typegpu): Vector implementation without using Proxy by @deluksic #779
  • fix(typegpu): Throw NotStorageError instead of NotUniformError when unwrapping invalid bind group storage entry. by @iwoplaza in #888

📖 Docs/DX

  • docs: Make game of life and increment examples stable by @mhawryluk in #865
  • docs: Make colors in game of life example independent from resolution by @mhawryluk in #869
  • docs: Functions guide and triangle example by @mhawryluk in #849, #882
  • chore: Allow PR-builds to be compared with other versions in the benchmark app by @mhawryluk in #867
  • docs: Select controls in Stackblitz integration by @mhawryluk in #887
  • chore: Use packages from source in development, instead of the watch&rebuild cycle by @iwoplaza in #879
  • chore: Use typegpu plugin in StackBlitz integration by @mhawryluk in #892

🧪 Unstable

  • fix: In .beginRenderPass, handle vertex buffers coming from .setVertexBuffer calls as well as priors by @iwoplaza in #880
  • fix: Handle externals in values of object expressions by @iwoplaza in #884

Full Changelog: v0.4.1...v0.4.2

v0.4.1

12 Feb 17:29
dbfd03c
Compare
Choose a tag to compare

🐞 Oopsies

  • chore(typegpu): Make tgpu.vertexLayout stable by @iwoplaza in #862

Full Changelog: v0.4.0...v0.4.1

v0.4.0

12 Feb 16:16
6dc4f50
Compare
Choose a tag to compare

🚀 Features

A new tgpu.vertexLayout API is now stable! It allows vertex layouts to be defined with type-safe schemas, and streamlines their use in WGSL shaders.

  • feat: Vertex layouts can be unwrapped with root.unwrap by @reczkok in #781
  • feat: Resolvable unstructs by @reczkok in #781

Alongside writing to buffers in-whole, portions of a buffer can now be updated with buffer.writePartial(...).

  • feat: Portions of buffers can be written to in a type-safe way by @reczkok in #808

🗿 Stabilization/refactors

📖 Docs/DX

  • docs: Use writePartial() in fluid with atomics example and update buffer docs by @reczkok in #856
  • chore: Add explicit type to bindGroupLayout calls in docs and examples by @reczkok in #860

🧪 Unstable

  • feat: Matrix multiplication in typegpu/std by @mhawryluk in #832
  • feat: Replace as*() functions with .as(*) for buffer usages by @mhawryluk in #836
  • feat: Handle TGSL fragment functions, new std functions (mix, pow), improve WGSL parser, convert some examples to TGSL and QoL improvements by @reczkok in #846
  • bump(unplugin-typegpu): Version 0.1.0-alpha.1 by @iwoplaza in #858
  • bump(tinyest,tinyest-for-wgsl,unplugin-typegpu): New versions of auxiliary packages by @iwoplaza in #861

Full Changelog: v0.3.4...v0.4.0

v0.3.4

07 Feb 15:56
f20b7d5
Compare
Choose a tag to compare

🐞 Bug fixes/stabilization

  • fix(unplugin-typegpu): Make babel plugin target only calls to does with a function expression inside by @iwoplaza in #824
  • fix(unplugin-typegpu): Modify AST using babel/types instead of string expressions by @iwoplaza in #826
  • build(deps): bump vitest from 2.1.5 to 2.1.9 by @dependabot in #818
  • build(deps): bump the npm_and_yarn group across 3 directories with 5 updates by @dependabot in #819

📖 Docs/DX

🧪 Unstable

  • feat: Handle input for compute functions by @reczkok in #823

New Contributors

Full Changelog: v0.3.3...v0.3.4

v0.3.3

05 Feb 16:08
f730a2a
Compare
Choose a tag to compare

🐞 Bug fixes/stabilization

  • fix: Fix some more unexpected regex behaviors in resolution process by @mhawryluk in #794

📖 Docs/DX

🧪 Unstable

  • feat: Create typegpu babel plugin by @mhawryluk in #804
  • feat: Change vertexFn parameters to accept a struct each. Handle TGSL vertex shader resolution by @reczkok in #802
  • feat: Return proxy from .value properties by @mhawryluk in #795
  • feat(🫵): Add ptr<function, ...> schema by @iwoplaza in #806
  • feat: TGSL structs by @reczkok in #798
  • feat(🎁): Add an alternate slot-value propagation mechanism, allowing for slot values to pass through a derived boundary by @iwoplaza in #697

Full Changelog: v0.3.2...v0.3.3

v0.3.2

15 Jan 15:37
Compare
Choose a tag to compare

What's Changed

Documentation

Full Changelog: v0.3.1...v0.3.2

v0.3.1

15 Jan 14:08
b21791a
Compare
Choose a tag to compare

What's Changed

Unstable features (experimental)

  • Auto-use all struct types in the shell of WGSL-implemented functions by @mhawryluk in #752
  • Fix replacing object access identifiers in replaceExternalsInWgsl by @mhawryluk in #766
  • Remove experimental module by @mhawryluk in #782

Note

Unstable (experimental) features are now exported by the library and accessible through ['~unstable'] property or marked with "unstable_" prefix. Use with caution, API is sure to change.

Documentation

New Contributors

Full Changelog: v0.3.0...v0.3.1

v0.3.0

10 Jan 12:59
Compare
Choose a tag to compare

0.2 -> 0.3 Migration

  • Typed bind groups are now creating using root.createBindGroup(layout, ...) instead of layout.populate(...)
  • Size of schemas can be retrieved using sizeOf(...) instead of .size
  • Alignment of schemas can be retrieved using alignmentOf(...) instead of .byteAlignment
  • To copy a buffer into another buffer, use the .copyFrom API instead of .write

Features

Bug fixes

Documentation

Internal DX

Experimental

New Contributors

Full Changelog: v0.2.2...v0.3.0