kitchen-simulator 3.16.1-test-renderer-fix → 3.16.2-test-renderer-fix

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.
@@ -122,6 +122,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
122
122
  _this.setShowProperty = _this.setShowProperty.bind(_this);
123
123
 
124
124
  // cache for viewer2D init so we don't allocate merges every render
125
+ _this._lastExtractedStateRef = null;
125
126
  _this._cachedViewer2DKey = null;
126
127
  _this._cachedExtractedState = null;
127
128
  return _this;
@@ -370,32 +371,38 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
370
371
  key: "getExtractedStateWithViewer2DInit",
371
372
  value: function getExtractedStateWithViewer2DInit(extractedState, width, height) {
372
373
  if (!extractedState) return extractedState;
373
- var _scene = extractedState.getIn(['scene']);
374
- var len = convert(_scene.width).from(_scene.unit).to('cm');
374
+
375
+ // If the extractedState reference changed, drop cache immediately.
376
+ if (this._lastExtractedStateRef !== extractedState) {
377
+ this._lastExtractedStateRef = extractedState;
378
+ this._cachedViewer2DKey = null;
379
+ this._cachedExtractedState = null;
380
+ }
375
381
  var _viewer2D = extractedState.getIn(['viewer2D']);
376
382
  if (!_viewer2D || _viewer2D.size <= 0) return extractedState;
377
383
  var v = _viewer2D.toJS();
378
- var cacheKey = "".concat(width, ":").concat(height, ":").concat(len, ":").concat(v.e, ":").concat(v.f, ":").concat(v.viewerWidth, ":").concat(v.viewerHeight, ":").concat(v.SVGWidth, ":").concat(v.SVGHeight, ":").concat(v.a, ":").concat(v.d);
384
+
385
+ // Only do the "center viewer2D if e/f are zero" logic.
386
+ // ✅ No need to build keys from unrelated parts of state.
387
+ if (v.e !== 0 || v.f !== 0) return extractedState;
388
+
389
+ // Build a cache key ONLY for this viewer2D-centering computation.
390
+ var cacheKey = "".concat(width, ":").concat(height, ":").concat(v.viewerWidth, ":").concat(v.viewerHeight, ":").concat(v.SVGWidth, ":").concat(v.SVGHeight);
379
391
  if (this._cachedViewer2DKey === cacheKey && this._cachedExtractedState) {
380
392
  return this._cachedExtractedState;
381
393
  }
382
- if (v.e === 0 && v.f === 0) {
383
- _viewer2D = _viewer2D.merge({
384
- e: v.viewerWidth / 2 - v.SVGWidth / 2,
385
- f: v.viewerHeight / 2 - v.SVGHeight / 2,
386
- a: 0.99,
387
- d: 0.99
388
- });
389
- var merged = extractedState.merge({
390
- viewer2D: _viewer2D
391
- });
392
- this._cachedViewer2DKey = cacheKey;
393
- this._cachedExtractedState = merged;
394
- return merged;
395
- }
394
+ var centeredViewer2D = _viewer2D.merge({
395
+ e: v.viewerWidth / 2 - v.SVGWidth / 2,
396
+ f: v.viewerHeight / 2 - v.SVGHeight / 2,
397
+ a: 0.99,
398
+ d: 0.99
399
+ });
400
+ var merged = extractedState.merge({
401
+ viewer2D: centeredViewer2D
402
+ });
396
403
  this._cachedViewer2DKey = cacheKey;
397
- this._cachedExtractedState = extractedState;
398
- return extractedState;
404
+ this._cachedExtractedState = merged;
405
+ return merged;
399
406
  }
400
407
  }, {
401
408
  key: "render",
@@ -499,7 +506,8 @@ function mapStateToProps(reduxState, ownProps) {
499
506
  };
500
507
  var extractedState = stateExtractor(reduxState);
501
508
  return {
502
- extractedState: extractedState
509
+ extractedState: extractedState,
510
+ state: extractedState
503
511
  };
504
512
  }
