@gamelearn/arcade-components 1.3.3 → 1.3.5-1

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.
Files changed (137) hide show
  1. package/dist/components/animation-component/components/AnimationComponent.js +9 -3
  2. package/dist/components/animation-component/mocks/mockForStory.js +16 -9
  3. package/dist/components/arcade-render/background/scene-elements/index.js +2 -4
  4. package/dist/components/arcade-render/element/AnimateElement.js +5 -7
  5. package/dist/components/arcade-render/element/BoundingBox.js +3 -5
  6. package/dist/components/arcade-render/element/Projection.js +3 -3
  7. package/dist/components/arcade-render/element/index.js +7 -9
  8. package/dist/components/arcade-render/elements-list/ClickableArea.js +4 -6
  9. package/dist/components/arcade-render/elements-list/Poster.js +4 -6
  10. package/dist/components/arcade-render/elements-list/index.js +5 -8
  11. package/dist/components/arcade-render/light/index.js +1 -3
  12. package/dist/components/arcade-render/light/useLight.js +7 -17
  13. package/dist/components/arcade-render/loading/Loading.js +2 -2
  14. package/dist/components/arcade-render/loading/LoadingLogic.js +5 -7
  15. package/dist/components/arcade-render/mocks/index.js +1 -3
  16. package/dist/components/arcade-render/scene/ConfigController.js +7 -7
  17. package/dist/components/arcade-render/scene/index.js +3 -3
  18. package/dist/components/arcade-render/scene/useCameraPan.js +2 -1
  19. package/dist/components/auto-evaluation-component/components/AutoEvaluation.js +4 -4
  20. package/dist/components/auto-evaluation-component/components/EndScreen.js +2 -2
  21. package/dist/components/auto-evaluation-component/mocks/mockForStory.js +3 -5
  22. package/dist/components/cards-selector-puzzle-component/components/Board/index.js +9 -5
  23. package/dist/components/cards-selector-puzzle-component/components/Card/index.js +2 -0
  24. package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +12 -12
  25. package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +0 -1
  26. package/dist/components/cartel-component/components/CartelComponent.js +3 -3
  27. package/dist/components/chained-image-click-puzzle-component/components/ChainedImageClickPuzzleComponent.js +3 -3
  28. package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +4 -4
  29. package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +0 -1
  30. package/dist/components/comic-component/components/ComicComponent.js +3 -3
  31. package/dist/components/comic-component/components/Slide.js +4 -4
  32. package/dist/components/comic-component/mocks/mockForStory.js +2 -5
  33. package/dist/components/conversational-component/components/ConversationalComponent.js +4 -4
  34. package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +15 -18
  35. package/dist/components/conversational-pro-component/components/Slot.js +2 -0
  36. package/dist/components/conversational-pro-component/components/SlotList.js +7 -14
  37. package/dist/components/conversational-pro-component/components/scene/Panel.js +19 -14
  38. package/dist/components/conversational-pro-component/components/scene/Panels.js +2 -8
  39. package/dist/components/conversational-pro-component/components/scene/index.js +20 -19
  40. package/dist/components/conversational-pro-component/mocks/mockForStory.js +91 -92
  41. package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +4 -4
  42. package/dist/components/cracker-puzzle-component/components/helpers.js +1 -1
  43. package/dist/components/decision-component/components/DecisionBody.js +4 -3
  44. package/dist/components/decision-component/components/DecisionComponent.js +6 -8
  45. package/dist/components/decision-component/components/Feedback.js +6 -15
  46. package/dist/components/decision-component/mocks/mockForStory.js +1 -1
  47. package/dist/components/dialog-component/components/DialogComponent.js +50 -95
  48. package/dist/components/dialog-component/components/SpeechBubbleComponent.js +3 -5
  49. package/dist/components/dialog-component/mocks/mockForStory.js +2 -3
  50. package/dist/components/drag-item-puzzle-component/components/DragItemPuzzleComponent.js +6 -6
  51. package/dist/components/drag-item-puzzle-component/components/Messages.js +2 -4
  52. package/dist/components/drag-item-puzzle-component/mocks/mockForStory.js +2 -5
  53. package/dist/components/feedback-component/components/FeedbackComponent.js +5 -5
  54. package/dist/components/feedback-component/mocks/mockForStory.js +0 -1
  55. package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +4 -4
  56. package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +3 -3
  57. package/dist/components/frame-click-puzzle-component/components/PlayButton/index.js +3 -3
  58. package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +1 -2
  59. package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +5 -5
  60. package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +20 -38
  61. package/dist/components/hanged-puzzle-component/mocks/mockForStory.js +2 -4
  62. package/dist/components/hanged-puzzle-component/utils.js +2 -10
  63. package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +5 -9
  64. package/dist/components/image-component/components/ImageComponent.js +6 -6
  65. package/dist/components/image-component/mocks/mockForStory.js +1 -1
  66. package/dist/components/index.js +86 -86
  67. package/dist/components/inventory-item/components/InventoryItem.js +14 -12
  68. package/dist/components/inventory-item/mocks/mockForStory.js +5 -7
  69. package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +7 -8
  70. package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +2 -4
  71. package/dist/components/konva-components/Area/index.js +4 -4
  72. package/dist/components/konva-components/KonvaMapper.js +3 -3
  73. package/dist/components/lectures-component/components/LecturesComponent.js +10 -10
  74. package/dist/components/lectures-component/mocks/mockForStory.js +4 -6
  75. package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +29 -80
  76. package/dist/components/login-puzzle-component/mocks/mockForStory.js +2 -4
  77. package/dist/components/media-visor/components/MediaVisor.js +13 -13
  78. package/dist/components/media-visor/mocks/mockForStory.js +2 -6
  79. package/dist/components/notice-component/components/NoticeComponent.js +2 -3
  80. package/dist/components/notice-component/mocks/mockForStory.js +2 -4
  81. package/dist/components/pattern-component/components/PatternComponent.js +1 -1
  82. package/dist/components/pdf-component/components/PdfComponent.js +7 -9
  83. package/dist/components/pdf-component/components/PdfVisor.js +10 -11
  84. package/dist/components/pdf-component/index.js +4 -4
  85. package/dist/components/pdf-component/mocks/mockForProps.js +0 -1
  86. package/dist/components/rewards-component/components/RewardItem.js +4 -4
  87. package/dist/components/rewards-component/components/RewardsComponent.js +5 -5
  88. package/dist/components/survey-component/components/ApplicableBox.js +4 -4
  89. package/dist/components/survey-component/components/OpinionBox.js +4 -4
  90. package/dist/components/survey-component/components/SurveyComponent.js +3 -3
  91. package/dist/components/survey-component/components/TextBox.js +1 -1
  92. package/dist/components/survey-component/mocks/mockForStory.js +2 -4
  93. package/dist/components/terminal-puzzle-component/components/FilesGroup/index.js +3 -3
  94. package/dist/components/terminal-puzzle-component/components/TerminalPuzzleComponent.js +3 -3
  95. package/dist/components/terminal-puzzle-component/components/Visor/index.js +2 -2
  96. package/dist/components/terminal-puzzle-component/components/utils/index.js +1 -1
  97. package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +2 -3
  98. package/dist/components/test-component/components/Container.js +3 -3
  99. package/dist/components/test-component/components/Results.js +3 -3
  100. package/dist/components/test-component/components/TestComponent.js +8 -8
  101. package/dist/components/test-component/mocks/mockForStory.js +2 -5
  102. package/dist/components/text-click-puzzle-component/components/TextClickPuzzleComponent.js +110 -84
  103. package/dist/components/text-click-puzzle-component/mocks/mockForStory.js +0 -1
  104. package/dist/components/text-click-puzzle-component/utils/index.js +9 -15
  105. package/dist/components/url-component/components/UrlComponent.js +10 -9
  106. package/dist/components/url-component/mocks/mockForProps.js +6 -8
  107. package/dist/components/video-component/components/VideoComponent.js +7 -7
  108. package/dist/components/video-component/mocks/mockForStory.js +2 -4
  109. package/dist/components/video-visor/components/VideoControllers/BufferBar.js +3 -3
  110. package/dist/components/video-visor/components/VideoVisor.js +4 -3
  111. package/dist/components/video-visor/mocks/mockForStory.js +2 -5
  112. package/dist/components/web-builder-puzzle-component/Popups/PopupColorComponent/index.js +3 -3
  113. package/dist/components/web-builder-puzzle-component/Popups/PopupImageComponent/index.js +3 -3
  114. package/dist/components/web-builder-puzzle-component/Popups/PopupTextComponent/index.js +8 -8
  115. package/dist/components/web-builder-puzzle-component/Templates/Bank.js +1 -1
  116. package/dist/components/web-builder-puzzle-component/Templates/Facebook.js +1 -1
  117. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/BankBody.js +5 -5
  118. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/FacebookBody.js +8 -8
  119. package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +7 -6
  120. package/dist/components/web-builder-puzzle-component/mocks/mockForStory.js +2 -7
  121. package/dist/components/writer-puzzle-component/components/ElectionComponent.js +3 -3
  122. package/dist/components/writer-puzzle-component/components/FeedbackComponent.js +1 -1
  123. package/dist/components/writer-puzzle-component/components/FixedComponent.js +3 -3
  124. package/dist/components/writer-puzzle-component/components/Rewards.js +7 -7
  125. package/dist/components/writer-puzzle-component/components/SingleElection.js +3 -3
  126. package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +7 -9
  127. package/dist/components/zoom-test/components/ZoomTest.js +5 -5
  128. package/dist/components/zoom-test/mocks/mockForStory.js +4 -6
  129. package/dist/helpers/HtmlPro.js +34 -0
  130. package/dist/helpers/deviceDetection.js +1 -1
  131. package/dist/helpers/drawLOD.js +77 -60
  132. package/dist/helpers/index.js +8 -9
  133. package/dist/helpers/lodStats.js +25 -37
  134. package/dist/helpers/mocker.js +2 -6
  135. package/dist/helpers/useWindowSize.js +3 -5
  136. package/dist/test/testSceneWrapper.js +17 -12
  137. package/package.json +1 -1
