@realsee/five 6.7.0-alpha.15 → 6.7.0-alpha.17

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 (140) 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.BoundingMesh.html +4 -0
  5. package/docs/classes/five.Five.html +57 -57
  6. package/docs/classes/five.Model.html +18 -18
  7. package/docs/classes/five.ModelScene.html +21 -20
  8. package/docs/classes/five.PBMContainer.html +1 -1
  9. package/docs/classes/five.PBMGroup.html +1 -1
  10. package/docs/classes/five.PBMMesh.html +1 -1
  11. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  12. package/docs/classes/five.PBMPointCloud.html +1 -1
  13. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  14. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  15. package/docs/classes/five.PanoCircleMesh.html +1 -1
  16. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  17. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  18. package/docs/classes/five.Parameter.html +1 -1
  19. package/docs/classes/five.Tile3D.html +21 -21
  20. package/docs/classes/five.TileNode.html +2 -2
  21. package/docs/classes/five.TrajectoryNode.html +1 -1
  22. package/docs/classes/five.WorkResolvedObserver.html +5 -5
  23. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  24. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  25. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  26. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  27. package/docs/classes/line.LineGeometry.html +1 -1
  28. package/docs/classes/line.LineMaterial.html +1 -1
  29. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  30. package/docs/classes/line.THREE_Line2.html +1 -1
  31. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  32. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  33. package/docs/classes/vfx.Airflow.html +1 -1
  34. package/docs/classes/vfx.Flame.html +1 -1
  35. package/docs/classes/vfx.Particle.html +1 -1
  36. package/docs/classes/vfx.ParticleGPU.html +1 -1
  37. package/docs/classes/vfx.SpotLight.html +1 -1
  38. package/docs/functions/vue.useFiveWorks.html +2 -2
  39. package/docs/hierarchy.html +1 -1
  40. package/docs/interfaces/five.AddableObject.html +1 -1
  41. package/docs/interfaces/five.EventCallback.html +1 -1
  42. package/docs/interfaces/five.FiveLoadOptions.html +8 -10
  43. package/docs/interfaces/five.ImageOptions.html +1 -1
  44. package/docs/interfaces/five.IntersectMesh.html +1 -1
  45. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  46. package/docs/interfaces/five.Intersection.html +1 -1
  47. package/docs/interfaces/five.LoosePanoWork.html +2 -2
  48. package/docs/interfaces/five.LooseWork.html +2 -2
  49. package/docs/interfaces/five.LooseWorkInitial.html +2 -2
  50. package/docs/interfaces/five.LooseWorkModel.html +2 -2
  51. package/docs/interfaces/five.LooseWorkObserver.html +2 -2
  52. package/docs/interfaces/five.LooseWorkPanorama.html +8 -8
  53. package/docs/interfaces/five.LooseWorkVideo.html +2 -2
  54. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +2 -2
  55. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  56. package/docs/interfaces/five.ModelOptions.html +9 -0
  57. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  58. package/docs/interfaces/five.PBMMaterial.html +1 -1
  59. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  60. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  61. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  62. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  63. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  64. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  65. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  66. package/docs/interfaces/five.ParameterValue.html +1 -1
  67. package/docs/interfaces/five.Pose.html +1 -1
  68. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  69. package/docs/interfaces/five.State.html +1 -1
  70. package/docs/interfaces/five.TextureOptions.html +1 -1
  71. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  72. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  73. package/docs/interfaces/five.ViewLayer.html +21 -21
  74. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  75. package/docs/interfaces/five.WorkImage.html +1 -1
  76. package/docs/interfaces/five.WorkObserver.html +5 -5
  77. package/docs/interfaces/five.WorkObserverJson.html +4 -4
  78. package/docs/interfaces/five.WorkTile.html +1 -1
  79. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  80. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  81. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  82. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +33 -29
  83. package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +21 -17
  84. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +9 -9
  85. package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +3 -3
  86. package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +8 -4
  87. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +4 -4
  88. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  89. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  90. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  91. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  92. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  93. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  94. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  95. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  96. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  97. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  98. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  99. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  100. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  101. package/docs/modules/five.html +1 -1
  102. package/docs/types/five.Models.html +4 -4
  103. package/docs/types/five.ParseOptions.html +1 -1
  104. package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +2 -2
  105. package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +2 -2
  106. package/five/index.d.ts +85 -38
  107. package/five/index.js +64 -64
  108. package/five/index.mjs +3926 -3792
  109. package/gltf-loader/index.js +3 -3
  110. package/gltf-loader/index.mjs +3 -3
  111. package/line/index.js +3 -3
  112. package/line/index.mjs +3 -3
  113. package/package.json +1 -1
  114. package/plugins/index.d.ts +26 -10
  115. package/plugins/index.js +32 -36
  116. package/plugins/index.mjs +1336 -1318
  117. package/react/index.js +2 -2
  118. package/react/index.mjs +2 -2
  119. package/shader-lib/index.d.ts +1 -1
  120. package/shader-lib/index.js +2 -2
  121. package/shader-lib/index.mjs +2 -2
  122. package/sticker/index.js +3 -3
  123. package/sticker/index.mjs +3 -3
  124. package/umd/five-gltf-loader.js +3 -3
  125. package/umd/five-line.js +3 -3
  126. package/umd/five-plugins.js +33 -37
  127. package/umd/five-react.js +2 -2
  128. package/umd/five-shader-lib.js +2 -2
  129. package/umd/five-sticker.js +3 -3
  130. package/umd/five-vfx.js +2 -2
  131. package/umd/five-vue.js +2 -2
  132. package/umd/five.js +64 -64
  133. package/vfx/index.js +2 -2
  134. package/vfx/index.mjs +2 -2
  135. package/vue/index.js +2 -2
  136. package/vue/index.mjs +2 -2
  137. package/work-downloader/index.js +3 -3
  138. package/work-downloader/index.mjs +13 -11
  139. package/docs/interfaces/five.ModelLike.html +0 -3
  140. package/docs/types/five.Tile3dOptions.html +0 -1
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 11/12/2025
5
- * Version: 6.7.0-alpha.15
4
+ * Generated: 11/25/2025
5
+ * Version: 6.7.0-alpha.17
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -258,4 +258,4 @@
258
258
  `),a=["float glossinessFactor = glossiness;","#ifdef USE_GLOSSINESSMAP"," vec4 texelGlossiness = texture2D( glossinessMap, vUv );"," // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture"," glossinessFactor *= texelGlossiness.a;","#endif"].join(`
259
259
  `),i=["PhysicalMaterial material;","material.diffuseColor = diffuseColor.rgb;","vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );","float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );","material.specularRoughness = max( 1.0 - glossinessFactor, 0.0525 );// 0.0525 corresponds to the base mip of a 256 cubemap.","material.specularRoughness += geometryRoughness;","material.specularRoughness = min( material.specularRoughness, 1.0 );","material.specularColor = specularFactor.rgb;"].join(`
