Releases: software-mansion/TypeGPU
Releases · software-mansion/TypeGPU
v0.3.2
What's Changed
- Change how external object resolution regex works for RN by @mhawryluk in #792 #793
Documentation
- Hide camera examples on iOS Safari for now by @mhawryluk in #790
Full Changelog: v0.3.1...v0.3.2
v0.3.1
What's Changed
- Fix invalid bound type for samplers by @mhawryluk in #771
- Add interpolate attribute by @deluksic in #761
- Hide internal resolve API by @iwoplaza in #775
- Make
typegpu/std
public by @iwoplaza in #778 - More functions in typegpu/std by @iwoplaza in #776
- Object access in external resolution by @mhawryluk in #780
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
- 0.3 live examples mobile layout by @mhawryluk in #758
- Updated references of
Parsed
intoInfer
by @iwoplaza in #760 - Set boids example as flagship by @mhawryluk in #764
- Add f16 vector types to cheatsheet by @mhawryluk in #767
- Add missing jsdocs to the TgpuRoot type by @mhawryluk in #768
New Contributors
Full Changelog: v0.3.0...v0.3.1
v0.3.0
0.2 -> 0.3 Migration
- Typed bind groups are now creating using
root.createBindGroup(layout, ...)
instead oflayout.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
- Add support for f16 by @reczkok in #515
- Add
$idx
builder method to bindGroupLayouts by @mhawryluk in #533 tgpu.resolve
API by @reczkok, @mhawryluk in #535, #574- A rework of builtins as decorated data-types. by @iwoplaza in #567
- Exposing textures as bound from a bind group layout. by @iwoplaza in #600
- Data type schemas are pure objects, which allows TypeGPU to consume structurally valid schemas even if they do not come from TypeGPU by @iwoplaza in #594
- Improve labeling gpu objects by @mhawryluk in #626
- Move builtins to
typegpu/data
by @mhawryluk in #633 root.createBindGroup
API replacinglayout.populate
by @mhawryluk in #636- Separate API for writing from copying. by @iwoplaza in #615
- Allow only vertex usage for buffers containing loose data by @reczkok in #644
- Add support for vecX and update vertex attributes by @reczkok in #517
- Improve the behavior of
$addFlags
by @reczkok in #723 - Change resolve api by @reczkok in #737
Bug fixes
- Disallow runtime-sized data in uniforms by @mhawryluk in #619
- Better exotic inference by @iwoplaza in #607
- Destroy gpu device on root.destroy by @mhawryluk in #618
- Better import suggestions for
typegpu/data
by @iwoplaza in #719 - Add missing toString methods to TgpuResolvables by @mhawryluk in #751
Documentation
- StackBlitz integration by @mhawryluk in #538
- WebGPU Interoperability by @iwoplaza in #605
- Html editor integration in Live Examples by @mhawryluk in #504
- FIx losing scroll position when switching between html/ts tabs in Live Examples by @mhawryluk in #529
- Add example of MLP inference by @reczkok in #487
- Example controls definition via exported object by @mhawryluk in #543
- Update enabling WebGPU on Safari iOS by @PPojda in #553
- Improve null GPU adapter experience on Live Examples page by @mhawryluk in #565
- Updates the troubleshooting section of Getting Started. by @iwoplaza in #602
- Better root api docs by @iwoplaza in #608
- Work on game of life example and tutorial by @5ZYSZ3K in #597
- Update docs to use root.createBindGroup API by @mhawryluk in #638
- Allow for
* as d
wildcard imports in example code by @mhawryluk in #640 - Document
copyFrom
method by @mhawryluk in #646 - Fix resizable canvas being reset on code change by @mhawryluk in #675
- Add info about
$addFlags
method to buffer docs by @mhawryluk in #720 - Update pages for 0.3 release by @mhawryluk in #736
tgpu.resolve
by @mhawryluk in #724- Add jsdoc for resolve api and related functions by @reczkok in #741
Internal DX
- CodeSandbox CI config by @mhawryluk in #581
- Made use of Vitest fixtures to refactor tests. by @iwoplaza in #621
- Config for JSR publishing of "@typegpu/tinyest". by @iwoplaza in #666
Experimental
- Use plugin in examples by @reczkok in #610
- Update texture examples to use tgpu.resolve by @mhawryluk in #629
- Automatically add output struct to $uses for raw-WGSL implemented functions by @mhawryluk in #617
- Move slots into experimental
tgpu
. by @iwoplaza in #647 - Derived API by @iwoplaza in #655
- Make plugin not override anything passed in $uses by @reczkok in #674
- Create new
tgpu.declare
API by @mhawryluk in #669 - New
tgpu.const
andtgpu.var
API by @mhawryluk in #672 - Move standard functions to typegpu/std by @reczkok in #656
- Add validation when passing typed Textures to Bind Groups by @reczkok in #650
- Create
tgpu.accessor
API by @mhawryluk in #695 - Change how texture views are created. by @reczkok in #690
- Fix misleading error message when texture validation fails due to missing usage. by @reczkok in #687
- Rename loose data to
unstruct
anddisarray
by @mhawryluk in #733 - Handling unary operators & order of binary operators better. by @iwoplaza in #732
New Contributors
Full Changelog: v0.2.2...v0.3.0
v0.2.2
v0.2.1
v0.2.0
What's Changed
- A new
tgpu-gen
package for code generation by @mhawryluk & @reczkok in #405, #408, #415, #425, #424, #476, #477, #466, #486 tgpu.bindGroup
andtgpu.bindGroupLayout
by @iwoplaza in #378- Loose structs by @reczkok in #412
- Runtime sized arrays by @reczkok in #421
- Location attributes by @iwoplaza in #444
- New buffer $usage API by @mhawryluk in #475
- A synchronous
initFromDevice
API by @iwoplaza in #493 - Improved integration with
wgpu-matrix
by @reczkok in #492 - Deprecated the legacy buffer creation API by @mhawryluk in #506
Documentation
- Document TgpuArray objects and types via comments by @mhawryluk in #429
- Document TgpuStruct types and objects via comments by @mhawryluk in #438
- Document vector types and objects via comments by @mhawryluk in #459
- Document matrix types and objects via comments by @mhawryluk in #460
- Add docs for numerics. by @reczkok in #447
- docs: Updated palette and font to better match the branding by @iwoplaza in #448
- Document Atomic types and objects via comments by @mhawryluk in #452
- Link to blog on GPUUnsupportedPanel by @mhawryluk in #458
- docs: More engaging button animations, and reduced cumulative layout shift. by @iwoplaza in #462
- docs: Added roadmap and a link to discussions. by @iwoplaza in #481
- docs: Roots API by @iwoplaza & @mhawryluk in #483, #507
- Add guide for tgpu-cli. by @reczkok in #449
- Fix overflow in the roadmap section of the landing page by @mhawryluk in #491
- Add a guide on bind groups by @reczkok in #469
- docs: Updated navigation, added a "Why?" guide. by @iwoplaza in #502
Internal Changes
- Make loose data unresolvable by @reczkok in #395
- Reworked how attributes work. by @iwoplaza in #423
- Cleaning
out
directories only on production builds. by @iwoplaza in #437 - Wrote tests for sizing loose data. by @iwoplaza in #436
- fix: i32, f32 and u32 should not be assignable to each other. by @iwoplaza in #442
Full Changelog: v0.1.3...v0.2.0
v0.1.3
What's Changed
- impr: ResolutionCtx refactor by @iwoplaza in #323
- Callable primitives by @reczkok in #343
- Make structures impose byte alignment, instead of the primitives doing it themselves by @mhawryluk in #368
- Added utility functions to check schema types. by @iwoplaza in #397
Docs
- Control button definitions via comments + phase 1 gradient tiles variant by @mhawryluk in #317
- Copy over Boids phase 1 example by @mhawryluk in #324
- Add tags to examples and hide those marked as
experimental
by @reczkok in #316 - Bring back link to examples + some small visual adjustments by @mhawryluk in #329
- Change redirection rules by @reczkok in #331
- Hide experimental in editor when importing
typegpu
by @reczkok in #337 - Make examples page mobile friendly by @mhawryluk in #339
- Fixes to mobile examples page by @mhawryluk in #340
- Added a boids preset by @reczkok in #349
- Separate codeEditorShown atoms + some visual improvements by @mhawryluk in #347
- Remove draft doc link from sidenav by @mhawryluk in #374
- Fix mobile preview positioning by @mhawryluk in #376
- Display message when gpu is unsupported in place of preview by @mhawryluk in #346
Internal DX/Chore
- Removed husky and added CI by @reczkok in #315
- Create FUNDING.yml by @iwoplaza in #318
- Added dpdm as part of CI by @reczkok in #321
- Rename license file by @mhawryluk in #332
- Fix vertex shader types and tests by @reczkok in #348
Full Changelog: v0.1.2...v0.1.3
v0.1.2
v0.1.1
v0.1.0
Features in this release
- Zod-like schema definitions for WGSL data types
- Utility for creating type-safe buffers using schema definitions
- A type-safe wrapper for existing WebGPU buffers
- Read and write operations for typed buffers
New Contributors
- @iwoplaza made their first contribution in #1
- @mhawryluk made their first contribution in #8
- @reczkok made their first contribution in #10
Full Changelog: https://github.com/software-mansion/TypeGPU/commits/v0.1.0