Releases: playcanvas/engine
Releases · playcanvas/engine
v1.71.1
v1.71.0
What's Changed
-
Updates to the Examples Browser:
-
WebGPU
- Fix to WebGPU vertex buffer setup (#6274)
- Initial support for GPU particles on WebGPU (#6275)
- Small changes to get CPU particles to work on WebGPU (#6277)
- UI Particles example enabled on WebGPU platforms as working now (#6278)
- WebGPU - video texture support (#6280)
- WebGPU: Improved filtering on float textures (#6281)
- WebGPU - request all optional features (#6285)
- Update Graphics markers to display better with hierarchy (#6290)
- Added mesh particles example (#6291)
- Updated one missed VSM shader chunk for WebGPU compatibility (#6348)
-
Gaussian Splatting
-
Build System
-
Other Fixes
- Workaround for Firefox WebGPU device creation fail (#6273)
- Fixes to Geometry classes JSDocs (#6282)
- Removed umd polyfill for pcx (#6289)
- Remove references to pcx namespace (#6304)
- [Fix] Fix to skydomeIntensity handling - Standard materials do not use it in some cases (#6308)
- Gizmo cleanup and bug fixes (#6323)
- Fix: Clean up lines for rendering even when the Layer is disabled (#6353)
- Fix buildUrl relative path support (#6354)
- Fix for glb load error (#6391)
- Fix for reloaded cubemaps assets (#6397)
v1.70.3
Bug fixes
- Fix: Clean up lines for rendering even when the Layer is disabled by @mvaligursky in #6353
- Fix buildUrl relative path support for WebGPU by @erikdubbelboer in #6354
- Add webpack ignore by @marklundin in #6359
- Removed umd polyfill for pcx by @kpal81xd in#6289
- Build fixes for 1.70 by @kpal81xd in #6360
Full Changelog: v1.70.2...v1.70.3
v1.70.2
Fixes
- Remove references to pcx namespace by @willeastcott in #6304
- Custom plugin to disable treeshaking on polyfill modules by @kpal81xd in #6332
Full Changelog: v1.70.1...v1.70.2
v1.70.1
##Fixes
- Workaround for Firefox WebGPU device creation fail by @mvaligursky in #6273
- Fix to WebGPU vertex buffer setup by @mvaligursky in #6274
- Fixes to Geometry classes JSDocs @mvaligursky in #6282
- Small fixups for JSDocs by @mvaligursky in #6283
- Fix to skydomeIntensity handling - Standard materials do not use it in some cases by @mvaligursky in #6308
- Added unbundled engine source to published package by kpal81xd in #6310
Full Changelog: v1.70.0...v1.70.1
v1.70.0
New Features
- WebGPU Compute shader support by @mvaligursky in #6258, #6226, #6268, #6186 and #6201
- Khronos PBR Neutral tone mapper for e-commerce by @mvaligursky in #6271 and #6272
- Add convex hull support to CollisionComponent by @willeastcott in #6267
- Support for KHR_materials_dispersion glTF extension by @mvaligursky in #6151
- Support for sharpening inside the compose render pass, needed for TAA by @mvaligursky in #6144
- Support for dithering using interleaved gradient noise by @mvaligursky in #6166
- Tri class to core engine by @kpal81xd in #6203
- Mesh can be created and used without vertex attributes by @mvaligursky in #6232
Other changes
- Refactored VertexBuffer constructor to hide more params into options by @mvaligursky in #6240
- LightComponent properties port to get/set by @kpal81xd in #6114
- Migrate input unit tests from Karma to Node by @willeastcott in #6133
- Remove JSDoc by @willeastcott in #6132
- Refactor input-related code by @willeastcott in #6134
- Removed class replacement typefix by @kpal81xd in #6140
- Component properties port to get/set by @kpal81xd in #6145
- Add extras.mjs to exported files by @marklundin in #6153
- Add publint by @marklundin in #6154
- Appbase Callbacks JSDoc by @kpal81xd in #6149
- WIP - dither transparency with TAA by @mvaligursky in #6159
- Typedoc hide exported classes by @kpal81xd in #6161
- ParticleSystemComponent properties port to get/set by @kpal81xd in #6141
- Hide data getter overrides in LightComponent and ParticleSystemComponent by @kpal81xd in #6162
- ButtonComponent properties port to get/set by @kpal81xd in #6163
- CollisionComponent properties port to get/set by @kpal81xd in #6164
- Removes vertex-format type fix by @kpal81xd in #6124
- Small refactor in preparation of context lost handling for WebGPU by @mvaligursky in #6170
- ElementComponent properties port to get/set by @kpal81xd in #6169
- removed excess tsignores by @kpal81xd in #6173
- Update package-lock.json by @willeastcott in #6174
- Tidy up Karma tests by @willeastcott in #6175
- Remove @Augments JSDoc tag by @willeastcott in #6176
- Use @ignore over @hideconstructor by @willeastcott in #6177
- Misc type fixes by @willeastcott in #6178
- Improve typing for Anim APIs by @willeastcott in #6179
- Improve docs for Entity#destroy by @willeastcott in #6180
- ScrollViewComponent & ScrollbarComponent properties port to get/set by @kpal81xd in #6182
- More docs and types improvements by @willeastcott in #6185
- Remove json model mesh splitting to work around uniform limits by @mvaligursky in #6188
- Dispatch multiple compute shaders in a single compute pass by @mvaligursky in #6187
- Update mesh.js by @IRobot1 in #6194
- Upgrade Chai to 5.x by @willeastcott in #6197
- Regenerate package-lock.json by @willeastcott in #6198
- Simplify jsdocs types for the Mesh and VertexIterators API by @mvaligursky in #6202
- Use indexed rendering for gplats by @mvaligursky in #6204
- Removed VoxParser by @kpal81xd in #6207
- Update createTree to use correct parameters by @benbean303 in #6211
- GSplat rendering no longer uses instancing by @mvaligursky in #6213
- Compute shader bind group can specify textures without samplers by @mvaligursky in #6216
- Simplified BindGroup constructor by @mvaligursky in #6221
- Renamed BindBufferFormat to BindUniformBufferFormat by @mvaligursky in #6222
- Engine build rework by @kpal81xd in #6219
- Sourcemap revert to inline by @kpal81xd in #6227
- ESM attributes rename by @marklundin in #6229
- Build wrapper by @kpal81xd in #6239
- Add CORS header by @marklundin in #6243
- ESM Attributes check by @marklundin in #6245
- The Preprocessor class now handles includes by @mvaligursky in #6242
- ESM Scripts lower camel case by @marklundin in #6251
- Basic shader generation refactoring by @mvaligursky in #6250
- Add Script alias by @marklundin in #6237
- Updated handling of defines specified by a shader definition by @mvaligursky in #6253
- Do not create a sky shader variant based on skyIntensity being equal to 1 by @mvaligursky in #6254
- Exposed gizmo color alpha by @kpal81xd in #6249
- Extras merged into engine by @kpal81xd in #6228
- ES6 createScript by @kpal81xd in #6147
- Split primitives.js into separate modules by @mvaligursky in #6259
- Procedural geometry refactoring, createMesh and similar deprecation by @mvaligursky in #6261
- WebGPU - skip unsupported device limits when creating device by @mvaligursky in #6263
- DomeGeometry for the skydome rendering - refactor by @mvaligursky in #6266
- Converted skydome shader generator to use defines and includes by @mvaligursky in #6269
Fixes
- WebXR XRSession.enabledFeatures missing workaround by @Maksims in #6181
- Fix omni lights shadows on WebGPU by @mvaligursky in #6165
- [Fix] Fix the shader linking after the lost context has been restored. by @mvaligursky in #6146
- [Fix] reset internal cached state for face culling when the device is restored by @mvaligursky in #6155
- Removed circular self dependency by @kpal81xd in #6168
- Fix the incorrectly exposed PostEffect type parameter by @mvaligursky in #6167
- Small fixes to jsdocs by @mvaligursky in #6200
- Engine Watch fix by @kpal81xd in #6205
- Clear vertex buffer on empty instance buffer inside drawInstance by @heretique in #6208
- JSDoc import dollar fixes by @kpal81xd in #6215
- Handle a render pass debug logging issue where index is not provided by @mvaligursky in #6238
- Fix color buffer clear when using partial viewport by @mvaligursky in #6241
- Fix to recent VertexBuffer refactoring by @mvaligursky in #6246
- checks rollup args for if environment flag is included by @kpal81xd in #6247
- WebXR fix overlaping rAF callbacks by @Maksims in #6244
- Require all supported WebGPU limits when creating a device by @mvaligursky in #6255
- Fix crash in GsplatMany example on WebGL due to no WebGL1 splat support by @mvaligursky in #6264
Examples
v1.69.2
Fixes
- Moved callbacks inside appbase scope by @kpal81xd in #6149
- Typedoc hide exported classes by @kpal81xd in #6161
- Fix omni lights shadows on WebGPU @mvaligursky in #6165
- Removed circular dep file from package by @kpal81xd in #6168
- Fix the incorrectly exposed PostEffect type parameter by @battall and @mvaligursky and (#6167)
Full Changelog: v1.69.1...v1.69.2
v1.69.1
Fixes
- Modified regex for root path (example publish fix) by @kpal81xd in #6137
- [Fix] Fix the shader linking after the lost context has been restored. by @mvaligursky in #6146
- Add extras.mjs to exported files by @marklundin in #6153
- [Fix] reset internal cached state for face culling when the device is restored by @mvaligursky in #6155
Full Changelog: v1.69.0...v1.69.1
v1.69.0
What's Changed
- TAA reprojection by @mvaligursky in #6048
- Bundles Refactor by @Maksims in #5675
- Optimize shader processor by @mvaligursky in #6067
- Mesh collision improvements by @LeXXik in #5818
- Mesh collision optimization by @LeXXik in #6087
- Add support for R16F and RG16F texture formats by @mvaligursky in #6128
- Gizmo uniform scaling update by @kpal81xd in #5999
- Add API docs for MiniStats by @willeastcott in #6010
- Assign categories to constants by @willeastcott in #6012
- Fix some developer site links by @willeastcott in #6013
- Update some links embedded in the source by @willeastcott in #6014
- Update README files by @willeastcott in #6019
- Expose docs for GSplatResource and GSplatComponent by @mvaligursky in #6021
- Implement changes to WebGPU timestamp-query by @erikdubbelboer in #6001
- Double buffer TAA’s accumulation buffer in preparation for last frame reprojection by @mvaligursky in #6025
- Simplify RenderPassDepth to use automatic render target resizing provided by the base class by @mvaligursky in #6029
- Add support for debug rendering obbs by @slimbuck in #6023
- Extracted renderForwardLayer function to the renderer by @mvaligursky in #6031
- GSplat mateirlal can create a PICK shader pass version of the shader by @mvaligursky in #6033
- Load compressed ply elements by default by @slimbuck in #6034
- Small refactor to ForwardRenderer.renderForwardLayer to allow additional options by @mvaligursky in #6035
- Small clean up to depth rendering by @mvaligursky in #6037
- Don't upload texture if locked using TEXTURELOCK_READ by @liamdon in #6003
- Make sure render pass name is valid for derived classes by @mvaligursky in #6039
- WebXR - expose APIs to docs and some minor improvements by @Maksims in #6042
- RenderPassPrepass implementation by @mvaligursky in #6040
- Change ResourceHandler from interface to base class by @willeastcott in #5574
- Expose AppOptions and correct its types by @mvaligursky in #5986
- Gizmo grid and mesh shaders by @kpal81xd in #6036
- Add Asset category for API reference by @willeastcott in #6051
- publish on a new tag by @isumygin-sc in #6057
- dry run removed by @isumygin-sc in #6059
- Small cleanup of SkinInstance by @mvaligursky in #6064
- Resource Handler (handlerType in constructor) by @kpal81xd in #6068
- WebXR request hand-tracking for AR as well. by @Maksims in #6069
- Update to WGSL shader creation - formats are passed in the shaderDefinition by @mvaligursky in #6071
- Rename playcanvas-extras build by @marklundin in #6075
- WebXR - expose framebuffer scale factor by @Maksims in #6074
- Link WebGL shaders immediately after compilation by @mvaligursky in #6076
- WebXR FrameRate by @Maksims in #6077
- Remove es6 polyfills by @marklundin in #6079
- Refactor of the shader validation by @mvaligursky in #6081
- Small shader initialization cleanup / optimization by @mvaligursky in #6083
- Object entries polyfill by @marklundin in #6080
- Tech to allow async shader compilation, disabled by @mvaligursky in #6084
- Remove section on source maps from README by @willeastcott in #6086
- When WebGPU validation fails, current markers are logged out by @mvaligursky in #6089
- Assert when current version of Ammo does not implement now required triMesh.getIndexedMeshArray by @mvaligursky in #6092
- Add banner for single-file ESM bundles + fixing type error by @kungfooman in #6095
- Add rollup import transform by @marklundin in #6090
- Improvement to GPU markers reporting of render passes by @mvaligursky in #6096
- Vectorize the covariance calculation by @kemchenj in #6098 and #6100
- Allow graphics device to be provided to Application by @slimbuck in #6099
- WebGPU Transpiler absolute path by @kpal81xd in #6103
- Small change to splat shader in a way model matrix is used by @mvaligursky in #6101
- GPU optimization to gsplat rendering by @mvaligursky in #6104
- Added worker environment by @marklundin in #6108
- Update banner to mention MIT license by @willeastcott in #6111
- Update README files to show ESM usage by @willeastcott in #6112
- Tsc Types config cleanup by @kpal81xd in #6115
- BundleHandler max retries by @kpal81xd in #6118
- Tiny splat shader refactoring by @kemchenj in #6106
- Use more compact texture formats storing GSplat data by @mvaligursky in #6129
Fixes
- Fix material error on scale gizmo by @kpal81xd in #5998
- Export Gizmo constants correctly by @willeastcott in #6000
- Fix Gizmo nodes type by @willeastcott in #6008
- [Fix[ Fixed incorrect test for enabled shadow dithering by @mvaligursky in https://github.com//pull/6015
- [Fix] Temporary fix to lightmapper for WebGL by @mvaligursky in #6016
- Gizmo Ortho Rotation fixes by @kpal81xd in #6027
- Gizmo scaling fix by @kpal81xd in #6028
- [Fix] Fix to render composition update if multiple cameras use render passes by @mvaligursky in #6046
- typo by @slimbuck in #6054
- ResourceHandler type fix (constructor parameters) by @kpal81xd in #6063
- Fix issue with script name casing by @marklundin in #6066
- Added ES6 bundle output by @marklundin in #6073
- WebXR Fixed Foveation by @Maksims in #6078
- Fix ENV var target by @marklundin in #6091
- [Fix] WebGPU mesh rendering uses primitive.base correctly by @mvaligursky in #6093
- Engine export fixes by @kpal81xd in #6109
- ScriptType handlers type fix by @kpal81xd in #6123
- Revert "ScriptType handlers type fix" by @kpal81xd in #6125
- Removes source mappings from unbundled builds by @marklundin in #6121
- Adding globalThis typeof check by @marklundin in #6127
- Fix the render target release in the RenderPassDepth (WebGL1 only) by @mvaligursky in #6131
Examples
- Examples Overhaul by @kpal81xd in #6060
- Gizmo example JSDoc by @kpal81xd in #6002
- [Fix examples] Change the path to make sure it deploys by @mvaligursky in #6017
- Fix multi-app example by @erikdubbelboer in #6020
- Fix engine example ExampleOptions params by @erikdubbelboer in #6007
- Examples cleanup by @kpal81xd in #6005
- [Examples] Integer-texture (sand) Remove the quad mouse movement. by @mvaligursky in #6032
- Examples cleanup (2nd pass) by @kpal81xd in #6041
- Conve...