@@ -13,9 +13,9 @@ var _lodStats = _interopRequireDefault(require("./lodStats"));
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
17
17
 
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
19
 
20
20
  var loadingManager = new THREE.LoadingManager();
21
21
  var imgLoader = new THREE.ImageLoader(loadingManager);
@@ -72,7 +72,7 @@ function makeTextSprite(message, opts) {
72
72
  var fontsize = parameters.fontsize || 120;
73
73
  var canvas = document.createElement('canvas');
74
74
  var context = canvas.getContext('2d');
75
- context.font = "".concat(fontsize, "px ").concat(fontface); // get size data (height depends only on font size)
75
+ context.font = fontsize + 'px ' + fontface; // get size data (height depends only on font size)
76
76
  // var metrics = context.measureText(message);
77
77
  // var textWidth = metrics.width;
78
78
  // text color
@@ -96,8 +96,8 @@ function makeTextSprite(message, opts) {
96
96
  }
97
97
  /*
98
98
  const texturablesDone = (params) => {
99
- params.texturableElements.forEach((elem) => {
100
- elem.userData.isDone = true;
99
+ params._texturableElements.forEach((elem) => {
100
+ elem.userData._isDone = true;
101
101
  })
102
102
  }
103
103
  */
@@ -111,19 +111,19 @@ var materialize = function materialize(params, lod) {
111
111
  if (doneLods >= totalLods) {
112
112
  if (progressiveMode) {
113
113
  var currentIndex = progressiveOrder.indexOf(lod);
114
- var lastIndex = progressiveOrder.indexOf(params.currentLOD);
114
+ var lastIndex = progressiveOrder.indexOf(params._currentLOD);
115
115
 
116
116
  if (currentIndex < lastIndex) {
117
117
  materialize(params, progressiveOrder[currentIndex + 1]);
118
118
  } else {// texturablesDone(params);
119
119
  }
120
120
  } else {// texturablesDone(params);
121
- }
121
+ }
122
122
  }
123
123
  };
