@realsee/five 6.7.0-alpha.11 → 6.7.0-alpha.13

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 (173) 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.Camera.html +5 -5
  5. package/docs/classes/five.Five.html +1 -1
  6. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  7. package/docs/classes/five.Model.html +1 -1
  8. package/docs/classes/five.ModelScene.html +1 -1
  9. package/docs/classes/five.NetworkSubscribe.html +1 -1
  10. package/docs/classes/five.PBMContainer.html +1 -1
  11. package/docs/classes/five.PBMGroup.html +1 -1
  12. package/docs/classes/five.PBMMesh.html +1 -1
  13. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  14. package/docs/classes/five.PBMPointCloud.html +1 -1
  15. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  16. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  17. package/docs/classes/five.PanoCircleMesh.html +1 -1
  18. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  19. package/docs/classes/five.PanoCircleMeshSolid.html +5 -5
  20. package/docs/classes/five.Parameter.html +1 -1
  21. package/docs/classes/five.Scene.html +1 -1
  22. package/docs/classes/five.Subscribe.html +1 -1
  23. package/docs/classes/five.Tile3D.html +1 -1
  24. package/docs/classes/five.TileNode.html +1 -1
  25. package/docs/classes/five.TrajectoryNode.html +1 -1
  26. package/docs/classes/five.Work.html +16 -16
  27. package/docs/classes/five.WorkResolvedObserver.html +17 -17
  28. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  29. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  30. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  31. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  32. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  33. package/docs/classes/line.Line.html +1 -1
  34. package/docs/classes/line.LineGeometry.html +1 -1
  35. package/docs/classes/line.LineMaterial.html +1 -1
  36. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  37. package/docs/classes/line.THREE_Line2.html +1 -1
  38. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  39. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  40. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  41. package/docs/classes/sticker.Sticker.html +1 -1
  42. package/docs/classes/vfx.Airflow.html +1 -1
  43. package/docs/classes/vfx.Flame.html +1 -1
  44. package/docs/classes/vfx.Particle.html +1 -1
  45. package/docs/classes/vfx.ParticleGPU.html +1 -1
  46. package/docs/classes/vfx.SpotLight.html +1 -1
  47. package/docs/functions/five.parseWork.html +1 -1
  48. package/docs/functions/plugins.DynamicPathLinePlugin.html +1 -0
  49. package/docs/functions/vue.useFiveWorks.html +2 -2
  50. package/docs/hierarchy.html +1 -1
  51. package/docs/interfaces/five.AddableObject.html +1 -1
  52. package/docs/interfaces/five.AjaxOptions.html +1 -1
  53. package/docs/interfaces/five.BaseEvent.html +1 -1
  54. package/docs/interfaces/five.EventCallback.html +1 -1
  55. package/docs/interfaces/five.GestureEvent.html +1 -1
  56. package/docs/interfaces/five.ImageOptions.html +1 -1
  57. package/docs/interfaces/five.IntersectEvent.html +1 -1
  58. package/docs/interfaces/five.IntersectMesh.html +1 -1
  59. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  60. package/docs/interfaces/five.Intersection.html +1 -1
  61. package/docs/interfaces/five.LooseWorkPanorama.html +1 -1
  62. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
  63. package/docs/interfaces/five.ModeChangeEvent.html +1 -1
  64. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +5 -3
  65. package/docs/interfaces/five.ModelEvent.html +1 -1
  66. package/docs/interfaces/five.ModelLike.html +1 -1
  67. package/docs/interfaces/five.ModelSceneEvent.html +1 -1
  68. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  69. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  70. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  71. package/docs/interfaces/five.NetworkOptions.html +1 -1
  72. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  73. package/docs/interfaces/five.NetworkResourceEvent.html +1 -1
  74. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  75. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  76. package/docs/interfaces/five.ObjectEvent.html +1 -1
  77. package/docs/interfaces/five.PBMMaterial.html +1 -1
  78. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  79. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  80. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  81. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +2 -2
  82. package/docs/interfaces/five.PanoEvent.html +1 -1
  83. package/docs/interfaces/five.PanoTextureEvent.html +1 -1
  84. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +12 -10
  85. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +5 -3
  86. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  87. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  88. package/docs/interfaces/five.ParameterValue.html +1 -1
  89. package/docs/interfaces/five.Pose.html +1 -1
  90. package/docs/interfaces/five.RenderEvent.html +1 -1
  91. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  92. package/docs/interfaces/five.State.html +1 -1
  93. package/docs/interfaces/five.StateEvent.html +1 -1
  94. package/docs/interfaces/five.TextureOptions.html +1 -1
  95. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  96. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +12 -10
  97. package/docs/interfaces/five.ViewLayer.html +1 -1
  98. package/docs/interfaces/five.WorkCubeImage.html +2 -2
  99. package/docs/interfaces/five.WorkImage.html +3 -3
  100. package/docs/interfaces/five.WorkInitial.html +8 -8
  101. package/docs/interfaces/five.WorkModel.html +8 -8
  102. package/docs/interfaces/five.WorkModelLayer.html +6 -6
  103. package/docs/interfaces/five.WorkObserver.html +18 -18
  104. package/docs/interfaces/five.WorkTile.html +4 -4
  105. package/docs/interfaces/five.WorkVideo.html +4 -4
  106. package/docs/interfaces/five.WorksEvent.html +1 -1
  107. package/docs/interfaces/five.XRControllerEvent.html +1 -1
  108. package/docs/interfaces/five.XRGestureEvent.html +1 -1
  109. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +12 -10
  110. package/docs/interfaces/five.XRSessionEvent.html +1 -1
  111. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  112. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  113. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  114. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +78 -0
  115. package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +32 -0
  116. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +26 -0
  117. package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +6 -0
  118. package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +22 -0
  119. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +10 -0
  120. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  121. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  122. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  123. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  124. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  125. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  126. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  127. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  128. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  129. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  130. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  131. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  132. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  133. package/docs/modules/plugins.DynamicPathLinePluginType.html +1 -0
  134. package/docs/modules/plugins.html +1 -1
  135. package/docs/types/five.ParseOptions.html +6 -6
  136. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  137. package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +3 -0
  138. package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +3 -0
  139. package/docs/types/vue.FiveProviderComponent.html +1 -1
  140. package/five/index.d.ts +6 -2
  141. package/five/index.js +71 -61
  142. package/five/index.mjs +3108 -3046
  143. package/gltf-loader/index.js +3 -3
  144. package/gltf-loader/index.mjs +3 -3
  145. package/line/index.js +3 -3
  146. package/line/index.mjs +3 -3
  147. package/package.json +1 -1
  148. package/plugins/index.d.ts +291 -0
  149. package/plugins/index.js +298 -15
  150. package/plugins/index.mjs +2384 -1330
  151. package/react/index.js +2 -2
  152. package/react/index.mjs +2 -2
  153. package/shader-lib/index.d.ts +24 -1
  154. package/shader-lib/index.js +14 -13
  155. package/shader-lib/index.mjs +397 -169
  156. package/sticker/index.js +3 -3
  157. package/sticker/index.mjs +3 -3
  158. package/umd/five-gltf-loader.js +3 -3
  159. package/umd/five-line.js +3 -3
  160. package/umd/five-plugins.js +298 -15
  161. package/umd/five-react.js +2 -2
  162. package/umd/five-shader-lib.js +14 -13
  163. package/umd/five-sticker.js +3 -3
  164. package/umd/five-vfx.js +2 -2
  165. package/umd/five-vue.js +2 -2
  166. package/umd/five.js +71 -61
  167. package/vfx/index.js +2 -2
  168. package/vfx/index.mjs +2 -2
  169. package/vue/index.d.ts +1 -1
  170. package/vue/index.js +2 -2
  171. package/vue/index.mjs +2 -2
  172. package/work-downloader/index.js +2 -2
  173. package/work-downloader/index.mjs +2 -2
package/react/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2025/10/29
5
- * Version: 6.7.0-alpha.11
4
+ * Generated: 2025/11/10
5
+ * Version: 6.7.0-alpha.13
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
package/react/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2025/10/29
5
- * Version: 6.7.0-alpha.11
4
+ * Generated: 2025/11/10
5
+ * Version: 6.7.0-alpha.13
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -1,6 +1,20 @@
1
1
  import { CustomShader } from '@realsee/five';
2
2
  import * as THREE_2 from 'three';
3
3
 
4
+ export declare interface AlignmentResult {
5
+ /** 变换矩阵,使得法线与Y轴重合,底面与XZ平面重合 */
6
+ transformMatrix: THREE_2.Matrix4;
7
+ /** 变换后的二维坐标数组 [x, z] */
8
+ points2D: number[][];
9
+ }
10
+
11
+ /**
12
+ * 计算将共面点集对齐到XZ平面的变换矩阵,并返回变换后的二维坐标
13
+ * @param points 三维点数组,这些点应该共面
14
+ * @returns 包含变换矩阵和二维坐标的结果对象
15
+ */
16
+ export declare function computeAlignmentMatrix(points: THREE_2.Vector3[]): AlignmentResult;
17
+
4
18
  export declare class EvenessPlaneShader extends CustomShader {
5
19
  /** 平整度的参数*/
6
20
  evennessPlane: {
@@ -25,10 +39,19 @@ export declare interface PolygonClipper {
25
39
 
26
40
  export declare class PolygonCuterShader extends CustomShader {
27
41
  private _polygonClippers;
42
+ private polygonGenerater;
28
43
  private _radio;
29
- constructor();
44
+ private workerPool;
45
+ constructor(radio?: 256 | 512 | 1024 | 2048);
46
+ /**
47
+ * 异步设置 polygonClippers,使用 web worker 处理纹理生成
48
+ */
49
+ setPolygonClippersAsync(value: PolygonClipper[]): Promise<void>;
30
50
  get polygonClippers(): PolygonClipper[];
31
51
  set polygonClippers(value: PolygonClipper[]);
52
+ get radio(): 256 | 512 | 1024 | 2048;
53
+ set radio(value: 256 | 512 | 1024 | 2048);
54
+ dispose(): void;
32
55
  onBeforeCompile(shader: THREE_2.Shader, renderer: THREE_2.WebGLRenderer): void;
33
56
  }
34
57
 
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2025/10/29
5
- * Version: 6.7.0-alpha.11
4
+ * Generated: 2025/11/10
5
+ * Version: 6.7.0-alpha.13
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -252,7 +252,7 @@
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
- */"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("@realsee/five"),A=require("three");function J(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const t=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(e,n,t.get?t:{enumerable:!0,get:()=>r[n]})}}return e.default=r,Object.freeze(e)}const a=J(A);var B=function(r,e){return B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o])},B(r,e)};function S(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");B(r,e);function n(){this.constructor=r}r.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function D(r,e,n){if(n||arguments.length===2)for(var t=0,o=e.length,l;t<o;t++)(l||!(t in e))&&(l||(l=Array.prototype.slice.call(e,0,t)),l[t]=e[t]);return r.concat(l||Array.prototype.slice.call(e))}var V=`
255
+ */"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@realsee/five"),I=require("three");function R(a){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(n,e,o.get?o:{enumerable:!0,get:()=>a[e]})}}return n.default=a,Object.freeze(n)}const u=R(I);var M=function(a,n){return M=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,o){e.__proto__=o}||function(e,o){for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])},M(a,n)};function b(a,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");M(a,n);function e(){this.constructor=a}a.prototype=n===null?Object.create(n):(e.prototype=n.prototype,new e)}function V(a,n,e,o){function t(r){return r instanceof e?r:new e(function(s){s(r)})}return new(e||(e=Promise))(function(r,s){function p(l){try{i(o.next(l))}catch(v){s(v)}}function c(l){try{i(o.throw(l))}catch(v){s(v)}}function i(l){l.done?r(l.value):t(l.value).then(p,c)}i((o=o.apply(a,n||[])).next())})}function W(a,n){var e={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,t,r,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=p(0),s.throw=p(1),s.return=p(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function p(i){return function(l){return c([i,l])}}function c(i){if(o)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(e=0)),e;)try{if(o=1,t&&(r=i[0]&2?t.return:i[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,i[1])).done)return r;switch(t=0,r&&(i=[i[0]&2,r.value]),i[0]){case 0:case 1:r=i;break;case 4:return e.label++,{value:i[1],done:!1};case 5:e.label++,t=i[1],i=[0];continue;case 7:i=e.ops.pop(),e.trys.pop();continue;default:if(r=e.trys,!(r=r.length>0&&r[r.length-1])&&(i[0]===6||i[0]===2)){e=0;continue}if(i[0]===3&&(!r||i[1]>r[0]&&i[1]<r[3])){e.label=i[1];break}if(i[0]===6&&e.label<r[1]){e.label=r[1],r=i;break}if(r&&e.label<r[2]){e.label=r[2],e.ops.push(i);break}r[2]&&e.ops.pop(),e.trys.pop();continue}i=n.call(a,e)}catch(l){i=[6,l],t=0}finally{o=r=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}function T(a,n,e){if(e||arguments.length===2)for(var o=0,t=n.length,r;o<t;o++)(r||!(o in n))&&(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return a.concat(r||Array.prototype.slice.call(n))}var L=`
256
256
  #if defined(USE_PLANE_DISTANCE)
257
257
  struct Plane {
258
258
  vec3 normal;
@@ -263,7 +263,7 @@
263
263
  uniform float evennessPlaneConstant;
264
264
  uniform float evennessPlaneDepth;
265
265
  #endif
266
- `,W=`
266
+ `,j=`
267
267
  #if defined(USE_PLANE_DISTANCE)
268
268
 
269
269
  bool inside = true;
@@ -283,7 +283,7 @@
283
283
  }
284
284
  }
285
285
  #endif
286
- `,H="",R={type:["pointcloud"],fragment:{mainBefore:V,mainStart:H,mainEnd:W},uniforms:{evennessPlaneNormal:new a.Uniform(new a.Vector3),evennessPlaneConstant:new a.Uniform(0),evennessPlanes:new a.Uniform([]),evennessPlaneDepth:new a.Uniform(0)},defines:{USE_PLANE_DISTANCE:!1}},L=(function(r){S(e,r);function e(){var n=r.call(this,R)||this;return Object.defineProperties(n,{evennessPlane:{get:function(){return{depth:this.uniforms.evennessPlaneDepth.value,points:this.uniforms.evennessPoints.value}},set:function(t){var o=t.points,l=t.depth,m=!1;if(o.length!==0&&o.length%4===0){m=!0;var d=o[0],u=o[1],p=o[2],i=o[3],g=new a.Vector3().subVectors(u,d),x=new a.Vector3().subVectors(p,d),c=new a.Vector3().crossVectors(g,x).normalize(),h=-c.dot(d),s=l,v=d.clone().add(c.clone().negate().multiplyScalar(s)),f=d.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=i.clone().add(c.clone().negate().multiplyScalar(s)),F=i.clone().add(c.clone().multiplyScalar(s)),z=new a.Plane().setFromCoplanarPoints(f,E,P),N=new a.Plane().setFromCoplanarPoints(_,y,v),M=new a.Plane().setFromCoplanarPoints(E,f,v),O=new a.Plane().setFromCoplanarPoints(w,F,P),T=new a.Plane().setFromCoplanarPoints(P,E,y),b=new a.Plane().setFromCoplanarPoints(v,f,F);this.uniforms.evennessPlanes.value=[{normal:z.normal,constant:z.constant},{normal:N.normal,constant:N.constant},{normal:M.normal,constant:M.constant},{normal:O.normal,constant:O.constant},{normal:T.normal,constant:T.constant},{normal:b.normal,constant:b.constant}],this.uniforms.evennessPlaneDepth.value=l,this.uniforms.evennessPlaneNormal.value=c,this.uniforms.evennessPlaneConstant.value=h}this.defines.USE_PLANE_DISTANCE=m,this.needsUpdate=!0}}}),n.evennessPlane={depth:0,points:[]},n}return e})(C.CustomShader),j=`
286
+ `,J="",H={type:["pointcloud"],fragment:{mainBefore:L,mainStart:J,mainEnd:j},uniforms:{evennessPlaneNormal:new u.Uniform(new u.Vector3),evennessPlaneConstant:new u.Uniform(0),evennessPlanes:new u.Uniform([]),evennessPlaneDepth:new u.Uniform(0)},defines:{USE_PLANE_DISTANCE:!1}},q=(function(a){b(n,a);function n(){var e=a.call(this,H)||this;return Object.defineProperties(e,{evennessPlane:{get:function(){return{depth:this.uniforms.evennessPlaneDepth.value,points:this.uniforms.evennessPoints.value}},set:function(o){var t=o.points,r=o.depth,s=!1;if(t.length!==0&&t.length%4===0){s=!0;var p=t[0],c=t[1],i=t[2],l=t[3],v=new u.Vector3().subVectors(c,p),h=new u.Vector3().subVectors(i,p),m=new u.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=i.clone().add(m.clone().negate().multiplyScalar(f)),w=i.clone().add(m.clone().multiplyScalar(f)),B=l.clone().add(m.clone().negate().multiplyScalar(f)),C=l.clone().add(m.clone().multiplyScalar(f)),S=new u.Plane().setFromCoplanarPoints(d,P,w),F=new u.Plane().setFromCoplanarPoints(E,x,g),z=new u.Plane().setFromCoplanarPoints(P,d,g),O=new u.Plane().setFromCoplanarPoints(B,C,w),N=new u.Plane().setFromCoplanarPoints(w,P,x),D=new u.Plane().setFromCoplanarPoints(g,d,C);this.uniforms.evennessPlanes.value=[{normal:S.normal,constant:S.constant},{normal:F.normal,constant:F.constant},{normal:z.normal,constant:z.constant},{normal:O.normal,constant:O.constant},{normal:N.normal,constant:N.constant},{normal:D.normal,constant:D.constant}],this.uniforms.evennessPlaneDepth.value=r,this.uniforms.evennessPlaneNormal.value=m,this.uniforms.evennessPlaneConstant.value=y}this.defines.USE_PLANE_DISTANCE=s,this.needsUpdate=!0}}}),e.evennessPlane={depth:0,points:[]},e}return n})(_.CustomShader),G=`
287
287
  #if NUM_SWEEP_OBJECTS > 0
288
288
  uniform float sweepProgress;
289
289
  uniform float sweepRange;
@@ -296,7 +296,7 @@
296
296
  };
297
297
  uniform SWEEP_OBJECT sweepBoxs[NUM_SWEEP_OBJECTS];
298
298
  #endif
299
- `,G=`
299
+ `,$=`
300
300
 
301
301
  #if NUM_SWEEP_OBJECTS > 0
302
302
  #pragma unroll_loop_start
@@ -329,7 +329,7 @@
329
329
  }
330
330
  #pragma unroll_loop_end
331
331
  #endif
332
- `,q="",$=(function(r){S(e,r);function e(){var n=r.call(this,{type:["basic","phong","pointcloud"],fragment:{mainBefore:j,mainStart:q,mainEnd:G},uniforms:{sweepProgress:new a.Uniform(0),sweepRange:new a.Uniform(0),sweepBoxs:new a.Uniform([]),interval:new a.Uniform(.04),threshold:new a.Uniform(.002)},defines:{NUM_SWEEP_OBJECTS:0}})||this;return Object.defineProperties(n,{sweepBoxs:{get:function(){return this.uniforms.sweepBoxs.value},set:function(t){var o=t.length;o>0&&(this.defines.NUM_SWEEP_OBJECTS=o,this.needsUpdate=!0,this.uniforms.sweepBoxs.value=t)}}}),n.sweepBoxs=[],n}return e.prototype.onBeforeCompile=function(n,t){var o=String(this.sweepBoxs.length);n.vertexShader=n.vertexShader.replace(/NUM_SWEEP_OBJECTS/g,o),n.fragmentShader=n.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g,o)},e})(C.CustomShader),k=`
332
+ `,Y="",Q=(function(a){b(n,a);function n(){var e=a.call(this,{type:["basic","phong","pointcloud"],fragment:{mainBefore:G,mainStart:Y,mainEnd:$},uniforms:{sweepProgress:new u.Uniform(0),sweepRange:new u.Uniform(0),sweepBoxs:new u.Uniform([]),interval:new u.Uniform(.04),threshold:new u.Uniform(.002)},defines:{NUM_SWEEP_OBJECTS:0}})||this;return Object.defineProperties(e,{sweepBoxs:{get:function(){return this.uniforms.sweepBoxs.value},set:function(o){var t=o.length;t>0&&(this.defines.NUM_SWEEP_OBJECTS=t,this.needsUpdate=!0,this.uniforms.sweepBoxs.value=o)}}}),e.sweepBoxs=[],e}return n.prototype.onBeforeCompile=function(e,o){var t=String(this.sweepBoxs.length);e.vertexShader=e.vertexShader.replace(/NUM_SWEEP_OBJECTS/g,t),e.fragmentShader=e.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g,t)},n})(_.CustomShader),K=`
333
333
  uniform float pointCloudExpand_progress;
