@realsee/five 6.7.0-alpha.2 → 6.7.0-alpha.21

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 (202) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/five.AnimationFrameLoop.html +4 -4
  5. package/docs/classes/five.BoundingMesh.html +4 -0
  6. package/docs/classes/five.Camera.html +5 -5
  7. package/docs/classes/five.Five.html +55 -42
  8. package/docs/classes/five.FivePass.html +20 -0
  9. package/docs/classes/five.FullScreenQuad.html +7 -0
  10. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  11. package/docs/classes/five.Model.html +32 -31
  12. package/docs/classes/five.ModelScene.html +22 -20
  13. package/docs/classes/five.NetworkSubscribe.html +1 -1
  14. package/docs/classes/five.PBMContainer.html +1 -1
  15. package/docs/classes/five.PBMGroup.html +1 -1
  16. package/docs/classes/five.PBMMesh.html +1 -1
  17. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  18. package/docs/classes/five.PBMPointCloud.html +1 -1
  19. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  20. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  21. package/docs/classes/five.PanoCircleMesh.html +1 -1
  22. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  23. package/docs/classes/five.PanoCircleMeshSolid.html +5 -5
  24. package/docs/classes/five.Parameter.html +7 -8
  25. package/docs/classes/five.Pass.html +11 -0
  26. package/docs/classes/five.Scene.html +1 -1
  27. package/docs/classes/five.Subscribe.html +1 -1
  28. package/docs/classes/five.Tile3D.html +21 -21
  29. package/docs/classes/five.TileNode.html +2 -2
  30. package/docs/classes/five.Tileset.html +4 -4
  31. package/docs/classes/five.TrajectoryNode.html +1 -1
  32. package/docs/classes/five.Work.html +16 -16
  33. package/docs/classes/five.WorkResolvedObserver.html +20 -21
  34. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  35. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  36. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  37. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  38. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  39. package/docs/classes/line.Line.html +1 -1
  40. package/docs/classes/line.LineGeometry.html +1 -1
  41. package/docs/classes/line.LineMaterial.html +1 -1
  42. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  43. package/docs/classes/line.THREE_Line2.html +1 -1
  44. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  45. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  46. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  47. package/docs/classes/sticker.Sticker.html +1 -1
  48. package/docs/classes/vfx.Airflow.html +1 -1
  49. package/docs/classes/vfx.Flame.html +1 -1
  50. package/docs/classes/vfx.Particle.html +1 -1
  51. package/docs/classes/vfx.ParticleGPU.html +1 -1
  52. package/docs/classes/vfx.SpotLight.html +1 -1
  53. package/docs/functions/five.parseWork.html +1 -1
  54. package/docs/functions/five.workToJson.html +1 -1
  55. package/docs/functions/plugins.DynamicPathLinePlugin.html +1 -0
  56. package/docs/functions/vue.useFiveWorks.html +2 -2
  57. package/docs/hierarchy.html +1 -1
  58. package/docs/interfaces/five.AddableObject.html +1 -1
  59. package/docs/interfaces/five.AjaxOptions.html +1 -1
  60. package/docs/interfaces/five.AnimationFrame.html +3 -2
  61. package/docs/interfaces/five.AnimationFrameContext.html +2 -2
  62. package/docs/interfaces/five.BaseEvent.html +1 -1
  63. package/docs/interfaces/five.EventCallback.html +1 -1
  64. package/docs/interfaces/five.FiveLoadOptions.html +8 -10
  65. package/docs/interfaces/five.GestureEvent.html +1 -1
  66. package/docs/interfaces/five.ImageOptions.html +1 -1
  67. package/docs/interfaces/five.IntersectEvent.html +1 -1
  68. package/docs/interfaces/five.IntersectMesh.html +1 -1
  69. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  70. package/docs/interfaces/five.Intersection.html +1 -1
  71. package/docs/interfaces/five.LoosePanoWork.html +2 -2
  72. package/docs/interfaces/five.LooseWork.html +2 -2
  73. package/docs/interfaces/five.LooseWorkInitial.html +2 -2
  74. package/docs/interfaces/five.LooseWorkModel.html +4 -2
  75. package/docs/interfaces/five.LooseWorkObserver.html +3 -2
  76. package/docs/interfaces/five.LooseWorkPanorama.html +8 -8
  77. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +7 -7
  78. package/docs/interfaces/five.ModeChangeEvent.html +1 -1
  79. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +5 -3
  80. package/docs/interfaces/five.ModelEvent.html +1 -1
  81. package/docs/interfaces/five.ModelOptions.html +11 -0
  82. package/docs/interfaces/five.ModelSceneEvent.html +1 -1
  83. package/docs/interfaces/five.MovePanoOptions.html +9 -7
  84. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  85. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  86. package/docs/interfaces/five.NetworkOptions.html +1 -1
  87. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  88. package/docs/interfaces/five.NetworkResourceEvent.html +1 -1
  89. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  90. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  91. package/docs/interfaces/five.ObjectEvent.html +1 -1
  92. package/docs/interfaces/five.PBMMaterial.html +1 -1
  93. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  94. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  95. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  96. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +2 -2
  97. package/docs/interfaces/five.PanoEvent.html +1 -1
  98. package/docs/interfaces/five.PanoTextureEvent.html +1 -1
  99. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +12 -10
  100. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +5 -3
  101. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  102. package/docs/interfaces/five.ParameterTilesetValue.html +4 -5
  103. package/docs/interfaces/five.ParameterValue.html +4 -5
  104. package/docs/interfaces/five.Pose.html +1 -1
  105. package/docs/interfaces/five.RenderEvent.html +1 -1
  106. package/docs/interfaces/five.ResolvedParameterValue.html +5 -6
  107. package/docs/interfaces/five.State.html +1 -1
  108. package/docs/interfaces/five.StateEvent.html +1 -1
  109. package/docs/interfaces/five.TextureOptions.html +1 -1
  110. package/docs/interfaces/five.TilesetOptions.html +2 -2
  111. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  112. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +12 -10
  113. package/docs/interfaces/five.ViewLayer.html +21 -21
  114. package/docs/interfaces/five.WorkCubeImage.html +2 -2
  115. package/docs/interfaces/five.WorkImage.html +5 -3
  116. package/docs/interfaces/five.WorkInitial.html +8 -8
  117. package/docs/interfaces/five.WorkModel.html +11 -7
  118. package/docs/interfaces/five.WorkModelJson.html +3 -2
  119. package/docs/interfaces/five.WorkModelLayer.html +7 -2
  120. package/docs/interfaces/five.WorkModelLayerJson.html +2 -2
  121. package/docs/interfaces/five.WorkObserver.html +21 -22
  122. package/docs/interfaces/five.WorkObserverJson.html +4 -2
  123. package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
  124. package/docs/interfaces/five.WorkPanoramasJson.html +2 -2
  125. package/docs/interfaces/five.WorkTile.html +4 -4
  126. package/docs/interfaces/five.WorkVideo.html +4 -4
  127. package/docs/interfaces/five.WorksEvent.html +1 -1
  128. package/docs/interfaces/five.XRControllerEvent.html +1 -1
  129. package/docs/interfaces/five.XRGestureEvent.html +1 -1
  130. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +12 -10
  131. package/docs/interfaces/five.XRSessionEvent.html +1 -1
  132. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  133. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  134. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  135. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +82 -0
  136. package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +36 -0
  137. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +26 -0
  138. package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +6 -0
  139. package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +26 -0
  140. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +10 -0
  141. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  142. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  143. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  144. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  145. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  146. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  147. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  148. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  149. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  150. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  151. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  152. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  153. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  154. package/docs/modules/five.html +1 -1
  155. package/docs/modules/plugins.DynamicPathLinePluginType.html +1 -0
  156. package/docs/modules/plugins.html +1 -1
  157. package/docs/types/five.AnimationFrameLoopType.html +1 -1
  158. package/docs/types/five.Models.html +4 -4
  159. package/docs/types/five.MovePanoEffect.html +3 -2
  160. package/docs/types/five.ParseOptions.html +6 -6
  161. package/docs/types/five.RequestAnimationFrameArgs.html +1 -0
  162. package/docs/types/five.TilesetFrameState.html +2 -3
  163. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  164. package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +3 -0
  165. package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +3 -0
  166. package/docs/types/vue.FiveProviderComponent.html +1 -1
  167. package/five/index.d.ts +213 -52
  168. package/five/index.js +108 -76
  169. package/five/index.mjs +4033 -3559
  170. package/gltf-loader/index.js +3 -3
  171. package/gltf-loader/index.mjs +3 -3
  172. package/line/index.js +3 -3
  173. package/line/index.mjs +3 -3
  174. package/package.json +1 -1
  175. package/plugins/index.d.ts +307 -0
  176. package/plugins/index.js +294 -15
  177. package/plugins/index.mjs +2457 -1385
  178. package/react/index.js +2 -2
  179. package/react/index.mjs +2 -2
  180. package/shader-lib/index.d.ts +24 -1
  181. package/shader-lib/index.js +14 -13
  182. package/shader-lib/index.mjs +433 -205
  183. package/sticker/index.js +3 -3
  184. package/sticker/index.mjs +3 -3
  185. package/umd/five-gltf-loader.js +3 -3
  186. package/umd/five-line.js +3 -3
  187. package/umd/five-plugins.js +294 -15
  188. package/umd/five-react.js +2 -2
  189. package/umd/five-shader-lib.js +14 -13
  190. package/umd/five-sticker.js +3 -3
  191. package/umd/five-vfx.js +2 -2
  192. package/umd/five-vue.js +2 -2
  193. package/umd/five.js +108 -76
  194. package/vfx/index.js +2 -2
  195. package/vfx/index.mjs +2 -2
  196. package/vue/index.d.ts +1 -1
  197. package/vue/index.js +2 -2
  198. package/vue/index.mjs +2 -2
  199. package/work-downloader/index.js +3 -3
  200. package/work-downloader/index.mjs +309 -257
  201. package/docs/interfaces/five.ModelLike.html +0 -3
  202. package/docs/types/five.Tile3dOptions.html +0 -1
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 9/26/2025
5
- * Version: 6.7.0-alpha.2
4
+ * Generated: 12/1/2025
5
+ * Version: 6.7.0-alpha.21
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -252,30 +252,117 @@
252
252
  * No amendment to or modification of this Agreement will be binding unless in
253
253
  * writing and signed by Realsee. You and Realsee hereto confirm that this
254
254
  * Agreement and all related documents shall be drafted in English.
255
- */import { CustomShader as C } from "@realsee/five";
256
- import * as r from "three";
257
- var B = function(i, e) {
258
- return B = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, t) {
259
- n.__proto__ = t;
260
- } || function(n, t) {
261
- for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (n[o] = t[o]);
262
- }, B(i, e);
255
+ */import { CustomShader as _ } from "@realsee/five";
256
+ import * as l from "three";
257
+ var b = function(i, n) {
258
+ return b = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, o) {
259
+ e.__proto__ = o;
260
+ } || function(e, o) {
261
+ for (var t in o) Object.prototype.hasOwnProperty.call(o, t) && (e[t] = o[t]);
262
+ }, b(i, n);
263
263
  };
264
- function S(i, e) {
265
- if (typeof e != "function" && e !== null)
266
- throw new TypeError("Class extends value " + String(e) + " is not a constructor or null");
267
- B(i, e);
268
- function n() {
264
+ function F(i, n) {
265
+ if (typeof n != "function" && n !== null)
266
+ throw new TypeError("Class extends value " + String(n) + " is not a constructor or null");
267
+ b(i, n);
268
+ function e() {
269
269
  this.constructor = i;
270
270
  }
271
- i.prototype = e === null ? Object.create(e) : (n.prototype = e.prototype, new n());
271
+ i.prototype = n === null ? Object.create(n) : (e.prototype = n.prototype, new e());
272
272
  }
273
- function U(i, e, n) {
274
- if (n || arguments.length === 2) for (var t = 0, o = e.length, l; t < o; t++)
275
- (l || !(t in e)) && (l || (l = Array.prototype.slice.call(e, 0, t)), l[t] = e[t]);
276
- return i.concat(l || Array.prototype.slice.call(e));
273
+ function k(i, n, e, o) {
274
+ function t(r) {
275
+ return r instanceof e ? r : new e(function(s) {
276
+ s(r);
277
+ });
278
+ }
279
+ return new (e || (e = Promise))(function(r, s) {
280
+ function p(u) {
281
+ try {
282
+ a(o.next(u));
283
+ } catch (v) {
284
+ s(v);
285
+ }
286
+ }
287
+ function c(u) {
288
+ try {
289
+ a(o.throw(u));
290
+ } catch (v) {
291
+ s(v);
292
+ }
293
+ }
294
+ function a(u) {
295
+ u.done ? r(u.value) : t(u.value).then(p, c);
296
+ }
297
+ a((o = o.apply(i, n || [])).next());
298
+ });
299
+ }
300
+ function I(i, n) {
301
+ var e = { label: 0, sent: function() {
302
+ if (r[0] & 1) throw r[1];
303
+ return r[1];
304
+ }, trys: [], ops: [] }, o, t, r, s = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype);
305
+ return s.next = p(0), s.throw = p(1), s.return = p(2), typeof Symbol == "function" && (s[Symbol.iterator] = function() {
306
+ return this;
307
+ }), s;
308
+ function p(a) {
309
+ return function(u) {
310
+ return c([a, u]);
311
+ };
312
+ }
313
+ function c(a) {
314
+ if (o) throw new TypeError("Generator is already executing.");
315
+ for (; s && (s = 0, a[0] && (e = 0)), e; ) try {
316
+ if (o = 1, t && (r = a[0] & 2 ? t.return : a[0] ? t.throw || ((r = t.return) && r.call(t), 0) : t.next) && !(r = r.call(t, a[1])).done) return r;
317
+ switch (t = 0, r && (a = [a[0] & 2, r.value]), a[0]) {
318
+ case 0:
319
+ case 1:
320
+ r = a;
321
+ break;
322
+ case 4:
323
+ return e.label++, { value: a[1], done: !1 };
324
+ case 5:
325
+ e.label++, t = a[1], a = [0];
326
+ continue;
327
+ case 7:
328
+ a = e.ops.pop(), e.trys.pop();
329
+ continue;
330
+ default:
331
+ if (r = e.trys, !(r = r.length > 0 && r[r.length - 1]) && (a[0] === 6 || a[0] === 2)) {
332
+ e = 0;
333
+ continue;
334
+ }
335
+ if (a[0] === 3 && (!r || a[1] > r[0] && a[1] < r[3])) {
336
+ e.label = a[1];
337
+ break;
338
+ }
339
+ if (a[0] === 6 && e.label < r[1]) {
340
+ e.label = r[1], r = a;
341
+ break;
342
+ }
343
+ if (r && e.label < r[2]) {
344
+ e.label = r[2], e.ops.push(a);
345
+ break;
346
+ }
347
+ r[2] && e.ops.pop(), e.trys.pop();
348
+ continue;
349
+ }
350
+ a = n.call(i, e);
351
+ } catch (u) {
352
+ a = [6, u], t = 0;
353
+ } finally {
354
+ o = r = 0;
355
+ }
356
+ if (a[0] & 5) throw a[1];
357
+ return { value: a[0] ? a[1] : void 0, done: !0 };
358
+ }
359
+ }
360
+ function T(i, n, e) {
361
+ if (e || arguments.length === 2) for (var o = 0, t = n.length, r; o < t; o++)
362
+ (r || !(o in n)) && (r || (r = Array.prototype.slice.call(n, 0, o)), r[o] = n[o]);
363
+ return i.concat(r || Array.prototype.slice.call(n));
277
364
  }
278
- var I = `
365
+ var R = `
279
366
  #if defined(USE_PLANE_DISTANCE)
280
367
  struct Plane {
281
368
  vec3 normal;
@@ -286,7 +373,7 @@ var I = `
286
373
  uniform float evennessPlaneConstant;
287
374
  uniform float evennessPlaneDepth;
288
375
  #endif
289
- `, A = `
376
+ `, V = `
290
377
  #if defined(USE_PLANE_DISTANCE)
291
378
 
292
379
  bool inside = true;
@@ -306,29 +393,29 @@ var I = `
306
393
  }
307
394
  }
308
395
  #endif
309
- `, J = "", V = {
396
+ `, W = "", L = {
310
397
  type: ["pointcloud"],
311
398
  fragment: {
312
- mainBefore: I,
313
- mainStart: J,
314
- mainEnd: A
399
+ mainBefore: R,
400
+ mainStart: W,
401
+ mainEnd: V
315
402
  },
316
403
  uniforms: {
317
- evennessPlaneNormal: new r.Uniform(new r.Vector3()),
318
- evennessPlaneConstant: new r.Uniform(0),
319
- evennessPlanes: new r.Uniform([]),
320
- evennessPlaneDepth: new r.Uniform(0)
404
+ evennessPlaneNormal: new l.Uniform(new l.Vector3()),
405
+ evennessPlaneConstant: new l.Uniform(0),
406
+ evennessPlanes: new l.Uniform([]),
407
+ evennessPlaneDepth: new l.Uniform(0)
321
408
  },
322
409
  defines: {
323
410
  USE_PLANE_DISTANCE: !1
324
411
  }
325
- }, Z = (
412
+ }, te = (
326
413
  /** @class */
327
414
  (function(i) {
328
- S(e, i);
329
- function e() {
330
- var n = i.call(this, V) || this;
331
- return Object.defineProperties(n, {
415
+ F(n, i);
416
+ function n() {
417
+ var e = i.call(this, L) || this;
418
+ return Object.defineProperties(e, {
332
419
  evennessPlane: {
333
420
  get: function() {
334
421
  return {
@@ -336,31 +423,31 @@ var I = `
336
423
  points: this.uniforms.evennessPoints.value
337
424
  };
338
425
  },
339
- set: function(t) {
340
- var o = t.points, l = t.depth, m = !1;
341
- if (o.length !== 0 && o.length % 4 === 0) {
342
- m = !0;
343
- var v = o[0], u = o[1], p = o[2], a = o[3], g = new r.Vector3().subVectors(u, v), x = new r.Vector3().subVectors(p, v), c = new r.Vector3().crossVectors(g, x).normalize(), h = -c.dot(v), s = l, d = v.clone().add(c.clone().negate().multiplyScalar(s)), f = v.clone().add(c.clone().multiplyScalar(s)), y = u.clone().add(c.clone().negate().multiplyScalar(s)), E = u.clone().add(c.clone().multiplyScalar(s)), _ = p.clone().add(c.clone().negate().multiplyScalar(s)), P = p.clone().add(c.clone().multiplyScalar(s)), w = a.clone().add(c.clone().negate().multiplyScalar(s)), F = a.clone().add(c.clone().multiplyScalar(s)), z = new r.Plane().setFromCoplanarPoints(f, E, P), N = new r.Plane().setFromCoplanarPoints(_, y, d), M = new r.Plane().setFromCoplanarPoints(E, f, d), O = new r.Plane().setFromCoplanarPoints(w, F, P), T = new r.Plane().setFromCoplanarPoints(P, E, y), D = new r.Plane().setFromCoplanarPoints(d, f, F);
426
+ set: function(o) {
427
+ var t = o.points, r = o.depth, s = !1;
428
+ if (t.length !== 0 && t.length % 4 === 0) {
429
+ s = !0;
430
+ var p = t[0], c = t[1], a = t[2], u = t[3], v = new l.Vector3().subVectors(c, p), h = new l.Vector3().subVectors(a, p), m = new l.Vector3().crossVectors(v, h).normalize(), y = -m.dot(p), f = r, g = p.clone().add(m.clone().negate().multiplyScalar(f)), d = p.clone().add(m.clone().multiplyScalar(f)), x = c.clone().add(m.clone().negate().multiplyScalar(f)), P = c.clone().add(m.clone().multiplyScalar(f)), E = a.clone().add(m.clone().negate().multiplyScalar(f)), w = a.clone().add(m.clone().multiplyScalar(f)), B = u.clone().add(m.clone().negate().multiplyScalar(f)), C = u.clone().add(m.clone().multiplyScalar(f)), S = new l.Plane().setFromCoplanarPoints(d, P, w), M = new l.Plane().setFromCoplanarPoints(E, x, g), z = new l.Plane().setFromCoplanarPoints(P, d, g), N = new l.Plane().setFromCoplanarPoints(B, C, w), O = new l.Plane().setFromCoplanarPoints(w, P, x), D = new l.Plane().setFromCoplanarPoints(g, d, C);
344
431
  this.uniforms.evennessPlanes.value = [
432
+ { normal: S.normal, constant: S.constant },
433
+ { normal: M.normal, constant: M.constant },
345
434
  { normal: z.normal, constant: z.constant },
346
435
  { normal: N.normal, constant: N.constant },
347
- { normal: M.normal, constant: M.constant },
348
436
  { normal: O.normal, constant: O.constant },
349
- { normal: T.normal, constant: T.constant },
350
437
  { normal: D.normal, constant: D.constant }
351
- ], this.uniforms.evennessPlaneDepth.value = l, this.uniforms.evennessPlaneNormal.value = c, this.uniforms.evennessPlaneConstant.value = h;
438
+ ], this.uniforms.evennessPlaneDepth.value = r, this.uniforms.evennessPlaneNormal.value = m, this.uniforms.evennessPlaneConstant.value = y;
352
439
  }
353
- this.defines.USE_PLANE_DISTANCE = m, this.needsUpdate = !0;
440
+ this.defines.USE_PLANE_DISTANCE = s, this.needsUpdate = !0;
354
441
  }
355
442
  }
356
- }), n.evennessPlane = {
443
+ }), e.evennessPlane = {
357
444
  depth: 0,
358
445
  points: []
359
- }, n;
446
+ }, e;
360
447
  }
361
- return e;
362
- })(C)
363
- ), W = `
448
+ return n;
449
+ })(_)
450
+ ), j = `
364
451
  #if NUM_SWEEP_OBJECTS > 0
365
452
  uniform float sweepProgress;
366
453
  uniform float sweepRange;
@@ -373,7 +460,7 @@ var I = `
373
460
  };
374
461
  uniform SWEEP_OBJECT sweepBoxs[NUM_SWEEP_OBJECTS];
375
462
  #endif
376
- `, H = `
463
+ `, J = `
377
464
 
378
465
  #if NUM_SWEEP_OBJECTS > 0
379
466
  #pragma unroll_loop_start
@@ -406,49 +493,49 @@ var I = `
406
493
  }
407
494
  #pragma unroll_loop_end
408
495
  #endif
409
- `, R = "", X = (
496
+ `, H = "", re = (
410
497
  /** @class */
411
498
  (function(i) {
412
- S(e, i);
413
- function e() {
414
- var n = i.call(this, {
499
+ F(n, i);
500
+ function n() {
501
+ var e = i.call(this, {
415
502
  type: ["basic", "phong", "pointcloud"],
416
503
  fragment: {
417
- mainBefore: W,
418
- mainStart: R,
419
- mainEnd: H
504
+ mainBefore: j,
505
+ mainStart: H,
506
+ mainEnd: J
420
507
  },
421
508
  uniforms: {
422
- sweepProgress: new r.Uniform(0),
423
- sweepRange: new r.Uniform(0),
424
- sweepBoxs: new r.Uniform([]),
425
- interval: new r.Uniform(0.04),
509
+ sweepProgress: new l.Uniform(0),
510
+ sweepRange: new l.Uniform(0),
511
+ sweepBoxs: new l.Uniform([]),
512
+ interval: new l.Uniform(0.04),
426
513
  // 线间距
427
- threshold: new r.Uniform(2e-3)
514
+ threshold: new l.Uniform(2e-3)
428
515
  // 线宽
429
516
  },
430
517
  defines: {
431
518
  NUM_SWEEP_OBJECTS: 0
432
519
  }
433
520
  }) || this;
434
- return Object.defineProperties(n, {
521
+ return Object.defineProperties(e, {
435
522
  sweepBoxs: {
436
523
  get: function() {
437
524
  return this.uniforms.sweepBoxs.value;
438
525
  },
439
- set: function(t) {
440
- var o = t.length;
441
- o > 0 && (this.defines.NUM_SWEEP_OBJECTS = o, this.needsUpdate = !0, this.uniforms.sweepBoxs.value = t);
526
+ set: function(o) {
527
+ var t = o.length;
528
+ t > 0 && (this.defines.NUM_SWEEP_OBJECTS = t, this.needsUpdate = !0, this.uniforms.sweepBoxs.value = o);
442
529
  }
443
530
  }
444
- }), n.sweepBoxs = [], n;
531
+ }), e.sweepBoxs = [], e;
445
532
  }
446
- return e.prototype.onBeforeCompile = function(n, t) {
447
- var o = String(this.sweepBoxs.length);
448
- n.vertexShader = n.vertexShader.replace(/NUM_SWEEP_OBJECTS/g, o), n.fragmentShader = n.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g, o);
449
- }, e;
450
- })(C)
451
- ), L = `
533
+ return n.prototype.onBeforeCompile = function(e, o) {
534
+ var t = String(this.sweepBoxs.length);
535
+ e.vertexShader = e.vertexShader.replace(/NUM_SWEEP_OBJECTS/g, t), e.fragmentShader = e.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g, t);
536
+ }, n;
537
+ })(_)
538
+ ), G = `
452
539
  uniform float pointCloudExpand_progress;
453
540
 
454
541
  vec4 pointCloudExpand_permute(vec4 x) { return mod(((x * 34.0) + 1.0) * x, 289.0); }
@@ -521,7 +608,7 @@ float pointCloudExpand_gln_simplex(vec3 v) {
521
608
  m = m * m;
522
609
  return 42.0 * dot(m * m, vec4(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3)));
523
610
  }
524
- `, G = `
611
+ `, q = `
525
612
  float pointCloudExpand_sizeScale = 1.0;
526
613
  float pointCloudExpand_sizeBasis = 0.0;
527
614
  vec4 pointCloudExpand_basis = vec4((modelBoundingMax + modelBoundingMin) / 2.0, 1.0);
@@ -535,34 +622,141 @@ float pointCloudExpand_progress2 = step(pointCloudExpand_progress, 1.0 - pointCl
535
622
  pointCloudExpand_sizeBasis = mix(0.1 * step(abs(pointCloudExpand_noise), 0.5 / pointCloudExpand_boundingRadius), pointCloudExpand_sizeBasis, pointCloudExpand_progress2);
536
623
  gl_PointSize = gl_PointSize * pointCloudExpand_sizeScale + pointCloudExpand_sizeBasis;
537
624
  vPointSize = gl_PointSize;
538
- `, nn = (
625
+ `, ae = (
539
626
  /** @class */
540
627
  (function(i) {
541
- S(e, i);
542
- function e() {
628
+ F(n, i);
629
+ function n() {
543
630
  return i.call(this, {
544
631
  type: ["pointcloud"],
545
632
  vertex: {
546
- mainBefore: L,
547
- mainEnd: G
633
+ mainBefore: G,
634
+ mainEnd: q
548
635
  },
549
636
  uniforms: {
550
- pointCloudExpand_progress: new r.Uniform(0)
637
+ pointCloudExpand_progress: new l.Uniform(0)
551
638
  }
552
639
  }) || this;
553
640
  }
554
- return Object.defineProperty(e.prototype, "progress", {
641
+ return Object.defineProperty(n.prototype, "progress", {
555
642
  get: function() {
556
643
  return this.uniforms.pointCloudExpand_progress.value;
557
644
  },
558
- set: function(n) {
559
- this.uniforms.pointCloudExpand_progress.value = n;
645
+ set: function(e) {
646
+ this.uniforms.pointCloudExpand_progress.value = e;
560
647
  },
561
648
  enumerable: !1,
562
649
  configurable: !0
650
+ }), n;
651
+ })(_)
652
+ );
653
+ const A = `(function(){"use strict";function P(n){onmessage=function(a){Promise.resolve(a.data).then(function(t){return n(t)}).then(function(t){var v=t.output,r=t.transfer;return postMessage(v,r)}).catch(function(t){return postMessage({$$error:t})})}}function y(n,a,t){var v=new OffscreenCanvas(a,t),r=v.getContext("2d");if(!r)throw new Error("Failed to get canvas context");r.clearRect(0,0,a,t),r.fillStyle="rgba(0,0,0,1.0)",r.beginPath();var o=n[0][0],i=n[0][0],u=n[0][1],m=n[0][1];n.forEach(function(e){var f=e[0],s=e[1];o=Math.min(o,f),i=Math.max(i,f),u=Math.min(u,s),m=Math.max(m,s)});var g=i-o,c=m-u,h=g>=c?a/g:a/c,x=n.map(function(e){var f=e[0]-o,s=e[1]-u;return[f,s]}),l=x.map(function(e){return[e[0]*h,e[1]*h]});return l.forEach(function(e,f){var s=e[0],D=e[1];f===0?r.moveTo(s,D):r.lineTo(s,D)}),r.closePath(),r.fill(),r.getImageData(0,0,a,t)}function M(n,a,t){for(var v=new ImageData(a,t),r=n.map(function(s){return y(s.polygon,s.width,s.height)}),o=0;o<a;o++)for(var i=0;i<t;i++){for(var u=0,m=0,g=0,c=0;c<r.length;c++){var h=r[c].data,x=(o+i*a)*4;if(h[x+3]===255){var l=c%8,e=Math.floor(c/8);e===0?u=u|1<<l:e===1?m=m|1<<l:e===2&&(g=g|1<<l)}}var f=(o+i*a)*4;v.data[f]=u,v.data[f+1]=m,v.data[f+2]=g,v.data[f+3]=255}return v}P(function(n){return Promise.resolve(n).then(function(a){var t=a.canvasDataList,v=a.width,r=a.height,o=M(t,v,r);return{output:{imageData:o},transfer:[o.data.buffer]}})})})();
654
+ `, U = typeof self != "undefined" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", A], { type: "text/javascript;charset=utf-8" });
655
+ function $(i) {
656
+ let n;
657
+ try {
658
+ if (n = U && (self.URL || self.webkitURL).createObjectURL(U), !n) throw "";
659
+ const e = new Worker(n, {
660
+ name: i == null ? void 0 : i.name
661
+ });
662
+ return e.addEventListener("error", () => {
663
+ (self.URL || self.webkitURL).revokeObjectURL(n);
563
664
  }), e;
564
- })(C)
565
- ), j = `
665
+ } catch (e) {
666
+ return new Worker(
667
+ "data:text/javascript;charset=utf-8," + encodeURIComponent(A),
668
+ {
669
+ name: i == null ? void 0 : i.name
670
+ }
671
+ );
672
+ }
673
+ }
674
+ var Y = (
675
+ /** @class */
676
+ (function() {
677
+ function i(n, e) {
678
+ this.disposed = !1, this.pool = e, this.workerCreator = n, this.queue = [], this.workers = [], this.workerResolvers = [], this.workerStatus = 0;
679
+ }
680
+ return i.prototype.setWorkerCreator = function(n) {
681
+ this.workerCreator = n;
682
+ }, i.prototype.initWorker = function(n) {
683
+ if (!this.workerCreator)
684
+ throw new Error("workerCreator is not defined");
685
+ if (!this.workers[n]) {
686
+ var e = this.workerCreator(n);
687
+ e.addEventListener("message", this.onMessage.bind(this, n)), this.workers[n] = e;
688
+ }
689
+ }, i.prototype.getIdleWorker = function() {
690
+ for (var n = 0; n < this.pool; n++)
691
+ if (!(this.workerStatus & 1 << n))
692
+ return n;
693
+ return -1;
694
+ }, i.prototype.onMessage = function(n, e) {
695
+ var o = this.workerResolvers[n];
696
+ if (e.data && "$$error" in e.data ? o == null || o.reject(e.data.$$error) : o == null || o.resolve(e.data), this.workerResolvers[n] = void 0, this.queue.length) {
697
+ var t = this.queue.shift(), r = t.resolve, s = t.reject, p = t.input, c = t.transfer;
698
+ this.workerResolvers[n] = { resolve: r, reject: s }, this.workers[n].postMessage(p, c);
699
+ } else
700
+ this.workerStatus ^= 1 << n;
701
+ }, i.prototype.postMessage = function(n, e) {
702
+ var o = this;
703
+ return e === void 0 && (e = []), new Promise(function(t, r) {
704
+ if (o.disposed) {
705
+ r(new Error("disposed"));
706
+ return;
707
+ }
708
+ var s = o.getIdleWorker();
709
+ s !== -1 ? (o.initWorker(s), o.workerStatus |= 1 << s, o.workerResolvers[s] = { resolve: t, reject: r }, o.workers[s].postMessage(n, e)) : o.queue.push({ resolve: t, reject: r, input: n, transfer: e });
710
+ });
711
+ }, i.prototype.dispose = function() {
712
+ this.disposed = !0, this.workers.forEach(function(n) {
713
+ n.terminate();
714
+ }), this.workers.length = 0, this.workerResolvers.forEach(function(n) {
715
+ n == null || n.reject(new Error("disposed"));
716
+ }), this.workerResolvers.length = 0, this.queue.forEach(function(n) {
717
+ n.reject(new Error("disposed"));
718
+ }), this.queue.length = 0, this.workerStatus = 0;
719
+ }, i;
720
+ })()
721
+ );
722
+ function ie(i) {
723
+ if (i.length < 3)
724
+ throw new Error("At least 3 points are required to compute alignment matrix");
725
+ var n = i[0], e = i[1], o = i[2], t = new l.Vector3().subVectors(e, n), r = new l.Vector3().subVectors(o, n), s = new l.Vector3().crossVectors(t, r);
726
+ if (s.lengthSq() < 1e-4)
727
+ for (var p = 3; p < i.length && (o = i[p], r = new l.Vector3().subVectors(o, n), s = new l.Vector3().crossVectors(t, r), !(s.lengthSq() >= 1e-4)); p++)
728
+ ;
729
+ if (s.lengthSq() < 1e-4)
730
+ throw new Error("All points are collinear, cannot compute normal");
731
+ s.normalize();
732
+ var c = new l.Vector3();
733
+ i.forEach(function(E) {
734
+ return c.add(E);
735
+ }), c.divideScalar(i.length);
736
+ var a = new l.Vector3(0, 1, 0), u = new l.Quaternion(), v = s.dot(a);
737
+ if (!(Math.abs(v - 1) < 1e-4)) if (Math.abs(v + 1) < 1e-4) {
738
+ var h = new l.Vector3(1, 0, 0);
739
+ u.setFromAxisAngle(h, Math.PI);
740
+ } else {
741
+ var h = new l.Vector3().crossVectors(s, a).normalize(), m = Math.acos(v);
742
+ u.setFromAxisAngle(h, m);
743
+ }
744
+ var y = new l.Matrix4().makeTranslation(-c.x, -c.y, -c.z), f = new l.Matrix4().makeRotationFromQuaternion(u), g = new l.Matrix4();
745
+ g.multiplyMatrices(f, y);
746
+ var d = i.map(function(E) {
747
+ var w = E.clone().applyMatrix4(g);
748
+ return [w.x, w.z];
749
+ });
750
+ if (d.length > 0) {
751
+ var x = d[0], P = d[d.length - 1];
752
+ (x[0] !== P[0] || x[1] !== P[1]) && d.push([x[0], x[1]]);
753
+ }
754
+ return {
755
+ transformMatrix: g,
756
+ points2D: d
757
+ };
758
+ }
759
+ var Q = `
566
760
  uniform sampler2D polygonTexture;
567
761
 
568
762
  struct PolygonClipper {
@@ -576,7 +770,7 @@ vPointSize = gl_PointSize;
576
770
  #if NUM_POLYGON_CLIPPER > 0
577
771
  uniform PolygonClipper polygonClippers[NUM_POLYGON_CLIPPER];
578
772
  #endif
579
- `, $ = `
773
+ `, K = `
580
774
 
581
775
  for(int i = 0; i < NUM_POLYGON_CLIPPER; i++){
582
776
  PolygonClipper polygonClipper = polygonClippers[i];
@@ -646,132 +840,165 @@ vPointSize = gl_PointSize;
646
840
  }
647
841
  }
648
842
 
649
- `, q = (
843
+ `, Z = (
650
844
  /** @class */
651
845
  (function() {
652
846
  function i() {
653
- this.canvasCache = /* @__PURE__ */ new Map(), this.canvas = document.createElement("canvas"), this.canvas.width = 512, this.canvas.height = 512, this.polygonTexture = new r.CanvasTexture(this.canvas), this.polygonCount = 0;
847
+ this.canvasCache = /* @__PURE__ */ new Map(), this.canvas = document.createElement("canvas"), this.canvas.width = 512, this.canvas.height = 512, this.polygonTexture = new l.CanvasTexture(this.canvas), this.polygonCount = 0;
654
848
  }
655
- return i.prototype.setSize = function(e) {
656
- this.canvas.width = e, this.canvas.height = e;
657
- }, i.prototype.generatePolygonCanvas = function(e) {
658
- var n = JSON.stringify(e);
659
- if (this.canvasCache.has(n))
660
- return this.canvasCache.get(n);
661
- var t = document.createElement("canvas");
662
- t.width = this.canvas.width, t.height = this.canvas.height;
663
- var o = t.getContext("2d");
664
- if (!o)
849
+ return i.prototype.setSize = function(n) {
850
+ this.canvas.width = n, this.canvas.height = n;
851
+ }, i.prototype.generatePolygonCanvas = function(n) {
852
+ var e = JSON.stringify(n);
853
+ if (this.canvasCache.has(e))
854
+ return this.canvasCache.get(e);
855
+ var o = document.createElement("canvas");
856
+ o.width = this.canvas.width, o.height = this.canvas.height;
857
+ var t = o.getContext("2d");
858
+ if (!t)
665
859
  throw new Error("Failed to get canvas context");
666
860
  if (this.polygonCount >= 24)
667
861
  throw new Error("polygon count exceed 24, please clear the canvas");
668
- o.clearRect(0, 0, this.canvas.width, this.canvas.height), o.fillStyle = "rgba(0,0,0,1.0)", o.beginPath();
669
- var l = e[0][0], m = e[0][0], v = e[0][1], u = e[0][1];
670
- e.forEach(function(s) {
671
- var d = s[0], f = s[1];
672
- l = Math.min(l, d), m = Math.max(m, d), v = Math.min(v, f), u = Math.max(u, f);
862
+ t.clearRect(0, 0, this.canvas.width, this.canvas.height), t.fillStyle = "rgba(0,0,0,1.0)", t.beginPath();
863
+ var r = n[0][0], s = n[0][0], p = n[0][1], c = n[0][1];
864
+ n.forEach(function(f) {
865
+ var g = f[0], d = f[1];
866
+ r = Math.min(r, g), s = Math.max(s, g), p = Math.min(p, d), c = Math.max(c, d);
673
867
  });
674
- var p = m - l, a = u - v, g = this.canvas.width, x = p >= a ? g / p : g / a, c = e.map(function(s) {
675
- var d = s[0] - l, f = s[1] - v;
676
- return [d, f];
677
- }), h = c.map(function(s) {
678
- return [s[0] * x, s[1] * x];
868
+ var a = s - r, u = c - p, v = this.canvas.width, h = a >= u ? v / a : v / u, m = n.map(function(f) {
869
+ var g = f[0] - r, d = f[1] - p;
870
+ return [g, d];
871
+ }), y = m.map(function(f) {
872
+ return [f[0] * h, f[1] * h];
679
873
  });
680
- return h.forEach(function(s, d) {
681
- var f = s[0], y = s[1];
682
- d === 0 ? o.moveTo(f, y) : o.lineTo(f, y);
683
- }), o.closePath(), o.fill(), this.polygonCount++, this.canvasCache.set(n, t), t;
684
- }, i.generatePolygonGeometry = function(e, n) {
685
- for (var t = new r.BufferGeometry(), o = e.slice(0, -1), l = o.map(function(g) {
686
- return [g[0], 0, g[1]];
687
- }), m = o.map(function(g) {
688
- return [g[0], n, g[1]];
689
- }), v = U(U([], l, !0), m, !0), u = o.length, p = [], a = 1; a < u - 1; a++)
690
- p.push(0, a, a + 1);
691
- for (var a = 1; a < u - 1; a++)
692
- p.push(u, u + a, u + a + 1);
693
- for (var a = 0; a < u - 1; a++)
694
- p.push(a, a + 1, u + a), p.push(a + 1, a + 1 + u, u + a);
695
- return t.setAttribute("position", new r.Float32BufferAttribute(v.flat(), 3)), t.setIndex(p), t.computeVertexNormals(), t;
696
- }, i.prototype.generatePolygonTexture = function(e) {
697
- var n = this.canvas.getContext("2d", {
874
+ return y.forEach(function(f, g) {
875
+ var d = f[0], x = f[1];
876
+ g === 0 ? t.moveTo(d, x) : t.lineTo(d, x);
877
+ }), t.closePath(), t.fill(), this.polygonCount++, this.canvasCache.set(e, o), o;
878
+ }, i.generatePolygonGeometry = function(n, e) {
879
+ for (var o = new l.BufferGeometry(), t = n.slice(0, -1), r = t.map(function(h) {
880
+ return [h[0], 0, h[1]];
881
+ }), s = t.map(function(h) {
882
+ return [h[0], e, h[1]];
883
+ }), p = T(T([], r, !0), s, !0), c = t.length, a = [], u = 1; u < c - 1; u++)
884
+ a.push(0, u, u + 1);
885
+ for (var u = 1; u < c - 1; u++)
886
+ a.push(c, c + u, c + u + 1);
887
+ for (var u = 0; u < c; u++) {
888
+ var v = (u + 1) % c;
889
+ a.push(u, v, c + u), a.push(v, c + v, c + u);
890
+ }
891
+ return o.setAttribute("position", new l.Float32BufferAttribute(p.flat(), 3)), o.setIndex(a), o.computeVertexNormals(), o;
892
+ }, i.prototype.generatePolygonTexture = function(n) {
893
+ var e = this.canvas.getContext("2d", {
698
894
  willReadFrequently: !0
699
895
  });
700
- if (!n)
896
+ if (!e)
701
897
  throw new Error("Failed to get canvas context");
702
- for (var t = n.createImageData(this.canvas.width, this.canvas.height), o = 0; o < this.canvas.width; o++)
703
- for (var l = 0; l < this.canvas.height; l++) {
704
- for (var m = 0, v = 0, u = 0, p = 0; p < e.length; p++) {
705
- var a = e[p].getContext("2d", { willReadFrequently: !0 });
706
- if (!a)
898
+ for (var o = e.createImageData(this.canvas.width, this.canvas.height), t = 0; t < this.canvas.width; t++)
899
+ for (var r = 0; r < this.canvas.height; r++) {
900
+ for (var s = 0, p = 0, c = 0, a = 0; a < n.length; a++) {
901
+ var u = n[a].getContext("2d", { willReadFrequently: !0 });
902
+ if (!u)
707
903
  throw new Error("Failed to get canvas context");
708
- var g = a.getImageData(o, l, 1, 1).data;
709
- if (g[3] === 255) {
710
- var x = p % 8, c = Math.floor(p / 8);
711
- c === 0 ? m = m | 1 << x : c === 1 ? v = v | 1 << x : c === 2 && (u = u | 1 << x);
904
+ var v = u.getImageData(t, r, 1, 1).data;
905
+ if (v[3] === 255) {
906
+ var h = a % 8, m = Math.floor(a / 8);
907
+ m === 0 ? s = s | 1 << h : m === 1 ? p = p | 1 << h : m === 2 && (c = c | 1 << h);
712
908
  }
713
909
  }
714
- var h = (o + l * this.canvas.width) * 4;
715
- t.data[h] = m, t.data[h + 1] = v, t.data[h + 2] = u, t.data[h + 3] = 255;
910
+ var y = (t + r * this.canvas.width) * 4;
911
+ o.data[y] = s, o.data[y + 1] = p, o.data[y + 2] = c, o.data[y + 3] = 255;
716
912
  }
717
- return n.putImageData(t, 0, 0), new r.CanvasTexture(this.canvas);
913
+ return e.putImageData(o, 0, 0), new l.CanvasTexture(this.canvas);
718
914
  }, i;
719
915
  })()
720
- ), b = new q(), en = (
916
+ ), se = (
721
917
  /** @class */
722
918
  (function(i) {
723
- S(e, i);
724
- function e() {
725
- var n = i.call(this, {
919
+ F(n, i);
920
+ function n(e) {
921
+ e === void 0 && (e = 512);
922
+ var o = i.call(this, {
726
923
  type: ["basic", "phong", "pointcloud"],
727
924
  fragment: {
728
- mainBefore: j,
729
- mainEnd: $
925
+ mainBefore: Q,
926
+ mainEnd: K
730
927
  },
731
928
  uniforms: {
732
- polygonClippers: new r.Uniform([]),
733
- polygonTexture: new r.Uniform(null)
929
+ polygonClippers: new l.Uniform([]),
930
+ polygonTexture: new l.Uniform(null)
734
931
  }
735
932
  }) || this;
736
- return n._polygonClippers = [], n._radio = 512, n;
933
+ return o._polygonClippers = [], o.polygonGenerater = new Z(), o._radio = 512, o.radio = e, o.workerPool = new Y(function() {
934
+ return new $();
935
+ }, 1), o;
737
936
  }
738
- return Object.defineProperty(e.prototype, "polygonClippers", {
937
+ return n.prototype.setPolygonClippersAsync = function(e) {
938
+ return k(this, void 0, void 0, function() {
939
+ var o, t, r, s, p, c, a = this;
940
+ return I(this, function(u) {
941
+ switch (u.label) {
942
+ case 0:
943
+ return this._polygonClippers = e, o = this.uniforms, o.polygonClippers.value = e.map(function(v) {
944
+ var h = new l.Matrix4().getInverse(v.polygonTransform), m = v.polygonHeight, y = v.cutOutSide, f = v.polygon, g = f[0][0], d = f[0][0], x = f[0][1], P = f[0][1];
945
+ f.forEach(function(B) {
946
+ var C = B[0], S = B[1];
947
+ g = Math.min(g, C), d = Math.max(d, C), x = Math.min(x, S), P = Math.max(P, S);
948
+ });
949
+ var E = new l.Vector2(g, x), w = d - g >= P - x ? d - g : P - x;
950
+ return {
951
+ polygonTransformInverse: h,
952
+ polygonHeight: m,
953
+ minPos: E,
954
+ polygonScale: w,
955
+ cutOutSide: y
956
+ };
957
+ }), t = e.map(function(v) {
958
+ return {
959
+ polygon: v.polygon,
960
+ width: a.polygonGenerater.canvas.width,
961
+ height: a.polygonGenerater.canvas.height
962
+ };
963
+ }), [4, this.workerPool.postMessage({
964
+ canvasDataList: t,
965
+ width: this.polygonGenerater.canvas.width,
966
+ height: this.polygonGenerater.canvas.height
967
+ })];
968
+ case 1:
969
+ return r = u.sent(), s = document.createElement("canvas"), s.width = this.polygonGenerater.canvas.width, s.height = this.polygonGenerater.canvas.height, p = s.getContext("2d"), p && (p.putImageData(r.imageData, 0, 0), c = new l.CanvasTexture(s), c.minFilter = l.NearestFilter, c.magFilter = l.NearestFilter, this.uniforms.polygonTexture.value = c, this.needsUpdate = !0), [
970
+ 2
971
+ /*return*/
972
+ ];
973
+ }
974
+ });
975
+ });
976
+ }, Object.defineProperty(n.prototype, "polygonClippers", {
739
977
  get: function() {
740
978
  return this._polygonClippers;
741
979
  },
742
- set: function(n) {
743
- this._polygonClippers = n;
744
- var t = this.uniforms;
745
- t.polygonClippers.value = n.map(function(p) {
746
- var a = new r.Matrix4().getInverse(p.polygonTransform), g = p.polygonHeight, x = p.cutOutSide, c = p.polygon, h = c[0][0], s = c[0][0], d = c[0][1], f = c[0][1];
747
- c.forEach(function(_) {
748
- var P = _[0], w = _[1];
749
- h = Math.min(h, P), s = Math.max(s, P), d = Math.min(d, w), f = Math.max(f, w);
750
- });
751
- var y = new r.Vector2(h, d), E = s - h >= f - d ? s - h : f - d;
752
- return {
753
- polygonTransformInverse: a,
754
- polygonHeight: g,
755
- minPos: y,
756
- polygonScale: E,
757
- cutOutSide: x
758
- };
759
- });
760
- for (var o = [], l = 0; l < n.length; l++) {
761
- var m = n[l].polygon, v = b.generatePolygonCanvas(m);
762
- o.push(v);
763
- }
764
- var u = b.generatePolygonTexture(o);
765
- this.uniforms.polygonTexture.value = u, this.needsUpdate = !0;
980
+ set: function(e) {
981
+ this._polygonClippers = e;
982
+ },
983
+ enumerable: !1,
984
+ configurable: !0
985
+ }), Object.defineProperty(n.prototype, "radio", {
986
+ get: function() {
987
+ return this._radio;
988
+ },
989
+ set: function(e) {
990
+ this._radio = e, this.polygonGenerater.setSize(e);
766
991
  },
767
992
  enumerable: !1,
768
993
  configurable: !0
769
- }), e.prototype.onBeforeCompile = function(n, t) {
770
- var o = String(this.polygonClippers.length);
771
- n.vertexShader = n.vertexShader.replace(/NUM_POLYGON_CLIPPER/g, o), n.fragmentShader = n.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g, o);
772
- }, e;
773
- })(C)
774
- ), k = `
994
+ }), n.prototype.dispose = function() {
995
+ this.workerPool.dispose();
996
+ }, n.prototype.onBeforeCompile = function(e, o) {
997
+ var t = String(this.polygonClippers.length);
998
+ e.vertexShader = e.vertexShader.replace(/NUM_POLYGON_CLIPPER/g, t), e.fragmentShader = e.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g, t);
999
+ }, n;
1000
+ })(_)
1001
+ ), X = `
775
1002
  #if NUM_SHINE_OBJECTS > 0
776
1003
  uniform float shineProgress;
777
1004
  struct SHINE_OBJECT {
@@ -780,7 +1007,7 @@ vPointSize = gl_PointSize;
780
1007
  };
781
1008
  uniform SHINE_OBJECT shineBoxes[NUM_SHINE_OBJECTS];
782
1009
  #endif
783
- `, Y = `
1010
+ `, ee = `
784
1011
  #if NUM_SHINE_OBJECTS > 0
785
1012
  #pragma unroll_loop_start
786
1013
  for ( int i = 0; i < NUM_SHINE_OBJECTS; i ++ ) {
@@ -796,49 +1023,50 @@ vPointSize = gl_PointSize;
796
1023
  }
797
1024
  #pragma unroll_loop_end
798
1025
  #endif
799
- `, K = "", on = (
1026
+ `, ne = "", le = (
800
1027
  /** @class */
801
1028
  (function(i) {
802
- S(e, i);
803
- function e() {
804
- var n = i.call(this, {
1029
+ F(n, i);
1030
+ function n() {
1031
+ var e = i.call(this, {
805
1032
  type: ["basic", "phong", "none"],
806
1033
  fragment: {
807
- mainBefore: k,
808
- mainStart: K,
809
- mainEnd: Y
1034
+ mainBefore: X,
1035
+ mainStart: ne,
1036
+ mainEnd: ee
810
1037
  },
811
1038
  uniforms: {
812
- shineProgress: new r.Uniform(0),
813
- shineBoxes: new r.Uniform([])
1039
+ shineProgress: new l.Uniform(0),
1040
+ shineBoxes: new l.Uniform([])
814
1041
  },
815
1042
  defines: {
816
1043
  NUM_SHINE_OBJECTS: 0
817
1044
  }
818
1045
  }) || this;
819
- return Object.defineProperties(n, {
1046
+ return Object.defineProperties(e, {
820
1047
  shineBoxes: {
821
1048
  get: function() {
822
1049
  return this.uniforms.shineBoxes.value;
823
1050
  },
824
- set: function(t) {
825
- var o = t.length;
826
- o > 0 && (this.defines.NUM_SHINE_OBJECTS = o, this.uniforms.shineBoxes.value = t);
1051
+ set: function(o) {
1052
+ var t = o.length;
1053
+ t > 0 && (this.defines.NUM_SHINE_OBJECTS = t, this.uniforms.shineBoxes.value = o);
827
1054
  }
828
1055
  }
829
- }), n.shineBoxes = [], n;
1056
+ }), e.shineBoxes = [], e;
830
1057
  }
831
- return e.prototype.onBeforeCompile = function(n, t) {
832
- var o = String(this.shineBoxes.length);
833
- n.vertexShader = n.vertexShader.replace(/NUM_SHINE_OBJECTS/g, o), n.fragmentShader = n.fragmentShader.replace(/NUM_SHINE_OBJECTS/g, o);
834
- }, e;
835
- })(C)
1058
+ return n.prototype.onBeforeCompile = function(e, o) {
1059
+ var t = String(this.shineBoxes.length);
1060
+ e.vertexShader = e.vertexShader.replace(/NUM_SHINE_OBJECTS/g, t), e.fragmentShader = e.fragmentShader.replace(/NUM_SHINE_OBJECTS/g, t);
1061
+ }, n;
1062
+ })(_)
836
1063
  );
837
1064
  export {
838
- Z as EvenessPlaneShader,
839
- nn as PointCloudExpandShader,
840
- en as PolygonCuterShader,
841
- q as PolygonGenerater,
842
- on as ShineModelShader,
843
- X as SweepModelShader
1065
+ te as EvenessPlaneShader,
1066
+ ae as PointCloudExpandShader,
1067
+ se as PolygonCuterShader,
1068
+ Z as PolygonGenerater,
1069
+ le as ShineModelShader,
1070
+ re as SweepModelShader,
1071
+ ie as computeAlignmentMatrix
844
1072
  };