@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
package/react/index.js CHANGED
@@ -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
package/react/index.mjs CHANGED
@@ -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
@@ -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: 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,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 l=R(I);var B=function(a,n){return B=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])},B(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");B(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(u){try{i(o.next(u))}catch(v){s(v)}}function c(u){try{i(o.throw(u))}catch(v){s(v)}}function i(u){u.done?r(u.value):t(u.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(u){return c([i,u])}}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(u){i=[6,u],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 l.Uniform(new l.Vector3),evennessPlaneConstant:new l.Uniform(0),evennessPlanes:new l.Uniform([]),evennessPlaneDepth:new l.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],u=t[3],v=new l.Vector3().subVectors(c,p),h=new l.Vector3().subVectors(i,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=i.clone().add(m.clone().negate().multiplyScalar(f)),w=i.clone().add(m.clone().multiplyScalar(f)),F=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),O=new l.Plane().setFromCoplanarPoints(F,C,w),N=new l.Plane().setFromCoplanarPoints(w,P,x),D=new l.Plane().setFromCoplanarPoints(g,d,C);this.uniforms.evennessPlanes.value=[{normal:S.normal,constant:S.constant},{normal:M.normal,constant:M.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 l.Uniform(0),sweepRange:new l.Uniform(0),sweepBoxs:new l.Uniform([]),interval:new l.Uniform(.04),threshold:new l.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 l.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 l.Vector3().subVectors(e,n),r=new l.Vector3().subVectors(o,n),s=new l.Vector3().crossVectors(t,r);if(s.lengthSq()<1e-4)for(var p=3;p<a.length&&(o=a[p],r=new l.Vector3().subVectors(o,n),s=new l.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 l.Vector3;a.forEach(function(E){return c.add(E)}),c.divideScalar(a.length);var i=new l.Vector3(0,1,0),u=new l.Quaternion,v=s.dot(i);if(!(Math.abs(v-1)<1e-4))if(Math.abs(v+1)<1e-4){var h=new l.Vector3(1,0,0);u.setFromAxisAngle(h,Math.PI)}else{var h=new l.Vector3().crossVectors(s,i).normalize(),m=Math.acos(v);u.setFromAxisAngle(h,m)}var y=new l.Matrix4().makeTranslation(-c.x,-c.y,-c.z),f=new l.Matrix4().makeRotationFromQuaternion(u),g=new l.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 l.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,u=c-p,v=this.canvas.width,h=i>=u?v/i:v/u,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 l.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=[],u=1;u<c-1;u++)i.push(0,u,u+1);for(var u=1;u<c-1;u++)i.push(c,c+u,c+u+1);for(var u=0;u<c;u++){var v=(u+1)%c;i.push(u,v,c+u),i.push(v,c+v,c+u)}return o.setAttribute("position",new l.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 u=n[i].getContext("2d",{willReadFrequently:!0});if(!u)throw new Error("Failed to get canvas context");var v=u.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 l.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 l.Uniform([]),polygonTexture:new l.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(u){switch(u.label){case 0:return this._polygonClippers=e,o=this.uniforms,o.polygonClippers.value=e.map(function(v){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];f.forEach(function(F){var C=F[0],S=F[1];g=Math.min(g,C),d=Math.max(d,C),x=Math.min(x,S),P=Math.max(P,S)});var E=new l.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=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),[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 l.Uniform(0),shineBoxes:new l.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;