124
124
 
125
- params.texturableElements.forEach(function (elem) {
126
- if (params.texturesDistance && elem.distanceToCam > lodDistances[lod]) {
125
+ params._texturableElements.forEach(function (elem) {
126
+ if (params._texturesDistance && elem.distanceToCam > lodDistances[lod]) {
127
127
  return;
128
128
  }
129
129
 
@@ -132,22 +132,22 @@ var materialize = function materialize(params, lod) {
132
132
  return response.json();
133
133
  }).then(function (materials) {
134
134
  elem.traverse(function (obj) {
135
- if ((obj.isMesh || obj.isSkinnedMesh) && (!obj.material.isDone || !obj.material.isDone[lod] || params.forceRender)) {
135
+ if ((obj.isMesh || obj.isSkinnedMesh) && (!obj.material._isDone || !obj.material._isDone[lod] || params._forceRender)) {
136
136
  obj.material.wireframe = false;
137
- if (!obj.material.isDone) obj.material.isDone = {};
138
- obj.material.isDone[lod] = true;
137
+ if (!obj.material._isDone) obj.material._isDone = {};
138
+ obj.material._isDone[lod] = true;
139
139
 
140
140
  if (materials[obj.material.name]) {
141
141
  materials[obj.material.name].forEach(function (item) {
142
142
  var imgSrc = "".concat(elem.userData.url, ".textures.").concat(lod, ".").concat(item.positionInArray, ".png");
143
143
  imgLoader.load(imgSrc, function (result) {
144
- if (params.showStats) {
144
+ if (params._showStats) {
145
145
  statsTextures(lod, imgSrc, result);
146
146
  }
147
147
 
148
148
  obj.material[item.key].image = result;
149
149
 
150
- if (params.rgbSimulation) {
150
+ if (params._rgbSimulation) {
151
151
  var image;
152
152
 
153
153
  switch (lod) {
@@ -188,20 +188,23 @@ var updateSceneLods = function updateSceneLods(params) {
188
188
  if (progressiveMode) {
189
189
  materialize(params, progressiveOrder[0]);
190
190
  } else {
191
- materialize(params, params.currentLOD);
191
+ materialize(params, params._currentLOD);
192
192
  }
193
193
  }
194
194
  };
195
195
 
196
196
  var invalidateOutOfFrustum = function invalidateOutOfFrustum(params) {
197
- params.texturableElements = params.texturableElements.filter(function (elem) {
197
+ params._texturableElements = params._texturableElements.filter(function (elem) {
198
198
  var bbox = new THREE.Box3().setFromObject(elem);
199
- var insideFrustum = params.frustum.intersectsBox(bbox);
199
+
200
+ var insideFrustum = params._frustum.intersectsBox(bbox);
201
+
200
202
  elem.bbox = bbox;
201
203
 
202
- if (params.showHelpers) {
204
+ if (params._showHelpers) {
203
205
  var boundingHelper = new THREE.Box3Helper(bbox, insideFrustum ? 0x00ff00 : 0xff0000);
204
- params.helpers.add(boundingHelper);
206
+
207
+ params._helpers.add(boundingHelper);
205
208
  }
206
209
 
207
210
  return insideFrustum;
@@ -209,14 +212,14 @@ var invalidateOutOfFrustum = function invalidateOutOfFrustum(params) {
209
212
  };
210
213
 
211
214
  var checkDistances = function checkDistances(params) {
212
- params.texturableElements.forEach(function (elem) {
215
+ params._texturableElements.forEach(function (elem) {
213
216
  var center = new THREE.Vector3();
214
217
  elem.bbox.getCenter(center);
215
218
  var bsphere = elem.bbox.getBoundingSphere(new THREE.Sphere(center));
216
- var distance = params.camera.position.distanceTo(center) - bsphere.radius;
219
+ var distance = params._camera.position.distanceTo(center) - bsphere.radius;
217
220
  elem.distanceToCam = distance;
218
221
 
219
- if (params.showHelpers) {
222
+ if (params._showHelpers) {
220
223
  var sphere = new THREE.Mesh(new THREE.SphereGeometry(bsphere.radius, 32, 32), new THREE.MeshStandardMaterial({
221
224
  color: 0xffffff,
222
225
  opacity: 0.3,
@@ -224,17 +227,20 @@ var checkDistances = function checkDistances(params) {
224
227
  wireframe: true
225
228
  }));
226
229
  sphere.position.copy(center);
227
- params.helpers.add(sphere);
230
+
231
+ params._helpers.add(sphere);
232
+
228
233
  var sprite = makeTextSprite(distance);
229
234
  sprite.position.copy(sphere.position);
230
235
  sprite.position.y = sphere.position.y + bsphere.radius + 2;
231
- params.helpers.add(sprite);
236
+
237
+ params._helpers.add(sprite);
232
238
  }
233
239
  });
234
240
  };
235
241
 
236
242
  var statsGeometries = function statsGeometries(params) {
237
- params.texturableElements.forEach(function (item) {
243
+ params._texturableElements.forEach(function (item) {
238
244
  var url = item.userData.url.replace('.glb', '.geometry.glb');
239
245
  fetch(url).then(function (response) {
240
246
  return response.blob();
@@ -247,7 +253,7 @@ var statsGeometries = function statsGeometries(params) {
247
253
  });
248
254
  };
249
255
 
250
- var statsTextures = function statsTextures(lod, url) {
256
+ var statsTextures = function statsTextures(lod, url, image) {
251
257
  fetch(url).then(function (response) {
252
258
  return response.blob();
253
259
  }).then(function (blob) {
@@ -259,17 +265,19 @@ var statsTextures = function statsTextures(lod, url) {
259
265
  };
260
266
 
261
267
  var setTexturableElements = function setTexturableElements(params) {
262
- params.texturableElements = [];
263
- params.scene.traverse(function (item) {
268
+ params._texturableElements = [];
269
+
270
+ params._scene.traverse(function (item) {
264
271
  if (item.userData.url) {
265
- params.texturableElements.push(item);
272
+ params._texturableElements.push(item);
266
273
  }
267
274
  });
275
+
268
276
  (0, _lodStats.default)({
269
277
  reset: true
270
278
  });
271
279
 
272
- if (params.showStats) {
280
+ if (params._showStats) {
273
281
  statsGeometries(params);
274
282
  }
275
283
  };
@@ -298,50 +306,59 @@ var drawLOD = function drawLOD(scene, camera, settings) {
298
306
  }
299
307
 
300
308
  var params = {};
301
- params.currentLOD = settings !== null && settings !== void 0 && settings.currentLOD ? settings.currentLOD : currentLOD;
302
- params.rgbSimulation = settings !== null && settings !== void 0 && settings.rgbSimulation ? settings.rgbSimulation : rgbSimulation;
303
- params.showHelpers = settings !== null && settings !== void 0 && settings.showHelpers ? settings.showHelpers : showHelpers;
304
- params.showStats = settings !== null && settings !== void 0 && settings.showStats ? settings.showStats : showStats;
305
- params.forceRender = (scene === null || scene === void 0 ? void 0 : scene.lastLOD) !== (settings === null || settings === void 0 ? void 0 : settings.currentLOD) || (scene === null || scene === void 0 ? void 0 : scene.lastRGB) !== params.rgbSimulation;
309
+ params._currentLOD = settings !== null && settings !== void 0 && settings.currentLOD ? settings.currentLOD : currentLOD;
310
+ params._rgbSimulation = settings !== null && settings !== void 0 && settings.rgbSimulation ? settings.rgbSimulation : rgbSimulation;
311
+ params._showHelpers = settings !== null && settings !== void 0 && settings.showHelpers ? settings.showHelpers : showHelpers;
312
+ params._showStats = settings !== null && settings !== void 0 && settings.showStats ? settings.showStats : showStats;
313
+ params._forceRender = (scene === null || scene === void 0 ? void 0 : scene.lastLOD) !== (settings === null || settings === void 0 ? void 0 : settings.currentLOD) || (scene === null || scene === void 0 ? void 0 : scene.lastRGB) !== params._rgbSimulation;
306
314
  scene.lastLOD = settings === null || settings === void 0 ? void 0 : settings.currentLOD;
307
- scene.lastRGB = params.rgbSimulation;
308
- params.texturesFrustum = (settings === null || settings === void 0 ? void 0 : settings.texturesFrustum) !== undefined ? settings.texturesFrustum : texturesFrustum;
309
- params.texturesDistance = texturesDistance;
310
- params.scene = scene;
311
- params.scene.remove(getHelpers(params.scene));
312
- params.helpers = new THREE.Group();
313
- params.helpers.userData.isHelper = true;
314
- params.scene.add(params.helpers);
315
- params.camera = currentCamera;
316
- params.frustum = null;
317
-
318
- if (params.texturesFrustum || params.texturesDistance) {
319
- if (params.camera) {
320
- params.camera.updateMatrixWorld();
321
- params.camera.updateProjectionMatrix();
322
- params.frustum = new THREE.Frustum();
323
- params.frustum.setFromProjectionMatrix(new THREE.Matrix4().multiplyMatrices(params.camera.projectionMatrix, params.camera.matrixWorldInverse));
315
+ scene.lastRGB = params._rgbSimulation;
316
+ params._texturesFrustum = (settings === null || settings === void 0 ? void 0 : settings.texturesFrustum) !== undefined ? settings.texturesFrustum : texturesFrustum;
317
+ params._texturesDistance = texturesDistance;
318
+ params._scene = scene;
319
+
320
+ params._scene.remove(getHelpers(params._scene));
321
+
322
+ params._helpers = new THREE.Group();
323
+ params._helpers.userData.isHelper = true;
324
+
325
+ params._scene.add(params._helpers);
326
+
327
+ params._camera = currentCamera;
328
+ params._frustum = null;
329
+
330
+ if (params._texturesFrustum || params._texturesDistance) {
331
+ if (params._camera) {
332
+ params._camera.updateMatrixWorld();
333
+
334
+ params._camera.updateProjectionMatrix();
335
+
336
+ params._frustum = new THREE.Frustum();
337
+
338
+ params._frustum.setFromProjectionMatrix(new THREE.Matrix4().multiplyMatrices(params._camera.projectionMatrix, params._camera.matrixWorldInverse));
324
339
  } else {
325
- params.texturesFrustum = false;
326
- params.texturesDistance = false;
340
+ params._texturesFrustum = params._texturesDistance = false;
327
341
  }
328
342
 
329
- if (params.showHelpers) {
330
- var helper = new THREE.CameraHelper(params.camera.clone());
331
- params.helpers.add(helper);
343
+ if (params._showHelpers) {
344
+ var helper = new THREE.CameraHelper(params._camera.clone());
345
+
346
+ params._helpers.add(helper);
347
+
332
348
  helper.update();
333
349
  var axesHelper = new THREE.AxesHelper(5);
334
- params.helpers.add(axesHelper);
350
+
351
+ params._helpers.add(axesHelper);
335
352
  }
336
353
  }
337
354
 
338
355
  setTexturableElements(params);
339
356
 
340
- if (params.texturesFrustum) {
357
+ if (params._texturesFrustum) {
341
358
  invalidateOutOfFrustum(params);
342
359
  }
343
360
 
344
- if (params.texturesDistance) {
361
+ if (params._texturesDistance) {
345
362
  checkDistances(params);
346
363
  }
347
364
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.zAxis = exports.yAxis = exports.xAxis = exports.vectorTranslateZ = exports.vectorTranslateY = exports.vectorTranslateX = exports.vectorTranslateOnAxis = exports.vectorToScreen = exports.usePrevious = exports.screenToVector = exports.roundFloat = exports.getObjectPosition = exports.formatMessage = exports.executeCrossFade = exports.cameraFitAnyObject = void 0;
6
+ exports.executeCrossFade = exports.screenToVector = exports.vectorToScreen = exports.getObjectPosition = exports.cameraFitAnyObject = exports.roundFloat = exports.vectorTranslateY = exports.vectorTranslateX = exports.vectorTranslateZ = exports.vectorTranslateOnAxis = exports.usePrevious = exports.formatMessage = exports.zAxis = exports.yAxis = exports.xAxis = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
@@ -104,16 +104,15 @@ var cameraFitAnyObject = function cameraFitAnyObject(object, camera) {
104
104
 
105
105
  if (clone) {
106
106
  return clonedCamera;
107
+ } else {
108
+ camera.copy(clonedCamera);
107
109
  }
108
-
109
- camera.copy(clonedCamera);
110
- return null;
111
110
  };
112
111
 
113
112
  exports.cameraFitAnyObject = cameraFitAnyObject;
114
113
 
115
114
  var getObjectPosition = function getObjectPosition(object, camera, canvas) {
116
- if (!object) return null;
115
+ if (!object) return;
117
116
  var point = new _three.Vector3();
118
117
  var boundingBox = new _three.Box3().setFromObject(object);
119
118
  boundingBox.getCenter(point);
@@ -129,10 +128,10 @@ var getObjectPosition = function getObjectPosition(object, camera, canvas) {
129
128
  exports.getObjectPosition = getObjectPosition;
130
129
 
131
130
  var vectorToScreen = function vectorToScreen(vector, camera) {
132
- var width = window.innerWidth;
133
- var height = window.innerHeight;
134
- var widthHalf = width / 2;
135
- var heightHalf = height / 2;
131
+ var width = window.innerWidth,
132
+ height = window.innerHeight;
133
+ var widthHalf = width / 2,
134
+ heightHalf = height / 2;
136
135
  var pos = vector.clone();
137
136
  pos.project(camera);
138
137
  pos.x = pos.x * widthHalf + widthHalf;
@@ -4,58 +4,46 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var lodStatsElement = null;
8
- var geo = 0;
9
- var divideby64 = 0;
10
- var divideby16 = 0;
11
- var divideby4 = 0;
12
- var original = 0;
13
- var style = 'float:left;margin:5px;padding:5px;';
7
+ var _root = null;
8
+ var _geo = 0;
9
+ var _divideby64 = 0;
10
+ var _divideby16 = 0;
11
+ var _divideby4 = 0;
12
+ var _original = 0;
13
+ var style = "float:left;margin:5px;padding:5px;";
14
14
 
15
15
  function formatBytes(a) {
16
16
  var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
17
-
18
- if (a === 0) {
19
- return '0 Bytes';
20
- }
21
-
22
- var c = b < 0 ? 0 : b;
23
- var d = Math.floor(Math.log(a) / Math.log(1024));
24
- return "".concat(parseFloat((a / Math.pow(1024, d)).toFixed(c)), " ").concat(['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'][d]);
17
+ if (0 === a) return "0 Bytes";
18
+ var c = 0 > b ? 0 : b,
19
+ d = Math.floor(Math.log(a) / Math.log(1024));
20
+ return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + " " + ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"][d];
25
21
  }
26
22
 
27
23
  var lodStats = function lodStats(obj) {
28
- if (!lodStatsElement) {
24
+ if (!_root) {
29
25
  var root = document.getElementById('root');
30
26
  var previous = document.getElementById('lodStats');
31
-
32
- if (previous) {
33
- root.removeChild(previous);
34
- }
35
-
27
+ if (previous) root.removeChild(previous);
36
28
  var div = document.createElement('div');
37
- div.style = "border-radius:5px;color:white; background-color:black;\n position: fixed; top: 0px; left: 100px; opacity: 0.5; z-index: 10001;";
38
- div.id = 'lodStats';
29
+ div.style = "border-radius:5px;color:white; background-color:black;position: fixed; top: 0px; left: 100px; opacity: 0.5; z-index: 10001;";
30
+ div.id = "lodStats";
39
31
  root.appendChild(div);
40
- lodStatsElement = div;
32
+ _root = div;
41
33
  }
42
34
 
43
35
  if (obj.reset) {
44
- lodStatsElement.innerHTML = '';
45
- lodStatsElement = null;
46
- geo = 0;
47
- divideby64 = 0;
48
- divideby16 = 0;
49
- divideby4 = 0;
50
- original = 0;
36
+ _root.innerHTML = '';
37
+ _root = null;
38
+ _geo = _divideby64 = _divideby16 = _divideby4 = _original = 0;
51
39
  } else {
52
- geo += obj.geometries ? obj.geometries : 0;
53
- divideby64 += obj.divideby64 ? obj.divideby64 : 0;
54
- divideby16 += obj.divideby16 ? obj.divideby16 : 0;
55
- divideby4 += obj.divideby4 ? obj.divideby4 : 0;
56
- original += obj.original ? obj.original : 0; // rootProjection.innerHTML = `Geo: ${geo} d64: ${divideby64} d16: ${divideby16} d4: ${divideby4} original: ${original}`;
40
+ _geo += obj.geometries ? obj.geometries : 0;
41
+ _divideby64 += obj.divideby64 ? obj.divideby64 : 0;
42
+ _divideby16 += obj.divideby16 ? obj.divideby16 : 0;
43
+ _divideby4 += obj.divideby4 ? obj.divideby4 : 0;
44
+ _original += obj.original ? obj.original : 0; // _root.innerHTML = `Geo: ${_geo} d64: ${_divideby64} d16: ${_divideby16} d4: ${_divideby4} original: ${_original}`;
57
45
 
58
- lodStatsElement.innerHTML = "\n <div style=\"".concat(style, "\"> \n <div>Geometries</div>\n <div>").concat(formatBytes(geo), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div style=\"color:red\">DivideBy64</div>\n <div>").concat(formatBytes(divideby64), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div style=\"color:green\">DivideBy16</div>\n <div>").concat(formatBytes(divideby16), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div style=\"color:blue\">DivideBy4</div>\n <div>").concat(formatBytes(divideby4), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div>Original</div>\n <div>").concat(formatBytes(original), "</div>\n </div>\n ");
46
+ _root.innerHTML = "\n <div style=\"".concat(style, "\"> \n <div>Geometries</div>\n <div>").concat(formatBytes(_geo), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div style=\"color:red\">DivideBy64</div>\n <div>").concat(formatBytes(_divideby64), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div style=\"color:green\">DivideBy16</div>\n <div>").concat(formatBytes(_divideby16), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div style=\"color:blue\">DivideBy4</div>\n <div>").concat(formatBytes(_divideby4), "</div>\n </div>\n <div style=\"").concat(style, "\"> \n <div>Original</div>\n <div>").concat(formatBytes(_original), "</div>\n </div>\n ");
59
47
  }
60
48
  };
61
49
 
@@ -3,11 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.translate = exports.soundActions = exports.setShowPoints = exports.onFinish = exports.noopSoundActions = exports.functionOnClose = exports.emitEvent = void 0;
6
+ exports.translate = exports.soundActions = exports.noopSoundActions = exports.onFinish = exports.functionOnClose = exports.emitEvent = exports.setShowPoints = void 0;
7
7
 
8
- /* eslint-disable no-console */
9
-
10
- /* eslint-disable no-prototype-builtins */
11
8
  var emitEvent = function emitEvent(_ref) {
12
9
  var type = _ref.type,
13
10
  payload = _ref.payload;
@@ -75,7 +72,6 @@ var emitEvent = function emitEvent(_ref) {
75
72
  }
76
73
 
77
74
  console.log('Emit event called:', type, 'payload:', payload);
78
- return null;
79
75
  };
80
76
 
81
77
  exports.emitEvent = emitEvent;
@@ -118,7 +114,7 @@ var functionOnClose = function functionOnClose() {
118
114
  exports.functionOnClose = functionOnClose;
119
115
 
120
116
  var onFinish = function onFinish() {
121
- var component = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'a component';
117
+ var component = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "a component";
122
118
  console.log('you just called onfinish from...', component);
123
119
  };
124
120
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useWindowSize = exports.default = void 0;
6
+ exports.useWindowSize = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
@@ -15,7 +15,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
15
15
 
16
16
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
17
 
18
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
18
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
19
19
 
20
20
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
21
 
@@ -53,6 +53,4 @@ var useWindowSize = function useWindowSize() {
53
53
  return windowSize;
54
54
  };
55
55
 
56
- exports.useWindowSize = useWindowSize;
57
- var _default = useWindowSize;
58
- exports.default = _default;
56
+ exports.useWindowSize = useWindowSize;
@@ -3,15 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mockScene = exports.default = void 0;
6
+ exports.default = exports.mockScene = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _arcadeThreeCore = require("@gamelearn/arcade-three-core");
10
+ var _scene = _interopRequireDefault(require("components/arcade-render/scene"));
11
11
 
12
- var _bg001_street = _interopRequireDefault(require("./mocks/bg001_street.json"));
12
+ var _background = _interopRequireDefault(require("components/arcade-render/background"));
13
13
 
14
- var _characters = require("./mocks/characters.json");
14
+ var _elementsList = _interopRequireDefault(require("components/arcade-render/elements-list"));
15
+
16
+ var _bg001_street = _interopRequireDefault(require("components/arcade-render/mocks/scenes/bg001_street.json"));
17
+
18
+ var _characters = require("components/arcade-render/mocks/scenes/characters.json");
15
19
 
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
21
 
@@ -19,20 +23,21 @@ var mockScene = {
19
23
  background: _bg001_street.default,
20
24
  elements: _characters.elements,
21
25
  scene: {
22
- loadingText: 'Cargando... {percent}%'
26
+ sceneChanged: true,
27
+ loadingText: 'Cargando... {percent}%',
28
+ hasControls: false
23
29
  }
24
30
  };
25
31
  exports.mockScene = mockScene;
26
32
 
27
33
  var SceneWrapper = function SceneWrapper(_ref) {
28
34
  var children = _ref.children;
29
- return /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.Renderer, mockScene.scene, /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.Debugger, null), /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.LodWrapper, {
30
- progressive: true
31
- }, /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.BackgroundWrapper, {
32
- objects: Object.values(mockScene.background)
33
- }), /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.ElementsWrapper, {
34
- elements: _characters.elements
35
- }), children));
35
+ return /*#__PURE__*/_react.default.createElement(_scene.default, mockScene.scene, /*#__PURE__*/_react.default.createElement(_background.default, {
36
+ data: mockScene.background
37
+ }), /*#__PURE__*/_react.default.createElement(_elementsList.default, {
38
+ elements: mockScene.elements,
39
+ eventHandler: function eventHandler() {}
40
+ }), children);
36
41
  };
37
42
 
38
43
  var _default = SceneWrapper;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "license": "Gamelearn",
4
- "version": "1.3.3",
4
+ "version": "1.3.5-1",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist",