@kitware/vtk.js 29.7.2 → 29.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -185,8 +185,10 @@ function vtkHttpDataSetReader(publicAPI, model) {
185
185
  // cacheArrays[arrayId] can be a promise or value
186
186
  Promise.resolve(cachedArraysAndPromises[arrayId]).then(cachedArray => {
187
187
  if (array !== cachedArray) {
188
- // Update last access for cache retention rules
189
- cachedArraysMetaData[arrayId].lastAccess = new Date();
188
+ // Update last access for cache retention rules (if caching is enabled)
189
+ if (model.maxCacheSize) {
190
+ cachedArraysMetaData[arrayId].lastAccess = new Date();
191
+ }
190
192
 
191
193
  // Assign cached array as result
192
194
  Object.assign(array, cachedArray);
@@ -148,12 +148,8 @@ function vtkFramebuffer(publicAPI, model) {
148
148
  }
149
149
  };
150
150
  publicAPI.getSize = () => {
151
- const size = [0, 0];
152
- if (model.glFramebuffer !== null) {
153
- size[0] = model.glFramebuffer.width;
154
- size[1] = model.glFramebuffer.height;
155
- }
156
- return size;
151
+ if (model.glFramebuffer == null) return null;
152
+ return [model.glFramebuffer.width, model.glFramebuffer.height];
157
153
  };
158
154
  publicAPI.populateFramebuffer = () => {
159
155
  if (!model.context) {
@@ -241,7 +241,7 @@ function vtkOpenGLHardwareSelector(publicAPI, model) {
241
241
  model.framebuffer.setOpenGLRenderWindow(model._openGLRenderWindow);
242
242
  model.framebuffer.saveCurrentBindingsAndBuffers();
243
243
  const fbSize = model.framebuffer.getSize();
244
- if (fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
244
+ if (!fbSize || fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
245
245
  model.framebuffer.create(size[0], size[1]);
246
246
  // this calls model.framebuffer.bind()
247
247
  model.framebuffer.populateFramebuffer();
@@ -184,10 +184,8 @@ function vtkOpenGLRenderWindow(publicAPI, model) {
184
184
  return model.containerSize || model.size;
185
185
  };
186
186
  publicAPI.getFramebufferSize = () => {
187
- if (model.activeFramebuffer) {
188
- return model.activeFramebuffer.getSize();
189
- }
190
- return model.size;
187
+ const fbSize = model.activeFramebuffer?.getSize();
188
+ return fbSize || model.size;
191
189
  };
192
190
  publicAPI.getPixelData = (x1, y1, x2, y2) => {
193
191
  const pixels = new Uint8Array((x2 - x1 + 1) * (y2 - y1 + 1) * 4);
@@ -133,7 +133,8 @@ function vtkLineIntegralConvolution2D(publicAPI, model) {
133
133
  }
134
134
  const gl = model.context;
135
135
  let fb = model.framebuffer;
136
- if (!fb || size[0] !== fb.getSize()[0] || size[1] !== fb.getSize()[1]) {
136
+ const fbSize = fb.getSize();
137
+ if (!fb || !fbSize || size[0] !== fbSize || size[1] !== fbSize) {
137
138
  fb = vtkOpenGLFramebuffer.newInstance();
138
139
  fb.setOpenGLRenderWindow(model._openGLRenderWindow);
139
140
  fb.saveCurrentBindingsAndBuffers();
@@ -813,7 +813,7 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
813
813
  model.framebuffer.populateFramebuffer();
814
814
  } else {
815
815
  const fbSize = model.framebuffer.getSize();
816
- if (fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
816
+ if (!fbSize || fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
817
817
  model.framebuffer.create(size[0], size[1]);
818
818
  model.framebuffer.populateFramebuffer();
819
819
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitware/vtk.js",
3
- "version": "29.7.2",
3
+ "version": "29.7.3",
4
4
  "description": "Visualization Toolkit for the Web",
5
5
  "keywords": [
6
6
  "3d",