@deck.gl/core 9.2.2 → 9.2.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.
package/dist/dist.dev.js CHANGED
@@ -36501,7 +36501,17 @@ void main() {
36501
36501
  if (props.gl instanceof WebGLRenderingContext) {
36502
36502
  log_default.error("WebGL1 context not supported.")();
36503
36503
  }
36504
- deviceOrPromise = webgl2Adapter.attach(props.gl, this.props.deviceProps);
36504
+ const userOnResize = this.props.deviceProps?.onResize;
36505
+ deviceOrPromise = webgl2Adapter.attach(props.gl, {
36506
+ ...this.props.deviceProps,
36507
+ onResize: (canvasContext, info) => {
36508
+ const { width, height } = canvasContext.canvas;
36509
+ canvasContext.drawingBufferWidth = width;
36510
+ canvasContext.drawingBufferHeight = height;
36511
+ this._needsRedraw = "Canvas resized";
36512
+ userOnResize?.(canvasContext, info);
36513
+ }
36514
+ });
36505
36515
  }
36506
36516
  if (!deviceOrPromise) {
36507
36517
  deviceOrPromise = this._createDevice(props);
@@ -36572,18 +36582,8 @@ void main() {
36572
36582
  this.animationLoop.start();
36573
36583
  }
36574
36584
  this.animationLoop?.setProps(resolvedProps);
36575
- if (props.useDevicePixels !== void 0 && this.device?.canvasContext?.canvas instanceof HTMLCanvasElement) {
36576
- this.device.canvasContext.props.useDevicePixels = props.useDevicePixels;
36577
- const canvas2 = this.device.canvasContext.canvas;
36578
- const entry = {
36579
- target: canvas2,
36580
- contentBoxSize: [{ inlineSize: canvas2.clientWidth, blockSize: canvas2.clientHeight }],
36581
- devicePixelContentBoxSize: [
36582
- { inlineSize: canvas2.clientWidth, blockSize: canvas2.clientHeight }
36583
- ],
36584
- borderBoxSize: [{ inlineSize: canvas2.clientWidth, blockSize: canvas2.clientHeight }]
36585
- };
36586
- this.device.canvasContext._handleResize([entry]);
36585
+ if (props.useDevicePixels !== void 0 && this.device?.canvasContext) {
36586
+ this.device.canvasContext.setProps({ useDevicePixels: props.useDevicePixels });
36587
36587
  }
36588
36588
  if (this.layerManager) {
36589
36589
  this.viewManager.setProps(resolvedProps);
@@ -36810,6 +36810,7 @@ void main() {
36810
36810
  // we must use 'premultiplied' canvas for webgpu to enable transparency and match shaders
36811
36811
  alphaMode: this.props.deviceProps?.type === "webgpu" ? "premultiplied" : void 0
36812
36812
  };
36813
+ const userOnResize = this.props.deviceProps?.onResize;
36813
36814
  return luma.createDevice({
36814
36815
  // luma by default throws if a device is already attached
36815
36816
  // asynchronous device creation could happen after finalize() is called
@@ -36825,6 +36826,10 @@ void main() {
36825
36826
  canvas: this._createCanvas(props),
36826
36827
  useDevicePixels: this.props.useDevicePixels,
36827
36828
  autoResize: true
36829
+ },
36830
+ onResize: (canvasContext, info) => {
36831
+ this._needsRedraw = "Canvas resized";
36832
+ userOnResize?.(canvasContext, info);
36828
36833
  }
36829
36834
  });
36830
36835
  }
package/dist/index.cjs CHANGED
@@ -232,7 +232,7 @@ var json_loader_default = {
232
232
 
233
233
  // dist/lib/init.js
234
234
  function checkVersion() {
235
- const version = true ? "9.2.2" : globalThis.DECK_VERSION || "untranspiled source";
235
+ const version = true ? "9.2.3" : globalThis.DECK_VERSION || "untranspiled source";
236
236
  const existingVersion = globalThis.deck && globalThis.deck.VERSION;
237
237
  if (existingVersion && existingVersion !== version) {
238
238
  throw new Error(`deck.gl - multiple versions detected: ${existingVersion} vs ${version}`);
@@ -6794,6 +6794,7 @@ var defaultProps = {
6794
6794
  };
6795
6795
  var Deck = class {
6796
6796
  constructor(props) {
6797
+ var _a;
6797
6798
  this.width = 0;
6798
6799
  this.height = 0;
6799
6800
  this.userData = {};
@@ -6887,8 +6888,8 @@ var Deck = class {
6887
6888
  }
6888
6889
  };
6889
6890
  this._onPointerDown = (event) => {
6890
- var _a;
6891
- if (((_a = this.device) == null ? void 0 : _a.type) === "webgpu") {
6891
+ var _a2;
6892
+ if (((_a2 = this.device) == null ? void 0 : _a2.type) === "webgpu") {
6892
6893
  return;
6893
6894
  }
6894
6895
  const pos = event.offsetCenter;
@@ -6913,7 +6914,17 @@ var Deck = class {
6913
6914
  if (props.gl instanceof WebGLRenderingContext) {
6914
6915
  log_default.error("WebGL1 context not supported.")();
6915
6916
  }
6916
- deviceOrPromise = import_webgl.webgl2Adapter.attach(props.gl, this.props.deviceProps);
6917
+ const userOnResize = (_a = this.props.deviceProps) == null ? void 0 : _a.onResize;
6918
+ deviceOrPromise = import_webgl.webgl2Adapter.attach(props.gl, {
6919
+ ...this.props.deviceProps,
6920
+ onResize: (canvasContext, info) => {
6921
+ const { width, height } = canvasContext.canvas;
6922
+ canvasContext.drawingBufferWidth = width;
6923
+ canvasContext.drawingBufferHeight = height;
6924
+ this._needsRedraw = "Canvas resized";
6925
+ userOnResize == null ? void 0 : userOnResize(canvasContext, info);
6926
+ }
6927
+ });
6917
6928
  }
6918
6929
  if (!deviceOrPromise) {
6919
6930
  deviceOrPromise = this._createDevice(props);
@@ -6953,7 +6964,7 @@ var Deck = class {
6953
6964
  }
6954
6965
  /** Partially update props */
6955
6966
  setProps(props) {
6956
- var _a, _b, _c, _d, _e, _f, _g, _h;
6967
+ var _a, _b, _c, _d, _e, _f, _g;
6957
6968
  this.stats.get("setProps Time").timeStart();
6958
6969
  if ("onLayerHover" in props) {
6959
6970
  log_default.removed("onLayerHover", "onHover")();
@@ -6986,18 +6997,8 @@ var Deck = class {
6986
6997
  this.animationLoop.start();
6987
6998
  }
6988
6999
  (_f = this.animationLoop) == null ? void 0 : _f.setProps(resolvedProps);
6989
- if (props.useDevicePixels !== void 0 && ((_h = (_g = this.device) == null ? void 0 : _g.canvasContext) == null ? void 0 : _h.canvas) instanceof HTMLCanvasElement) {
6990
- this.device.canvasContext.props.useDevicePixels = props.useDevicePixels;
6991
- const canvas = this.device.canvasContext.canvas;
6992
- const entry = {
6993
- target: canvas,
6994
- contentBoxSize: [{ inlineSize: canvas.clientWidth, blockSize: canvas.clientHeight }],
6995
- devicePixelContentBoxSize: [
6996
- { inlineSize: canvas.clientWidth, blockSize: canvas.clientHeight }
6997
- ],
6998
- borderBoxSize: [{ inlineSize: canvas.clientWidth, blockSize: canvas.clientHeight }]
6999
- };
7000
- this.device.canvasContext._handleResize([entry]);
7000
+ if (props.useDevicePixels !== void 0 && ((_g = this.device) == null ? void 0 : _g.canvasContext)) {
7001
+ this.device.canvasContext.setProps({ useDevicePixels: props.useDevicePixels });
7001
7002
  }
7002
7003
  if (this.layerManager) {
7003
7004
  this.viewManager.setProps(resolvedProps);
@@ -7217,7 +7218,7 @@ var Deck = class {
7217
7218
  }
7218
7219
  // Create a device from the deviceProps, assigning required defaults
7219
7220
  _createDevice(props) {
7220
- var _a, _b;
7221
+ var _a, _b, _c;
7221
7222
  const canvasContextUserProps = (_a = this.props.deviceProps) == null ? void 0 : _a.createCanvasContext;
7222
7223
  const canvasContextProps = typeof canvasContextUserProps === "object" ? canvasContextUserProps : void 0;
7223
7224
  const deviceProps = { adapters: [], ...props.deviceProps };
@@ -7228,6 +7229,7 @@ var Deck = class {
7228
7229
  // we must use 'premultiplied' canvas for webgpu to enable transparency and match shaders
7229
7230
  alphaMode: ((_b = this.props.deviceProps) == null ? void 0 : _b.type) === "webgpu" ? "premultiplied" : void 0
7230
7231
  };
7232
+ const userOnResize = (_c = this.props.deviceProps) == null ? void 0 : _c.onResize;
7231
7233
  return import_core14.luma.createDevice({
7232
7234
  // luma by default throws if a device is already attached
7233
7235
  // asynchronous device creation could happen after finalize() is called
@@ -7243,6 +7245,10 @@ var Deck = class {
7243
7245
  canvas: this._createCanvas(props),
7244
7246
  useDevicePixels: this.props.useDevicePixels,
7245
7247
  autoResize: true
7248
+ },
7249
+ onResize: (canvasContext, info) => {
7250
+ this._needsRedraw = "Canvas resized";
7251
+ userOnResize == null ? void 0 : userOnResize(canvasContext, info);
7246
7252
  }
7247
7253
  });
7248
7254
  }