260
260
  `),s={specular:{value:new c.Color().setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};this._extraUniforms=s,this.onBeforeCompile=function(o){for(var l in s)o.uniforms[l]=s[l];o.fragmentShader=o.fragmentShader.replace("uniform float roughness;","uniform vec3 specular;"),o.fragmentShader=o.fragmentShader.replace("uniform float metalness;","uniform float glossiness;"),o.fragmentShader=o.fragmentShader.replace("#include <roughnessmap_pars_fragment>",r),o.fragmentShader=o.fragmentShader.replace("#include <metalnessmap_pars_fragment>",n),o.fragmentShader=o.fragmentShader.replace("#include <roughnessmap_fragment>",t),o.fragmentShader=o.fragmentShader.replace("#include <metalnessmap_fragment>",a),o.fragmentShader=o.fragmentShader.replace("#include <lights_physical_fragment>",i)},Object.defineProperties(this,{specular:{get:function(){return s.specular.value},set:function(o){s.specular.value=o}},specularMap:{get:function(){return s.specularMap.value},set:function(o){s.specularMap.value=o}},glossiness:{get:function(){return s.glossiness.value},set:function(o){s.glossiness.value=o}},glossinessMap:{get:function(){return s.glossinessMap.value},set:function(o){s.glossinessMap.value=o,o?(this.defines.USE_GLOSSINESSMAP="",this.defines.USE_ROUGHNESSMAP=""):(delete this.defines.USE_ROUGHNESSMAP,delete this.defines.USE_GLOSSINESSMAP)}}}),delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this.setValues(e)}b.prototype=Object.create(c.MeshStandardMaterial.prototype),b.prototype.constructor=b,b.prototype.copy=function(e){return c.MeshStandardMaterial.prototype.copy.call(this,e),this.specularMap=e.specularMap,this.specular.copy(e.specular),this.glossinessMap=e.glossinessMap,this.glossiness=e.glossiness,delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this};function j(){return{name:u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS,specularGlossinessParams:["color","map","lightMap","lightMapIntensity","aoMap","aoMapIntensity","emissive","emissiveIntensity","emissiveMap","bumpMap","bumpScale","normalMap","normalMapType","displacementMap","displacementScale","displacementBias","specularMap","specular","glossinessMap","glossiness","alphaMap","envMap","envMapIntensity","refractionRatio"],getMaterialType:function(){return b},extendParams:function(e,r,n){var t=r.extensions[this.name];e.color=new c.Color(1,1,1),e.opacity=1;var a=[];if(Array.isArray(t.diffuseFactor)){var i=t.diffuseFactor;e.color.fromArray(i),e.opacity=i[3]}if(t.diffuseTexture!==void 0&&a.push(n.assignTexture(e,"map",t.diffuseTexture)),e.emissive=new c.Color(0,0,0),e.glossiness=t.glossinessFactor!==void 0?t.glossinessFactor:1,e.specular=new c.Color(1,1,1),Array.isArray(t.specularFactor)&&e.specular.fromArray(t.specularFactor),t.specularGlossinessTexture!==void 0){var s=t.specularGlossinessTexture;a.push(n.assignTexture(e,"glossinessMap",s)),a.push(n.assignTexture(e,"specularMap",s))}return Promise.all(a)},createMaterial:function(e){var r=new b(e);return r.fog=!0,r.color=e.color,r.map=e.map===void 0?null:e.map,r.lightMap=null,r.lightMapIntensity=1,r.aoMap=e.aoMap===void 0?null:e.aoMap,r.aoMapIntensity=1,r.emissive=e.emissive,r.emissiveIntensity=1,r.emissiveMap=e.emissiveMap===void 0?null:e.emissiveMap,r.bumpMap=e.bumpMap===void 0?null:e.bumpMap,r.bumpScale=1,r.normalMap=e.normalMap===void 0?null:e.normalMap,r.normalMapType=c.TangentSpaceNormalMap,e.normalScale&&(r.normalScale=e.normalScale),r.displacementMap=null,r.displacementScale=1,r.displacementBias=0,r.specularMap=e.specularMap===void 0?null:e.specularMap,r.specular=e.specular,r.glossinessMap=e.glossinessMap===void 0?null:e.glossinessMap,r.glossiness=e.glossiness,r.alphaMap=null,r.envMap=e.envMap===void 0?null:e.envMap,r.envMapIntensity=1,r.refractionRatio=.98,r}}}function te(){this.name=u.KHR_MESH_QUANTIZATION}function P(e,r,n,t){c.Interpolant.call(this,e,r,n,t)}P.prototype=Object.create(c.Interpolant.prototype),P.prototype.constructor=P,P.prototype.copySampleValue_=function(e){for(var r=this.resultBuffer,n=this.sampleValues,t=this.valueSize,a=e*t*3+t,i=0;i!==t;i++)r[i]=n[a+i];return r},P.prototype.beforeStart_=P.prototype.copySampleValue_,P.prototype.afterEnd_=P.prototype.copySampleValue_,P.prototype.interpolate_=function(e,r,n,t){for(var a=this.resultBuffer,i=this.sampleValues,s=this.valueSize,o=s*2,l=s*3,f=t-r,v=(n-r)/f,d=v*v,h=d*v,S=e*l,L=S-l,E=-2*h+3*d,y=h-d,R=1-E,F=y-d+v,H=0;H!==s;H++){var ne=i[L+H+s],ae=i[L+H+o]*f,ee=i[S+H+s],K=i[S+H]*f;a[H]=R*ne+F*ae+E*ee+y*K}return a};function Q(e){this.parser=e,this.name=u.REALSEE_MATERIALS_LIGHTMAP}Q.prototype.getMaterialType=function(e){return c.MeshPhongMaterial},Q.prototype.extendParams=function(e,r,n){if(!r.extensions||!r.extensions[this.name])return Promise.resolve();var t=[],a=r.extensions[this.name];return a.lightMapTexture!==void 0&&t.push(n.assignTexture(e,"lightMap",a.lightMapTexture)),a.lightMapIntensity!==void 0&&(e.lightMapIntensity=a.lightMapIntensity),Promise.all(t)};var B={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Z={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},$={9728:c.NearestFilter,9729:c.LinearFilter,9984:c.NearestMipmapNearestFilter,9985:c.LinearMipmapNearestFilter,9986:c.NearestMipmapLinearFilter,9987:c.LinearMipmapLinearFilter},z={33071:c.ClampToEdgeWrapping,33648:c.MirroredRepeatWrapping,10497:c.RepeatWrapping},W={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},le={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},V={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Ae={CUBICSPLINE:void 0,LINEAR:c.InterpolateLinear,STEP:c.InterpolateDiscrete},ce={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},pe={"image/png":c.RGBAFormat,"image/jpeg":c.RGBFormat};function he(e,r){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(r)&&/^\//.test(e)&&(r=r.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:r+e)}function Se(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new c.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:c.FrontSide})),e.DefaultMaterial}function oe(e,r,n){for(var t in n.extensions)e[t]===void 0&&(r.userData.gltfExtensions=r.userData.gltfExtensions||{},r.userData.gltfExtensions[t]=n.extensions[t])}function Y(e,r){r.extras!==void 0&&(typeof r.extras=="object"?Object.assign(e.userData,r.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+r.extras))}function ye(e,r,n){for(var t=!1,a=!1,i=0,s=r.length;i<s;i++){var o=r[i];if(o.POSITION!==void 0&&(t=!0),o.NORMAL!==void 0&&(a=!0),t&&a)break}if(!t&&!a)return Promise.resolve(e);for(var l=[],f=[],i=0,s=r.length;i<s;i++){var o=r[i];if(t){var v=o.POSITION!==void 0?n.getDependency("accessor",o.POSITION):e.attributes.position;l.push(v)}if(a){var v=o.NORMAL!==void 0?n.getDependency("accessor",o.NORMAL):e.attributes.normal;f.push(v)}}return Promise.all([Promise.all(l),Promise.all(f)]).then(function(d){var h=d[0],S=d[1];return t&&(e.morphAttributes.position=h),a&&(e.morphAttributes.normal=S),e.morphTargetsRelative=!0,e})}function Ee(e,r){if(e.updateMorphTargets(),r.weights!==void 0)for(var n=0,t=r.weights.length;n<t;n++)e.morphTargetInfluences[n]=r.weights[n];if(r.extras&&Array.isArray(r.extras.targetNames)){var a=r.extras.targetNames;if(e.morphTargetInfluences.length===a.length){e.morphTargetDictionary={};for(var n=0,t=a.length;n<t;n++)e.morphTargetDictionary[a[n]]=n}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function G(e){var r=e.extensions&&e.extensions[u.KHR_DRACO_MESH_COMPRESSION],n;return r?n="draco:"+r.bufferView+":"+r.indices+":"+q(r.attributes):n=e.indices+":"+q(e.attributes)+":"+e.mode,n}function q(e){for(var r="",n=Object.keys(e).sort(),t=0,a=n.length;t<a;t++)r+=n[t]+":"+e[n[t]]+";";return r}function O(e,r,n){this.json=e||{},this.extensions=r||{},this.options=n||{},this.cache=new g,this.associations=new Map,this.primitiveCache={},this.textureLoader=new c.TextureLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.fileLoader=new c.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}O.prototype.parse=function(e,r){var n=this,t=this.json,a=this.extensions;this.cache.removeAll(),this.markDefs(),Promise.all([this.getDependencies("scene"),this.getDependencies("animation"),this.getDependencies("camera")]).then(function(i){var s={scene:i[0][t.scene||0],scenes:i[0],animations:i[1],cameras:i[2],asset:t.asset,parser:n,userData:{}};oe(a,s,t),Y(s,t),e(s)}).catch(r)},O.prototype.markDefs=function(){for(var e=this.json.nodes||[],r=this.json.skins||[],n=this.json.meshes||[],t={},a={},i=0,s=r.length;i<s;i++)for(var o=r[i].joints,l=0,f=o.length;l<f;l++)e[o[l]].isBone=!0;for(var v=0,d=e.length;v<d;v++){var h=e[v];h.mesh!==void 0&&(t[h.mesh]===void 0&&(t[h.mesh]=a[h.mesh]=0),t[h.mesh]++,h.skin!==void 0&&(n[h.mesh].isSkinnedMesh=!0))}this.json.meshReferences=t,this.json.meshUses=a},O.prototype.getDependency=function(e,r){var n=e+":"+r,t=this.cache.get(n);if(!t){switch(e){case"scene":t=this.loadScene(r);break;case"node":t=this.loadNode(r);break;case"mesh":t=this.loadMesh(r);break;case"accessor":t=this.loadAccessor(r);break;case"bufferView":t=this.loadBufferView(r);break;case"buffer":t=this.loadBuffer(r);break;case"material":t=this.loadMaterial(r);break;case"texture":t=this.loadTexture(r);break;case"skin":t=this.loadSkin(r);break;case"animation":t=this.loadAnimation(r);break;case"camera":t=this.loadCamera(r);break;case"light":t=this.extensions[u.KHR_LIGHTS_PUNCTUAL].loadLight(r);break;default:throw new Error("Unknown type: "+e)}this.cache.add(n,t)}return t},O.prototype.getDependencies=function(e){var r=this.cache.get(e);if(!r){var n=this,t=this.json[e+(e==="mesh"?"es":"s")]||[];r=Promise.all(t.map(function(a,i){return n.getDependency(e,i)})),this.cache.add(e,r)}return r},O.prototype.loadBuffer=function(e){var r=this.json.buffers[e],n=this.fileLoader;if(r.type&&r.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+r.type+" buffer type is not supported.");if(r.uri===void 0&&e===0)return Promise.resolve(this.extensions[u.KHR_BINARY_GLTF].body);var t=this.options;return new Promise(function(a,i){n.load(he(r.uri,t.path),a,void 0,function(){i(new Error('THREE.GLTFLoader: Failed to load buffer "'+r.uri+'".'))})})},O.prototype.loadBufferView=function(e){var r=this.json.bufferViews[e];return this.getDependency("buffer",r.buffer).then(function(n){var t=r.byteLength||0,a=r.byteOffset||0;return n.slice(a,a+t)})},O.prototype.loadAccessor=function(e){var r=this,n=this.json,t=this.json.accessors[e];if(t.bufferView===void 0&&t.sparse===void 0)return Promise.resolve(null);var a=[];return t.bufferView!==void 0?a.push(this.getDependency("bufferView",t.bufferView)):a.push(null),t.sparse!==void 0&&(a.push(this.getDependency("bufferView",t.sparse.indices.bufferView)),a.push(this.getDependency("bufferView",t.sparse.values.bufferView))),Promise.all(a).then(function(i){var s=i[0],o=W[t.type],l=Z[t.componentType],f=l.BYTES_PER_ELEMENT,v=f*o,d=t.byteOffset||0,h=t.bufferView!==void 0?n.bufferViews[t.bufferView].byteStride:void 0,S=t.normalized===!0,L,E;if(h&&h!==v){var y=Math.floor(d/h),R="InterleavedBuffer:"+t.bufferView+":"+t.componentType+":"+y+":"+t.count,F=r.cache.get(R);F||(L=new l(s,y*h,t.count*h/f),F=new c.InterleavedBuffer(L,h/f),r.cache.add(R,F)),E=new c.InterleavedBufferAttribute(F,o,d%h/f,S)}else s===null?L=new l(t.count*o):L=new l(s,d,t.count*o),E=new c.BufferAttribute(L,o,S);if(t.sparse!==void 0){var H=W.SCALAR,ne=Z[t.sparse.indices.componentType],ae=t.sparse.indices.byteOffset||0,ee=t.sparse.values.byteOffset||0,K=new ne(i[1],ae,t.sparse.count*H),ue=new l(i[2],ee,t.sparse.count*o);s!==null&&(E=new c.BufferAttribute(E.array.slice(),E.itemSize,E.normalized));for(var N=0,Le=K.length;N<Le;N++){var se=K[N];if(E.setX(se,ue[N*o]),o>=2&&E.setY(se,ue[N*o+1]),o>=3&&E.setZ(se,ue[N*o+2]),o>=4&&E.setW(se,ue[N*o+3]),o>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return E})},O.prototype.loadTexture=function(e){var r=this,n=this.json,t=this.options,a=this.textureLoader,i=self.URL||self.webkitURL,s=n.textures[e],o=s.extensions||{},l;o[u.MSFT_TEXTURE_DDS]?l=n.images[o[u.MSFT_TEXTURE_DDS].source]:l=n.images[s.source];var f=l.uri,v=!1;return l.bufferView!==void 0&&(f=r.getDependency("bufferView",l.bufferView).then(function(d){v=!0;var h=new Blob([d],{type:l.mimeType});return f=i.createObjectURL(h),f})),Promise.resolve(f).then(function(d){var h=t.manager.getHandler(d);return h||(h=o[u.MSFT_TEXTURE_DDS]?r.extensions[u.MSFT_TEXTURE_DDS].ddsLoader:a),new Promise(function(S,L){h.load(he(d,t.path),S,void 0,L)})}).then(function(d){v===!0&&i.revokeObjectURL(f),d.flipY=!1,s.name&&(d.name=s.name),l.mimeType in pe&&(d.format=pe[l.mimeType]);var h=n.samplers||{},S=h[s.sampler]||{};return d.magFilter=$[S.magFilter]||c.LinearFilter,d.minFilter=$[S.minFilter]||c.LinearMipmapLinearFilter,d.wrapS=z[S.wrapS]||c.RepeatWrapping,d.wrapT=z[S.wrapT]||c.RepeatWrapping,r.associations.set(d,{type:"textures",index:e}),d})},O.prototype.assignTexture=function(e,r,n){var t=this;return this.getDependency("texture",n.index).then(function(a){if(!a.isCompressedTexture)switch(r){case"aoMap":case"emissiveMap":case"metalnessMap":case"normalMap":case"roughnessMap":a.format=c.RGBFormat;break}if(n.texCoord!==void 0&&n.texCoord!=0&&!(r==="aoMap"&&n.texCoord==1)&&console.warn("THREE.GLTFLoader: Custom UV set "+n.texCoord+" for texture "+r+" not yet supported."),t.extensions[u.KHR_TEXTURE_TRANSFORM]){var i=n.extensions!==void 0?n.extensions[u.KHR_TEXTURE_TRANSFORM]:void 0;if(i){var s=t.associations.get(a);a=t.extensions[u.KHR_TEXTURE_TRANSFORM].extendTexture(a,i),t.associations.set(a,s)}}e[r]=a})},O.prototype.assignFinalMaterial=function(e){var r=e.geometry,n=e.material,t=r.attributes.tangent!==void 0,a=r.attributes.color!==void 0,i=r.attributes.normal===void 0,s=e.isSkinnedMesh===!0,o=Object.keys(r.morphAttributes).length>0,l=o&&r.morphAttributes.normal!==void 0;if(e.isPoints){var f="PointsMaterial:"+n.uuid,v=this.cache.get(f);v||(v=new c.PointsMaterial,c.Material.prototype.copy.call(v,n),v.color.copy(n.color),v.map=n.map,v.sizeAttenuation=!1,this.cache.add(f,v)),n=v}else if(e.isLine){var f="LineBasicMaterial:"+n.uuid,d=this.cache.get(f);d||(d=new c.LineBasicMaterial,c.Material.prototype.copy.call(d,n),d.color.copy(n.color),this.cache.add(f,d)),n=d}if(t||a||i||s||o){var f="ClonedMaterial:"+n.uuid+":";n.isGLTFSpecularGlossinessMaterial&&(f+="specular-glossiness:"),s&&(f+="skinning:"),t&&(f+="vertex-tangents:"),a&&(f+="vertex-colors:"),i&&(f+="flat-shading:"),o&&(f+="morph-targets:"),l&&(f+="morph-normals:");var h=this.cache.get(f);h||(h=n.clone(),s&&(h.skinning=!0),t&&(h.vertexTangents=!0),a&&(h.vertexColors=!0),i&&(h.flatShading=!0),o&&(h.morphTargets=!0),l&&(h.morphNormals=!0),this.cache.add(f,h),this.associations.set(h,this.associations.get(n))),n=h}n.aoMap&&r.attributes.uv2===void 0&&r.attributes.uv!==void 0&&r.setAttribute("uv2",r.attributes.uv),n.normalScale&&!t&&(n.normalScale.y=-n.normalScale.y),n.clearcoatNormalScale&&!t&&(n.clearcoatNormalScale.y=-n.clearcoatNormalScale.y),e.material=n},O.prototype.loadMaterial=function(e){var r=this,n=this.json,t=this.extensions,a=n.materials[e],i,s={},o=a.extensions||{},l=[];if(o[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){var f=t[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];i=f.getMaterialType(),l.push(f.extendParams(s,a,r))}else if(o[u.KHR_MATERIALS_UNLIT]){var v=t[u.KHR_MATERIALS_UNLIT];i=v.getMaterialType(),l.push(v.extendParams(s,a,r))}else{i=c.MeshStandardMaterial;var d=a.pbrMetallicRoughness||{};if(s.color=new c.Color(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){var h=d.baseColorFactor;s.color.fromArray(h),s.opacity=h[3]}d.baseColorTexture!==void 0&&l.push(r.assignTexture(s,"map",d.baseColorTexture)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(l.push(r.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),l.push(r.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture)))}a.doubleSided===!0&&(s.side=c.DoubleSide);var S=a.alphaMode||ce.OPAQUE;if(S===ce.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,S===ce.MASK&&(s.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&i!==c.MeshBasicMaterial&&(l.push(r.assignTexture(s,"normalMap",a.normalTexture)),s.normalScale=new c.Vector2(1,1),a.normalTexture.scale!==void 0&&s.normalScale.set(a.normalTexture.scale,a.normalTexture.scale)),a.occlusionTexture!==void 0&&i!==c.MeshBasicMaterial&&(l.push(r.assignTexture(s,"aoMap",a.occlusionTexture)),a.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&i!==c.MeshBasicMaterial&&(s.emissive=new c.Color().fromArray(a.emissiveFactor)),a.emissiveTexture!==void 0&&i!==c.MeshBasicMaterial&&l.push(r.assignTexture(s,"emissiveMap",a.emissiveTexture)),o[u.KHR_MATERIALS_CLEARCOAT]){var L=t[u.KHR_MATERIALS_CLEARCOAT];i=L.getMaterialType(),l.push(L.extendParams(s,{extensions:o},r))}if(o[u.KHR_MATERIALS_TRANSMISSION]){var L=t[u.KHR_MATERIALS_TRANSMISSION];i=L.getMaterialType(),l.push(L.extendParams(s,{extensions:o},r))}if(o[u.REALSEE_MATERIALS_LIGHTMAP]){var E=t[u.REALSEE_MATERIALS_LIGHTMAP];i=E.getMaterialType(),l.push(E.extendParams(s,{extensions:o},r))}return Promise.all(l).then(function(){var y;return i===b?y=t[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(s):y=new i(s),a.name&&(y.name=a.name),y.map&&(y.map.encoding=c.sRGBEncoding),y.emissiveMap&&(y.emissiveMap.encoding=c.sRGBEncoding),Y(y,a),r.associations.set(y,{type:"materials",index:e}),a.extensions&&oe(t,y,a),y})};function ve(e,r,n){var t=r.attributes,a=new c.Box3;if(t.POSITION!==void 0){var i=n.json.accessors[t.POSITION],s=i.min,o=i.max;if(s!==void 0&&o!==void 0)a.set(new c.Vector3(s[0],s[1],s[2]),new c.Vector3(o[0],o[1],o[2]));else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;var l=r.targets;if(l!==void 0){for(var f=new c.Vector3,v=new c.Vector3,d=0,h=l.length;d<h;d++){var S=l[d];if(S.POSITION!==void 0){var i=n.json.accessors[S.POSITION],s=i.min,o=i.max;s!==void 0&&o!==void 0?(v.setX(Math.max(Math.abs(s[0]),Math.abs(o[0]))),v.setY(Math.max(Math.abs(s[1]),Math.abs(o[1]))),v.setZ(Math.max(Math.abs(s[2]),Math.abs(o[2]))),f.max(v)):console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}a.expandByVector(f)}e.boundingBox=a;var L=new c.Sphere;a.getCenter(L.center),L.radius=a.min.distanceTo(a.max)/2,e.boundingSphere=L}function X(e,r,n){var t=r.attributes,a=[];function i(f,v){return n.getDependency("accessor",f).then(function(d){e.setAttribute(v,d)})}for(var s in t){var o=le[s]||s.toLowerCase();o in e.attributes||a.push(i(t[s],o))}if(r.indices!==void 0&&!e.index){var l=n.getDependency("accessor",r.indices).then(function(f){e.setIndex(f)});a.push(l)}return Y(e,r),ve(e,r,n),Promise.all(a).then(function(){return r.targets!==void 0?ye(e,r.targets,n):e})}function ie(e,r){var n=e.getIndex();if(n===null){var t=[],a=e.getAttribute("position");if(a!==void 0){for(var i=0;i<a.count;i++)t.push(i);e.setIndex(t),n=e.getIndex()}else return console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e}var s=n.count-2,o=[];if(r===c.TriangleFanDrawMode)for(var i=1;i<=s;i++)o.push(n.getX(0)),o.push(n.getX(i)),o.push(n.getX(i+1));else for(var i=0;i<s;i++)i%2===0?(o.push(n.getX(i)),o.push(n.getX(i+1)),o.push(n.getX(i+2))):(o.push(n.getX(i+2)),o.push(n.getX(i+1)),o.push(n.getX(i)));o.length/3!==s&&console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");var l=e.clone();return l.setIndex(o),l}return O.prototype.loadGeometries=function(e){var r=this,n=this.extensions,t=this.primitiveCache;function a(h){return n[u.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(h,r).then(function(S){return X(S,h,r)})}for(var i=[],s=0,o=e.length;s<o;s++){var l=e[s],f=G(l),v=t[f];if(v)i.push(v.promise);else{var d;l.extensions&&l.extensions[u.KHR_DRACO_MESH_COMPRESSION]?d=a(l):d=X(new c.BufferGeometry,l,r),t[f]={primitive:l,promise:d},i.push(d)}}return Promise.all(i)},O.prototype.loadMesh=function(e){for(var r=this,n=this.json,t=n.meshes[e],a=t.primitives,i=[],s=0,o=a.length;s<o;s++){var l=a[s].material===void 0?Se(this.cache):this.getDependency("material",a[s].material);i.push(l)}return i.push(r.loadGeometries(a)),Promise.all(i).then(function(f){for(var v=f.slice(0,f.length-1),d=f[f.length-1],h=[],S=0,L=d.length;S<L;S++){var E=d[S],y=a[S],R,F=v[S];if(y.mode===B.TRIANGLES||y.mode===B.TRIANGLE_STRIP||y.mode===B.TRIANGLE_FAN||y.mode===void 0)R=t.isSkinnedMesh===!0?new c.SkinnedMesh(E,F):new c.Mesh(E,F),R.isSkinnedMesh===!0&&!R.geometry.attributes.skinWeight.normalized&&R.normalizeSkinWeights(),y.mode===B.TRIANGLE_STRIP?R.geometry=ie(R.geometry,c.TriangleStripDrawMode):y.mode===B.TRIANGLE_FAN&&(R.geometry=ie(R.geometry,c.TriangleFanDrawMode));else if(y.mode===B.LINES)R=new c.LineSegments(E,F);else if(y.mode===B.LINE_STRIP)R=new c.Line(E,F);else if(y.mode===B.LINE_LOOP)R=new c.LineLoop(E,F);else if(y.mode===B.POINTS)R=new c.Points(E,F);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+y.mode);Object.keys(R.geometry.morphAttributes).length>0&&Ee(R,t),R.name=t.name||"mesh_"+e,d.length>1&&(R.name+="_"+S),Y(R,t),r.assignFinalMaterial(R),h.push(R)}if(h.length===1)return h[0];for(var H=new c.Group,S=0,L=h.length;S<L;S++)H.add(h[S]);return H})},O.prototype.loadCamera=function(e){var r,n=this.json.cameras[e],t=n[n.type];if(!t){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return n.type==="perspective"?r=new c.PerspectiveCamera(c.MathUtils.radToDeg(t.yfov),t.aspectRatio||1,t.znear||1,t.zfar||2e6):n.type==="orthographic"&&(r=new c.OrthographicCamera(-t.xmag,t.xmag,t.ymag,-t.ymag,t.znear,t.zfar)),n.name&&(r.name=n.name),Y(r,n),Promise.resolve(r)},O.prototype.loadSkin=function(e){var r=this.json.skins[e],n={joints:r.joints};return r.inverseBindMatrices===void 0?Promise.resolve(n):this.getDependency("accessor",r.inverseBindMatrices).then(function(t){return n.inverseBindMatrices=t,n})},O.prototype.loadAnimation=function(e){for(var r=this.json,n=r.animations[e],t=[],a=[],i=[],s=[],o=[],l=0,f=n.channels.length;l<f;l++){var v=n.channels[l],d=n.samplers[v.sampler],h=v.target,S=h.node!==void 0?h.node:h.id,L=n.parameters!==void 0?n.parameters[d.input]:d.input,E=n.parameters!==void 0?n.parameters[d.output]:d.output;t.push(this.getDependency("node",S)),a.push(this.getDependency("accessor",L)),i.push(this.getDependency("accessor",E)),s.push(d),o.push(h)}return Promise.all([Promise.all(t),Promise.all(a),Promise.all(i),Promise.all(s),Promise.all(o)]).then(function(y){for(var R=y[0],F=y[1],H=y[2],ne=y[3],ae=y[4],ee=[],K=0,ue=R.length;K<ue;K++){var N=R[K],Le=F[K],se=H[K],Me=ne[K],_e=ae[K];if(N!==void 0){N.updateMatrix(),N.matrixAutoUpdate=!0;var ge;switch(V[_e.path]){case V.weights:ge=c.NumberKeyframeTrack;break;case V.rotation:ge=c.QuaternionKeyframeTrack;break;case V.position:case V.scale:default:ge=c.VectorKeyframeTrack;break}var De=N.name?N.name:N.uuid,Pe=Me.interpolation!==void 0?Ae[Me.interpolation]:c.InterpolateLinear,Te=[];V[_e.path]===V.weights?N.traverse(function(de){de.isMesh===!0&&de.morphTargetInfluences&&Te.push(de.name?de.name:de.uuid)}):Te.push(De);var J=se.array;if(se.normalized){var fe;if(J.constructor===Int8Array)fe=1/127;else if(J.constructor===Uint8Array)fe=1/255;else if(J.constructor==Int16Array)fe=1/32767;else if(J.constructor===Uint16Array)fe=1/65535;else throw new Error("THREE.GLTFLoader: Unsupported output accessor component type.");for(var Ce=new Float32Array(J.length),re=0,Re=J.length;re<Re;re++)Ce[re]=J[re]*fe;J=Ce}for(var re=0,Re=Te.length;re<Re;re++){var we=new ge(Te[re]+"."+V[_e.path],Le.array,J,Pe);Me.interpolation==="CUBICSPLINE"&&(we.createInterpolant=function(Ge){return new P(this.times,this.values,this.getValueSize()/3,Ge)},we.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),ee.push(we)}}}var Ue=n.name?n.name:"animation_"+e;return new c.AnimationClip(Ue,void 0,ee)})},O.prototype.loadNode=function(e){var r=this.json,n=this.extensions,t=this,a=r.meshReferences,i=r.meshUses,s=r.nodes[e];return(function(){var o=[];return s.mesh!==void 0&&o.push(t.getDependency("mesh",s.mesh).then(function(l){var f;if(a[s.mesh]>1){var v=i[s.mesh]++;f=l.clone(),f.name+="_instance_"+v}else f=l;return s.weights!==void 0&&f.traverse(function(d){if(d.isMesh)for(var h=0,S=s.weights.length;h<S;h++)d.morphTargetInfluences[h]=s.weights[h]}),f})),s.camera!==void 0&&o.push(t.getDependency("camera",s.camera)),s.extensions&&s.extensions[u.KHR_LIGHTS_PUNCTUAL]&&s.extensions[u.KHR_LIGHTS_PUNCTUAL].light!==void 0&&o.push(t.getDependency("light",s.extensions[u.KHR_LIGHTS_PUNCTUAL].light)),Promise.all(o)})().then(function(o){var l;if(s.isBone===!0?l=new c.Bone:o.length>1?l=new c.Group:o.length===1?l=o[0]:l=new c.Object3D,l!==o[0])for(var f=0,v=o.length;f<v;f++)l.add(o[f]);if(s.name&&(l.userData.name=s.name,l.name=c.PropertyBinding.sanitizeNodeName(s.name)),Y(l,s),s.extensions&&oe(n,l,s),s.matrix!==void 0){var d=new c.Matrix4;d.fromArray(s.matrix),l.applyMatrix4(d)}else s.translation!==void 0&&l.position.fromArray(s.translation),s.rotation!==void 0&&l.quaternion.fromArray(s.rotation),s.scale!==void 0&&l.scale.fromArray(s.scale);return t.associations.set(l,{type:"nodes",index:e}),l})},O.prototype.loadScene=(function(){function e(r,n,t,a){var i=t.nodes[r];return a.getDependency("node",r).then(function(s){if(i.skin===void 0)return s;var o;return a.getDependency("skin",i.skin).then(function(l){o=l;for(var f=[],v=0,d=o.joints.length;v<d;v++)f.push(a.getDependency("node",o.joints[v]));return Promise.all(f)}).then(function(l){return s.traverse(function(f){if(f.isMesh){for(var v=[],d=[],h=0,S=l.length;h<S;h++){var L=l[h];if(L){v.push(L);var E=new c.Matrix4;o.inverseBindMatrices!==void 0&&E.fromArray(o.inverseBindMatrices.array,h*16),d.push(E)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',o.joints[h])}f.bind(new c.Skeleton(v,d),f.matrixWorld)}}),s})}).then(function(s){n.add(s);var o=[];if(i.children)for(var l=i.children,f=0,v=l.length;f<v;f++){var d=l[f];o.push(e(d,s,t,a))}return Promise.all(o)})}return function(n){var t=this.json,a=this.extensions,i=this.json.scenes[n],s=this,o=new c.Group;i.name&&(o.name=i.name),Y(o,i),i.extensions&&oe(a,o,i);for(var l=i.nodes||[],f=[],v=0,d=l.length;v<d;v++)f.push(e(l[v],o,t,s));return Promise.all(f).then(function(){return o})}})(),p})(),k=function(p){c.Loader.call(this,p),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}};k.prototype=Object.assign(Object.create(c.Loader.prototype),{constructor:k,setDecoderPath:function(p){return this.decoderPath=p,this},setDecoderConfig:function(p){return this.decoderConfig=p,this},setWorkerLimit:function(p){return this.workerLimit=p,this},setVerbosity:function(){console.warn("THREE.DRACOLoader: The .setVerbosity() method has been removed.")},setDrawMode:function(){console.warn("THREE.DRACOLoader: The .setDrawMode() method has been removed.")},setSkipDequantization:function(){console.warn("THREE.DRACOLoader: The .setSkipDequantization() method has been removed.")},load:function(p,g,u,m){var T=new c.FileLoader(this.manager);T.setPath(this.path),T.setResponseType("arraybuffer"),this.crossOrigin==="use-credentials"&&T.setWithCredentials(!0),T.load(p,A=>{var M={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(A,M).then(g).catch(m)},u,m)},decodeDracoFile:function(p,g,u,m){var T={attributeIDs:u||this.defaultAttributeIDs,attributeTypes:m||this.defaultAttributeTypes,useUniqueIDs:!!u};this.decodeGeometry(p,T).then(g)},decodeGeometry:function(p,g){for(var u in g.attributeTypes){var m=g.attributeTypes[u];m.BYTES_PER_ELEMENT!==void 0&&(g.attributeTypes[u]=m.name)}var T=JSON.stringify(g);if(k.taskCache.has(p)){var A=k.taskCache.get(p);if(A.key===T)return A.promise;if(p.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}var M,C=this.workerNextTaskID++,D=p.byteLength,_=this._getWorker(C,D).then(I=>(M=I,new Promise((U,x)=>{M._callbacks[C]={resolve:U,reject:x},M.postMessage({type:"decode",id:C,taskConfig:g,buffer:p},[p])}))).then(I=>this._createGeometry(I.geometry));return _.catch(()=>!0).then(()=>{M&&C&&this._releaseTask(M,C)}),k.taskCache.set(p,{key:T,promise:_}),_},_createGeometry:function(p){var g=new c.BufferGeometry;p.index&&g.setIndex(new c.BufferAttribute(p.index.array,1));for(var u=0;u<p.attributes.length;u++){var m=p.attributes[u],T=m.name,A=m.array,M=m.itemSize;g.setAttribute(T,new c.BufferAttribute(A,M))}return g},_loadLibrary:function(p,g){var u=new c.FileLoader(this.manager);return u.setPath(this.decoderPath),u.setResponseType(g),new Promise((m,T)=>{u.load(p,m,void 0,T)})},preload:function(){return this._initDecoder(),this},_initDecoder:function(){if(this.decoderPending)return this.decoderPending;var p=typeof WebAssembly!="object"||this.decoderConfig.type==="js",g=[];return p?g.push(this._loadLibrary("draco_decoder.js","text")):(g.push(this._loadLibrary("draco_wasm_wrapper.js","text")),g.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(g).then(u=>{var m=u[0];p||(this.decoderConfig.wasmBinary=u[1]);var T=k.DRACOWorker.toString(),A=["/* draco decoder */",m,"","/* worker */",T.substring(T.indexOf("{")+1,T.lastIndexOf("}"))].join(`
261
- `);this.workerSourceURL=URL.createObjectURL(new Blob([A]))}),this.decoderPending},_getWorker:function(p,g){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){var u=new Worker(this.workerSourceURL);u._callbacks={},u._taskCosts={},u._taskLoad=0,u.postMessage({type:"init",decoderConfig:this.decoderConfig}),u.onmessage=function(T){var A=T.data;switch(A.type){case"decode":u._callbacks[A.id].resolve(A);break;case"error":u._callbacks[A.id].reject(A);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+A.type+'"')}},this.workerPool.push(u)}else this.workerPool.sort(function(m,T){return m._taskLoad>T._taskLoad?-1:1});var u=this.workerPool[this.workerPool.length-1];return u._taskCosts[p]=g,u._taskLoad+=g,u})},_releaseTask:function(p,g){p._taskLoad-=p._taskCosts[g],delete p._callbacks[g],delete p._taskCosts[g]},debug:function(){console.log("Task load: ",this.workerPool.map(p=>p._taskLoad))},dispose:function(){for(var p=0;p<this.workerPool.length;++p)this.workerPool[p].terminate();return this.workerPool.length=0,this}});k.DRACOWorker=function(){var p,g;onmessage=function(T){var A=T.data;switch(A.type){case"init":p=A.decoderConfig,g=new Promise(function(D){p.onModuleLoaded=function(_){D({draco:_})},DracoDecoderModule(p)});break;case"decode":var M=A.buffer,C=A.taskConfig;g.then(D=>{var _=D.draco,I=new _.Decoder,U=new _.DecoderBuffer;U.Init(new Int8Array(M),M.byteLength);try{var x=u(_,I,U,C),w=x.attributes.map(b=>b.array.buffer);x.index&&w.push(x.index.array.buffer),self.postMessage({type:"decode",id:A.id,geometry:x},w)}catch(b){console.error(b),self.postMessage({type:"error",id:A.id,error:b.message})}finally{_.destroy(U),_.destroy(I)}});break}};function u(T,A,M,C){var D=C.attributeIDs,_=C.attributeTypes,I,U,x=A.GetEncodedGeometryType(M);if(x===T.TRIANGULAR_MESH)I=new T.Mesh,U=A.DecodeBufferToMesh(M,I);else if(x===T.POINT_CLOUD)I=new T.PointCloud,U=A.DecodeBufferToPointCloud(M,I);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!U.ok()||I.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+U.error_msg());var w={index:null,attributes:[]};for(var b in D){var j=self[_[b]],te,P;if(C.useUniqueIDs)P=D[b],te=A.GetAttributeByUniqueId(I,P);else{if(P=A.GetAttributeId(I,T[D[b]]),P===-1)continue;te=A.GetAttribute(I,P)}w.attributes.push(m(T,A,I,b,j,te))}if(x===T.TRIANGULAR_MESH){for(var Q=I.num_faces(),B=Q*3,Z=new Uint32Array(B),$=new T.DracoInt32Array,z=0;z<Q;++z){A.GetFaceFromMesh(I,z,$);for(var W=0;W<3;++W)Z[z*3+W]=$.GetValue(W)}w.index={array:Z,itemSize:1},T.destroy($)}return T.destroy(I),w}function m(T,A,M,C,D,_){var I=_.num_components(),U=M.num_points(),x=U*I,w,b;switch(D){case Float32Array:w=new T.DracoFloat32Array,A.GetAttributeFloatForAllPoints(M,_,w),b=new Float32Array(x);break;case Int8Array:w=new T.DracoInt8Array,A.GetAttributeInt8ForAllPoints(M,_,w),b=new Int8Array(x);break;case Int16Array:w=new T.DracoInt16Array,A.GetAttributeInt16ForAllPoints(M,_,w),b=new Int16Array(x);break;case Int32Array:w=new T.DracoInt32Array,A.GetAttributeInt32ForAllPoints(M,_,w),b=new Int32Array(x);break;case Uint8Array:w=new T.DracoUInt8Array,A.GetAttributeUInt8ForAllPoints(M,_,w),b=new Uint8Array(x);break;case Uint16Array:w=new T.DracoUInt16Array,A.GetAttributeUInt16ForAllPoints(M,_,w),b=new Uint16Array(x);break;case Uint32Array:w=new T.DracoUInt32Array,A.GetAttributeUInt32ForAllPoints(M,_,w),b=new Uint32Array(x);break;default:throw new Error("THREE.DRACOLoader: Unexpected attribute type.")}for(var j=0;j<x;j++)b[j]=w.GetValue(j);return T.destroy(w),{name:C,array:b,itemSize:I}}};k.taskCache=new WeakMap;k.setDecoderPath=function(){console.warn("THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.")};k.setDecoderConfig=function(){console.warn("THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.")};k.releaseDecoderModule=function(){console.warn("THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.")};k.getDecoderModule=function(){console.warn("THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.")};var me=function(p){c.CompressedTextureLoader.call(this,p)};me.prototype=Object.assign(Object.create(c.CompressedTextureLoader.prototype),{constructor:me,parse:function(p,g){var u={mipmaps:[],width:0,height:0,format:null,mipmapCount:1},m=542327876,T=131072,A=512,M=1024,C=2048,D=4096,_=8192,I=16384,U=32768,x=4;function w(l){return l.charCodeAt(0)+(l.charCodeAt(1)<<8)+(l.charCodeAt(2)<<16)+(l.charCodeAt(3)<<24)}function b(l){return String.fromCharCode(l&255,l>>8&255,l>>16&255,l>>24&255)}function j(l,f,v,d){for(var h=v*d*4,S=new Uint8Array(l,f,h),L=new Uint8Array(h),E=0,y=0,R=0;R<d;R++)for(var F=0;F<v;F++){var H=S[y];y++;var ne=S[y];y++;var ae=S[y];y++;var ee=S[y];y++,L[E]=ae,E++,L[E]=ne,E++,L[E]=H,E++,L[E]=ee,E++}return L}var te=w("DXT1"),P=w("DXT3"),Q=w("DXT5"),B=w("ETC1"),Z=31,$=0,z=1,W=2,le=3,V=4,Ae=7,ce=20,pe=21,he=22,Se=23,oe=24,Y=25,ye=26,Ee=28,G=new Int32Array(p,0,Z);if(G[$]!==m)return console.error("THREE.DDSLoader.parse: Invalid magic number in DDS header."),u;if(!G[ce]&x)return console.error("THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code."),u;var q,O=G[pe],ve=!1;switch(O){case te:q=8,u.format=c.RGB_S3TC_DXT1_Format;break;case P:q=16,u.format=c.RGBA_S3TC_DXT3_Format;break;case Q:q=16,u.format=c.RGBA_S3TC_DXT5_Format;break;case B:q=8,u.format=c.RGB_ETC1_Format;break;default:if(G[he]===32&&G[Se]&16711680&&G[oe]&65280&&G[Y]&255&&G[ye]&4278190080)ve=!0,q=64,u.format=c.RGBAFormat;else return console.error("THREE.DDSLoader.parse: Unsupported FourCC code ",b(O)),u}u.mipmapCount=1,G[W]&T&&g!==!1&&(u.mipmapCount=Math.max(1,G[Ae]));var X=G[Ee];if(u.isCubemap=!!(X&A),u.isCubemap&&(!(X&M)||!(X&C)||!(X&D)||!(X&_)||!(X&I)||!(X&U)))return console.error("THREE.DDSLoader.parse: Incomplete cubemap faces"),u;u.width=G[V],u.height=G[le];for(var ie=G[z]+4,e=u.isCubemap?6:1,r=0;r<e;r++)for(var n=u.width,t=u.height,a=0;a<u.mipmapCount;a++){if(ve)var i=j(p,ie,n,t),s=i.length;else var s=Math.max(4,n)/4*Math.max(4,t)/4*q,i=new Uint8Array(p,ie,s);var o={data:i,width:n,height:t};u.mipmaps.push(o),ie+=s,n=Math.max(n>>1,1),t=Math.max(t>>1,1)}return u}});var xe=(function(p){Oe(g,p);function g(u){var m=p.call(this)||this;return m.needsRender=!0,u&&u.children.length&&m.add.apply(m,u.children),m.mixer=new be.AnimationMixer(m),m}return g.prototype.clone=function(){var u=p.prototype.clone.call(this,!0),m=new be.AnimationMixer(u);return u.mixer=m,u.needsRender=!0,u},g})(be.Group),Ne="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",ke=(function(p){Oe(g,p);function g(u){var m=p.call(this,u)||this;return m.ddsLoader=new me(u),m.dracoLoader=new k(u),m.dracoLoader.setDecoderPath(Ne),m}return Object.defineProperty(g,"version",{get:function(){return"6.7.0-alpha.15"},enumerable:!1,configurable:!0}),g.prototype.load=function(u,m,T,A){return p.prototype.load.call(this,u,m,T,A)},g.prototype.parse=function(u,m,T,A){return p.prototype.parse.call(this,u,m,function(M){var C=new xe(M.scene),D=M.scenes.map(function(_){return _===M.scene?C:new xe(_)});T(Object.assign(M,{scene:C,scenes:D}))},A)},g})(Fe);exports.DDSLoader=me;exports.DRACOLoader=k;exports.GLTFLoader=ke;exports.GLTFObject=xe;exports.THREEGLTFLoader=Fe;
261
+ `);this.workerSourceURL=URL.createObjectURL(new Blob([A]))}),this.decoderPending},_getWorker:function(p,g){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){var u=new Worker(this.workerSourceURL);u._callbacks={},u._taskCosts={},u._taskLoad=0,u.postMessage({type:"init",decoderConfig:this.decoderConfig}),u.onmessage=function(T){var A=T.data;switch(A.type){case"decode":u._callbacks[A.id].resolve(A);break;case"error":u._callbacks[A.id].reject(A);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+A.type+'"')}},this.workerPool.push(u)}else this.workerPool.sort(function(m,T){return m._taskLoad>T._taskLoad?-1:1});var u=this.workerPool[this.workerPool.length-1];return u._taskCosts[p]=g,u._taskLoad+=g,u})},_releaseTask:function(p,g){p._taskLoad-=p._taskCosts[g],delete p._callbacks[g],delete p._taskCosts[g]},debug:function(){console.log("Task load: ",this.workerPool.map(p=>p._taskLoad))},dispose:function(){for(var p=0;p<this.workerPool.length;++p)this.workerPool[p].terminate();return this.workerPool.length=0,this}});k.DRACOWorker=function(){var p,g;onmessage=function(T){var A=T.data;switch(A.type){case"init":p=A.decoderConfig,g=new Promise(function(D){p.onModuleLoaded=function(_){D({draco:_})},DracoDecoderModule(p)});break;case"decode":var M=A.buffer,C=A.taskConfig;g.then(D=>{var _=D.draco,I=new _.Decoder,U=new _.DecoderBuffer;U.Init(new Int8Array(M),M.byteLength);try{var x=u(_,I,U,C),w=x.attributes.map(b=>b.array.buffer);x.index&&w.push(x.index.array.buffer),self.postMessage({type:"decode",id:A.id,geometry:x},w)}catch(b){console.error(b),self.postMessage({type:"error",id:A.id,error:b.message})}finally{_.destroy(U),_.destroy(I)}});break}};function u(T,A,M,C){var D=C.attributeIDs,_=C.attributeTypes,I,U,x=A.GetEncodedGeometryType(M);if(x===T.TRIANGULAR_MESH)I=new T.Mesh,U=A.DecodeBufferToMesh(M,I);else if(x===T.POINT_CLOUD)I=new T.PointCloud,U=A.DecodeBufferToPointCloud(M,I);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!U.ok()||I.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+U.error_msg());var w={index:null,attributes:[]};for(var b in D){var j=self[_[b]],te,P;if(C.useUniqueIDs)P=D[b],te=A.GetAttributeByUniqueId(I,P);else{if(P=A.GetAttributeId(I,T[D[b]]),P===-1)continue;te=A.GetAttribute(I,P)}w.attributes.push(m(T,A,I,b,j,te))}if(x===T.TRIANGULAR_MESH){for(var Q=I.num_faces(),B=Q*3,Z=new Uint32Array(B),$=new T.DracoInt32Array,z=0;z<Q;++z){A.GetFaceFromMesh(I,z,$);for(var W=0;W<3;++W)Z[z*3+W]=$.GetValue(W)}w.index={array:Z,itemSize:1},T.destroy($)}return T.destroy(I),w}function m(T,A,M,C,D,_){var I=_.num_components(),U=M.num_points(),x=U*I,w,b;switch(D){case Float32Array:w=new T.DracoFloat32Array,A.GetAttributeFloatForAllPoints(M,_,w),b=new Float32Array(x);break;case Int8Array:w=new T.DracoInt8Array,A.GetAttributeInt8ForAllPoints(M,_,w),b=new Int8Array(x);break;case Int16Array:w=new T.DracoInt16Array,A.GetAttributeInt16ForAllPoints(M,_,w),b=new Int16Array(x);break;case Int32Array:w=new T.DracoInt32Array,A.GetAttributeInt32ForAllPoints(M,_,w),b=new Int32Array(x);break;case Uint8Array:w=new T.DracoUInt8Array,A.GetAttributeUInt8ForAllPoints(M,_,w),b=new Uint8Array(x);break;case Uint16Array:w=new T.DracoUInt16Array,A.GetAttributeUInt16ForAllPoints(M,_,w),b=new Uint16Array(x);break;case Uint32Array:w=new T.DracoUInt32Array,A.GetAttributeUInt32ForAllPoints(M,_,w),b=new Uint32Array(x);break;default:throw new Error("THREE.DRACOLoader: Unexpected attribute type.")}for(var j=0;j<x;j++)b[j]=w.GetValue(j);return T.destroy(w),{name:C,array:b,itemSize:I}}};k.taskCache=new WeakMap;k.setDecoderPath=function(){console.warn("THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.")};k.setDecoderConfig=function(){console.warn("THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.")};k.releaseDecoderModule=function(){console.warn("THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.")};k.getDecoderModule=function(){console.warn("THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.")};var me=function(p){c.CompressedTextureLoader.call(this,p)};me.prototype=Object.assign(Object.create(c.CompressedTextureLoader.prototype),{constructor:me,parse:function(p,g){var u={mipmaps:[],width:0,height:0,format:null,mipmapCount:1},m=542327876,T=131072,A=512,M=1024,C=2048,D=4096,_=8192,I=16384,U=32768,x=4;function w(l){return l.charCodeAt(0)+(l.charCodeAt(1)<<8)+(l.charCodeAt(2)<<16)+(l.charCodeAt(3)<<24)}function b(l){return String.fromCharCode(l&255,l>>8&255,l>>16&255,l>>24&255)}function j(l,f,v,d){for(var h=v*d*4,S=new Uint8Array(l,f,h),L=new Uint8Array(h),E=0,y=0,R=0;R<d;R++)for(var F=0;F<v;F++){var H=S[y];y++;var ne=S[y];y++;var ae=S[y];y++;var ee=S[y];y++,L[E]=ae,E++,L[E]=ne,E++,L[E]=H,E++,L[E]=ee,E++}return L}var te=w("DXT1"),P=w("DXT3"),Q=w("DXT5"),B=w("ETC1"),Z=31,$=0,z=1,W=2,le=3,V=4,Ae=7,ce=20,pe=21,he=22,Se=23,oe=24,Y=25,ye=26,Ee=28,G=new Int32Array(p,0,Z);if(G[$]!==m)return console.error("THREE.DDSLoader.parse: Invalid magic number in DDS header."),u;if(!G[ce]&x)return console.error("THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code."),u;var q,O=G[pe],ve=!1;switch(O){case te:q=8,u.format=c.RGB_S3TC_DXT1_Format;break;case P:q=16,u.format=c.RGBA_S3TC_DXT3_Format;break;case Q:q=16,u.format=c.RGBA_S3TC_DXT5_Format;break;case B:q=8,u.format=c.RGB_ETC1_Format;break;default:if(G[he]===32&&G[Se]&16711680&&G[oe]&65280&&G[Y]&255&&G[ye]&4278190080)ve=!0,q=64,u.format=c.RGBAFormat;else return console.error("THREE.DDSLoader.parse: Unsupported FourCC code ",b(O)),u}u.mipmapCount=1,G[W]&T&&g!==!1&&(u.mipmapCount=Math.max(1,G[Ae]));var X=G[Ee];if(u.isCubemap=!!(X&A),u.isCubemap&&(!(X&M)||!(X&C)||!(X&D)||!(X&_)||!(X&I)||!(X&U)))return console.error("THREE.DDSLoader.parse: Incomplete cubemap faces"),u;u.width=G[V],u.height=G[le];for(var ie=G[z]+4,e=u.isCubemap?6:1,r=0;r<e;r++)for(var n=u.width,t=u.height,a=0;a<u.mipmapCount;a++){if(ve)var i=j(p,ie,n,t),s=i.length;else var s=Math.max(4,n)/4*Math.max(4,t)/4*q,i=new Uint8Array(p,ie,s);var o={data:i,width:n,height:t};u.mipmaps.push(o),ie+=s,n=Math.max(n>>1,1),t=Math.max(t>>1,1)}return u}});var xe=(function(p){Oe(g,p);function g(u){var m=p.call(this)||this;return m.needsRender=!0,u&&u.children.length&&m.add.apply(m,u.children),m.mixer=new be.AnimationMixer(m),m}return g.prototype.clone=function(){var u=p.prototype.clone.call(this,!0),m=new be.AnimationMixer(u);return u.mixer=m,u.needsRender=!0,u},g})(be.Group),Ne="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",ke=(function(p){Oe(g,p);function g(u){var m=p.call(this,u)||this;return m.ddsLoader=new me(u),m.dracoLoader=new k(u),m.dracoLoader.setDecoderPath(Ne),m}return Object.defineProperty(g,"version",{get:function(){return"6.7.0-alpha.17"},enumerable:!1,configurable:!0}),g.prototype.load=function(u,m,T,A){return p.prototype.load.call(this,u,m,T,A)},g.prototype.parse=function(u,m,T,A){return p.prototype.parse.call(this,u,m,function(M){var C=new xe(M.scene),D=M.scenes.map(function(_){return _===M.scene?C:new xe(_)});T(Object.assign(M,{scene:C,scenes:D}))},A)},g})(Fe);exports.DDSLoader=me;exports.DRACOLoader=k;exports.GLTFLoader=ke;exports.GLTFObject=xe;exports.THREEGLTFLoader=Fe;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 11/12/2025
5
- * Version: 6.7.0-alpha.15
4
+ * Generated: 11/25/2025
5
+ * Version: 6.7.0-alpha.17
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -1683,7 +1683,7 @@ var Qe = (
1683
1683
  }