334
334
 
335
335
  vec4 pointCloudExpand_permute(vec4 x) { return mod(((x * 34.0) + 1.0) * x, 289.0); }
@@ -402,7 +402,7 @@ float pointCloudExpand_gln_simplex(vec3 v) {
402
402
  m = m * m;
403
403
  return 42.0 * dot(m * m, vec4(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3)));
404
404
  }
405
- `,Y=`
405
+ `,Z=`
406
406
  float pointCloudExpand_sizeScale = 1.0;
407
407
  float pointCloudExpand_sizeBasis = 0.0;
408
408
  vec4 pointCloudExpand_basis = vec4((modelBoundingMax + modelBoundingMin) / 2.0, 1.0);
@@ -416,7 +416,8 @@ float pointCloudExpand_progress2 = step(pointCloudExpand_progress, 1.0 - pointCl
416
416
  pointCloudExpand_sizeBasis = mix(0.1 * step(abs(pointCloudExpand_noise), 0.5 / pointCloudExpand_boundingRadius), pointCloudExpand_sizeBasis, pointCloudExpand_progress2);
417
417
  gl_PointSize = gl_PointSize * pointCloudExpand_sizeScale + pointCloudExpand_sizeBasis;
418
418
  vPointSize = gl_PointSize;
419
- `,K=(function(r){S(e,r);function e(){return r.call(this,{type:["pointcloud"],vertex:{mainBefore:k,mainEnd:Y},uniforms:{pointCloudExpand_progress:new a.Uniform(0)}})||this}return Object.defineProperty(e.prototype,"progress",{get:function(){return this.uniforms.pointCloudExpand_progress.value},set:function(n){this.uniforms.pointCloudExpand_progress.value=n},enumerable:!1,configurable:!0}),e})(C.CustomShader),Q=`
419
+ `,X=(function(a){b(n,a);function n(){return a.call(this,{type:["pointcloud"],vertex:{mainBefore:K,mainEnd:Z},uniforms:{pointCloudExpand_progress:new u.Uniform(0)}})||this}return Object.defineProperty(n.prototype,"progress",{get:function(){return this.uniforms.pointCloudExpand_progress.value},set:function(e){this.uniforms.pointCloudExpand_progress.value=e},enumerable:!1,configurable:!0}),n})(_.CustomShader);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]}})})})();
420
+ `,U=typeof self!="undefined"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",A],{type:"text/javascript;charset=utf-8"});function ee(a){let n;try{if(n=U&&(self.URL||self.webkitURL).createObjectURL(U),!n)throw"";const e=new Worker(n,{name:a==null?void 0:a.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(n)}),e}catch(e){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(A),{name:a==null?void 0:a.name})}}var ne=(function(){function a(n,e){this.disposed=!1,this.pool=e,this.workerCreator=n,this.queue=[],this.workers=[],this.workerResolvers=[],this.workerStatus=0}return a.prototype.setWorkerCreator=function(n){this.workerCreator=n},a.prototype.initWorker=function(n){if(!this.workerCreator)throw new Error("workerCreator is not defined");if(!this.workers[n]){var e=this.workerCreator(n);e.addEventListener("message",this.onMessage.bind(this,n)),this.workers[n]=e}},a.prototype.getIdleWorker=function(){for(var n=0;n<this.pool;n++)if(!(this.workerStatus&1<<n))return n;return-1},a.prototype.onMessage=function(n,e){var o=this.workerResolvers[n];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){var t=this.queue.shift(),r=t.resolve,s=t.reject,p=t.input,c=t.transfer;this.workerResolvers[n]={resolve:r,reject:s},this.workers[n].postMessage(p,c)}else this.workerStatus^=1<<n},a.prototype.postMessage=function(n,e){var o=this;return e===void 0&&(e=[]),new Promise(function(t,r){if(o.disposed){r(new Error("disposed"));return}var s=o.getIdleWorker();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})})},a.prototype.dispose=function(){this.disposed=!0,this.workers.forEach(function(n){n.terminate()}),this.workers.length=0,this.workerResolvers.forEach(function(n){n==null||n.reject(new Error("disposed"))}),this.workerResolvers.length=0,this.queue.forEach(function(n){n.reject(new Error("disposed"))}),this.queue.length=0,this.workerStatus=0},a})();function oe(a){if(a.length<3)throw new Error("At least 3 points are required to compute alignment matrix");var n=a[0],e=a[1],o=a[2],t=new u.Vector3().subVectors(e,n),r=new u.Vector3().subVectors(o,n),s=new u.Vector3().crossVectors(t,r);if(s.lengthSq()<1e-4)for(var p=3;p<a.length&&(o=a[p],r=new u.Vector3().subVectors(o,n),s=new u.Vector3().crossVectors(t,r),!(s.lengthSq()>=1e-4));p++);if(s.lengthSq()<1e-4)throw new Error("All points are collinear, cannot compute normal");s.normalize();var c=new u.Vector3;a.forEach(function(E){return c.add(E)}),c.divideScalar(a.length);var i=new u.Vector3(0,1,0),l=new u.Quaternion,v=s.dot(i);if(!(Math.abs(v-1)<1e-4))if(Math.abs(v+1)<1e-4){var h=new u.Vector3(1,0,0);l.setFromAxisAngle(h,Math.PI)}else{var h=new u.Vector3().crossVectors(s,i).normalize(),m=Math.acos(v);l.setFromAxisAngle(h,m)}var y=new u.Matrix4().makeTranslation(-c.x,-c.y,-c.z),f=new u.Matrix4().makeRotationFromQuaternion(l),g=new u.Matrix4;g.multiplyMatrices(f,y);var d=a.map(function(E){var w=E.clone().applyMatrix4(g);return[w.x,w.z]});if(d.length>0){var x=d[0],P=d[d.length-1];(x[0]!==P[0]||x[1]!==P[1])&&d.push([x[0],x[1]])}return{transformMatrix:g,points2D:d}}var te=`
420
421
  uniform sampler2D polygonTexture;
421
422
 
422
423
  struct PolygonClipper {
@@ -430,7 +431,7 @@ vPointSize = gl_PointSize;
430
431
  #if NUM_POLYGON_CLIPPER > 0
431
432
  uniform PolygonClipper polygonClippers[NUM_POLYGON_CLIPPER];
432
433
  #endif
433
- `,Z=`
434
+ `,re=`
434
435
 
435
436
  for(int i = 0; i < NUM_POLYGON_CLIPPER; i++){
436
437
  PolygonClipper polygonClipper = polygonClippers[i];
@@ -500,7 +501,7 @@ vPointSize = gl_PointSize;
500
501
  }
501
502
  }
502
503
 
503
- `,I=(function(){function r(){this.canvasCache=new Map,this.canvas=document.createElement("canvas"),this.canvas.width=512,this.canvas.height=512,this.polygonTexture=new a.CanvasTexture(this.canvas),this.polygonCount=0}return r.prototype.setSize=function(e){this.canvas.width=e,this.canvas.height=e},r.prototype.generatePolygonCanvas=function(e){var n=JSON.stringify(e);if(this.canvasCache.has(n))return this.canvasCache.get(n);var t=document.createElement("canvas");t.width=this.canvas.width,t.height=this.canvas.height;var o=t.getContext("2d");if(!o)throw new Error("Failed to get canvas context");if(this.polygonCount>=24)throw new Error("polygon count exceed 24, please clear the canvas");o.clearRect(0,0,this.canvas.width,this.canvas.height),o.fillStyle="rgba(0,0,0,1.0)",o.beginPath();var l=e[0][0],m=e[0][0],d=e[0][1],u=e[0][1];e.forEach(function(s){var v=s[0],f=s[1];l=Math.min(l,v),m=Math.max(m,v),d=Math.min(d,f),u=Math.max(u,f)});var p=m-l,i=u-d,g=this.canvas.width,x=p>=i?g/p:g/i,c=e.map(function(s){var v=s[0]-l,f=s[1]-d;return[v,f]}),h=c.map(function(s){return[s[0]*x,s[1]*x]});return h.forEach(function(s,v){var f=s[0],y=s[1];v===0?o.moveTo(f,y):o.lineTo(f,y)}),o.closePath(),o.fill(),this.polygonCount++,this.canvasCache.set(n,t),t},r.generatePolygonGeometry=function(e,n){for(var t=new a.BufferGeometry,o=e.slice(0,-1),l=o.map(function(g){return[g[0],0,g[1]]}),m=o.map(function(g){return[g[0],n,g[1]]}),d=D(D([],l,!0),m,!0),u=o.length,p=[],i=1;i<u-1;i++)p.push(0,i,i+1);for(var i=1;i<u-1;i++)p.push(u,u+i,u+i+1);for(var i=0;i<u-1;i++)p.push(i,i+1,u+i),p.push(i+1,i+1+u,u+i);return t.setAttribute("position",new a.Float32BufferAttribute(d.flat(),3)),t.setIndex(p),t.computeVertexNormals(),t},r.prototype.generatePolygonTexture=function(e){var n=this.canvas.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("Failed to get canvas context");for(var t=n.createImageData(this.canvas.width,this.canvas.height),o=0;o<this.canvas.width;o++)for(var l=0;l<this.canvas.height;l++){for(var m=0,d=0,u=0,p=0;p<e.length;p++){var i=e[p].getContext("2d",{willReadFrequently:!0});if(!i)throw new Error("Failed to get canvas context");var g=i.getImageData(o,l,1,1).data;if(g[3]===255){var x=p%8,c=Math.floor(p/8);c===0?m=m|1<<x:c===1?d=d|1<<x:c===2&&(u=u|1<<x)}}var h=(o+l*this.canvas.width)*4;t.data[h]=m,t.data[h+1]=d,t.data[h+2]=u,t.data[h+3]=255}return n.putImageData(t,0,0),new a.CanvasTexture(this.canvas)},r})(),U=new I,X=(function(r){S(e,r);function e(){var n=r.call(this,{type:["basic","phong","pointcloud"],fragment:{mainBefore:Q,mainEnd:Z},uniforms:{polygonClippers:new a.Uniform([]),polygonTexture:new a.Uniform(null)}})||this;return n._polygonClippers=[],n._radio=512,n}return Object.defineProperty(e.prototype,"polygonClippers",{get:function(){return this._polygonClippers},set:function(n){this._polygonClippers=n;var t=this.uniforms;t.polygonClippers.value=n.map(function(p){var i=new a.Matrix4().getInverse(p.polygonTransform),g=p.polygonHeight,x=p.cutOutSide,c=p.polygon,h=c[0][0],s=c[0][0],v=c[0][1],f=c[0][1];c.forEach(function(_){var P=_[0],w=_[1];h=Math.min(h,P),s=Math.max(s,P),v=Math.min(v,w),f=Math.max(f,w)});var y=new a.Vector2(h,v),E=s-h>=f-v?s-h:f-v;return{polygonTransformInverse:i,polygonHeight:g,minPos:y,polygonScale:E,cutOutSide:x}});for(var o=[],l=0;l<n.length;l++){var m=n[l].polygon,d=U.generatePolygonCanvas(m);o.push(d)}var u=U.generatePolygonTexture(o);this.uniforms.polygonTexture.value=u,this.needsUpdate=!0},enumerable:!1,configurable:!0}),e.prototype.onBeforeCompile=function(n,t){var o=String(this.polygonClippers.length);n.vertexShader=n.vertexShader.replace(/NUM_POLYGON_CLIPPER/g,o),n.fragmentShader=n.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g,o)},e})(C.CustomShader),nn=`
504
+ `,k=(function(){function a(){this.canvasCache=new Map,this.canvas=document.createElement("canvas"),this.canvas.width=512,this.canvas.height=512,this.polygonTexture=new u.CanvasTexture(this.canvas),this.polygonCount=0}return a.prototype.setSize=function(n){this.canvas.width=n,this.canvas.height=n},a.prototype.generatePolygonCanvas=function(n){var e=JSON.stringify(n);if(this.canvasCache.has(e))return this.canvasCache.get(e);var o=document.createElement("canvas");o.width=this.canvas.width,o.height=this.canvas.height;var t=o.getContext("2d");if(!t)throw new Error("Failed to get canvas context");if(this.polygonCount>=24)throw new Error("polygon count exceed 24, please clear the canvas");t.clearRect(0,0,this.canvas.width,this.canvas.height),t.fillStyle="rgba(0,0,0,1.0)",t.beginPath();var r=n[0][0],s=n[0][0],p=n[0][1],c=n[0][1];n.forEach(function(f){var g=f[0],d=f[1];r=Math.min(r,g),s=Math.max(s,g),p=Math.min(p,d),c=Math.max(c,d)});var i=s-r,l=c-p,v=this.canvas.width,h=i>=l?v/i:v/l,m=n.map(function(f){var g=f[0]-r,d=f[1]-p;return[g,d]}),y=m.map(function(f){return[f[0]*h,f[1]*h]});return y.forEach(function(f,g){var d=f[0],x=f[1];g===0?t.moveTo(d,x):t.lineTo(d,x)}),t.closePath(),t.fill(),this.polygonCount++,this.canvasCache.set(e,o),o},a.generatePolygonGeometry=function(n,e){for(var o=new u.BufferGeometry,t=n.slice(0,-1),r=t.map(function(h){return[h[0],0,h[1]]}),s=t.map(function(h){return[h[0],e,h[1]]}),p=T(T([],r,!0),s,!0),c=t.length,i=[],l=1;l<c-1;l++)i.push(0,l,l+1);for(var l=1;l<c-1;l++)i.push(c,c+l,c+l+1);for(var l=0;l<c;l++){var v=(l+1)%c;i.push(l,v,c+l),i.push(v,c+v,c+l)}return o.setAttribute("position",new u.Float32BufferAttribute(p.flat(),3)),o.setIndex(i),o.computeVertexNormals(),o},a.prototype.generatePolygonTexture=function(n){var e=this.canvas.getContext("2d",{willReadFrequently:!0});if(!e)throw new Error("Failed to get canvas context");for(var o=e.createImageData(this.canvas.width,this.canvas.height),t=0;t<this.canvas.width;t++)for(var r=0;r<this.canvas.height;r++){for(var s=0,p=0,c=0,i=0;i<n.length;i++){var l=n[i].getContext("2d",{willReadFrequently:!0});if(!l)throw new Error("Failed to get canvas context");var v=l.getImageData(t,r,1,1).data;if(v[3]===255){var h=i%8,m=Math.floor(i/8);m===0?s=s|1<<h:m===1?p=p|1<<h:m===2&&(c=c|1<<h)}}var y=(t+r*this.canvas.width)*4;o.data[y]=s,o.data[y+1]=p,o.data[y+2]=c,o.data[y+3]=255}return e.putImageData(o,0,0),new u.CanvasTexture(this.canvas)},a})(),ae=(function(a){b(n,a);function n(e){e===void 0&&(e=512);var o=a.call(this,{type:["basic","phong","pointcloud"],fragment:{mainBefore:te,mainEnd:re},uniforms:{polygonClippers:new u.Uniform([]),polygonTexture:new u.Uniform(null)}})||this;return o._polygonClippers=[],o.polygonGenerater=new k,o._radio=512,o.radio=e,o.workerPool=new ne(function(){return new ee},1),o}return n.prototype.setPolygonClippersAsync=function(e){return V(this,void 0,void 0,function(){var o,t,r,s,p,c,i=this;return W(this,function(l){switch(l.label){case 0:return this._polygonClippers=e,o=this.uniforms,o.polygonClippers.value=e.map(function(v){var h=new u.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];f.forEach(function(B){var C=B[0],S=B[1];g=Math.min(g,C),d=Math.max(d,C),x=Math.min(x,S),P=Math.max(P,S)});var E=new u.Vector2(g,x),w=d-g>=P-x?d-g:P-x;return{polygonTransformInverse:h,polygonHeight:m,minPos:E,polygonScale:w,cutOutSide:y}}),t=e.map(function(v){return{polygon:v.polygon,width:i.polygonGenerater.canvas.width,height:i.polygonGenerater.canvas.height}}),[4,this.workerPool.postMessage({canvasDataList:t,width:this.polygonGenerater.canvas.width,height:this.polygonGenerater.canvas.height})];case 1:return r=l.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 u.CanvasTexture(s),this.uniforms.polygonTexture.value=c,this.needsUpdate=!0),[2]}})})},Object.defineProperty(n.prototype,"polygonClippers",{get:function(){return this._polygonClippers},set:function(e){this._polygonClippers=e},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"radio",{get:function(){return this._radio},set:function(e){this._radio=e,this.polygonGenerater.setSize(e)},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){this.workerPool.dispose()},n.prototype.onBeforeCompile=function(e,o){var t=String(this.polygonClippers.length);e.vertexShader=e.vertexShader.replace(/NUM_POLYGON_CLIPPER/g,t),e.fragmentShader=e.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g,t)},n})(_.CustomShader),ie=`
504
505
  #if NUM_SHINE_OBJECTS > 0
505
506
  uniform float shineProgress;
506
507
  struct SHINE_OBJECT {
@@ -509,7 +510,7 @@ vPointSize = gl_PointSize;
509
510
  };
510
511
  uniform SHINE_OBJECT shineBoxes[NUM_SHINE_OBJECTS];
511
512
  #endif
512
- `,en=`
513
+ `,se=`
513
514
  #if NUM_SHINE_OBJECTS > 0
514
515
  #pragma unroll_loop_start
515
516
  for ( int i = 0; i < NUM_SHINE_OBJECTS; i ++ ) {
@@ -525,4 +526,4 @@ vPointSize = gl_PointSize;
525
526
  }
526
527
  #pragma unroll_loop_end
527
528
  #endif
528
- `,on="",tn=(function(r){S(e,r);function e(){var n=r.call(this,{type:["basic","phong","none"],fragment:{mainBefore:nn,mainStart:on,mainEnd:en},uniforms:{shineProgress:new a.Uniform(0),shineBoxes:new a.Uniform([])},defines:{NUM_SHINE_OBJECTS:0}})||this;return Object.defineProperties(n,{shineBoxes:{get:function(){return this.uniforms.shineBoxes.value},set:function(t){var o=t.length;o>0&&(this.defines.NUM_SHINE_OBJECTS=o,this.uniforms.shineBoxes.value=t)}}}),n.shineBoxes=[],n}return e.prototype.onBeforeCompile=function(n,t){var o=String(this.shineBoxes.length);n.vertexShader=n.vertexShader.replace(/NUM_SHINE_OBJECTS/g,o),n.fragmentShader=n.fragmentShader.replace(/NUM_SHINE_OBJECTS/g,o)},e})(C.CustomShader);exports.EvenessPlaneShader=L;exports.PointCloudExpandShader=K;exports.PolygonCuterShader=X;exports.PolygonGenerater=I;exports.ShineModelShader=tn;exports.SweepModelShader=$;
529
+ `,le="",ue=(function(a){b(n,a);function n(){var e=a.call(this,{type:["basic","phong","none"],fragment:{mainBefore:ie,mainStart:le,mainEnd:se},uniforms:{shineProgress:new u.Uniform(0),shineBoxes:new u.Uniform([])},defines:{NUM_SHINE_OBJECTS:0}})||this;return Object.defineProperties(e,{shineBoxes:{get:function(){return this.uniforms.shineBoxes.value},set:function(o){var t=o.length;t>0&&(this.defines.NUM_SHINE_OBJECTS=t,this.uniforms.shineBoxes.value=o)}}}),e.shineBoxes=[],e}return n.prototype.onBeforeCompile=function(e,o){var t=String(this.shineBoxes.length);e.vertexShader=e.vertexShader.replace(/NUM_SHINE_OBJECTS/g,t),e.fragmentShader=e.fragmentShader.replace(/NUM_SHINE_OBJECTS/g,t)},n})(_.CustomShader);exports.EvenessPlaneShader=q;exports.PointCloudExpandShader=X;exports.PolygonCuterShader=ae;exports.PolygonGenerater=k;exports.ShineModelShader=ue;exports.SweepModelShader=Q;exports.computeAlignmentMatrix=oe;