three-render-objects 1.39.3 → 1.40.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.
@@ -180,6 +180,10 @@ var threeRenderObjects = Kapsule({
180
180
  },
181
181
  triggerUpdate: false
182
182
  },
183
+ pointerRaycasterThrottleMs: {
184
+ "default": 50,
185
+ triggerUpdate: false
186
+ },
183
187
  lineHoverPrecision: {
184
188
  "default": 1,
185
189
  triggerUpdate: false
@@ -225,14 +229,16 @@ var threeRenderObjects = Kapsule({
225
229
  methods: {
226
230
  tick: function tick(state) {
227
231
  if (state.initialised) {
228
- state.controls.update && state.controls.update(Math.min(1, state.clock.getDelta())); // timedelta is required for fly controls
232
+ state.controls.enabled && state.controls.update && state.controls.update(Math.min(1, state.clock.getDelta())); // timedelta is required for fly controls
229
233
 
230
234
  state.postProcessingComposer ? state.postProcessingComposer.render() // if using postprocessing, switch the output to it
231
235
  : state.renderer.render(state.scene, state.camera);
232
236
  state.extraRenderers.forEach(function (r) {
233
237
  return r.render(state.scene, state.camera);
234
238
  });
235
- if (state.enablePointerInteraction) {
239
+ var now = +new Date();
240
+ if (state.enablePointerInteraction && now - state.lastRaycasterCheck >= state.pointerRaycasterThrottleMs) {
241
+ state.lastRaycasterCheck = now;
236
242
  // Update tooltip and trigger onHover events
237
243
  var topObject = null;
238
244
  if (state.hoverDuringDrag || !state.isPointerDragging) {
@@ -419,7 +425,8 @@ var threeRenderObjects = Kapsule({
419
425
  scene: new three.Scene(),
420
426
  camera: new three.PerspectiveCamera(),
421
427
  clock: new three.Clock(),
422
- tweenGroup: new Group()
428
+ tweenGroup: new Group(),
429
+ lastRaycasterCheck: 0
423
430
  };
424
431
  },
425
432
  init: function init(domNode, state) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-render-objects",
3
- "version": "1.39.3",
3
+ "version": "1.40.1",
4
4
  "description": "Easy way to render ThreeJS objects with built-in interaction defaults",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -56,20 +56,20 @@
56
56
  "three": ">=0.168"
57
57
  },
58
58
  "devDependencies": {
59
- "@babel/core": "^7.26.10",
60
- "@babel/preset-env": "^7.26.9",
59
+ "@babel/core": "^7.27.1",
60
+ "@babel/preset-env": "^7.27.2",
61
61
  "@rollup/plugin-babel": "^6.0.4",
62
62
  "@rollup/plugin-commonjs": "^28.0.3",
63
63
  "@rollup/plugin-node-resolve": "^16.0.1",
64
64
  "@rollup/plugin-terser": "^0.4.4",
65
- "@types/react": "^19.0.12",
65
+ "@types/react": "^19.1.4",
66
66
  "postcss": "^8.5.3",
67
67
  "rimraf": "^6.0.1",
68
- "rollup": "^4.36.0",
69
- "rollup-plugin-dts": "^6.2.0",
68
+ "rollup": "^4.40.2",
69
+ "rollup-plugin-dts": "^6.2.1",
70
70
  "rollup-plugin-postcss": "^4.0.2",
71
- "three": "^0.174.0",
72
- "typescript": "^5.8.2"
71
+ "three": "^0.176.0",
72
+ "typescript": "^5.8.3"
73
73
  },
74
74
  "engines": {
75
75
  "node": ">=12"