1684
1684
  return Object.defineProperty(T, "version", {
1685
1685
  get: function() {
1686
- return "6.7.0-alpha.15";
1686
+ return "6.7.0-alpha.17";
1687
1687
  },
1688
1688
  enumerable: !1,
1689
1689
  configurable: !0
package/line/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 11/12/2025
5
- * Version: 6.7.0-alpha.15
4
+ * Generated: 11/25/2025
5
+ * Version: 6.7.0-alpha.17
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -451,4 +451,4 @@
451
451
  #include <premultiplied_alpha_fragment>
452
452
 
453
453
  }
454
- `},g=(function(a){y(r,a);function r(t){var n=a.call(this,{uniforms:o.UniformsUtils.clone(B.uniforms),vertexShader:B.vertexShader,fragmentShader:B.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(t),n}return r})(o.ShaderMaterial);Object.assign(g.prototype,{isLineMaterial:!0});var M=(function(a){y(r,a);function r(t,n){var e=a.call(this)||this;return e.type="LineSegments2",e.geometry=t!==void 0?t:new A,e.material=n!==void 0?n:new g({color:Math.random()*16777215}),e}return r.prototype.computeLineDistances=function(){for(var t=this.geometry,n=t.attributes.instanceStart,e=t.attributes.instanceEnd,i=new Float32Array(2*n.count),s=new o.Vector3,c=new o.Vector3,p=0,u=0,S=n.count;p<S;p++,u+=2)s.fromBufferAttribute(n,p),c.fromBufferAttribute(e,p),i[u]=u===0?0:i[u-1],i[u+1]=i[u]+s.distanceTo(c);var h=new o.InstancedInterleavedBuffer(i,2,1);return t.setAttribute("instanceDistanceStart",new o.InterleavedBufferAttribute(h,1,0)),t.setAttribute("instanceDistanceEnd",new o.InterleavedBufferAttribute(h,1,1)),this},r.prototype.raycast=function(t,n){t.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var e=t.ray,i=t.camera,s=i.projectionMatrix,c=this.geometry,p=this.material,u=p.resolution,S=p.linewidth,h=c.attributes.instanceStart,U=c.attributes.instanceEnd,l=new o.Vector4,f=new o.Vector4,v=new o.Vector4,b=new o.Vector3,w=new o.Matrix4,d=new o.Line3,z=new o.Vector3;e.at(1,v),v.w=1,v.applyMatrix4(i.matrixWorldInverse),v.applyMatrix4(s),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,b.copy(v);var x=this.matrixWorld;w.multiplyMatrices(i.matrixWorldInverse,x);for(var m=0,N=h.count;m<N;m++){l.fromBufferAttribute(h,m),f.fromBufferAttribute(U,m),l.w=1,f.w=1,l.applyMatrix4(w),f.applyMatrix4(w),l.applyMatrix4(s),f.applyMatrix4(s),l.multiplyScalar(1/l.w),f.multiplyScalar(1/f.w);var j=l.z<-1&&f.z<-1,G=l.z>1&&f.z>1;if(!(j||G)){l.x*=u.x/2,l.y*=u.y/2,f.x*=u.x/2,f.y*=u.y/2,d.start.copy(l),d.start.z=0,d.end.copy(f),d.end.z=0;var D=d.closestPointToPointParameter(b,!0);d.at(D,z);var O=o.MathUtils.lerp(l.z,f.z,D),W=O>=-1&&O<=1,T=b.distanceTo(z)<S*.5;if(W&&T){d.start.fromBufferAttribute(h,m),d.end.fromBufferAttribute(U,m),d.start.applyMatrix4(x),d.end.applyMatrix4(x);var V=new o.Vector3,E=new o.Vector3;e.distanceSqToSegment(d.start,d.end,E,V),n.push({point:E,pointOnLine:V,distance:e.origin.distanceTo(E),object:this,faceIndex:m})}}}},r})(o.Mesh);Object.assign(M.prototype,{isLineSegments2:!0});var C=(function(a){y(r,a);function r(t,n){var e=a.call(this,t,n)||this;return e.type="Line2",e}return r})(M);Object.assign(C.prototype,{isLine2:!0});var P=(function(a){y(r,a);function r(){var t=a.call(this)||this;return t.type="LineGeometry",t}return r.prototype.setPositions=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setPositions.call(this,e),this},r.prototype.setColors=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setColors.call(this,e),this},r.prototype.fromLine=function(t){var n=t.geometry;if(n instanceof o.Geometry){var e=new o.BufferGeometry().fromGeometry(n);this.setPositions(e.attributes.position.array)}else n instanceof o.BufferGeometry&&this.setPositions(n.attributes.position.array);return this},r.prototype.copy=function(){return this},r})(A);Object.assign(P.prototype,{isLineGeometry:!0});var k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",F=14467195,Q=8,Z=2,X=20,I=null,_=(function(a){y(r,a);function r(t,n){t===void 0&&(t=new o.Vector3),n===void 0&&(n=new o.Vector3);var e=a.call(this)||this;e.type="FiveLine",e.needsRender=!0;var i=new P,s=new g({color:F,linewidth:Z,dashScale:X,dashed:!1});e.line=new C(i,s);var c=new o.BufferGeometry,p=new o.PointsMaterial({color:F,size:Q,map:I||(I=new o.TextureLoader().load(k)),sizeAttenuation:!1,transparent:!0});return e.points=new o.Points(c,p),e.points.renderOrder=11,e.points.frustumCulled=!1,e.setPoints(t,n),e.add(e.line,e.points),e}return Object.defineProperty(r,"version",{get:function(){return"6.7.0-alpha.15"},enumerable:!1,configurable:!0}),r.prototype.setPoints=function(t,n){var e=[].concat(t.toArray(),n.toArray());this.points.geometry.setAttribute("position",new o.BufferAttribute(new Float32Array(e),3)),this.line.geometry.setPositions(e),this.line.computeLineDistances(),this.needsRender=!0},r.prototype.getPoints=function(){var t=this.points.geometry.attributes.position.array;return[new o.Vector3(t[0],t[1],t[2]),new o.Vector3(t[3],t[4],t[5])]},r.prototype.setMaterial=function(t){var n=this.line.material;for(var e in t)if(t.hasOwnProperty(e)){var i=t[e];e==="dashed"?(n.dashed=i,i?n.defines.USE_DASH="":delete n.defines.USE_DASH,n.needsUpdate=!0):n[e]=t[e]}this.needsRender=!0},r.prototype.setResolution=function(t,n){var e=this.line.material.resolution;(e.x!==t||e.y!==n)&&(e.set(t,n),this.needsRender=!0)},r})(o.Object3D);Object.assign(_.prototype,{isFiveLine:!0});exports.Line=_;exports.LineGeometry=P;exports.LineMaterial=g;exports.LineSegmentsGeometry=A;exports.THREE_Line2=C;exports.THREE_LineSegments2=M;
454
+ `},g=(function(a){y(r,a);function r(t){var n=a.call(this,{uniforms:o.UniformsUtils.clone(B.uniforms),vertexShader:B.vertexShader,fragmentShader:B.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(t),n}return r})(o.ShaderMaterial);Object.assign(g.prototype,{isLineMaterial:!0});var M=(function(a){y(r,a);function r(t,n){var e=a.call(this)||this;return e.type="LineSegments2",e.geometry=t!==void 0?t:new A,e.material=n!==void 0?n:new g({color:Math.random()*16777215}),e}return r.prototype.computeLineDistances=function(){for(var t=this.geometry,n=t.attributes.instanceStart,e=t.attributes.instanceEnd,i=new Float32Array(2*n.count),s=new o.Vector3,c=new o.Vector3,p=0,u=0,S=n.count;p<S;p++,u+=2)s.fromBufferAttribute(n,p),c.fromBufferAttribute(e,p),i[u]=u===0?0:i[u-1],i[u+1]=i[u]+s.distanceTo(c);var h=new o.InstancedInterleavedBuffer(i,2,1);return t.setAttribute("instanceDistanceStart",new o.InterleavedBufferAttribute(h,1,0)),t.setAttribute("instanceDistanceEnd",new o.InterleavedBufferAttribute(h,1,1)),this},r.prototype.raycast=function(t,n){t.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var e=t.ray,i=t.camera,s=i.projectionMatrix,c=this.geometry,p=this.material,u=p.resolution,S=p.linewidth,h=c.attributes.instanceStart,U=c.attributes.instanceEnd,l=new o.Vector4,f=new o.Vector4,v=new o.Vector4,b=new o.Vector3,w=new o.Matrix4,d=new o.Line3,z=new o.Vector3;e.at(1,v),v.w=1,v.applyMatrix4(i.matrixWorldInverse),v.applyMatrix4(s),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,b.copy(v);var x=this.matrixWorld;w.multiplyMatrices(i.matrixWorldInverse,x);for(var m=0,N=h.count;m<N;m++){l.fromBufferAttribute(h,m),f.fromBufferAttribute(U,m),l.w=1,f.w=1,l.applyMatrix4(w),f.applyMatrix4(w),l.applyMatrix4(s),f.applyMatrix4(s),l.multiplyScalar(1/l.w),f.multiplyScalar(1/f.w);var j=l.z<-1&&f.z<-1,G=l.z>1&&f.z>1;if(!(j||G)){l.x*=u.x/2,l.y*=u.y/2,f.x*=u.x/2,f.y*=u.y/2,d.start.copy(l),d.start.z=0,d.end.copy(f),d.end.z=0;var D=d.closestPointToPointParameter(b,!0);d.at(D,z);var O=o.MathUtils.lerp(l.z,f.z,D),W=O>=-1&&O<=1,T=b.distanceTo(z)<S*.5;if(W&&T){d.start.fromBufferAttribute(h,m),d.end.fromBufferAttribute(U,m),d.start.applyMatrix4(x),d.end.applyMatrix4(x);var V=new o.Vector3,E=new o.Vector3;e.distanceSqToSegment(d.start,d.end,E,V),n.push({point:E,pointOnLine:V,distance:e.origin.distanceTo(E),object:this,faceIndex:m})}}}},r})(o.Mesh);Object.assign(M.prototype,{isLineSegments2:!0});var C=(function(a){y(r,a);function r(t,n){var e=a.call(this,t,n)||this;return e.type="Line2",e}return r})(M);Object.assign(C.prototype,{isLine2:!0});var P=(function(a){y(r,a);function r(){var t=a.call(this)||this;return t.type="LineGeometry",t}return r.prototype.setPositions=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setPositions.call(this,e),this},r.prototype.setColors=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setColors.call(this,e),this},r.prototype.fromLine=function(t){var n=t.geometry;if(n instanceof o.Geometry){var e=new o.BufferGeometry().fromGeometry(n);this.setPositions(e.attributes.position.array)}else n instanceof o.BufferGeometry&&this.setPositions(n.attributes.position.array);return this},r.prototype.copy=function(){return this},r})(A);Object.assign(P.prototype,{isLineGeometry:!0});var k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",F=14467195,Q=8,Z=2,X=20,I=null,_=(function(a){y(r,a);function r(t,n){t===void 0&&(t=new o.Vector3),n===void 0&&(n=new o.Vector3);var e=a.call(this)||this;e.type="FiveLine",e.needsRender=!0;var i=new P,s=new g({color:F,linewidth:Z,dashScale:X,dashed:!1});e.line=new C(i,s);var c=new o.BufferGeometry,p=new o.PointsMaterial({color:F,size:Q,map:I||(I=new o.TextureLoader().load(k)),sizeAttenuation:!1,transparent:!0});return e.points=new o.Points(c,p),e.points.renderOrder=11,e.points.frustumCulled=!1,e.setPoints(t,n),e.add(e.line,e.points),e}return Object.defineProperty(r,"version",{get:function(){return"6.7.0-alpha.17"},enumerable:!1,configurable:!0}),r.prototype.setPoints=function(t,n){var e=[].concat(t.toArray(),n.toArray());this.points.geometry.setAttribute("position",new o.BufferAttribute(new Float32Array(e),3)),this.line.geometry.setPositions(e),this.line.computeLineDistances(),this.needsRender=!0},r.prototype.getPoints=function(){var t=this.points.geometry.attributes.position.array;return[new o.Vector3(t[0],t[1],t[2]),new o.Vector3(t[3],t[4],t[5])]},r.prototype.setMaterial=function(t){var n=this.line.material;for(var e in t)if(t.hasOwnProperty(e)){var i=t[e];e==="dashed"?(n.dashed=i,i?n.defines.USE_DASH="":delete n.defines.USE_DASH,n.needsUpdate=!0):n[e]=t[e]}this.needsRender=!0},r.prototype.setResolution=function(t,n){var e=this.line.material.resolution;(e.x!==t||e.y!==n)&&(e.set(t,n),this.needsRender=!0)},r})(o.Object3D);Object.assign(_.prototype,{isFiveLine:!0});exports.Line=_;exports.LineGeometry=P;exports.LineMaterial=g;exports.LineSegmentsGeometry=A;exports.THREE_Line2=C;exports.THREE_LineSegments2=M;
package/line/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 11/12/2025
5
- * Version: 6.7.0-alpha.15
4
+ * Generated: 11/25/2025
5
+ * Version: 6.7.0-alpha.17
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -735,7 +735,7 @@ var T = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAA
735
735
  }