505
513
  function mapDispatchToProps(dispatch) {
@@ -130,6 +130,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
130
130
  _this.setShowProperty = _this.setShowProperty.bind(_this);
131
131
 
132
132
  // cache for viewer2D init so we don't allocate merges every render
133
+ _this._lastExtractedStateRef = null;
133
134
  _this._cachedViewer2DKey = null;
134
135
  _this._cachedExtractedState = null;
135
136
  return _this;
@@ -378,32 +379,38 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
378
379
  key: "getExtractedStateWithViewer2DInit",
379
380
  value: function getExtractedStateWithViewer2DInit(extractedState, width, height) {
380
381
  if (!extractedState) return extractedState;
381
- var _scene = extractedState.getIn(['scene']);
382
- var len = (0, _convertUnitsLite.convert)(_scene.width).from(_scene.unit).to('cm');
382
+
383
+ // If the extractedState reference changed, drop cache immediately.
384
+ if (this._lastExtractedStateRef !== extractedState) {
385
+ this._lastExtractedStateRef = extractedState;
386
+ this._cachedViewer2DKey = null;
387
+ this._cachedExtractedState = null;
388
+ }
383
389
  var _viewer2D = extractedState.getIn(['viewer2D']);
384
390
  if (!_viewer2D || _viewer2D.size <= 0) return extractedState;
385
391
  var v = _viewer2D.toJS();
386
- var cacheKey = "".concat(width, ":").concat(height, ":").concat(len, ":").concat(v.e, ":").concat(v.f, ":").concat(v.viewerWidth, ":").concat(v.viewerHeight, ":").concat(v.SVGWidth, ":").concat(v.SVGHeight, ":").concat(v.a, ":").concat(v.d);
392
+
393
+ // Only do the "center viewer2D if e/f are zero" logic.
394
+ // ✅ No need to build keys from unrelated parts of state.
395
+ if (v.e !== 0 || v.f !== 0) return extractedState;
396
+
397
+ // Build a cache key ONLY for this viewer2D-centering computation.
398
+ var cacheKey = "".concat(width, ":").concat(height, ":").concat(v.viewerWidth, ":").concat(v.viewerHeight, ":").concat(v.SVGWidth, ":").concat(v.SVGHeight);
387
399
  if (this._cachedViewer2DKey === cacheKey && this._cachedExtractedState) {
388
400
  return this._cachedExtractedState;
389
401
  }
390
- if (v.e === 0 && v.f === 0) {
391
- _viewer2D = _viewer2D.merge({
392
- e: v.viewerWidth / 2 - v.SVGWidth / 2,
393
- f: v.viewerHeight / 2 - v.SVGHeight / 2,
394
- a: 0.99,
395
- d: 0.99
396
- });
397
- var merged = extractedState.merge({
398
- viewer2D: _viewer2D
399
- });
400
- this._cachedViewer2DKey = cacheKey;
401
- this._cachedExtractedState = merged;
402
- return merged;
403
- }
402
+ var centeredViewer2D = _viewer2D.merge({
403
+ e: v.viewerWidth / 2 - v.SVGWidth / 2,
404
+ f: v.viewerHeight / 2 - v.SVGHeight / 2,
405
+ a: 0.99,
406
+ d: 0.99
407
+ });
408
+ var merged = extractedState.merge({
409
+ viewer2D: centeredViewer2D
410
+ });
404
411
  this._cachedViewer2DKey = cacheKey;
405
- this._cachedExtractedState = extractedState;
406
- return extractedState;
412
+ this._cachedExtractedState = merged;
413
+ return merged;
407
414
  }
408
415
  }, {
409
416
  key: "render",
@@ -507,7 +514,8 @@ function mapStateToProps(reduxState, ownProps) {
507
514
  };
508
515
  var extractedState = stateExtractor(reduxState);
509
516
  return {
510
- extractedState: extractedState
517
+ extractedState: extractedState,
518
+ state: extractedState
511
519
  };
512
520
  }
513
521
  function mapDispatchToProps(dispatch) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "3.16.1-test-renderer-fix",
3
+ "version": "3.16.2-test-renderer-fix",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",