three-zoo 0.11.15 → 0.11.16

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/index.js CHANGED
@@ -2198,8 +2198,9 @@ class SceneSorter {
2198
2198
  * @param object - Root object to start from
2199
2199
  * @param point - Reference point to measure distances against
2200
2200
  * @param baseRenderOrder - Starting render order value
2201
+ * @param reverseOrder - Back-to-front order: closer objects get higher renderOrder (for transparent meshes)
2201
2202
  */
2202
- static sortByDistanceToPoint(object, point, baseRenderOrder) {
2203
+ static sortByDistanceToPoint(object, point, baseRenderOrder, reverseOrder = false) {
2203
2204
  object.updateWorldMatrix(true, true);
2204
2205
  const meshes = [];
2205
2206
  SceneTraversal.enumerateObjectsByType(object, Mesh, (mesh) => meshes.push(mesh));
@@ -2213,7 +2214,7 @@ class SceneSorter {
2213
2214
  const distanceB = TEMP_BOX3.setFromObject(b)
2214
2215
  .getCenter(TEMP_VECTOR)
2215
2216
  .distanceToSquared(point);
2216
- return distanceA - distanceB;
2217
+ return reverseOrder ? distanceB - distanceA : distanceA - distanceB;
2217
2218
  });
2218
2219
  for (let i = 0; i < meshes.length; i++) {
2219
2220
  meshes[i].renderOrder = baseRenderOrder + i;