736
736
  return Object.defineProperty(o, "version", {
737
737
  get: function() {
738
- return "6.7.0-alpha.15";
738
+ return "6.7.0-alpha.17";
739
739
  },
740
740
  enumerable: !1,
741
741
  configurable: !0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/five",
3
- "version": "6.7.0-alpha.15",
3
+ "version": "6.7.0-alpha.17",
4
4
  "description": "Realsee Renderer SDK",
5
5
  "author": "BEIKE REALSEE TECHNOLOGY (HK) LIMITED",
6
6
  "license": "SEE LICENSE IN TERMS.txt",
@@ -193,15 +193,13 @@ declare interface Config_6 {
193
193
  lineCount?: number;
194
194
  /** 线条间距 */
195
195
  spacing?: number;
196
- /** 曲线分段数 */
197
- divisions?: number;
198
196
  /** 线宽 */
199
197
  lineWidth?: number;
200
198
  /** 线条颜色 */
201
199
  color?: number;
202
200
  /** 流光速度(单位距离/秒,值越大速度越快) */
203
201
  speed?: number;
204
- /** 流光过渡范围 */
202
+ /** 流光过渡范围(单位:米,默认 5.0) */
205
203
  range?: number;
206
204
  /** 波动幅度 */
207
205
  waveAmp?: number;
@@ -217,8 +215,14 @@ declare interface Config_6 {
217
215
  subMeshWidth?: number;
218
216
  /** 子网格底色 */
219
217
  subMeshColor?: number;
220
- /** 子网格基础透明度 */
218
+ /** 子网格基础透明度(最小透明度) */
221
219
  subMeshOpacity?: number;
220
+ /** 子网格最大透明度(流光中心的透明度,默认 1.0) */
221
+ subMeshMaxOpacity?: number;
222
+ /** 子网格流光分段间隔(单位:米,默认 3.0) */
223
+ subMeshSegmentInterval?: number;
224
+ /** 子网格流光高亮带宽度(单位:米,默认 1.5) */
225
+ subMeshHighlightWidth?: number;
222
226
  }
223
227
 
224
228
  declare interface ConfigChangeEvent {
@@ -253,7 +257,6 @@ export declare class DynamicPathLinePluginController extends BasePlugin_2.Contro
253
257
  get config(): {
254
258
  lineCount: number;
255
259
  spacing: number;
256
- divisions: number;
257
260
  lineWidth: number;
258
261
  color: number;
259
262
  speed: number;
@@ -266,6 +269,9 @@ export declare class DynamicPathLinePluginController extends BasePlugin_2.Contro
266
269
  subMeshWidth: number;
267
270
  subMeshColor: number;
268
271
  subMeshOpacity: number;
272
+ subMeshMaxOpacity: number;
273
+ subMeshSegmentInterval: number;
274
+ subMeshHighlightWidth: number;
269
275
  };
270
276
  private paths;
271
277
  private up;
@@ -321,9 +327,11 @@ export declare class DynamicPathLinePluginController extends BasePlugin_2.Contro
321
327
  private createSubMeshGeometry;
322
328
  /**
323
329
  * 创建流光的 alpha 贴图
324
- * @param segmentCount 分段数(流光数量)
325
- * @param highlightWidth 单个高亮带的百分比宽度(0-1)
326
- * @param baseOpacity 基础透明度(0-1)
330
+ * @param segmentCount - 分段数(流光数量)
331
+ * @param highlightWidthInMeters - 单个高亮带的物理宽度(单位:米)
332
+ * @param totalLength - 路径总长度(单位:米)
333
+ * @param baseOpacity - 基础透明度(0-1)
334
+ * @param maxOpacity - 最大透明度(0-1)
327
335
  * @returns DataTexture
328
336
  */
329
337
  private createAlphaMapTexture;
@@ -346,8 +354,10 @@ export declare class DynamicPathLinePluginController extends BasePlugin_2.Contro
346
354
  private updatePathAnimation;
347
355
  /**
348
356
  * 启动指定路径的动画
357
+ * @param pathId - 路径ID
358
+ * @param startPointIndex - 起点索引,默认为0表示从第一个点开始
349
359
  */
350
- startPathAnimation(pathId: string): boolean;
360
+ startPathAnimation(pathId: string, startPointIndex?: number): boolean;
351
361
  /**
352
362
  * 停止指定路径的动画
353
363
  */
@@ -388,7 +398,7 @@ export declare class DynamicPathLinePluginController extends BasePlugin_2.Contro
388
398
  reset(): void;
389
399
  /**
390
400
  * 更新指定路径的屏幕空间投影优化
391
- * @param pathId 路径ID,如果不提供则更新所有路径
401
+ * @param pathId - 路径ID,如果不提供则更新所有路径
392
402
  */
393
403
  updateScreenProjection(pathId?: string): void;
394
404
  private disposePathResources;
@@ -857,6 +867,10 @@ declare interface PathConfig {
857
867
  subMeshWidth?: number;
858
868
  /** 子网格透明度(可选,覆盖全局配置) */
859
869
  subMeshOpacity?: number;
870
+ /** 流光速度(可选,覆盖全局配置,单位:米/秒) */
871
+ speed?: number;
872
+ /** 流光范围(可选,覆盖全局配置,单位:米,默认 5.0) */
873
+ range?: number;
860
874
  /** 是否启用子网格(可选,默认 true) */
861
875
  enableSubMesh?: boolean;
862
876
  }
@@ -939,6 +953,8 @@ declare type ServerData_5 = {
939
953
  subMeshColor?: number;
940
954
  subMeshWidth?: number;
941
955
  subMeshOpacity?: number;
956
+ speed?: number;
957
+ range?: number;
942
958
  enableSubMesh?: boolean;
943
959
  }>;
944
960
  };